Updated FSF's address
[platform/upstream/atk.git] / atk / atkcomponent.h
old mode 100755 (executable)
new mode 100644 (file)
index ccb73d1..888ce11
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#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 +45,55 @@ 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;
+  gint y;
+  gint width;
+  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.
+ * @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
 {
@@ -97,14 +144,18 @@ struct _AtkComponentIface
   AtkLayer                 (* get_layer)        (AtkComponent   *component);
   gint                     (* get_mdi_zorder)   (AtkComponent   *component);
 
-  AtkFunction              pad1;
-  AtkFunction              pad2;
+  /*
+   * signal handlers
+   */
+  void                     (* bounds_changed)   (AtkComponent   *component,
+                                                 AtkRectangle   *bounds);
+  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,
@@ -131,6 +182,7 @@ void                  atk_component_get_size               (AtkComponent    *com
 AtkLayer              atk_component_get_layer              (AtkComponent    *component);
 gint                  atk_component_get_mdi_zorder         (AtkComponent    *component);
 gboolean              atk_component_grab_focus             (AtkComponent    *component);
+G_DEPRECATED
 void                  atk_component_remove_focus_handler   (AtkComponent    *component,
                                                             guint           handler_id);
 gboolean              atk_component_set_extents            (AtkComponent    *component,
@@ -146,10 +198,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__ */