~~Title: Efl.Gfx.Shape~~ ====== Efl.Gfx.Shape (mixin) ====== ===== Description ===== %%EFL graphics shape object interface%% {{page>:develop:api-include:efl:gfx:shape:description&nouser&nolink&nodate}} ===== Inheritance ===== => [[:develop:api:efl:gfx:path|Efl.Gfx.Path]] //(mixin)// ++++ Full hierarchy | * [[:develop:api:efl:gfx:path|Efl.Gfx.Path]] //(mixin)// ++++ ===== Members ===== **[[:develop:api:efl:gfx:shape:method:copy_from|copy_from]]**// [Overridden from [[:develop:api:efl:gfx:path|Efl.Gfx.Path]]]//\\ > %%Copy the path data from the object specified.%% void efl_gfx_path_copy_from(Eo *obj, const Efl_Object *dup_from); \\ **[[:develop:api:efl:gfx:shape:property:fill_rule|fill_rule]]** //**(get, set)**//\\ > %%The fill rule of the given shape object. %%[[:develop:api:efl:gfx:fill_rule|Efl.Gfx.Fill_Rule.winding]]%% or %%[[:develop:api:efl:gfx:fill_rule|Efl.Gfx.Fill_Rule.odd_even]]%%.%% Efl_Gfx_Fill_Rule efl_gfx_shape_fill_rule_get(const Eo *obj); void efl_gfx_shape_fill_rule_set(Eo *obj, Efl_Gfx_Fill_Rule fill_rule); \\ **[[:develop:api:efl:gfx:shape:method:interpolate|interpolate]]**// [Overridden from [[:develop:api:efl:gfx:path|Efl.Gfx.Path]]]//\\ > %%Creates intermediary path part-way between two paths%% Eina_Bool efl_gfx_path_interpolate(Eo *obj, const Efl_Object *from, const Efl_Object *to, double pos_map); \\ **[[:develop:api:efl:gfx:shape:property:stroke_cap|stroke_cap]]** //**(get, set)**//\\ > %%The cap style to be used for stroking the path. The cap will be used for capping the end point of a open subpath.%% Efl_Gfx_Cap efl_gfx_shape_stroke_cap_get(const Eo *obj); void efl_gfx_shape_stroke_cap_set(Eo *obj, Efl_Gfx_Cap c); \\ **[[:develop:api:efl:gfx:shape:property:stroke_color|stroke_color]]** //**(get, set)**//\\ > %%The color to be used for stroking the path.%% void efl_gfx_shape_stroke_color_get(const Eo *obj, int *r, int *g, int *b, int *a); void efl_gfx_shape_stroke_color_set(Eo *obj, int r, int g, int b, int a); \\ **[[:develop:api:efl:gfx:shape:property:stroke_dash|stroke_dash]]** //**(get, set)**//\\ > %%Set stroke dash pattern. A dash pattern is specified by dashes, an array of %%[[:develop:api:efl:gfx:dash|Efl.Gfx.Dash]]%%. %%[[:develop:api:efl:gfx:dash|Efl.Gfx.Dash]]%% values(length, gap) must be positive.%% void efl_gfx_shape_stroke_dash_get(const Eo *obj, const Efl_Gfx_Dash **dash, unsigned int *length); void efl_gfx_shape_stroke_dash_set(Eo *obj, const Efl_Gfx_Dash *dash, unsigned int length); \\ **[[:develop:api:efl:gfx:shape:property:stroke_join|stroke_join]]** //**(get, set)**//\\ > %%The join style to be used for stroking the path. The join style will be used for joining the two line segment while stroking the path.%% Efl_Gfx_Join efl_gfx_shape_stroke_join_get(const Eo *obj); void efl_gfx_shape_stroke_join_set(Eo *obj, Efl_Gfx_Join j); \\ **[[:develop:api:efl:gfx:shape:property:stroke_location|stroke_location]]** //**(get, set)**//\\ > %%Not implemented%% double efl_gfx_shape_stroke_location_get(const Eo *obj); void efl_gfx_shape_stroke_location_set(Eo *obj, double centered); \\ **[[:develop:api:efl:gfx:shape:property:stroke_miterlimit|stroke_miterlimit]]** //**(get, set)**//\\ > %%The stroke_miterlimit is a presentation defining a limit on the ratio of the miter length to the stroke-width used to draw a miter join.%% double efl_gfx_shape_stroke_miterlimit_get(const Eo *obj); void efl_gfx_shape_stroke_miterlimit_set(Eo *obj, double miterlimit); \\ **[[:develop:api:efl:gfx:shape:property:stroke_scale|stroke_scale]]** //**(get, set)**//\\ > %%The stroke scale to be used for stroking the path. Will be used along with stroke width property.%% double efl_gfx_shape_stroke_scale_get(const Eo *obj); void efl_gfx_shape_stroke_scale_set(Eo *obj, double s); \\ **[[:develop:api:efl:gfx:shape:property:stroke_width|stroke_width]]** //**(get, set)**//\\ > %%The stroke width to be used for stroking the path.%% double efl_gfx_shape_stroke_width_get(const Eo *obj); void efl_gfx_shape_stroke_width_set(Eo *obj, double w); \\ ==== Inherited ==== ^ [[:develop:api:efl:gfx:path|Efl.Gfx.Path]] ^^^ | | **[[: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.%% | | | **[[: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).%% | | | **[[:develop:api:efl:gfx:path:method:append_circle|append_circle]]** | %%Append a circle with given center and radius.%% | | | **[[: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).%% | | | **[[: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.%% | | | **[[: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.%% | | | **[[: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.%% | | | **[[: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.%% | | | **[[:develop:api:efl:gfx:path:method:append_rect|append_rect]]** | %%Append the given rectangle with rounded corner to the path.%% | | | **[[:develop:api:efl:gfx:path:method:append_scubic_to|append_scubic_to]]** | %%Same as %%[[:develop:api:efl:gfx:path:method:append_cubic_to|Efl.Gfx.Path.append_cubic_to]]%% api only difference is that it uses the current control point to draw the bezier.%% | | | **[[:develop:api:efl:gfx:path:method:append_squadratic_to|append_squadratic_to]]** | %%Same as %%[[:develop:api:efl:gfx:path:method:append_quadratic_to|Efl.Gfx.Path.append_quadratic_to]]%% api only difference is that it uses the current control point to draw the bezier.%% | | | **[[:develop:api:efl:gfx:path:method:append_svg_path|append_svg_path]]** | %%Append SVG path data%% | | | **[[:develop:api:efl:gfx:path:method:bounds_get|bounds_get]]** | %%Compute and return the bounding box of the currently set path%% | | | **[[:develop:api:efl:gfx:path:method:commit|commit]]** | %%Request to update the path object.%% | | | **[[:develop:api:efl:gfx:path:property:current|current]]** //**(get)**// | | | | **[[:develop:api:efl:gfx:path:property:current_ctrl|current_ctrl]]** //**(get)**// | | | | **[[:develop:api:efl:gfx:path:method:destructor|destructor]]** | | | | **[[:develop:api:efl:gfx:path:method:equal_commands|equal_commands]]** | %%Equal commands in object%% | | | **[[:develop:api:efl:gfx:path:property:length|length]]** //**(get)**// | | | | **[[: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 path.%% | | | **[[:develop:api:efl:gfx:path:method:reserve|reserve]]** | %%Reserve path commands buffer in advance. If you know the count of path commands coming, you can reserve commands buffer in advance to avoid buffer growing job.%% | | | **[[:develop:api:efl:gfx:path:method:reset|reset]]** | %%Reset the path data of the path object.%% | ===== Events =====