X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=atk%2Fatkcomponent.h;h=1795dbf785d33b0d2966d9f6e1b69119b543101f;hb=refs%2Ftags%2Faccepted%2Ftizen%2Fmobile%2F20170103.051112;hp=c089150d69823b9b4e534f159c7c9d56e8b80455;hpb=876318cdd5b886314ec495b746d0f171018c218c;p=platform%2Fupstream%2Fatk.git diff --git a/atk/atkcomponent.h b/atk/atkcomponent.h index c089150..1795dbf 100755 --- a/atk/atkcomponent.h +++ b/atk/atkcomponent.h @@ -17,15 +17,17 @@ * Boston, MA 02111-1307, USA. */ +#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef __ATK_COMPONENT_H__ #define __ATK_COMPONENT_H__ #include #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS /* * The AtkComponent interface should be supported by any object that is @@ -45,8 +47,59 @@ typedef struct _AtkComponent AtkComponent; #endif typedef struct _AtkComponentIface AtkComponentIface; -typedef void (*AtkFocusHandler) (AtkObject*, gboolean); +/** + * AtkFocusHandler: + * @object: the #AtkObject that receives/lose the focus + * @focus_in: TRUE if the object receives the focus + * + * The type of callback function used for + * atk_component_add_focus_handler() and + * atk_component_remove_focus_handler() + * + * Deprecated: 2.9.4: Deprecated with atk_component_add_focus_handler() + * and atk_component_remove_focus_handler(). See those + * methods for more information. + */ +typedef void (*AtkFocusHandler) (AtkObject* object, gboolean focus_in); +typedef struct _AtkRectangle AtkRectangle; + +/** + * AtkRectangle: + * @x: X coordinate of the left side of the rectangle. + * @y: Y coordinate of the top side of the rectangle. + * @width: width of the rectangle. + * @height: height of the rectangle. + * + * A data structure for holding a rectangle. Those coordinates are + * relative to the component top-level parent. + */ +struct _AtkRectangle +{ + gint x; + gint y; + gint width; + gint height; +}; + +ATK_AVAILABLE_IN_ALL +GType atk_rectangle_get_type (void); + +#define ATK_TYPE_RECTANGLE (atk_rectangle_get_type ()) + +/** + * AtkComponentIface: + * @add_focus_handler: This virtual function is deprecated since 2.9.4 + * and it should not be overriden. See + * atk_component_add_focus_handler() for more information. + * @get_position: This virtual function is deprecated since 2.12 and + * it should not be overriden. Use @get_extents instead. + * @get_size: This virtual function is deprecated since 2.12 and it + * should not be overriden. Use @get_extents instead. + * @remove_focus_handler: This virtual function is deprecated since + * 2.9.4 and it should not be overriden. See + * atk_component_remove_focus_handler() for more information. + */ struct _AtkComponentIface { @@ -54,6 +107,7 @@ struct _AtkComponentIface guint (* add_focus_handler) (AtkComponent *component, AtkFocusHandler handler); + gboolean (* contains) (AtkComponent *component, gint x, gint y, @@ -77,6 +131,10 @@ struct _AtkComponentIface gint *width, gint *height); gboolean (* grab_focus) (AtkComponent *component); + gboolean (* grab_highlight) (AtkComponent *component); + gboolean (* clear_highlight) (AtkComponent *component); + gint (* get_highlight_index) (AtkComponent *component); + void (* remove_focus_handler) (AtkComponent *component, guint handler_id); gboolean (* set_extents) (AtkComponent *component, @@ -93,62 +151,84 @@ struct _AtkComponentIface gint width, gint height); - AtkLayer (* get_layer) (AtkObject *accessible); - gint (* get_mdi_zorder) (AtkObject *accessible); - - AtkFunction pad1; - AtkFunction pad2; + AtkLayer (* get_layer) (AtkComponent *component); + gint (* get_mdi_zorder) (AtkComponent *component); + + /* + * signal handlers + */ + void (* bounds_changed) (AtkComponent *component, + AtkRectangle *bounds); + gdouble (* get_alpha) (AtkComponent *component); }; +ATK_AVAILABLE_IN_ALL GType atk_component_get_type (void); /* convenience functions */ - +ATK_DEPRECATED_IN_2_10 guint atk_component_add_focus_handler (AtkComponent *component, AtkFocusHandler handler); +ATK_AVAILABLE_IN_ALL gboolean atk_component_contains (AtkComponent *component, gint x, gint y, AtkCoordType coord_type); +ATK_AVAILABLE_IN_ALL AtkObject* atk_component_ref_accessible_at_point(AtkComponent *component, gint x, gint y, AtkCoordType coord_type); +ATK_AVAILABLE_IN_ALL void atk_component_get_extents (AtkComponent *component, gint *x, gint *y, gint *width, gint *height, AtkCoordType coord_type); +ATK_DEPRECATED_IN_2_12_FOR(atk_component_get_extents) void atk_component_get_position (AtkComponent *component, gint *x, gint *y, AtkCoordType coord_type); +ATK_DEPRECATED_IN_2_12_FOR(atk_component_get_extents) void atk_component_get_size (AtkComponent *component, gint *width, gint *height); +ATK_AVAILABLE_IN_ALL AtkLayer atk_component_get_layer (AtkComponent *component); +ATK_AVAILABLE_IN_ALL gint atk_component_get_mdi_zorder (AtkComponent *component); +ATK_AVAILABLE_IN_ALL gboolean atk_component_grab_focus (AtkComponent *component); +ATK_AVAILABLE_IN_ALL +gboolean atk_component_grab_highlight (AtkComponent *component); +ATK_AVAILABLE_IN_ALL +gboolean atk_component_clear_highlight (AtkComponent *component); +ATK_AVAILABLE_IN_ALL +gint atk_component_get_highlight_index (AtkComponent *component); +ATK_DEPRECATED_IN_2_10 void atk_component_remove_focus_handler (AtkComponent *component, guint handler_id); +ATK_AVAILABLE_IN_ALL gboolean atk_component_set_extents (AtkComponent *component, gint x, gint y, gint width, gint height, AtkCoordType coord_type); +ATK_AVAILABLE_IN_ALL gboolean atk_component_set_position (AtkComponent *component, gint x, gint y, AtkCoordType coord_type); +ATK_AVAILABLE_IN_ALL gboolean atk_component_set_size (AtkComponent *component, gint width, gint height); +ATK_AVAILABLE_IN_ALL +gdouble atk_component_get_alpha (AtkComponent *component); -#ifdef __cplusplus -} -#endif /* __cplusplus */ - +G_END_DECLS #endif /* __ATK_COMPONENT_H__ */