X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cspi%2Fspi_component.c;h=11202b01d0fdcd8798c2e4f875f4894f95bf49ec;hb=2ef2eb65e6760922f544875012d347e1c0efb7b8;hp=f644da37bec6f5285ffca94f38720d82d8bbfa01;hpb=d35cd400a36b0f1393c17ce47015bf753327ccae;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/cspi/spi_component.c b/cspi/spi_component.c index f644da3..11202b0 100644 --- a/cspi/spi_component.c +++ b/cspi/spi_component.c @@ -1,4 +1,27 @@ /* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001, 2002 Sun Microsystems Inc., + * Copyright 2001, 2002 Ximian, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * 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. + */ + +/* * * AccessibleComponent function implementations * @@ -11,9 +34,6 @@ * @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). - * **/ void AccessibleComponent_ref (AccessibleComponent *obj) @@ -26,9 +46,6 @@ 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). - * **/ void AccessibleComponent_unref (AccessibleComponent *obj) @@ -55,13 +72,18 @@ AccessibleComponent_contains (AccessibleComponent *obj, long int y, AccessibleCoordType ctype) { + SPIBoolean retval; + cspi_return_val_if_fail (obj != NULL, FALSE); - return Accessibility_Component_contains (CSPI_OBJREF (obj), - (CORBA_long) x, - (CORBA_long) y, - ctype, - cspi_ev ()); + retval = Accessibility_Component_contains (CSPI_OBJREF (obj), + x, + y, + ctype, + cspi_ev ()); + cspi_return_val_if_ev ("contains", FALSE); + + return retval; } /** @@ -88,8 +110,8 @@ AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj, cspi_return_val_if_fail (obj != NULL, NULL); child = Accessibility_Component_getAccessibleAtPoint (CSPI_OBJREF (obj), - (CORBA_long) x, - (CORBA_long) y, + x, + y, ctype, cspi_ev ()); return cspi_object_add (child); @@ -123,7 +145,7 @@ AccessibleComponent_getExtents (AccessibleComponent *obj, bbox = Accessibility_Component_getExtents (CSPI_OBJREF (obj), ctype, cspi_ev ()); - if (cspi_check_ev ("AccessibleComponent_getExtents")) + if (!cspi_check_ev ("getExtents")) { *x = *y = *width = *height = 0; } @@ -153,11 +175,22 @@ AccessibleComponent_getPosition (AccessibleComponent *obj, long int *y, AccessibleCoordType ctype) { + CORBA_long cx, cy; + + cspi_return_if_fail (obj != NULL); + Accessibility_Component_getPosition (CSPI_OBJREF (obj), - (CORBA_long *) x, - (CORBA_long *) y, - ctype, - cspi_ev ()); + &cx, &cy, ctype, cspi_ev ()); + + if (!cspi_check_ev ("getPosition")) + { + *x = *y = 0; + } + else + { + *x = cx; + *y = cy; + } } /** @@ -174,10 +207,23 @@ AccessibleComponent_getSize (AccessibleComponent *obj, long int *width, long int *height) { + CORBA_long cw, ch; + + cspi_return_if_fail (obj != NULL); + Accessibility_Component_getSize (CSPI_OBJREF (obj), - (CORBA_long *) width, - (CORBA_long *) height, + &cw, + &ch, cspi_ev ()); + if (cspi_check_ev ("getSize")) + { + *width = *height = 0; + } + else + { + *width = cw; + *height = ch; + } } /** @@ -192,11 +238,16 @@ AccessibleComponent_getSize (AccessibleComponent *obj, AccessibleComponentLayer AccessibleComponent_getLayer (AccessibleComponent *obj) { + AccessibleComponentLayer retval; Accessibility_ComponentLayer zlayer; - AccessibleComponentLayer retval; - + + 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: @@ -217,10 +268,14 @@ AccessibleComponent_getLayer (AccessibleComponent *obj) case Accessibility_LAYER_OVERLAY: retval = SPI_LAYER_OVERLAY; break; + case Accessibility_LAYER_WINDOW: + retval = SPI_LAYER_WINDOW; + break; default: retval = SPI_LAYER_INVALID; break; } + return retval; } @@ -228,8 +283,8 @@ AccessibleComponent_getLayer (AccessibleComponent *obj) * 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) + * Query the z stacking order of a component which is in the MDI or window + * 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. @@ -237,8 +292,16 @@ AccessibleComponent_getLayer (AccessibleComponent *obj) short AccessibleComponent_getMDIZOrder (AccessibleComponent *obj) { - return (short) Accessibility_Component_getMDIZOrder (CSPI_OBJREF (obj), - cspi_ev ()); + 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; } /** @@ -248,9 +311,43 @@ AccessibleComponent_getMDIZOrder (AccessibleComponent *obj) * Attempt to set the keyboard input focus to the specified * #AccessibleComponent. * + * Returns: #TRUE if successful, #FALSE otherwise. + * **/ -void +SPIBoolean AccessibleComponent_grabFocus (AccessibleComponent *obj) { - ; + SPIBoolean retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + + retval = Accessibility_Component_grabFocus (CSPI_OBJREF (obj), + cspi_ev ()); + + cspi_return_val_if_ev ("grabFocus", FALSE); + + return retval; +} + +/** + * AccessibleComponent_getAlpha: + * @obj: The #AccessibleComponent to be queried. + * + * Get the opacity/alpha value of a component, if alpha blending is in use. + * + * Returns: the opacity value of a component, as a double between 0.0 and 1.0. + **/ +double +AccessibleComponent_getAlpha (AccessibleComponent *obj) +{ + SPIBoolean retval; + + cspi_return_val_if_fail (obj != NULL, 1.0); + + retval = Accessibility_Component_getAlpha (CSPI_OBJREF (obj), + cspi_ev ()); + + cspi_return_val_if_ev ("getAlpha", 1.0); + + return retval; }