GskTransform.def 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. DEFINITION MODULE FOR "C" GskTransform ;
  2. (*
  3. m2-GTK4 - GskTransform: an immutable 2D/3D transformation matrix.
  4. Mapped onto <gsk/gsktransform.h>.
  5. *)
  6. FROM SYSTEM IMPORT ADDRESS;
  7. EXPORT UNQUALIFIED
  8. GskTransform,
  9. gsk_transform_new,
  10. gsk_transform_equal,
  11. gsk_transform_get_category,
  12. gsk_transform_invert,
  13. gsk_transform_matrix,
  14. gsk_transform_perspective,
  15. gsk_transform_print,
  16. gsk_transform_ref,
  17. gsk_transform_rotate,
  18. gsk_transform_rotate_3d,
  19. gsk_transform_scale,
  20. gsk_transform_scale_3d,
  21. gsk_transform_skew,
  22. gsk_transform_to_2d,
  23. gsk_transform_to_2d_components,
  24. gsk_transform_to_affine,
  25. gsk_transform_to_matrix,
  26. gsk_transform_to_string,
  27. gsk_transform_to_translate,
  28. gsk_transform_transform,
  29. gsk_transform_transform_bounds,
  30. gsk_transform_transform_point,
  31. gsk_transform_translate,
  32. gsk_transform_translate_3d,
  33. gsk_transform_unref,
  34. gsk_transform_parse;
  35. TYPE
  36. GskTransform = ADDRESS;
  37. (* GskTransform *gsk_transform_new(void) *)
  38. PROCEDURE gsk_transform_new () : ADDRESS;
  39. (* gboolean gsk_transform_equal(GskTransform *first, GskTransform *second) *)
  40. PROCEDURE gsk_transform_equal (first: GskTransform; second: GskTransform) : INTEGER;
  41. (* GskTransformCategory gsk_transform_get_category(GskTransform *self) *)
  42. PROCEDURE gsk_transform_get_category (self: GskTransform) : CARDINAL;
  43. (* GskTransform *gsk_transform_invert(GskTransform *self) *)
  44. PROCEDURE gsk_transform_invert (self: GskTransform) : ADDRESS;
  45. (* GskTransform *gsk_transform_matrix(GskTransform *next, const graphene_matrix_t *matrix) *)
  46. PROCEDURE gsk_transform_matrix (next: GskTransform; matrix: ADDRESS) : ADDRESS;
  47. (* GskTransform *gsk_transform_perspective(GskTransform *next, float depth) *)
  48. PROCEDURE gsk_transform_perspective (next: GskTransform; depth: SHORTREAL) : ADDRESS;
  49. (* void gsk_transform_print(GskTransform *self, GString *string) *)
  50. PROCEDURE gsk_transform_print (self: GskTransform; string: ADDRESS);
  51. (* GskTransform *gsk_transform_ref(GskTransform *self) *)
  52. PROCEDURE gsk_transform_ref (self: GskTransform) : ADDRESS;
  53. (* GskTransform *gsk_transform_rotate(GskTransform *next, float angle) *)
  54. PROCEDURE gsk_transform_rotate (next: GskTransform; angle: SHORTREAL) : ADDRESS;
  55. (* GskTransform *gsk_transform_rotate_3d(GskTransform *next, float angle, const graphene_vec3_t *axis) *)
  56. PROCEDURE gsk_transform_rotate_3d (next: GskTransform; angle: SHORTREAL; axis: ADDRESS) : ADDRESS;
  57. (* GskTransform *gsk_transform_scale(GskTransform *next, float factor_x, float factor_y) *)
  58. PROCEDURE gsk_transform_scale (next: GskTransform; factor_x: SHORTREAL; factor_y: SHORTREAL) : ADDRESS;
  59. (* GskTransform *gsk_transform_scale_3d(GskTransform *next, float factor_x, float factor_y, float factor_z) *)
  60. PROCEDURE gsk_transform_scale_3d (next: GskTransform; factor_x: SHORTREAL; factor_y: SHORTREAL; factor_z: SHORTREAL) : ADDRESS;
  61. (* GskTransform *gsk_transform_skew(GskTransform *next, float skew_x, float skew_y) *)
  62. PROCEDURE gsk_transform_skew (next: GskTransform; skew_x: SHORTREAL; skew_y: SHORTREAL) : ADDRESS;
  63. (* void gsk_transform_to_2d(GskTransform *self, float *out_xx, float *out_yx, float *out_xy, float *out_yy, float *out_dx, float *out_dy) *)
  64. PROCEDURE gsk_transform_to_2d (self: GskTransform; VAR out_xx: SHORTREAL; VAR out_yx: SHORTREAL; VAR out_xy: SHORTREAL; VAR out_yy: SHORTREAL; VAR out_dx: SHORTREAL; VAR out_dy: SHORTREAL);
  65. (* void gsk_transform_to_2d_components(GskTransform *self, float *out_skew_x, float *out_skew_y, float *out_scale_x, float *out_scale_y, float *out_angle, float *out_dx, float *out_dy) *)
  66. PROCEDURE gsk_transform_to_2d_components (self: GskTransform; VAR out_skew_x: SHORTREAL; VAR out_skew_y: SHORTREAL; VAR out_scale_x: SHORTREAL; VAR out_scale_y: SHORTREAL; VAR out_angle: SHORTREAL; VAR out_dx: SHORTREAL; VAR out_dy: SHORTREAL);
  67. (* void gsk_transform_to_affine(GskTransform *self, float *out_scale_x, float *out_scale_y, float *out_dx, float *out_dy) *)
  68. PROCEDURE gsk_transform_to_affine (self: GskTransform; VAR out_scale_x: SHORTREAL; VAR out_scale_y: SHORTREAL; VAR out_dx: SHORTREAL; VAR out_dy: SHORTREAL);
  69. (* void gsk_transform_to_matrix(GskTransform *self, graphene_matrix_t *out_matrix) *)
  70. PROCEDURE gsk_transform_to_matrix (self: GskTransform; out_matrix: ADDRESS);
  71. (* char *gsk_transform_to_string(GskTransform *self) *)
  72. PROCEDURE gsk_transform_to_string (self: GskTransform) : ADDRESS;
  73. (* void gsk_transform_to_translate(GskTransform *self, float *out_dx, float *out_dy) *)
  74. PROCEDURE gsk_transform_to_translate (self: GskTransform; VAR out_dx: SHORTREAL; VAR out_dy: SHORTREAL);
  75. (* GskTransform *gsk_transform_transform(GskTransform *next, GskTransform *other) *)
  76. PROCEDURE gsk_transform_transform (next: GskTransform; other: GskTransform) : ADDRESS;
  77. (* void gsk_transform_transform_bounds(GskTransform *self, const graphene_rect_t *rect, graphene_rect_t *out_rect) *)
  78. PROCEDURE gsk_transform_transform_bounds (self: GskTransform; rect: ADDRESS; out_rect: ADDRESS);
  79. (* void gsk_transform_transform_point(GskTransform *self, const graphene_point_t *point, graphene_point_t *out_point) *)
  80. PROCEDURE gsk_transform_transform_point (self: GskTransform; point: ADDRESS; out_point: ADDRESS);
  81. (* GskTransform *gsk_transform_translate(GskTransform *next, const graphene_point_t *point) *)
  82. PROCEDURE gsk_transform_translate (next: GskTransform; point: ADDRESS) : ADDRESS;
  83. (* GskTransform *gsk_transform_translate_3d(GskTransform *next, const graphene_point3d_t *point) *)
  84. PROCEDURE gsk_transform_translate_3d (next: GskTransform; point: ADDRESS) : ADDRESS;
  85. (* void gsk_transform_unref(GskTransform *self) *)
  86. PROCEDURE gsk_transform_unref (self: GskTransform);
  87. (* gboolean gsk_transform_parse(const char *string, GskTransform **out_transform) *)
  88. PROCEDURE gsk_transform_parse (string: ARRAY OF CHAR; out_transform: GskTransform) : INTEGER;
  89. END GskTransform.