Klasse Matrix

Alle implementierten Schnittstellen:
PointerInterface

public class Matrix extends Record
A `PangoMatrix` specifies a transformation between user-space
and device coordinates.

The transformation is given by

```
x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0;
y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0;
```

https://docs.gtk.org/Pango/struct.Matrix.html

  • Felddetails Linksymbol

  • Konstruktordetails Linksymbol

  • Methodendetails Linksymbol

    • getClassHandler Linksymbol

      public static ClassHandler getClassHandler()
    • setFieldXx Linksymbol

      public void setFieldXx(double xx)
      1st component of the transformation matrix
    • getFieldXx Linksymbol

      public double getFieldXx()
      1st component of the transformation matrix
    • setFieldXy Linksymbol

      public void setFieldXy(double xy)
      2nd component of the transformation matrix
    • getFieldXy Linksymbol

      public double getFieldXy()
      2nd component of the transformation matrix
    • setFieldYx Linksymbol

      public void setFieldYx(double yx)
      3rd component of the transformation matrix
    • getFieldYx Linksymbol

      public double getFieldYx()
      3rd component of the transformation matrix
    • setFieldYy Linksymbol

      public void setFieldYy(double yy)
      4th component of the transformation matrix
    • getFieldYy Linksymbol

      public double getFieldYy()
      4th component of the transformation matrix
    • setFieldX0 Linksymbol

      public void setFieldX0(double x0)
      x translation
    • getFieldX0 Linksymbol

      public double getFieldX0()
      x translation
    • setFieldY0 Linksymbol

      public void setFieldY0(double y0)
      y translation
    • getFieldY0 Linksymbol

      public double getFieldY0()
      y translation
    • concat Linksymbol

      public void concat(@Nonnull Matrix new_matrix)
      Changes the transformation represented by @matrix to be the
      transformation given by first applying transformation
      given by @new_matrix then applying the original transformation.
      Parameter:
      new_matrix - a `PangoMatrix`
    • copy Linksymbol

      public Matrix copy()
      Copies a `PangoMatrix`.
      Gibt zurück:
      the newly allocated `PangoMatrix`
    • free Linksymbol

      public void free()
      Free a `PangoMatrix`.
    • getFontScaleFactor Linksymbol

      public double getFontScaleFactor()
      Returns the scale factor of a matrix on the height of the font.

      That is, the scale factor in the direction perpendicular to the
      vector that the X coordinate is mapped to. If the scale in the X
      coordinate is needed as well, use [method@Pango.Matrix.get_font_scale_factors].
      Gibt zurück:
      the scale factor of @matrix on the height of the font, or 1.0 if @matrix is %NULL.
    • getSlantRatio Linksymbol

      public double getSlantRatio()
      Gets the slant ratio of a matrix.

      For a simple shear matrix in the form:

      1 λ
      0 1

      this is simply λ.
      Gibt zurück:
      the slant ratio of @matrix
    • rotate Linksymbol

      public void rotate(double degrees)
      Changes the transformation represented by @matrix to be the
      transformation given by first rotating by @degrees degrees
      counter-clockwise then applying the original transformation.
      Parameter:
      degrees - degrees to rotate counter-clockwise
    • scale Linksymbol

      public void scale(double scale_x, double scale_y)
      Changes the transformation represented by @matrix to be the
      transformation given by first scaling by @sx in the X direction
      and @sy in the Y direction then applying the original
      transformation.
      Parameter:
      scale_x - amount to scale by in X direction
      scale_y - amount to scale by in Y direction
    • transformPixelRectangle Linksymbol

      public void transformPixelRectangle(@Nullable Rectangle rect)
      First transforms the @rect using @matrix, then calculates the bounding box
      of the transformed rectangle.

      This function is useful for example when you want to draw a rotated
      @PangoLayout to an image buffer, and want to know how large the image
      should be and how much you should shift the layout when rendering.

      For better accuracy, you should use [method@Pango.Matrix.transform_rectangle]
      on original rectangle in Pango units and convert to pixels afterward
      using [func@extents_to_pixels]'s first argument.
      Parameter:
      rect - in/out bounding box in device units
    • transformRectangle Linksymbol

      public void transformRectangle(@Nullable Rectangle rect)
      First transforms @rect using @matrix, then calculates the bounding box
      of the transformed rectangle.

      This function is useful for example when you want to draw a rotated
      @PangoLayout to an image buffer, and want to know how large the image
      should be and how much you should shift the layout when rendering.

      If you have a rectangle in device units (pixels), use
      [method@Pango.Matrix.transform_pixel_rectangle].

      If you have the rectangle in Pango units and want to convert to
      transformed pixel bounding box, it is more accurate to transform it first
      (using this function) and pass the result to pango_extents_to_pixels(),
      first argument, for an inclusive rounded rectangle.
      However, there are valid reasons that you may want to convert
      to pixels first and then transform, for example when the transformed
      coordinates may overflow in Pango units (large matrix translation for
      example).
      Parameter:
      rect - in/out bounding box in Pango units
    • translate Linksymbol

      public void translate(double tx, double ty)
      Changes the transformation represented by @matrix to be the
      transformation given by first translating by (@tx, @ty)
      then applying the original transformation.
      Parameter:
      tx - amount to translate in the X direction
      ty - amount to translate in the Y direction
    • getTypeID Linksymbol

      public static long getTypeID()
    • getParentTypeID Linksymbol

      public static long getParentTypeID()
    • getTypeSize Linksymbol

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize Linksymbol

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize Linksymbol

      public static int getInstanceSize()