efl: ensure legacy is only relying on stable types

Summary:
This commit changes the beta ness of a few types, those types are
looking quite stable. Edje types will likely not change. The
Efl.Gfx.Join types are actaully already stable since the last release,
since evas_vg was stable back then and those enums have been in there.

The elementary stuff looks a bit unthought, and we have the chance to
change the API in the backend, so maybe we want to not declare it
stable, but rather reintroduce the legacy types.

With this we can enable eolian generation of beta tags for types.

ref T7726

Depends on D8276

Reviewers: cedric, segfaultxavi, zmike, stefan_schmidt, q66

Reviewed By: segfaultxavi, q66

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7726

Differential Revision: https://phab.enlightenment.org/D8277
This commit is contained in:
Marcel Hollerbach 2019-03-09 16:36:21 +01:00 committed by Xavi Artigas
parent e655d20d24
commit 1c62ed5349
6 changed files with 43 additions and 38 deletions

View File

@ -157,14 +157,11 @@ _type_generate(const Eolian_State *state, const Eolian_Typedecl *tp,
break; break;
} }
eina_strbuf_append_char(buf, ';'); eina_strbuf_append_char(buf, ';');
#if 0
/* can't enable this yet, as this would trigger brokenness in our tree */
if (eolian_typedecl_is_beta(tp)) if (eolian_typedecl_is_beta(tp))
{ {
eina_strbuf_prepend(buf, "#ifdef EFL_BETA_API_SUPPORT\n"); eina_strbuf_prepend(buf, "#ifdef EFL_BETA_API_SUPPORT\n");
eina_strbuf_append(buf, "\n#endif /* EFL_BETA_API_SUPPORT */"); eina_strbuf_append(buf, "\n#endif /* EFL_BETA_API_SUPPORT */");
} }
#endif
return buf; return buf;
} }

View File

@ -1,4 +1,4 @@
enum @beta Efl.Canvas.Layout_Part_Type enum Efl.Canvas.Layout_Part_Type
{ {
[[Type of a part in an Efl.Canvas.Layout object (edje object).]] [[Type of a part in an Efl.Canvas.Layout object (edje object).]]
none = 0, [[None type value, indicates invalid parts.]] none = 0, [[None type value, indicates invalid parts.]]

View File

@ -30,7 +30,7 @@ enum Efl.Gfx.Render_Op {
last [[Sentinel value to indicate last enum field during iteration]] last [[Sentinel value to indicate last enum field during iteration]]
} }
enum @beta Efl.Gfx.Path_Command_Type { enum Efl.Gfx.Path_Command_Type {
[[These values determine how the points are interpreted in a stream of points. [[These values determine how the points are interpreted in a stream of points.
@since 1.14 @since 1.14
]] ]]
@ -42,7 +42,7 @@ enum @beta Efl.Gfx.Path_Command_Type {
last [[Sentinel value to indicate last enum field during iteration]] last [[Sentinel value to indicate last enum field during iteration]]
} }
enum @beta Efl.Gfx.Cap { enum Efl.Gfx.Cap {
[[These values determine how the end of opened sub-paths are rendered in a [[These values determine how the end of opened sub-paths are rendered in a
stroke. stroke.
@Efl.Gfx.Shape.stroke_cap.set @Efl.Gfx.Shape.stroke_cap.set
@ -54,7 +54,7 @@ enum @beta Efl.Gfx.Cap {
last [[Sentinel value to indicate last enum field during iteration]] last [[Sentinel value to indicate last enum field during iteration]]
} }
enum @beta Efl.Gfx.Join enum Efl.Gfx.Join
{ {
[[These values determine how two joining lines are rendered in a stroker. [[These values determine how two joining lines are rendered in a stroker.
@Efl.Gfx.Shape.stroke_join.set @Efl.Gfx.Shape.stroke_join.set
@ -66,7 +66,7 @@ enum @beta Efl.Gfx.Join
last [[Sentinel value to indicate last enum field during iteration]] last [[Sentinel value to indicate last enum field during iteration]]
} }
enum @beta Efl.Gfx.Gradient_Spread enum Efl.Gfx.Gradient_Spread
{ {
[[Specifies how the area outside the gradient area should be filled. [[Specifies how the area outside the gradient area should be filled.
@Efl.Gfx.Gradient.spread.set @Efl.Gfx.Gradient.spread.set
@ -87,7 +87,7 @@ enum @beta Efl.Gfx.Fill_Rule
odd_even = 1, [[Draw a horizontal line from the point to a location outside the shape, and count the number of intersections. If the number of intersections is an odd number, the point is inside the shape.]] odd_even = 1, [[Draw a horizontal line from the point to a location outside the shape, and count the number of intersections. If the number of intersections is an odd number, the point is inside the shape.]]
} }
struct @beta Efl.Gfx.Dash { struct Efl.Gfx.Dash {
[[Type describing dash. [[Type describing dash.
@Efl.Gfx.Shape.stroke_dash.set @Efl.Gfx.Shape.stroke_dash.set
@since 1.14 @since 1.14
@ -96,7 +96,7 @@ struct @beta Efl.Gfx.Dash {
gap: double; [[Distance between two dashes.]] gap: double; [[Distance between two dashes.]]
} }
struct @beta Efl.Gfx.Gradient_Stop struct Efl.Gfx.Gradient_Stop
{ {
[[Type defining gradient stops. [[Type defining gradient stops.
Describes the location and color of a transition point in a gradient. Describes the location and color of a transition point in a gradient.

View File

@ -29,7 +29,7 @@ enum @beta Efl.Pointer.Flags
triple_click = (1 << 1), [[This mouse button press was the 3rd press of a triple click]] triple_click = (1 << 1), [[This mouse button press was the 3rd press of a triple click]]
} }
enum @beta Efl.Input.Flags enum Efl.Input.Flags
{ {
[[Special flags set during an input event propagation. [[Special flags set during an input event propagation.
@ -48,7 +48,7 @@ enum @beta Efl.Input.Flags
actually perform anything.]] actually perform anything.]]
} }
enum @beta Efl.Input.Object_Pointer_Mode { enum Efl.Input.Object_Pointer_Mode {
[[How the mouse pointer should be handled by EFL. [[How the mouse pointer should be handled by EFL.
In the mode $autograb, when a mouse button is pressed down over an In the mode $autograb, when a mouse button is pressed down over an

View File

@ -1120,7 +1120,7 @@ _hoversel_item_paste_cb(void *data,
} }
static void static void
_selection_clear(void *data, Elm_Sel_Type selection) _selection_clear(void *data, Efl_Ui_Selection_Type selection)
{ {
EFL_UI_TEXT_DATA_GET(data, sd); EFL_UI_TEXT_DATA_GET(data, sd);

View File

@ -57,41 +57,49 @@ EAPI extern int ELM_CNP_EVENT_SELECTION_CHANGED;
* @see http://www.x.org/docs/X11/xlib.pdf * @see http://www.x.org/docs/X11/xlib.pdf
* for more details. * for more details.
*/ */
typedef Efl_Ui_Selection_Type Elm_Sel_Type;
#define ELM_SEL_TYPE_PRIMARY EFL_UI_SELECTION_TYPE_PRIMARY typedef enum
#define ELM_SEL_TYPE_SECONDARY EFL_UI_SELECTION_TYPE_SECONDARY {
#define ELM_SEL_TYPE_XDND EFL_UI_SELECTION_TYPE_DND ELM_SEL_TYPE_PRIMARY = 0, /**< Primary text selection (highlighted or
#define ELM_SEL_TYPE_CLIPBOARD EFL_UI_SELECTION_TYPE_CLIPBOARD * selected text) */
ELM_SEL_TYPE_SECONDARY, /**< Used when primary selection is in use */
ELM_SEL_TYPE_XDND, /**< Drag and Drop */
ELM_SEL_TYPE_CLIPBOARD /**< Clipboard selection (ctrl+C) */
} Elm_Sel_Type;
/** /**
* Defines the types of content. * Defines the types of content.
*/ */
typedef Efl_Ui_Selection_Format Elm_Sel_Format; typedef enum
{
#define ELM_SEL_FORMAT_TARGETS EFL_UI_SELECTION_FORMAT_TARGETS ELM_SEL_FORMAT_TARGETS = -1 /* +1 */, /**< For matching every
#define ELM_SEL_FORMAT_NONE EFL_UI_SELECTION_FORMAT_NONE * possible atom */
#define ELM_SEL_FORMAT_TEXT EFL_UI_SELECTION_FORMAT_TEXT ELM_SEL_FORMAT_NONE = 0, /**< Content is from outside of Elementary
#define ELM_SEL_FORMAT_MARKUP EFL_UI_SELECTION_FORMAT_MARKUP */
#define ELM_SEL_FORMAT_IMAGE EFL_UI_SELECTION_FORMAT_IMAGE ELM_SEL_FORMAT_TEXT = 1, /**< Plain unformatted text: Used for things
#define ELM_SEL_FORMAT_VCARD EFL_UI_SELECTION_FORMAT_VCARD * that don't want rich markup */
#define ELM_SEL_FORMAT_HTML EFL_UI_SELECTION_FORMAT_HTML ELM_SEL_FORMAT_MARKUP = 2, /**< Edje textblock markup, including
* inline images */
ELM_SEL_FORMAT_IMAGE = 4, /**< Images */
ELM_SEL_FORMAT_VCARD = 8, /**< Vcards */
ELM_SEL_FORMAT_HTML = 16 /**< Raw HTML-like data (eg. webkit) */
} Elm_Sel_Format;
/** /**
* Defines the kind of action associated with the drop data if for XDND * Defines the kind of action associated with the drop data if for XDND
* @since 1.8 * @since 1.8
*/ */
typedef Efl_Ui_Selection_Action Elm_Xdnd_Action; typedef enum
{
#define ELM_XDND_ACTION_UNKNOWN EFL_UI_SELECTION_ACTION_UNKNOWN ELM_XDND_ACTION_UNKNOWN = 0, /**< Action type is unknown */
#define ELM_XDND_ACTION_COPY EFL_UI_SELECTION_ACTION_COPY ELM_XDND_ACTION_COPY, /**< Copy the data */
#define ELM_XDND_ACTION_MOVE EFL_UI_SELECTION_ACTION_MOVE ELM_XDND_ACTION_MOVE, /**< Move the data */
#define ELM_XDND_ACTION_PRIVATE EFL_UI_SELECTION_ACTION_PRIVATE ELM_XDND_ACTION_PRIVATE, /**< Private action type */
#define ELM_XDND_ACTION_ASK EFL_UI_SELECTION_ACTION_ASK ELM_XDND_ACTION_ASK, /**< Ask the user what to do */
#define ELM_XDND_ACTION_LIST EFL_UI_SELECTION_ACTION_LIST ELM_XDND_ACTION_LIST, /**< List the data */
#define ELM_XDND_ACTION_LINK EFL_UI_SELECTION_ACTION_LINK ELM_XDND_ACTION_LINK, /**< Link the data */
#define ELM_XDND_ACTION_DESCRIPTION EFL_UI_SELECTION_ACTION_DESCRIPTION ELM_XDND_ACTION_DESCRIPTION /**< Describe the data */
} Elm_Xdnd_Action;
/** /**
* Structure holding the info about selected data. * Structure holding the info about selected data.
*/ */