Release 2.25.2
[platform/upstream/atk.git] / atk / atkcomponent.h
old mode 100755 (executable)
new mode 100644 (file)
index 4d86b9d..9cc85ee
  * 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,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,
@@ -92,55 +146,79 @@ struct _AtkComponentIface
   gboolean                 (* set_size)         (AtkComponent   *component,
                                                  gint           width,
                                                  gint           height);
+       
+  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_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__ */