#pragma inhibit push
#endif
+/*
+ * Accessibility interfaces and subinterfaces
+ */
#include <Accessible.idl>
-#include <Desktop.idl>
+#include <Action.idl>
+#include <Component.idl>
+#include <Hyperlink.idl>
+#include <Image.idl>
+#include <Selection.idl>
+#include <StreamableContent.idl>
+#include <Table.idl>
+#include <Text.idl>
+#include <Value.idl>
+
+/*
+ * Interfaces derived from Accessibility::Text
+ */
+
+#include <EditableText.idl>
+#include <Hypertext.idl>
+
+/*
+ * Utility interfaces and interfaces derived from Accessibility::Accessible
+ */
+
#include <Relation.idl>
#include <State.idl>
#include <Application.idl>
+#include <Desktop.idl>
#include <Event.idl>
#include <Registry.idl>
#include <Role.idl>
--- /dev/null
+/*
+ * 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);
+ };
+
+};
--- /dev/null
+/*
+ * 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 <Event.idl>
+
+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);
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessibility.idl>
+
+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);
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+ interface Hyperlink {
+ Accessible getAnchor (in long i);
+ Accessible getObject (in long i);
+ long getStartIndex ();
+ long getEndIndex ();
+ boolean isValid ();
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessibility.idl>
+
+module Accessibility {
+
+ interface Hypertext {
+ long getNLinks ();
+ Hyperlink getLink (in long linkIndex);
+ long getLinkIndex (in long characterIndex);
+ };
+};
--- /dev/null
+/*
+ * 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 ();
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessible.idl>
+
+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 ();
+ };
+};
--- /dev/null
+/*
+ * 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<string> StringSeq;
+
+ typedef sequence<octet> 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);
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+typedef sequence<long> 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);
+ };
+};
--- /dev/null
+/*
+ * 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);
+ };
+};
--- /dev/null
+/*
+ * 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);
+ };
+};
--- /dev/null
+/*
+ * 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);
+ };
+
+};
--- /dev/null
+/*
+ * 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 <Event.idl>
+
+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);
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessibility.idl>
+
+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);
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+ interface Hyperlink {
+ Accessible getAnchor (in long i);
+ Accessible getObject (in long i);
+ long getStartIndex ();
+ long getEndIndex ();
+ boolean isValid ();
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessibility.idl>
+
+module Accessibility {
+
+ interface Hypertext {
+ long getNLinks ();
+ Hyperlink getLink (in long linkIndex);
+ long getLinkIndex (in long characterIndex);
+ };
+};
--- /dev/null
+/*
+ * 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 ();
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessible.idl>
+
+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 ();
+ };
+};
--- /dev/null
+/*
+ * 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<string> StringSeq;
+
+ typedef sequence<octet> 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);
+ };
+};
--- /dev/null
+/*
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+typedef sequence<long> 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);
+ };
+};
--- /dev/null
+/*
+ * 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);
+ };
+};
--- /dev/null
+/*
+ * 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);
+ };
+};