summaryrefslogtreecommitdiff
path: root/pages/develop/api/efl/gfx/path.txt
blob: 612fc1e56c9230ae3854f117a7500ae49dbe67b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
~~Title: Efl.Gfx.Path~~
====== Efl.Gfx.Path (mixin) ======

===== Description =====

%%EFL graphics path object interface%%

{{page>:develop:api-include:efl:gfx:path:description&nouser&nolink&nodate}}

===== Inheritance =====


++++ Inheritance graph |

<graphviz>
digraph hierarchy {
    bgcolor = "transparent"
    size = "6"
    rankdir = "TB"

    node [shape = "box"]
    edge [color = "gray35"]

    efl_gfx_path [fillcolor = "deepskyblue4", label = "Efl.Gfx.Path", color = "deepskyblue", fontcolor = "white", style = "filled"]

}
</graphviz>

++++

++++ Full hierarchy |



++++
===== Members =====

**[[:develop:api:efl:gfx:path:method:append_arc_to|append_arc_to]]**\\
> %%Append an arc that connects from the current point int the point list to the given point (x,y). The arc is defined by the given radius in  x-direction (rx) and radius in y direction (ry).%%
<code c>
void efl_gfx_path_append_arc_to(Eo *obj, double x, double y, double rx, double ry, double angle, Eina_Bool large_arc, Eina_Bool sweep);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_arc|append_arc]]**\\
> %%Append an arc that enclosed in the given rectangle (x, y, w, h). The angle is defined in counter clock wise , use -ve angle for clockwise arc.%%
<code c>
void efl_gfx_path_append_arc(Eo *obj, double x, double y, double w, double h, double start_angle, double sweep_length);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_circle|append_circle]]**\\
> %%Append a circle with given center and radius.%%
<code c>
void efl_gfx_path_append_circle(Eo *obj, double x, double y, double radius);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_close|append_close]]**\\
> %%Closes the current subpath by drawing a line to the beginning of the subpath, automatically starting a new path. The current point of the new path is (0, 0).%%
<code c>
void efl_gfx_path_append_close(Eo *obj);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_cubic_to|append_cubic_to]]**\\
> %%Adds a cubic Bezier curve between the current position and the given end point (x,y) using the control points specified by (ctrl_x0, ctrl_y0), and (ctrl_x1, ctrl_y1). After the path is drawn, the current position is updated to be at the end point of the path.%%
<code c>
void efl_gfx_path_append_cubic_to(Eo *obj, double ctrl_x0, double ctrl_y0, double ctrl_x1, double ctrl_y1, double x, double y);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_line_to|append_line_to]]**\\
> %%Adds a straight line from the current position to the given end point. After the line is drawn, the current position is updated to be at the end point of the line.%%
<code c>
void efl_gfx_path_append_line_to(Eo *obj, double x, double y);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_move_to|append_move_to]]**\\
> %%Moves the current point to the given point,  implicitly starting a new subpath and closing the previous one.%%
<code c>
void efl_gfx_path_append_move_to(Eo *obj, double x, double y);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_quadratic_to|append_quadratic_to]]**\\
> %%Adds a quadratic Bezier curve between the current position and the given end point (x,y) using the control points specified by (ctrl_x, ctrl_y). After the path is drawn, the current position is updated to be at the end point of the path.%%
<code c>
void efl_gfx_path_append_quadratic_to(Eo *obj, double x, double y, double ctrl_x, double ctrl_y);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_rect|append_rect]]**\\
> %%Append the given rectangle with rounded corner to the path.%%
<code c>
void efl_gfx_path_append_rect(Eo *obj, double x, double y, double w, double h, double rx, double ry);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_scubic_to|append_scubic_to]]**\\
> %%Same as efl_gfx_path_append_cubic_to() api only difference is that it uses the current control point to draw the bezier.%%
<code c>
void efl_gfx_path_append_scubic_to(Eo *obj, double x, double y, double ctrl_x, double ctrl_y);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_squadratic_to|append_squadratic_to]]**\\
> %%Same as efl_gfx_path_append_quadratic_to() api only difference is that it uses the current control point to draw the bezier.%%
<code c>
void efl_gfx_path_append_squadratic_to(Eo *obj, double x, double y);
</code>
\\
**[[:develop:api:efl:gfx:path:method:append_svg_path|append_svg_path]]**\\
> %%Append SVG path data%%
<code c>
void efl_gfx_path_append_svg_path(Eo *obj, const char *svg_path_data);
</code>
\\
**[[:develop:api:efl:gfx:path:method:bounds_get|bounds_get]]**\\
> %%Compute and return the bounding box of the currently set path%%
<code c>
void efl_gfx_path_bounds_get(Eo *obj, Eina_Rect *r);
</code>
\\
**[[:develop:api:efl:gfx:path:method:copy_from|copy_from]]**\\
> %%Copy the shape data from the object specified.%%
<code c>
void efl_gfx_path_copy_from(Eo *obj, const Efl_Object *dup_from);
</code>
\\
**[[:develop:api:efl:gfx:path:method:equal_commands|equal_commands]]**\\
> %%Equal commands in object%%
<code c>
Eina_Bool efl_gfx_path_equal_commands(Eo *obj, const Efl_Object *with);
</code>
\\
**[[:develop:api:efl:gfx:path:method:interpolate|interpolate]]**\\
> %%Creates intermediary path part-way between two paths%%
<code c>
Eina_Bool efl_gfx_path_interpolate(Eo *obj, const Efl_Object *from, const Efl_Object *to, double pos_map);
</code>
\\
**[[:develop:api:efl:gfx:path:method:reset|reset]]**\\
> %%Reset the shape data of the shape object.%%
<code c>
void efl_gfx_path_reset(Eo *obj);
</code>
\\
**[[:develop:api:efl:gfx:path:property:current_ctrl|current_ctrl]]** //**(get)**//\\
> %%Current control point coordinates%%
<code c>
void efl_gfx_path_current_ctrl_get(const Eo *obj, double *x, double *y);
</code>
\\
**[[:develop:api:efl:gfx:path:property:current|current]]** //**(get)**//\\
> %%Current point coordinates%%
<code c>
void efl_gfx_path_current_get(const Eo *obj, double *x, double *y);
</code>
\\
**[[:develop:api:efl:gfx:path:property:length|length]]** //**(get)**//\\
> %%Path length property%%
<code c>
void efl_gfx_path_length_get(const Eo *obj, unsigned int *commands, unsigned int *points);
</code>
\\
**[[:develop:api:efl:gfx:path:property:path|path]]** //**(get, set)**//\\
> %%Set the list of commands and points to be used to create the content of shape.%%
<code c>
void efl_gfx_path_get(const Eo *obj, const Efl_Gfx_Path_Command_Type **op, const double **points);
void efl_gfx_path_set(Eo *obj, const Efl_Gfx_Path_Command_Type *op, const double *points);
</code>
\\

===== Events =====

**[[:develop:api:efl:gfx:path:event:changed|changed]]**\\
> %%Graphics path was changed.%%
<code c>
EFL_GFX_PATH_EVENT_CHANGED(void)
</code>
\\