Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gsktransform.h
Go to the documentation of this file.
1/*
2 * Copyright © 2019 Benjamin Otte
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Authors: Benjamin Otte <otte@gnome.org>
18 */
19
20
21#pragma once
22
23#if !defined (__GSK_H_INSIDE__) && !defined (GTK_COMPILATION)
24#error "Only <gsk/gsk.h> can be included directly."
25#endif
26
27#include <gsk/gskenums.h>
28#include <gsk/gsktypes.h>
29
31
32#define GSK_TYPE_TRANSFORM (gsk_transform_get_type ())
33
36
41
44 GString *string);
48gboolean gsk_transform_parse (const char *string,
49 GskTransform **out_transform);
52 graphene_matrix_t *out_matrix);
55 float *out_xx,
56 float *out_yx,
57 float *out_xy,
58 float *out_yy,
59 float *out_dx,
60 float *out_dy);
63 float *out_skew_x,
64 float *out_skew_y,
65 float *out_scale_x,
66 float *out_scale_y,
67 float *out_angle,
68 float *out_dx,
69 float *out_dy);
72 float *out_scale_x,
73 float *out_scale_y,
74 float *out_dx,
75 float *out_dy);
78 float *out_dx,
79 float *out_dy);
80
86
105 float skew_x,
106 float skew_y) G_GNUC_WARN_UNUSED_RESULT;
109 float angle) G_GNUC_WARN_UNUSED_RESULT;
112 float angle,
116 float factor_x,
117 float factor_y) G_GNUC_WARN_UNUSED_RESULT;
120 float factor_x,
121 float factor_y,
122 float factor_z) G_GNUC_WARN_UNUSED_RESULT;
126
129 const graphene_rect_t *rect,
130 graphene_rect_t *out_rect);
133 const graphene_point_t *point,
134 graphene_point_t *out_point);
135
137
139
guint depth
#define GDK_AVAILABLE_IN_4_6
#define GDK_AVAILABLE_IN_ALL
#define G_GNUC_WARN_UNUSED_RESULT
Definition gmacros.h:814
#define G_GNUC_PURE
Definition gmacros.h:287
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_GNUC_CONST
Definition gmacros.h:637
#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func)
Definition gmacros.h:1400
GskTransformCategory
Definition gskenums.h:418
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_perspective(GskTransform *next, float depth) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_4_6 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)
GDK_AVAILABLE_IN_ALL void gsk_transform_to_matrix(GskTransform *self, graphene_matrix_t *out_matrix)
GDK_AVAILABLE_IN_ALL gboolean gsk_transform_parse(const char *string, GskTransform **out_transform)
GDK_AVAILABLE_IN_ALL void gsk_transform_to_affine(GskTransform *self, float *out_scale_x, float *out_scale_y, float *out_dx, float *out_dy)
GDK_AVAILABLE_IN_ALL void gsk_transform_to_translate(GskTransform *self, float *out_dx, float *out_dy)
GDK_AVAILABLE_IN_ALL void gsk_transform_unref(GskTransform *self)
GDK_AVAILABLE_IN_ALL void gsk_transform_transform_point(GskTransform *self, const graphene_point_t *point, graphene_point_t *out_point)
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_new(void)
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_translate_3d(GskTransform *next, const graphene_point3d_t *point) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_transform(GskTransform *next, GskTransform *other) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_ALL char * gsk_transform_to_string(GskTransform *self)
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_rotate_3d(GskTransform *next, float angle, const graphene_vec3_t *axis) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_ALL 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)
GDK_AVAILABLE_IN_ALL gboolean gsk_transform_equal(GskTransform *first, GskTransform *second) G_GNUC_PURE
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_rotate(GskTransform *next, float angle) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_ref(GskTransform *self)
GDK_AVAILABLE_IN_4_6 GskTransform * gsk_transform_skew(GskTransform *next, float skew_x, float skew_y) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_ALL void gsk_transform_transform_bounds(GskTransform *self, const graphene_rect_t *rect, graphene_rect_t *out_rect)
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_translate(GskTransform *next, const graphene_point_t *point) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_matrix(GskTransform *next, const graphene_matrix_t *matrix) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_scale_3d(GskTransform *next, float factor_x, float factor_y, float factor_z) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_ALL GType gsk_transform_get_type(void) G_GNUC_CONST
GDK_AVAILABLE_IN_ALL void gsk_transform_print(GskTransform *self, GString *string)
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_invert(GskTransform *self) G_GNUC_WARN_UNUSED_RESULT
GDK_AVAILABLE_IN_ALL GskTransformCategory gsk_transform_get_category(GskTransform *self) G_GNUC_PURE
GDK_AVAILABLE_IN_ALL GskTransform * gsk_transform_scale(GskTransform *next, float factor_x, float factor_y) G_GNUC_WARN_UNUSED_RESULT
struct _GskTransform GskTransform
Definition gsktypes.h:36
typedefG_BEGIN_DECLS struct _GString GString
Definition gstring.h:43
gsize GType
Definition gtype.h:427
gint gboolean
Definition gtypes.h:56
#define next(ls)