From: billh Date: Mon, 30 Jul 2001 13:32:21 +0000 (+0000) Subject: Added IDL for complete accessibility interface definitions. X-Git-Tag: AT_SPI2_CORE_0_1_3~1156 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d1ba54e00d59cc6d31a590bad0e79879a0316e31;p=platform%2Fupstream%2Fat-spi2-core.git Added IDL for complete accessibility interface definitions. git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@11 e2bd861d-eb25-0410-b326-f6ed22b6b98c --- diff --git a/idl/Accessibility.idl b/idl/Accessibility.idl index 862453a..f858a87 100644 --- a/idl/Accessibility.idl +++ b/idl/Accessibility.idl @@ -30,11 +30,35 @@ #pragma inhibit push #endif +/* + * Accessibility interfaces and subinterfaces + */ #include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * Interfaces derived from Accessibility::Text + */ + +#include +#include + +/* + * Utility interfaces and interfaces derived from Accessibility::Accessible + */ + #include #include #include +#include #include #include #include diff --git a/idl/Accessibility_Action.idl b/idl/Accessibility_Action.idl new file mode 100644 index 0000000..585438b --- /dev/null +++ b/idl/Accessibility_Action.idl @@ -0,0 +1,68 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + interface Action { + + /** + * getNActions: + * return values: a @long containing the number of actions this object supports. + * + * Returns the number of actions supported by this object. + **/ + long getNActions (); + + /** + * getDescription: + * return values: a @wstring containing the description of the specified action. + * @index: an %in parameter specifying the index of the action + * for which a description is desired. + * + * Gets the description of the specified action. + * + **/ + string getDescription (in long index); + + /** + * doAction: + * @index: an %in parameter specifying the 0-based index of the action to perform. + * + * Causes the object to perform the specified action. + * + **/ + void doAction (in long index); + + /** + * getKeyBinding: + * return values: a @wstring containing the key binding for the specified action, + * "" if none exists. + * @index: an %in parameter specifying the 0-based index of the action + * for which a key binding is requested. + * + * Gets the key binding associated with a specific action. + * + **/ + string getKeyBinding (in long index); + }; + +}; diff --git a/idl/Accessibility_Component.idl b/idl/Accessibility_Component.idl new file mode 100644 index 0000000..aa690d1 --- /dev/null +++ b/idl/Accessibility_Component.idl @@ -0,0 +1,39 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface Component { + + boolean contains (in long x, in long y); + Accessible getAccessibleAtPoint (in long x, in long y); + void getExtents (out long x, out long y, out long width, out long height); + void getPosition (out long x, out long y); + void getPositionOnScreen (out long rootX, out long rootY); + void getSize (out long width, out long height); + void grabFocus (); + void registerFocusHandler (in EventListener handler); + void deregisterFocusHandler (in EventListener handler); + }; +}; diff --git a/idl/Accessibility_EditableText.idl b/idl/Accessibility_EditableText.idl new file mode 100644 index 0000000..c2b960a --- /dev/null +++ b/idl/Accessibility_EditableText.idl @@ -0,0 +1,38 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface EditableText : Text { + + void setTextContents (in string newContents); + void insertText (in long position, in string text, in long length); + void selectText (in long startPos, in long endPos); + void setAttributes (in long startPos, in long endPos, in wstring attributes); + void copyText (in long startPos, in long endPos); + void cutText (in long startPos, in long endPos); + void deleteText (in long startPos, in long endPos); + void pasteText (in long position); + }; +}; diff --git a/idl/Accessibility_Hyperlink.idl b/idl/Accessibility_Hyperlink.idl new file mode 100644 index 0000000..50db8ab --- /dev/null +++ b/idl/Accessibility_Hyperlink.idl @@ -0,0 +1,34 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface Hyperlink { + Accessible getAnchor (in long i); + Accessible getObject (in long i); + long getStartIndex (); + long getEndIndex (); + boolean isValid (); + }; +}; diff --git a/idl/Accessibility_Hypertext.idl b/idl/Accessibility_Hypertext.idl new file mode 100644 index 0000000..47b68b2 --- /dev/null +++ b/idl/Accessibility_Hypertext.idl @@ -0,0 +1,32 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface Hypertext { + long getNLinks (); + Hyperlink getLink (in long linkIndex); + long getLinkIndex (in long characterIndex); + }; +}; diff --git a/idl/Accessibility_Image.idl b/idl/Accessibility_Image.idl new file mode 100644 index 0000000..a186e6a --- /dev/null +++ b/idl/Accessibility_Image.idl @@ -0,0 +1,30 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + interface Image { + string getImageDescription (); + long getImageHeight (); + long getImageWidth (); + }; +}; diff --git a/idl/Accessibility_Selection.idl b/idl/Accessibility_Selection.idl new file mode 100644 index 0000000..006b12c --- /dev/null +++ b/idl/Accessibility_Selection.idl @@ -0,0 +1,36 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface Selection { + long getNSelectedChildren (); + Accessible getSelectedChild (in long selectedChildIndex); + boolean selectChild (in long childIndex); + boolean deselectSelectedChild (in long selectedChildIndex); + boolean isChildSelected (in long childIndex); + void selectAll (); + void clearSelection (); + }; +}; diff --git a/idl/Accessibility_StreamableContent.idl b/idl/Accessibility_StreamableContent.idl new file mode 100644 index 0000000..a9c9d36 --- /dev/null +++ b/idl/Accessibility_StreamableContent.idl @@ -0,0 +1,47 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + typedef sequence StringSeq; + + typedef sequence OctetSeq; + + enum SeekType { + SEEK_START, + SEEK_END, + SEEK_CURRENT + }; + + interface InputStream { + void open (); + long read (inout OctetSeq buffer, in long howmany); + boolean seek (in long offset, in SeekType type); + boolean rewind (); + void close (); + }; + + interface StreamableContent { + StringSeq getContentTypes (); + InputStream getContent (in string contentType); + }; +}; diff --git a/idl/Accessibility_Table.idl b/idl/Accessibility_Table.idl new file mode 100644 index 0000000..cfe5cbc --- /dev/null +++ b/idl/Accessibility_Table.idl @@ -0,0 +1,50 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + +typedef sequence LongSeq; + + interface Table { + Accessible getCaption (); + Accessible getSummary (); + long getNRows (); + long getNColumns (); + Accessible getAccessibleAt (in long row, in long column); + long getIndexAt (in long row, in long column); + long getRowAtIndex (in long index); + long getColumnAtIndex (in long index); + string getRowDescription (in long row); + string getColumnDescription (in long column); + long getRowExtentAt (in long row, in long column); + long getColumnExtentAt (in long row, in long column); + Table getRowHeaders (); + Table getColumnHeaders (); + LongSeq getSelectedRows (); + LongSeq getSelectedColumns (); + boolean isRowSelected (in long row); + boolean isColumnSelected (in long column); + boolean isSelected (in long row, in long column); + }; +}; diff --git a/idl/Accessibility_Text.idl b/idl/Accessibility_Text.idl new file mode 100644 index 0000000..f472c76 --- /dev/null +++ b/idl/Accessibility_Text.idl @@ -0,0 +1,54 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + enum TEXT_BOUNDARY_TYPE { + TEXT_BOUNDARY_CHAR, + TEXT_BOUNDARY_CURSOR_POS, + TEXT_BOUNDARY_WORD_START, + TEXT_BOUNDARY_WORD_END, + TEXT_BOUNDARY_SENTENCE_START, + TEXT_BOUNDARY_SENTENCE_END, + TEXT_BOUNDARY_LINE_START, + TEXT_BOUNDARY_LINE_END +}; + + interface Text { + long getCharacterCount (); + string getText (in long startOfffset, in long endOffset); + long getCaretOffset (); + boolean setCaretOffset (in long offset); + string getTextBeforeOffset (in long offset, in TEXT_BOUNDARY_TYPE type); + string getTextAtOffset (in long offset, in TEXT_BOUNDARY_TYPE type); + string getTextAfterOffset (in long offset, in TEXT_BOUNDARY_TYPE type); + /* could be string instead, to allow unicode chars > 16 bits */ + wchar getCharacterAtOffset (in long offset); + void getRowColAtOffset (in long offset, out long row, out long column); + string getAttributes (in long startOffset, in long endOffset); + boolean getCharacterExtents (in long offset, out long x, out long y, out long length, out long width); + long getOffsetAtPoint (in long x, in long y); + string getSelectedText (); + void getSelectionBounds (out long startOffset, out long endOffset); + boolean setSelectionBounds (in long startOffset, in long endOffset); + }; +}; diff --git a/idl/Accessibility_Value.idl b/idl/Accessibility_Value.idl new file mode 100644 index 0000000..ea46f5b --- /dev/null +++ b/idl/Accessibility_Value.idl @@ -0,0 +1,32 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + interface Value { + float getMinimumValue (); + float getCurrentValue (); + float getMaximumValue (); + float getMinimumIncrement (); + boolean setCurrentValue (in float value); + }; +}; diff --git a/idl/Action.idl b/idl/Action.idl new file mode 100644 index 0000000..585438b --- /dev/null +++ b/idl/Action.idl @@ -0,0 +1,68 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + interface Action { + + /** + * getNActions: + * return values: a @long containing the number of actions this object supports. + * + * Returns the number of actions supported by this object. + **/ + long getNActions (); + + /** + * getDescription: + * return values: a @wstring containing the description of the specified action. + * @index: an %in parameter specifying the index of the action + * for which a description is desired. + * + * Gets the description of the specified action. + * + **/ + string getDescription (in long index); + + /** + * doAction: + * @index: an %in parameter specifying the 0-based index of the action to perform. + * + * Causes the object to perform the specified action. + * + **/ + void doAction (in long index); + + /** + * getKeyBinding: + * return values: a @wstring containing the key binding for the specified action, + * "" if none exists. + * @index: an %in parameter specifying the 0-based index of the action + * for which a key binding is requested. + * + * Gets the key binding associated with a specific action. + * + **/ + string getKeyBinding (in long index); + }; + +}; diff --git a/idl/Component.idl b/idl/Component.idl new file mode 100644 index 0000000..aa690d1 --- /dev/null +++ b/idl/Component.idl @@ -0,0 +1,39 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface Component { + + boolean contains (in long x, in long y); + Accessible getAccessibleAtPoint (in long x, in long y); + void getExtents (out long x, out long y, out long width, out long height); + void getPosition (out long x, out long y); + void getPositionOnScreen (out long rootX, out long rootY); + void getSize (out long width, out long height); + void grabFocus (); + void registerFocusHandler (in EventListener handler); + void deregisterFocusHandler (in EventListener handler); + }; +}; diff --git a/idl/EditableText.idl b/idl/EditableText.idl new file mode 100644 index 0000000..c2b960a --- /dev/null +++ b/idl/EditableText.idl @@ -0,0 +1,38 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface EditableText : Text { + + void setTextContents (in string newContents); + void insertText (in long position, in string text, in long length); + void selectText (in long startPos, in long endPos); + void setAttributes (in long startPos, in long endPos, in wstring attributes); + void copyText (in long startPos, in long endPos); + void cutText (in long startPos, in long endPos); + void deleteText (in long startPos, in long endPos); + void pasteText (in long position); + }; +}; diff --git a/idl/Hyperlink.idl b/idl/Hyperlink.idl new file mode 100644 index 0000000..50db8ab --- /dev/null +++ b/idl/Hyperlink.idl @@ -0,0 +1,34 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface Hyperlink { + Accessible getAnchor (in long i); + Accessible getObject (in long i); + long getStartIndex (); + long getEndIndex (); + boolean isValid (); + }; +}; diff --git a/idl/Hypertext.idl b/idl/Hypertext.idl new file mode 100644 index 0000000..47b68b2 --- /dev/null +++ b/idl/Hypertext.idl @@ -0,0 +1,32 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface Hypertext { + long getNLinks (); + Hyperlink getLink (in long linkIndex); + long getLinkIndex (in long characterIndex); + }; +}; diff --git a/idl/Image.idl b/idl/Image.idl new file mode 100644 index 0000000..a186e6a --- /dev/null +++ b/idl/Image.idl @@ -0,0 +1,30 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + interface Image { + string getImageDescription (); + long getImageHeight (); + long getImageWidth (); + }; +}; diff --git a/idl/Selection.idl b/idl/Selection.idl new file mode 100644 index 0000000..006b12c --- /dev/null +++ b/idl/Selection.idl @@ -0,0 +1,36 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + + interface Selection { + long getNSelectedChildren (); + Accessible getSelectedChild (in long selectedChildIndex); + boolean selectChild (in long childIndex); + boolean deselectSelectedChild (in long selectedChildIndex); + boolean isChildSelected (in long childIndex); + void selectAll (); + void clearSelection (); + }; +}; diff --git a/idl/StreamableContent.idl b/idl/StreamableContent.idl new file mode 100644 index 0000000..a9c9d36 --- /dev/null +++ b/idl/StreamableContent.idl @@ -0,0 +1,47 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + typedef sequence StringSeq; + + typedef sequence OctetSeq; + + enum SeekType { + SEEK_START, + SEEK_END, + SEEK_CURRENT + }; + + interface InputStream { + void open (); + long read (inout OctetSeq buffer, in long howmany); + boolean seek (in long offset, in SeekType type); + boolean rewind (); + void close (); + }; + + interface StreamableContent { + StringSeq getContentTypes (); + InputStream getContent (in string contentType); + }; +}; diff --git a/idl/Table.idl b/idl/Table.idl new file mode 100644 index 0000000..cfe5cbc --- /dev/null +++ b/idl/Table.idl @@ -0,0 +1,50 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +#include + +module Accessibility { + +typedef sequence LongSeq; + + interface Table { + Accessible getCaption (); + Accessible getSummary (); + long getNRows (); + long getNColumns (); + Accessible getAccessibleAt (in long row, in long column); + long getIndexAt (in long row, in long column); + long getRowAtIndex (in long index); + long getColumnAtIndex (in long index); + string getRowDescription (in long row); + string getColumnDescription (in long column); + long getRowExtentAt (in long row, in long column); + long getColumnExtentAt (in long row, in long column); + Table getRowHeaders (); + Table getColumnHeaders (); + LongSeq getSelectedRows (); + LongSeq getSelectedColumns (); + boolean isRowSelected (in long row); + boolean isColumnSelected (in long column); + boolean isSelected (in long row, in long column); + }; +}; diff --git a/idl/Text.idl b/idl/Text.idl new file mode 100644 index 0000000..f472c76 --- /dev/null +++ b/idl/Text.idl @@ -0,0 +1,54 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + enum TEXT_BOUNDARY_TYPE { + TEXT_BOUNDARY_CHAR, + TEXT_BOUNDARY_CURSOR_POS, + TEXT_BOUNDARY_WORD_START, + TEXT_BOUNDARY_WORD_END, + TEXT_BOUNDARY_SENTENCE_START, + TEXT_BOUNDARY_SENTENCE_END, + TEXT_BOUNDARY_LINE_START, + TEXT_BOUNDARY_LINE_END +}; + + interface Text { + long getCharacterCount (); + string getText (in long startOfffset, in long endOffset); + long getCaretOffset (); + boolean setCaretOffset (in long offset); + string getTextBeforeOffset (in long offset, in TEXT_BOUNDARY_TYPE type); + string getTextAtOffset (in long offset, in TEXT_BOUNDARY_TYPE type); + string getTextAfterOffset (in long offset, in TEXT_BOUNDARY_TYPE type); + /* could be string instead, to allow unicode chars > 16 bits */ + wchar getCharacterAtOffset (in long offset); + void getRowColAtOffset (in long offset, out long row, out long column); + string getAttributes (in long startOffset, in long endOffset); + boolean getCharacterExtents (in long offset, out long x, out long y, out long length, out long width); + long getOffsetAtPoint (in long x, in long y); + string getSelectedText (); + void getSelectionBounds (out long startOffset, out long endOffset); + boolean setSelectionBounds (in long startOffset, in long endOffset); + }; +}; diff --git a/idl/Value.idl b/idl/Value.idl new file mode 100644 index 0000000..ea46f5b --- /dev/null +++ b/idl/Value.idl @@ -0,0 +1,32 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001 Sun Microsystems, 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. + */ + +module Accessibility { + + interface Value { + float getMinimumValue (); + float getCurrentValue (); + float getMaximumValue (); + float getMinimumIncrement (); + boolean setCurrentValue (in float value); + }; +};