#[repr(C)]
pub struct AtkTextIface {
    pub parent: GTypeInterface,
    pub get_text: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int) -> *mut c_char>,
    pub get_text_after_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: AtkTextBoundary, _: *mut c_int, _: *mut c_int) -> *mut c_char>,
    pub get_text_at_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: AtkTextBoundary, _: *mut c_int, _: *mut c_int) -> *mut c_char>,
    pub get_character_at_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int) -> u32>,
    pub get_text_before_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: AtkTextBoundary, _: *mut c_int, _: *mut c_int) -> *mut c_char>,
    pub get_caret_offset: Option<unsafe extern "C" fn(_: *mut AtkText) -> c_int>,
    pub get_run_attributes: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: *mut c_int, _: *mut c_int) -> *mut AtkAttributeSet>,
    pub get_default_attributes: Option<unsafe extern "C" fn(_: *mut AtkText) -> *mut AtkAttributeSet>,
    pub get_character_extents: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: *mut c_int, _: *mut c_int, _: *mut c_int, _: *mut c_int, _: AtkCoordType)>,
    pub get_character_count: Option<unsafe extern "C" fn(_: *mut AtkText) -> c_int>,
    pub get_offset_at_point: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int, _: AtkCoordType) -> c_int>,
    pub get_n_selections: Option<unsafe extern "C" fn(_: *mut AtkText) -> c_int>,
    pub get_selection: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: *mut c_int, _: *mut c_int) -> *mut c_char>,
    pub add_selection: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int) -> gboolean>,
    pub remove_selection: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int) -> gboolean>,
    pub set_selection: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int, _: c_int) -> gboolean>,
    pub set_caret_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int) -> gboolean>,
    pub text_changed: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int)>,
    pub text_caret_moved: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int)>,
    pub text_selection_changed: Option<unsafe extern "C" fn(_: *mut AtkText)>,
    pub text_attributes_changed: Option<unsafe extern "C" fn(_: *mut AtkText)>,
    pub get_range_extents: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int, _: AtkCoordType, _: *mut AtkTextRectangle)>,
    pub get_bounded_ranges: Option<unsafe extern "C" fn(_: *mut AtkText, _: *mut AtkTextRectangle, _: AtkCoordType, _: AtkTextClipType, _: AtkTextClipType) -> *mut *mut AtkTextRange>,
    pub get_string_at_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: AtkTextGranularity, _: *mut c_int, _: *mut c_int) -> *mut c_char>,
}
Fields
                           
                           parent: GTypeInterface
                           
                           
                           get_text: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int) -> *mut c_char>
                           
                           
                           get_text_after_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: AtkTextBoundary, _: *mut c_int, _: *mut c_int) -> *mut c_char>
                           
                           
                           get_text_at_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: AtkTextBoundary, _: *mut c_int, _: *mut c_int) -> *mut c_char>
                           
                           
                           get_character_at_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int) -> u32>
                           
                           
                           get_text_before_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: AtkTextBoundary, _: *mut c_int, _: *mut c_int) -> *mut c_char>
                           
                           
                           get_caret_offset: Option<unsafe extern "C" fn(_: *mut AtkText) -> c_int>
                           
                           
                           get_run_attributes: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: *mut c_int, _: *mut c_int) -> *mut AtkAttributeSet>
                           
                           
                           get_default_attributes: Option<unsafe extern "C" fn(_: *mut AtkText) -> *mut AtkAttributeSet>
                           
                           
                           get_character_extents: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: *mut c_int, _: *mut c_int, _: *mut c_int, _: *mut c_int, _: AtkCoordType)>
                           
                           
                           get_character_count: Option<unsafe extern "C" fn(_: *mut AtkText) -> c_int>
                           
                           
                           get_offset_at_point: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int, _: AtkCoordType) -> c_int>
                           
                           
                           get_n_selections: Option<unsafe extern "C" fn(_: *mut AtkText) -> c_int>
                           
                           
                           get_selection: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: *mut c_int, _: *mut c_int) -> *mut c_char>
                           
                           
                           add_selection: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int) -> gboolean>
                           
                           
                           remove_selection: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int) -> gboolean>
                           
                           
                           set_selection: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int, _: c_int) -> gboolean>
                           
                           
                           set_caret_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int) -> gboolean>
                           
                           
                           text_changed: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int)>
                           
                           
                           text_caret_moved: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int)>
                           
                           
                           text_selection_changed: Option<unsafe extern "C" fn(_: *mut AtkText)>
                           
                           
                           text_attributes_changed: Option<unsafe extern "C" fn(_: *mut AtkText)>
                           
                           
                           get_range_extents: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: c_int, _: AtkCoordType, _: *mut AtkTextRectangle)>
                           
                           
                           get_bounded_ranges: Option<unsafe extern "C" fn(_: *mut AtkText, _: *mut AtkTextRectangle, _: AtkCoordType, _: AtkTextClipType, _: AtkTextClipType) -> *mut *mut AtkTextRange>
                           
                           
                           get_string_at_offset: Option<unsafe extern "C" fn(_: *mut AtkText, _: c_int, _: AtkTextGranularity, _: *mut c_int, _: *mut c_int) -> *mut c_char>