X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cspi%2Fspi_component.c;h=8e746e45dcb2dcf77c97055d06efc109febccaea;hb=d1fd1a0d66ef594a5ee62692e81e3c8ee9ef6461;hp=5a003d960bdeb67b936a3a01d0cbfe2c718aa841;hpb=72d587fda7e8dda1632a4a8f4010c6262ffc31be;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/cspi/spi_component.c b/cspi/spi_component.c index 5a003d9..8e746e4 100644 --- a/cspi/spi_component.c +++ b/cspi/spi_component.c @@ -4,20 +4,18 @@ * */ +#include + /** * AccessibleComponent_ref: * @obj: a pointer to an object implementing #AccessibleComponent on which to operate. * * Increment the reference count for an #AccessibleComponent. - * - * Returns: (no return code implemented yet). - * **/ -int +void AccessibleComponent_ref (AccessibleComponent *obj) { - Accessibility_Component_ref (*obj, &ev); - return 0; + cspi_object_ref (obj); } /** @@ -25,15 +23,11 @@ AccessibleComponent_ref (AccessibleComponent *obj) * @obj: a pointer to the object implementing #AccessibleComponent on which to operate. * * Decrement the reference count for an #AccessibleComponent. - * - * Returns: (no return code implemented yet). - * **/ -int +void AccessibleComponent_unref (AccessibleComponent *obj) { - Accessibility_Component_unref (*obj, &ev); - return 0; + cspi_object_unref (obj); } /** @@ -42,22 +36,31 @@ AccessibleComponent_unref (AccessibleComponent *obj) * @x: a #long specifying the x coordinate in question. * @y: a #long specifying the y coordinate in question. * @ctype: the desired coordinate system of the point (@x, @y) - * (e.g. SPI_COORD_TYPE_WINDOW, SPI_COORD_TYPE_SCREEN). + * (e.g. CSPI_COORD_TYPE_WINDOW, CSPI_COORD_TYPE_SCREEN). * * Query whether a given #AccessibleComponent contains a particular point. * + * Returns: a #TRUE if the specified component contains the point (@x, @y), + * otherwise #FALSE. **/ -boolean +SPIBoolean AccessibleComponent_contains (AccessibleComponent *obj, - long x, - long y, + long int x, + long int y, AccessibleCoordType ctype) { - return Accessibility_Component_contains (*obj, - (CORBA_long) x, - (CORBA_long) y, - ctype, - &ev); + SPIBoolean retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + + retval = Accessibility_Component_contains (CSPI_OBJREF (obj), + (CORBA_long) x, + (CORBA_long) y, + ctype, + cspi_ev ()); + cspi_return_val_if_ev ("contains", FALSE); + + return retval; } /** @@ -66,7 +69,7 @@ AccessibleComponent_contains (AccessibleComponent *obj, * @x: a #long specifying the x coordinate of the point in question. * @y: a #long specifying the y coordinate of the point in question. * @ctype: the coordinate system of the point (@x, @y) - * (e.g. SPI_COORD_TYPE_WINDOW, SPI_COORD_TYPE_SCREEN). + * (e.g. CSPI_COORD_TYPE_WINDOW, CSPI_COORD_TYPE_SCREEN). * * Get the accessible child at a given coordinate within an #AccessibleComponent. * @@ -75,17 +78,20 @@ AccessibleComponent_contains (AccessibleComponent *obj, **/ Accessible * AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj, - long x, - long y, + long int x, + long int y, AccessibleCoordType ctype) { - Accessible child; - child = Accessibility_Component_getAccessibleAtPoint(*obj, - (CORBA_long) x, - (CORBA_long) y, - ctype, - &ev); - return (child != NULL) ? Obj_Add (child) : NULL; + Accessibility_Accessible child; + + cspi_return_val_if_fail (obj != NULL, NULL); + + child = Accessibility_Component_getAccessibleAtPoint (CSPI_OBJREF (obj), + (CORBA_long) x, + (CORBA_long) y, + ctype, + cspi_ev ()); + return cspi_object_add (child); } /** @@ -96,32 +102,37 @@ AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj, * @width: a pointer to a #long into which the x extents (width) will be returned. * @height: a pointer to a #long into which the y extents (height) will be returned. * @ctype: the desired coordinate system into which to return the results, - * (e.g. SPI_COORD_TYPE_WINDOW, SPI_COORD_TYPE_SCREEN). + * (e.g. CSPI_COORD_TYPE_WINDOW, CSPI_COORD_TYPE_SCREEN). * * Get the bounding box of the specified #AccessibleComponent. * **/ void AccessibleComponent_getExtents (AccessibleComponent *obj, - long *x, - long *y, - long *width, - long *height, + long int *x, + long int *y, + long int *width, + long int *height, AccessibleCoordType ctype) { - CORBA_long cx, cy, cw, ch; - Accessibility_Component_getExtents (*obj, - &cx, - &cy, - &cw, - &ch, - ctype, - &ev); - spi_warn_ev (&ev, "AccessibleComponent_getExtents"); - *x = (long) cx; - *y = (long) cy; - *width = (long) cw; - *height = (long) ch; + Accessibility_BoundingBox bbox; + + cspi_return_if_fail (obj != NULL); + + bbox = Accessibility_Component_getExtents (CSPI_OBJREF (obj), + ctype, + cspi_ev ()); + if (!cspi_check_ev ("AccessibleComponent_getExtents")) + { + *x = *y = *width = *height = 0; + } + else + { + *x = bbox.x; + *y = bbox.y; + *width = bbox.width; + *height = bbox.height; + } } /** @@ -130,22 +141,33 @@ AccessibleComponent_getExtents (AccessibleComponent *obj, * @x: a pointer to a #long into which the minimum x coordinate will be returned. * @y: a pointer to a #long into which the minimum y coordinate will be returned. * @ctype: the desired coordinate system into which to return the results, - * (e.g. SPI_COORD_TYPE_WINDOW, SPI_COORD_TYPE_SCREEN). + * (e.g. CSPI_COORD_TYPE_WINDOW, CSPI_COORD_TYPE_SCREEN). * * Get the minimum x and y coordinates of the specified #AccessibleComponent. * **/ void AccessibleComponent_getPosition (AccessibleComponent *obj, - long *x, - long *y, + long int *x, + long int *y, AccessibleCoordType ctype) { - Accessibility_Component_getPosition (*obj, - (CORBA_long *) x, - (CORBA_long *) y, - ctype, - &ev); + CORBA_long cx, cy; + + cspi_return_if_fail (obj != NULL); + + Accessibility_Component_getPosition (CSPI_OBJREF (obj), + &cx, &cy, ctype, cspi_ev ()); + + if (!cspi_check_ev ("getPosition")) + { + *x = *y = 0; + } + else + { + *x = cx; + *y = cy; + } } /** @@ -159,18 +181,100 @@ AccessibleComponent_getPosition (AccessibleComponent *obj, **/ void AccessibleComponent_getSize (AccessibleComponent *obj, - long *width, - long *height) + long int *width, + long int *height) { - Accessibility_Component_getSize (*obj, + cspi_return_if_fail (obj != NULL); + + Accessibility_Component_getSize (CSPI_OBJREF (obj), (CORBA_long *) width, (CORBA_long *) height, - &ev); + cspi_ev ()); +} + +/** + * AccessibleComponent_getLayer: + * @obj: a pointer to the #AccessibleComponent to query. + * + * Query which layer the component is painted into, to help determine its + * visibility in terms of stacking order. + * + * Returns: the #AccessibleComponentLayer into which this component is painted. + **/ +AccessibleComponentLayer +AccessibleComponent_getLayer (AccessibleComponent *obj) +{ + AccessibleComponentLayer retval; + Accessibility_ComponentLayer zlayer; + + cspi_return_val_if_fail (obj != NULL, FALSE); + + zlayer = Accessibility_Component_getLayer (CSPI_OBJREF (obj), + cspi_ev ()); + + cspi_return_val_if_ev ("getLayer", SPI_LAYER_INVALID); + + switch (zlayer) + { + case Accessibility_LAYER_BACKGROUND: + retval = SPI_LAYER_BACKGROUND; + break; + case Accessibility_LAYER_CANVAS: + retval = SPI_LAYER_CANVAS; + break; + case Accessibility_LAYER_WIDGET: + retval = SPI_LAYER_WIDGET; + break; + case Accessibility_LAYER_MDI: + retval = SPI_LAYER_MDI; + break; + case Accessibility_LAYER_POPUP: + retval = SPI_LAYER_POPUP; + break; + case Accessibility_LAYER_OVERLAY: + retval = SPI_LAYER_OVERLAY; + break; + default: + retval = SPI_LAYER_INVALID; + break; + } + + return retval; } -/* Not Yet Implemented */ +/** + * AccessibleComponent_getMDIZOrder: + * @obj: a pointer to the #AccessibleComponent to query. + * + * Query the z stacking order of a component which is in the MDI layer. + * (Bigger z-order numbers mean nearer the top) + * + * Returns: a short integer indicating the stacking order of the component + * in the MDI layer, or -1 if the component is not in the MDI layer. + **/ +short +AccessibleComponent_getMDIZOrder (AccessibleComponent *obj) +{ + short retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + + retval = Accessibility_Component_getMDIZOrder (CSPI_OBJREF (obj), + cspi_ev ()); + + cspi_return_val_if_ev ("getMDIZOrder", FALSE); + + return retval; +} + +/** + * AccessibleComponent_grabFocus: + * @obj: a pointer to the #AccessibleComponent on which to operate. + * + * Attempt to set the keyboard input focus to the specified + * #AccessibleComponent. + **/ void AccessibleComponent_grabFocus (AccessibleComponent *obj) { - ; }