Revert "Merge remote-tracking branch 'origin/sandbox/mniesluchow/upstream_2_16' into...
[platform/upstream/atk.git] / atk / atkcomponent.h
index 5b4b834..a19a23e 100755 (executable)
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION)
+#error "Only <atk/atk.h> can be included directly."
+#endif
+
 #ifndef __ATK_COMPONENT_H__
 #define __ATK_COMPONENT_H__
 
 #include <atk/atkobject.h>
 #include <atk/atkutil.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * The AtkComponent interface should be supported by any object that is 
@@ -45,10 +47,34 @@ 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: This type is deprecated since ATK version 2.9.4. as
+ * atk_component_add_focus_handler() and
+ * atk_component_remove_focus_handler() are deprecated. 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;
@@ -57,6 +83,24 @@ struct _AtkRectangle
   gint height;
 };
 
+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
 {
   GTypeInterface parent;
@@ -87,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,
@@ -111,13 +159,13 @@ struct _AtkComponentIface
    */
   void                     (* bounds_changed)   (AtkComponent   *component,
                                                  AtkRectangle   *bounds);
-  AtkFunction              pad2;
+  gdouble                  (* get_alpha)        (AtkComponent   *component);
 };
 
 GType atk_component_get_type (void);
 
 /* convenience functions */
-
+G_DEPRECATED
 guint                atk_component_add_focus_handler      (AtkComponent    *component,
                                                            AtkFocusHandler handler);
 gboolean              atk_component_contains               (AtkComponent    *component,
@@ -134,16 +182,22 @@ void                  atk_component_get_extents            (AtkComponent    *com
                                                             gint            *width,
                                                             gint            *height,
                                                             AtkCoordType    coord_type);
+G_DEPRECATED_FOR(atk_component_get_extents)
 void                  atk_component_get_position           (AtkComponent    *component,
                                                             gint            *x,
                                                             gint            *y,
                                                             AtkCoordType    coord_type);
+G_DEPRECATED_FOR(atk_component_get_extents)
 void                  atk_component_get_size               (AtkComponent    *component,
                                                             gint            *width,
                                                             gint            *height);
 AtkLayer              atk_component_get_layer              (AtkComponent    *component);
 gint                  atk_component_get_mdi_zorder         (AtkComponent    *component);
 gboolean              atk_component_grab_focus             (AtkComponent    *component);
+gboolean              atk_component_grab_highlight         (AtkComponent    *component);
+gboolean              atk_component_clear_highlight        (AtkComponent    *component);
+gint                  atk_component_get_highlight_index    (AtkComponent    *component);
+G_DEPRECATED
 void                  atk_component_remove_focus_handler   (AtkComponent    *component,
                                                             guint           handler_id);
 gboolean              atk_component_set_extents            (AtkComponent    *component,
@@ -159,10 +213,8 @@ gboolean              atk_component_set_position           (AtkComponent    *com
 gboolean              atk_component_set_size               (AtkComponent    *component,
                                                             gint            width,
                                                             gint            height);
+gdouble               atk_component_get_alpha              (AtkComponent    *component);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
+G_END_DECLS
 
 #endif /* __ATK_COMPONENT_H__ */