## atspi-component atspi-component — An interface implemented by objects which have onscreen visual representations. |

## Synopsis

    struct              AtspiRect;
    #define             ATSPI_TYPE_RECT
    AtspiRect *         atspi_rect_copy                     (AtspiRect *src);
    struct              AtspiPoint;
    #define             ATSPI_TYPE_POINT
    GType               atspi_point_get_type                ();
    AtspiPoint *        atspi_point_copy                    (AtspiPoint *src);
    GType               atspi_component_get_type            ();
                        AtspiComponent;
    gboolean            atspi_component_contains            (AtspiComponent *obj,
                                                             gint x,
                                                             gint y,
                                                             AtspiCoordType ctype,
                                                             GError **error);
    AtspiAccessible *   atspi_component_get_accessible_at_point
                                                            (AtspiComponent *obj,
                                                             gint x,
                                                             gint y,
                                                             AtspiCoordType ctype,
                                                             GError **error);
    AtspiRect *         atspi_component_get_extents         (AtspiComponent *obj,
                                                             AtspiCoordType ctype,
                                                             GError **error);
    AtspiPoint *        atspi_component_get_position        (AtspiComponent *obj,
                                                             AtspiCoordType ctype,
                                                             GError **error);
    AtspiPoint *        atspi_component_get_size            (AtspiComponent *obj,
                                                             GError **error);
    AtspiComponentLayer atspi_component_get_layer           (AtspiComponent *obj,
                                                             GError **error);
    gshort              atspi_component_get_mdi_z_order     (AtspiComponent *obj,
                                                             GError **error);
    gboolean            atspi_component_grab_focus          (AtspiComponent *obj,
                                                             GError **error);
    gdouble             atspi_component_get_alpha           (AtspiComponent *obj,
                                                             GError **error);

## Object Hierarchy

      GBoxed
       +----AtspiRect

      GBoxed
       +----AtspiPoint

      GInterface
       +----AtspiComponent

## Known Implementations

AtspiComponent is implemented by AtspiAccessible.

## Description

The Component interface is implemented by objects which occupy on-screen space, e.g. objects which have onscreen visual representations. The methods in Component allow clients to identify where the objects lie in the onscreen coordinate system, their relative size, stacking order, and position. It also provides a mechanism whereby keyboard focus may be transferred to specific user interface elements programmatically. This is a 2D API. Coordinates of 3D objects are projected into the 2-dimensional screen view for purposes of this interface.

## Details

### struct AtspiRect

    struct AtspiRect {
      gint x;
      gint y;
      gint width;
      gint height;
    };

### ATSPI_TYPE_RECT

    #define ATSPI_TYPE_RECT (atspi_rect_get_type ())

The GType for a boxed type holding a AtspiEvent.

### atspi_rect_copy ()

    AtspiRect *         atspi_rect_copy                     (AtspiRect *src);

### struct AtspiPoint

    struct AtspiPoint {
      gint x;
      gint y;
    };

### ATSPI_TYPE_POINT

    #define ATSPI_TYPE_POINT (atspi_point_get_type ())

The GType for a boxed type holding a AtspiPoint.

### atspi_point_get_type ()

    GType               atspi_point_get_type                ();

### atspi_point_copy ()

    AtspiPoint *        atspi_point_copy                    (AtspiPoint *src);

### atspi_component_get_type ()

    GType               atspi_component_get_type            ();

### AtspiComponent

    typedef struct _AtspiComponent AtspiComponent;

### atspi_component_contains ()

    gboolean            atspi_component_contains            (AtspiComponent *obj,
                                                             gint x,
                                                             gint y,
                                                             AtspiCoordType ctype,
                                                             GError **error);

Queries whether a given AtspiComponent contains a particular point.

`obj` : | a pointer to the AtspiComponent to query.
`x` : | a gint specifying the x coordinate in question.
`y` : | a gint specifying the y coordinate in question.
`ctype` : | the desired coordinate system of the point (`x`, `y`) (e.g. CSPI_COORD_TYPE_WINDOW, CSPI_COORD_TYPE_SCREEN).
Returns : | TRUE if the specified component contains the point (`x`, `y`), FALSE otherwise.

### atspi_component_get_accessible_at_point ()

    AtspiAccessible *   atspi_component_get_accessible_at_point
                                                            (AtspiComponent *obj,
                                                             gint x,
                                                             gint y,
                                                             AtspiCoordType ctype,
                                                             GError **error);

Gets the accessible child at a given coordinate within an AtspiComponent.

`obj` : | a pointer to the AtspiComponent to query.
`x` : | a gint specifying the x coordinate of the point in question.
`y` : | a gint specifying the y coordinate of the point in question.
`ctype` : | the coordinate system of the point (`x`, `y`) (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).
Returns : | a pointer to an AtspiAccessible child of the specified component which contains the point (`x`, `y`), or NULL if no child contains the point. [transfer full]

### atspi_component_get_extents ()

    AtspiRect *         atspi_component_get_extents         (AtspiComponent *obj,
                                                             AtspiCoordType ctype,
                                                             GError **error);

Gets the bounding box of the specified AtspiComponent.

`obj` : | a pointer to the AtspiComponent to query.
`ctype` : | the desired coordinate system into which to return the results, (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).
Returns : | An AtspiRect giving the accessible's extents.

### atspi_component_get_position ()

    AtspiPoint *        atspi_component_get_position        (AtspiComponent *obj,
                                                             AtspiCoordType ctype,
                                                             GError **error);

Gets the minimum x and y coordinates of the specified AtspiComponent.

`obj` : | a pointer to the AtspiComponent to query.
`ctype` : | the desired coordinate system into which to return the results, (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).
Returns : | An AtspiPoint giving the `obj`'s position.

### atspi_component_get_size ()

    AtspiPoint *        atspi_component_get_size            (AtspiComponent *obj,
                                                             GError **error);

Gets the size of the specified AtspiComponent.

`obj` : | a pointer to the AtspiComponent to query.
Returns : | An AtspiPoint giving the `obj`'s size.

### atspi_component_get_layer ()

    AtspiComponentLayer atspi_component_get_layer           (AtspiComponent *obj,
                                                             GError **error);

Queries which layer the component is painted into, to help determine its visibility in terms of stacking order.

`obj` : | a pointer to the AtspiComponent to query.
Returns : | the AtspiComponentLayer into which this component is painted.

### atspi_component_get_mdi_z_order ()

    gshort              atspi_component_get_mdi_z_order     (AtspiComponent *obj,
                                                             GError **error);

Queries the z stacking order of a component which is in the MDI or window layer. (Bigger z-order numbers mean nearer the top)

`obj` : | a pointer to the AtspiComponent to query.
Returns : | a gshort indicating the stacking order of the component in the MDI layer, or -1 if the component is not in the MDI layer.

### atspi_component_grab_focus ()

    gboolean            atspi_component_grab_focus          (AtspiComponent *obj,
                                                             GError **error);

Attempts to set the keyboard input focus to the specified AtspiComponent.

`obj` : | a pointer to the AtspiComponent on which to operate.
Returns : | TRUE if successful, FALSE otherwise.

### atspi_component_get_alpha ()

    gdouble             atspi_component_get_alpha           (AtspiComponent *obj,
                                                             GError **error);

Gets the opacity/alpha value of a component, if alpha blending is in use.

`obj` : | The AtspiComponent to be queried.
Returns : | the opacity value of a component, as a gdouble between 0.0 and 1.0.