Crate atk

source · []
Expand description

Rust ATK bindings

Project site is here.

Rust bindings and wrappers for ATK, part of gtk3-rs.

ATK 2.28 is the lowest supported version for the underlying library.

Minimum supported Rust version

Currently, the minimum supported Rust version is 1.63.0.



We recommend using crates from, as demonstrated here.

If you want to track the bleeding edge, use the git dependency instead:

atk = { git = "", package = "atk" }

Avoid mixing versioned and git crates like this:

atk = "0.13"
atk = { git = "", package = "atk" }

See Also


atk is available under the MIT License, please refer to it.


pub use ffi;
pub use glib;


Traits intended for blanket imports.


The ATK interface provided by UI components which the user can activate/interact with.
AtkAttribute is a string name/value pair representing a generic attribute. This can be used to expose additional information from an accessible object as a whole (see atk_object_get_attributes()) or an document (see atk_document_get_attributes()). In the case of text attributes (see atk_text_get_default_attributes()), TextAttribute enum defines all the possible text attribute names. You can use TextAttribute::name() to get the string name from the enum value. See also TextAttribute::for_name() and TextAttribute::value() for more information.
The ATK interface provided by UI components which occupy a physical area on the screen. which the user can activate/interact with.
The ATK interface which represents the toplevel container for document content.
The ATK interface implemented by components containing user-editable text content.
This object class is derived from AtkObject and can be used as a basis implementing accessible objects.
An ATK object which encapsulates a link or set of links in a hypertext document.
A queryable interface which allows AtkHyperlink instances associated with an AtkObject to be obtained. AtkHyperlinkImpl corresponds to AT-SPI’s Hyperlink interface, and differs from AtkHyperlink in that AtkHyperlink is an object type, rather than an interface, and thus cannot be directly queried. FTW
Describes the type of link
The ATK interface which provides standard mechanism for manipulating hyperlinks.
The ATK Interface implemented by components which expose image or pixmap content on-screen.
A set of ATK utility functions for thread locking
An AtkObject which purports to implement all ATK interfaces.
The AtkObjectFactory which creates an AtkNoOpObject.
The base object class for the Accessibility Toolkit API.
The base object class for a factory used to create accessible objects for objects of a specific GType.
Toplevel for embedding into other processes
A given range or subrange, to be used with Value
A data structure for holding a rectangle. Those coordinates are relative to the component top-level parent.
An object used to store the GType of the factories used to create an accessible object for an object of a particular GType.
An object used to describe a relation between a object and one or more other objects.
A set of AtkRelations, normally the set of AtkRelations which an AtkObject has.
The ATK interface implemented by container objects whose Object children can be selected.
Container for AtkPlug objects from other processes
An AtkStateSet contains the states of an object.
The ATK interface which provides access to streamable content.
The ATK interface implemented for UI components which contain tabular or row/column information.
The ATK interface implemented for a cell inside a two-dimentional Table
The ATK interface implemented by components with text content.
A structure used to describe a text range.
A structure used to store a rectangle used by AtkText.
A set of ATK utility functions for event and toolkit support.
The ATK interface implemented by valuators and components which display or select a value from a bounded range of values.
The ATK Interface provided by UI components that represent a top-level window.


Specifies how xy coordinates are to be interpreted. Used by functions such as ComponentExt::position() and TextExt::character_extents()
Describes the layer of a component
Describes the type of the relation
Describes the role of an object
Specifies where an object should be placed on the screen when using scroll_to.
The possible types of states of an object
Describes the text attributes supported
Text boundary types used for specifying boundaries for regions of text. This enumeration is deprecated since 2.9.4 and should not be used. Use AtkTextGranularity with atk_text_get_string_at_offset instead.
Describes the type of clipping required.
Text granularity types used for specifying the granularity of the region of text we are interested in.
Default types for a given value. Those are defined in order to easily get localized strings to describe a given value or a given subrange, using localized_name().

Type Definitions