diff options
author | Araq <rumpf_a@web.de> | 2010-08-28 22:56:27 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2010-08-28 22:56:27 +0200 |
commit | c96f4e042ec776889019ef2ea635828785edd6e4 (patch) | |
tree | e92d07b2404254d5a3dd8b250fe42e17c690c785 /lib | |
parent | 47886978c79a3246295114a853a9cd945d368708 (diff) | |
download | Nim-c96f4e042ec776889019ef2ea635828785edd6e4.tar.gz |
added missing wrappers
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/wrappers/cairo/cairoft.nim | 35 | ||||
-rwxr-xr-x | lib/wrappers/cairo/cairowin32.nim | 37 | ||||
-rwxr-xr-x | lib/wrappers/cairo/cairoxlib.nim | 39 | ||||
-rwxr-xr-x | lib/wrappers/gtk/atk.nim | 1305 | ||||
-rwxr-xr-x | lib/wrappers/gtk/gdkglext.nim | 551 | ||||
-rwxr-xr-x | lib/wrappers/gtk/gtkglext.nim | 46 | ||||
-rwxr-xr-x | lib/wrappers/gtk/gtkhtml.nim | 521 | ||||
-rwxr-xr-x | lib/wrappers/gtk/pangoutils.nim | 42 |
8 files changed, 2576 insertions, 0 deletions
diff --git a/lib/wrappers/cairo/cairoft.nim b/lib/wrappers/cairo/cairoft.nim new file mode 100755 index 000000000..16a80e7f7 --- /dev/null +++ b/lib/wrappers/cairo/cairoft.nim @@ -0,0 +1,35 @@ +# +# Translation of cairo-ft.h +# by Jeffrey Pohlmeyer +# updated to version 1.4 by Luiz Américo Pereira Câmara 2007 +# + +import + cairo, freetypeh + +#todo: properly define FcPattern: +#It will require translate FontConfig header + +#* +#typedef struct _XftPattern { +# int num; +# int size; +# XftPatternElt *elts; +# } XftPattern; +# typedef FcPattern XftPattern; +# + +type + FcPattern* = Pointer + PFcPattern* = ptr FcPattern + +proc ft_font_face_create_for_pattern*(pattern: PFcPattern): PFontFace{.cdecl, + importc: "cairo_ft_font_face_create_for_pattern", dynlib: LIB_CAIRO.} +proc ft_font_options_substitute*(options: PFontOptions, pattern: PFcPattern){. + cdecl, importc: "cairo_ft_font_options_substitute", dynlib: LIB_CAIRO.} +proc ft_font_face_create_for_ft_face*(face: TFT_Face, load_flags: int32): PFontFace{. + cdecl, importc: "cairo_ft_font_face_create_for_ft_face", dynlib: LIB_CAIRO.} +proc ft_scaled_font_lock_face*(scaled_font: PScaledFont): TFT_Face{.cdecl, + importc: "cairo_ft_scaled_font_lock_face", dynlib: LIB_CAIRO.} +proc ft_scaled_font_unlock_face*(scaled_font: PScaledFont){.cdecl, + importc: "cairo_ft_scaled_font_unlock_face", dynlib: LIB_CAIRO.} diff --git a/lib/wrappers/cairo/cairowin32.nim b/lib/wrappers/cairo/cairowin32.nim new file mode 100755 index 000000000..cec3a5bc5 --- /dev/null +++ b/lib/wrappers/cairo/cairowin32.nim @@ -0,0 +1,37 @@ +# +# Translation of cairo-win32.h version 1.4 +# by Luiz Américo Pereira Câmara 2007 +# + +import + cairo, windows + +proc win32_surface_create*(hdc: HDC): PSurface{.cdecl, + importc: "cairo_win32_surface_create", dynlib: LIB_CAIRO.} +proc win32_surface_create_with_ddb*(hdc: HDC, format: TFormat, + width, height: int32): PSurface{.cdecl, + importc: "cairo_win32_surface_create_with_ddb", dynlib: LIB_CAIRO.} +proc win32_surface_create_with_dib*(format: TFormat, width, height: int32): PSurface{. + cdecl, importc: "cairo_win32_surface_create_with_dib", dynlib: LIB_CAIRO.} +proc win32_surface_get_dc*(surface: PSurface): HDC{.cdecl, + importc: "cairo_win32_surface_get_dc", dynlib: LIB_CAIRO.} +proc win32_surface_get_image*(surface: PSurface): PSurface{.cdecl, + importc: "cairo_win32_surface_get_image", dynlib: LIB_CAIRO.} +proc win32_font_face_create_for_logfontw*(logfont: pLOGFONTW): PFontFace{.cdecl, + importc: "cairo_win32_font_face_create_for_logfontw", dynlib: LIB_CAIRO.} +proc win32_font_face_create_for_hfont*(font: HFONT): PFontFace{.cdecl, + importc: "cairo_win32_font_face_create_for_hfont", dynlib: LIB_CAIRO.} +proc win32_scaled_font_select_font*(scaled_font: PScaledFont, hdc: HDC): TStatus{. + cdecl, importc: "cairo_win32_scaled_font_select_font", dynlib: LIB_CAIRO.} +proc win32_scaled_font_done_font*(scaled_font: PScaledFont){.cdecl, + importc: "cairo_win32_scaled_font_done_font", dynlib: LIB_CAIRO.} +proc win32_scaled_font_get_metrics_factor*(scaled_font: PScaledFont): float64{. + cdecl, importc: "cairo_win32_scaled_font_get_metrics_factor", + dynlib: LIB_CAIRO.} +proc win32_scaled_font_get_logical_to_device*(scaled_font: PScaledFont, + logical_to_device: PMatrix){.cdecl, importc: "cairo_win32_scaled_font_get_logical_to_device", + dynlib: LIB_CAIRO.} +proc win32_scaled_font_get_device_to_logical*(scaled_font: PScaledFont, + device_to_logical: PMatrix){.cdecl, importc: "cairo_win32_scaled_font_get_device_to_logical", + dynlib: LIB_CAIRO.} +# implementation diff --git a/lib/wrappers/cairo/cairoxlib.nim b/lib/wrappers/cairo/cairoxlib.nim new file mode 100755 index 000000000..861c55527 --- /dev/null +++ b/lib/wrappers/cairo/cairoxlib.nim @@ -0,0 +1,39 @@ +# +# Translation of cairo-xlib.h version 1.4 +# by Jeffrey Pohlmeyer +# updated to version 1.4 by Luiz Américo Pereira Câmara 2007 +# + +import + cairo, x, xlib, xrender + +proc xlib_surface_create*(dpy: PDisplay, drawable: TDrawable, visual: PVisual, + width, height: int32): PSurface{.cdecl, + importc: "cairo_xlib_surface_create", dynlib: LIB_CAIRO.} +proc xlib_surface_create_for_bitmap*(dpy: PDisplay, bitmap: TPixmap, + screen: PScreen, width, height: int32): PSurface{. + cdecl, importc: "cairo_xlib_surface_create_for_bitmap", dynlib: LIB_CAIRO.} +proc xlib_surface_create_with_xrender_format*(dpy: PDisplay, + drawable: TDrawable, screen: PScreen, format: PXRenderPictFormat, + width, height: int32): PSurface{.cdecl, importc: "cairo_xlib_surface_create_with_xrender_format", + dynlib: LIB_CAIRO.} +proc xlib_surface_get_depth*(surface: PSurface): int32{.cdecl, + importc: "cairo_xlib_surface_get_depth", dynlib: LIB_CAIRO.} +proc xlib_surface_get_display*(surface: PSurface): PDisplay{.cdecl, + importc: "cairo_xlib_surface_get_display", dynlib: LIB_CAIRO.} +proc xlib_surface_get_drawable*(surface: PSurface): TDrawable{.cdecl, + importc: "cairo_xlib_surface_get_drawable", dynlib: LIB_CAIRO.} +proc xlib_surface_get_height*(surface: PSurface): int32{.cdecl, + importc: "cairo_xlib_surface_get_height", dynlib: LIB_CAIRO.} +proc xlib_surface_get_screen*(surface: PSurface): PScreen{.cdecl, + importc: "cairo_xlib_surface_get_screen", dynlib: LIB_CAIRO.} +proc xlib_surface_get_visual*(surface: PSurface): PVisual{.cdecl, + importc: "cairo_xlib_surface_get_visual", dynlib: LIB_CAIRO.} +proc xlib_surface_get_width*(surface: PSurface): int32{.cdecl, + importc: "cairo_xlib_surface_get_width", dynlib: LIB_CAIRO.} +proc xlib_surface_set_size*(surface: PSurface, width, height: int32){.cdecl, + importc: "cairo_xlib_surface_set_size", dynlib: LIB_CAIRO.} +proc xlib_surface_set_drawable*(surface: PSurface, drawable: TDrawable, + width, height: int32){.cdecl, + importc: "cairo_xlib_surface_set_drawable", dynlib: LIB_CAIRO.} +# implementation diff --git a/lib/wrappers/gtk/atk.nim b/lib/wrappers/gtk/atk.nim new file mode 100755 index 000000000..14847fdb6 --- /dev/null +++ b/lib/wrappers/gtk/atk.nim @@ -0,0 +1,1305 @@ +{.deadCodeElim: on.} +import + glib2 + +when defined(windows): + const + lib = "libatk-1.0-0.dll" +else: + const + lib = "libatk-1.0.so" +type + PImplementor* = pointer + PAction* = pointer + PComponent* = pointer + PDocument* = pointer + PEditableText* = pointer + PHypertext* = pointer + PImage* = pointer + PSelection* = pointer + PStreamableContent* = pointer + PTable* = pointer + PText* = pointer + PValue* = pointer + PRelationSet* = ptr TRelationSet + PStateSet* = ptr TStateSet + PAttributeSet* = ptr TAttributeSet + PCoordType* = ptr TCoordType + TCoordType* = enum + XY_SCREEN, XY_WINDOW + PRole* = ptr TRole + TRole* = enum + ROLE_INVALID, ROLE_ACCEL_LABEL, ROLE_ALERT, ROLE_ANIMATION, ROLE_ARROW, + ROLE_CALENDAR, ROLE_CANVAS, ROLE_CHECK_BOX, ROLE_CHECK_MENU_ITEM, + ROLE_COLOR_CHOOSER, ROLE_COLUMN_HEADER, ROLE_COMBO_BOX, ROLE_DATE_EDITOR, + ROLE_DESKTOP_ICON, ROLE_DESKTOP_FRAME, ROLE_DIAL, ROLE_DIALOG, + ROLE_DIRECTORY_PANE, ROLE_DRAWING_AREA, ROLE_FILE_CHOOSER, ROLE_FILLER, + ROLE_FONT_CHOOSER, ROLE_FRAME, ROLE_GLASS_PANE, ROLE_HTML_CONTAINER, + ROLE_ICON, ROLE_IMAGE, ROLE_INTERNAL_FRAME, ROLE_LABEL, ROLE_LAYERED_PANE, + ROLE_LIST, ROLE_LIST_ITEM, ROLE_MENU, ROLE_MENU_BAR, ROLE_MENU_ITEM, + ROLE_OPTION_PANE, ROLE_PAGE_TAB, ROLE_PAGE_TAB_LIST, ROLE_PANEL, + ROLE_PASSWORD_TEXT, ROLE_POPUP_MENU, ROLE_PROGRESS_BAR, ROLE_PUSH_BUTTON, + ROLE_RADIO_BUTTON, ROLE_RADIO_MENU_ITEM, ROLE_ROOT_PANE, ROLE_ROW_HEADER, + ROLE_SCROLL_BAR, ROLE_SCROLL_PANE, ROLE_SEPARATOR, ROLE_SLIDER, + ROLE_SPLIT_PANE, ROLE_SPIN_BUTTON, ROLE_STATUSBAR, ROLE_TABLE, + ROLE_TABLE_CELL, ROLE_TABLE_COLUMN_HEADER, ROLE_TABLE_ROW_HEADER, + ROLE_TEAR_OFF_MENU_ITEM, ROLE_TERMINAL, ROLE_TEXT, ROLE_TOGGLE_BUTTON, + ROLE_TOOL_BAR, ROLE_TOOL_TIP, ROLE_TREE, ROLE_TREE_TABLE, ROLE_UNKNOWN, + ROLE_VIEWPORT, ROLE_WINDOW, ROLE_LAST_DEFINED + PLayer* = ptr TLayer + TLayer* = enum + LAYER_INVALID, LAYER_BACKGROUND, LAYER_CANVAS, LAYER_WIDGET, LAYER_MDI, + LAYER_POPUP, LAYER_OVERLAY + PPropertyValues* = ptr TPropertyValues + TPropertyValues*{.final, pure.} = object + property_name*: cstring + old_value*: TGValue + new_value*: TGValue + + TFunction* = proc (data: gpointer): gboolean{.cdecl.} + PObject* = ptr TObject + PPAtkObject* = ptr PObject + TObject* = object of TGObject + description*: cstring + name*: cstring + accessible_parent*: PObject + role*: TRole + relation_set*: PRelationSet + layer*: TLayer + + TPropertyChangeHandler* = proc (para1: PObject, para2: PPropertyValues){.cdecl.} + PObjectClass* = ptr TObjectClass + TObjectClass* = object of TGObjectClass + get_name*: proc (accessible: PObject): cstring{.cdecl.} + get_description*: proc (accessible: PObject): cstring{.cdecl.} + get_parent*: proc (accessible: PObject): PObject{.cdecl.} + get_n_children*: proc (accessible: PObject): gint{.cdecl.} + ref_child*: proc (accessible: PObject, i: gint): PObject{.cdecl.} + get_index_in_parent*: proc (accessible: PObject): gint{.cdecl.} + ref_relation_set*: proc (accessible: PObject): PRelationSet{.cdecl.} + get_role*: proc (accessible: PObject): TRole{.cdecl.} + get_layer*: proc (accessible: PObject): TLayer{.cdecl.} + get_mdi_zorder*: proc (accessible: PObject): gint{.cdecl.} + ref_state_set*: proc (accessible: PObject): PStateSet{.cdecl.} + set_name*: proc (accessible: PObject, name: cstring){.cdecl.} + set_description*: proc (accessible: PObject, description: cstring){.cdecl.} + set_parent*: proc (accessible: PObject, parent: PObject){.cdecl.} + set_role*: proc (accessible: PObject, role: TRole){.cdecl.} + connect_property_change_handler*: proc (accessible: PObject, + handler: TPropertyChangeHandler): guint{.cdecl.} + remove_property_change_handler*: proc (accessible: PObject, + handler_id: guint){.cdecl.} + initialize*: proc (accessible: PObject, data: gpointer){.cdecl.} + children_changed*: proc (accessible: PObject, change_index: guint, + changed_child: gpointer){.cdecl.} + focus_event*: proc (accessible: PObject, focus_in: gboolean){.cdecl.} + property_change*: proc (accessible: PObject, values: PPropertyValues){.cdecl.} + state_change*: proc (accessible: PObject, name: cstring, state_set: gboolean){. + cdecl.} + visible_data_changed*: proc (accessible: PObject){.cdecl.} + pad1*: TFunction + pad2*: TFunction + pad3*: TFunction + pad4*: TFunction + + PImplementorIface* = ptr TImplementorIface + TImplementorIface* = object of TGTypeInterface + ref_accessible*: proc (implementor: PImplementor): PObject{.cdecl.} + + PActionIface* = ptr TActionIface + TActionIface* = object of TGTypeInterface + do_action*: proc (action: PAction, i: gint): gboolean{.cdecl.} + get_n_actions*: proc (action: PAction): gint{.cdecl.} + get_description*: proc (action: PAction, i: gint): cstring{.cdecl.} + get_name*: proc (action: PAction, i: gint): cstring{.cdecl.} + get_keybinding*: proc (action: PAction, i: gint): cstring{.cdecl.} + set_description*: proc (action: PAction, i: gint, desc: cstring): gboolean{. + cdecl.} + pad1*: TFunction + pad2*: TFunction + + TFocusHandler* = proc (para1: PObject, para2: gboolean){.cdecl.} + PComponentIface* = ptr TComponentIface + TComponentIface* = object of TGTypeInterface + add_focus_handler*: proc (component: PComponent, handler: TFocusHandler): guint{. + cdecl.} + contains*: proc (component: PComponent, x: gint, y: gint, + coord_type: TCoordType): gboolean{.cdecl.} + ref_accessible_at_point*: proc (component: PComponent, x: gint, y: gint, + coord_type: TCoordType): PObject{.cdecl.} + get_extents*: proc (component: PComponent, x: Pgint, y: Pgint, width: Pgint, + height: Pgint, coord_type: TCoordType){.cdecl.} + get_position*: proc (component: PComponent, x: Pgint, y: Pgint, + coord_type: TCoordType){.cdecl.} + get_size*: proc (component: PComponent, width: Pgint, height: Pgint){.cdecl.} + grab_focus*: proc (component: PComponent): gboolean{.cdecl.} + remove_focus_handler*: proc (component: PComponent, handler_id: guint){. + cdecl.} + set_extents*: proc (component: PComponent, x: gint, y: gint, width: gint, + height: gint, coord_type: TCoordType): gboolean{.cdecl.} + set_position*: proc (component: PComponent, x: gint, y: gint, + coord_type: TCoordType): gboolean{.cdecl.} + set_size*: proc (component: PComponent, width: gint, height: gint): gboolean{. + cdecl.} + get_layer*: proc (component: PComponent): TLayer{.cdecl.} + get_mdi_zorder*: proc (component: PComponent): gint{.cdecl.} + pad1*: TFunction + pad2*: TFunction + + PDocumentIface* = ptr TDocumentIface + TDocumentIface* = object of TGTypeInterface + get_document_type*: proc (document: PDocument): cstring{.cdecl.} + get_document*: proc (document: PDocument): gpointer{.cdecl.} + pad1*: TFunction + pad2*: TFunction + pad3*: TFunction + pad4*: TFunction + pad5*: TFunction + pad6*: TFunction + pad7*: TFunction + pad8*: TFunction + + PEditableTextIface* = ptr TEditableTextIface + TEditableTextIface* = object of TGTypeInterface + set_run_attributes*: proc (text: PEditableText, attrib_set: PAttributeSet, + start_offset: gint, end_offset: gint): gboolean{. + cdecl.} + set_text_contents*: proc (text: PEditableText, `string`: cstring){.cdecl.} + insert_text*: proc (text: PEditableText, `string`: cstring, length: gint, + position: Pgint){.cdecl.} + copy_text*: proc (text: PEditableText, start_pos: gint, end_pos: gint){. + cdecl.} + cut_text*: proc (text: PEditableText, start_pos: gint, end_pos: gint){.cdecl.} + delete_text*: proc (text: PEditableText, start_pos: gint, end_pos: gint){. + cdecl.} + paste_text*: proc (text: PEditableText, position: gint){.cdecl.} + pad1*: TFunction + pad2*: TFunction + + PGObjectAccessible* = ptr TGObjectAccessible + TGObjectAccessible* = object of TObject + PGObjectAccessibleClass* = ptr TGObjectAccessibleClass + TGObjectAccessibleClass* = object of TObjectClass + pad5*: TFunction + pad6*: TFunction + + PHyperlink* = ptr THyperlink + THyperlink* = object of TGObject + PHyperlinkClass* = ptr THyperlinkClass + THyperlinkClass* = object of TGObjectClass + get_uri*: proc (link: PHyperlink, i: gint): cstring{.cdecl.} + get_object*: proc (link: PHyperlink, i: gint): PObject{.cdecl.} + get_end_index*: proc (link: PHyperlink): gint{.cdecl.} + get_start_index*: proc (link: PHyperlink): gint{.cdecl.} + is_valid*: proc (link: PHyperlink): gboolean{.cdecl.} + get_n_anchors*: proc (link: PHyperlink): gint{.cdecl.} + pad7*: TFunction + pad8*: TFunction + pad9*: TFunction + pad10*: TFunction + + PHypertextIface* = ptr THypertextIface + THypertextIface* = object of TGTypeInterface + get_link*: proc (hypertext: PHypertext, link_index: gint): PHyperlink{.cdecl.} + get_n_links*: proc (hypertext: PHypertext): gint{.cdecl.} + get_link_index*: proc (hypertext: PHypertext, char_index: gint): gint{.cdecl.} + pad11*: TFunction + pad12*: TFunction + pad13*: TFunction + pad14*: TFunction + + PImageIface* = ptr TImageIface + TImageIface* = object of TGTypeInterface + get_image_position*: proc (image: PImage, x: Pgint, y: Pgint, + coord_type: TCoordType){.cdecl.} + get_image_description*: proc (image: PImage): cstring{.cdecl.} + get_image_size*: proc (image: PImage, width: Pgint, height: Pgint){.cdecl.} + set_image_description*: proc (image: PImage, description: cstring): gboolean{. + cdecl.} + pad15*: TFunction + pad16*: TFunction + + PObjectFactory* = ptr TObjectFactory + TObjectFactory* = object of TGObject + PObjectFactoryClass* = ptr TObjectFactoryClass + TObjectFactoryClass* = object of TGObjectClass + create_accessible*: proc (obj: PGObject): PObject{.cdecl.} + invalidate*: proc (factory: PObjectFactory){.cdecl.} + get_accessible_type*: proc (): GType{.cdecl.} + pad17*: TFunction + pad18*: TFunction + + PRegistry* = ptr TRegistry + TRegistry* = object of TGObject + factory_type_registry*: PGHashTable + factory_singleton_cache*: PGHashTable + + PRegistryClass* = ptr TRegistryClass + TRegistryClass* = object of TGObjectClass + PRelationType* = ptr TRelationType + TRelationType* = enum + RELATION_NULL, RELATION_CONTROLLED_BY, RELATION_CONTROLLER_FOR, + RELATION_LABEL_FOR, RELATION_LABELLED_BY, RELATION_MEMBER_OF, + RELATION_NODE_CHILD_OF, RELATION_LAST_DEFINED + PRelation* = ptr TRelation + PGPtrArray = pointer + TRelation* = object of TGObject + target*: PGPtrArray + relationship*: TRelationType + + PRelationClass* = ptr TRelationClass + TRelationClass* = object of TGObjectClass + TRelationSet* = object of TGObject + relations*: PGPtrArray + + PRelationSetClass* = ptr TRelationSetClass + TRelationSetClass* = object of TGObjectClass + pad19*: TFunction + pad20*: TFunction + + PSelectionIface* = ptr TSelectionIface + TSelectionIface* = object of TGTypeInterface + add_selection*: proc (selection: PSelection, i: gint): gboolean{.cdecl.} + clear_selection*: proc (selection: PSelection): gboolean{.cdecl.} + ref_selection*: proc (selection: PSelection, i: gint): PObject{.cdecl.} + get_selection_count*: proc (selection: PSelection): gint{.cdecl.} + is_child_selected*: proc (selection: PSelection, i: gint): gboolean{.cdecl.} + remove_selection*: proc (selection: PSelection, i: gint): gboolean{.cdecl.} + select_all_selection*: proc (selection: PSelection): gboolean{.cdecl.} + selection_changed*: proc (selection: PSelection){.cdecl.} + pad1*: TFunction + pad2*: TFunction + + PStateType* = ptr TStateType + TStateType* = enum + STATE_INVALID, STATE_ACTIVE, STATE_ARMED, STATE_BUSY, STATE_CHECKED, + STATE_DEFUNCT, STATE_EDITABLE, STATE_ENABLED, STATE_EXPANDABLE, + STATE_EXPANDED, STATE_FOCUSABLE, STATE_FOCUSED, STATE_HORIZONTAL, + STATE_ICONIFIED, STATE_MODAL, STATE_MULTI_LINE, STATE_MULTISELECTABLE, + STATE_OPAQUE, STATE_PRESSED, STATE_RESIZABLE, STATE_SELECTABLE, + STATE_SELECTED, STATE_SENSITIVE, STATE_SHOWING, STATE_SINGLE_LINE, + STATE_STALE, STATE_TRANSIENT, STATE_VERTICAL, STATE_VISIBLE, + STATE_LAST_DEFINED + PState* = ptr TState + TState* = guint64 + TStateSet* = object of TGObject + PStateSetClass* = ptr TStateSetClass + TStateSetClass* = object of TGObjectClass + PStreamableContentIface* = ptr TStreamableContentIface + TStreamableContentIface* = object of TGTypeInterface + get_n_mime_types*: proc (streamable: PStreamableContent): gint{.cdecl.} + get_mime_type*: proc (streamable: PStreamableContent, i: gint): cstring{. + cdecl.} + get_stream*: proc (streamable: PStreamableContent, mime_type: cstring): PGIOChannel{. + cdecl.} + pad21*: TFunction + pad22*: TFunction + pad23*: TFunction + pad24*: TFunction + + PTableIface* = ptr TTableIface + TTableIface* = object of TGTypeInterface + ref_at*: proc (table: PTable, row: gint, column: gint): PObject{.cdecl.} + get_index_at*: proc (table: PTable, row: gint, column: gint): gint{.cdecl.} + get_column_at_index*: proc (table: PTable, index: gint): gint{.cdecl.} + get_row_at_index*: proc (table: PTable, index: gint): gint{.cdecl.} + get_n_columns*: proc (table: PTable): gint{.cdecl.} + get_n_rows*: proc (table: PTable): gint{.cdecl.} + get_column_extent_at*: proc (table: PTable, row: gint, column: gint): gint{. + cdecl.} + get_row_extent_at*: proc (table: PTable, row: gint, column: gint): gint{. + cdecl.} + get_caption*: proc (table: PTable): PObject{.cdecl.} + get_column_description*: proc (table: PTable, column: gint): cstring{.cdecl.} + get_column_header*: proc (table: PTable, column: gint): PObject{.cdecl.} + get_row_description*: proc (table: PTable, row: gint): cstring{.cdecl.} + get_row_header*: proc (table: PTable, row: gint): PObject{.cdecl.} + get_summary*: proc (table: PTable): PObject{.cdecl.} + set_caption*: proc (table: PTable, caption: PObject){.cdecl.} + set_column_description*: proc (table: PTable, column: gint, + description: cstring){.cdecl.} + set_column_header*: proc (table: PTable, column: gint, header: PObject){. + cdecl.} + set_row_description*: proc (table: PTable, row: gint, description: cstring){. + cdecl.} + set_row_header*: proc (table: PTable, row: gint, header: PObject){.cdecl.} + set_summary*: proc (table: PTable, accessible: PObject){.cdecl.} + get_selected_columns*: proc (table: PTable, selected: PPgint): gint{.cdecl.} + get_selected_rows*: proc (table: PTable, selected: PPgint): gint{.cdecl.} + is_column_selected*: proc (table: PTable, column: gint): gboolean{.cdecl.} + is_row_selected*: proc (table: PTable, row: gint): gboolean{.cdecl.} + is_selected*: proc (table: PTable, row: gint, column: gint): gboolean{.cdecl.} + add_row_selection*: proc (table: PTable, row: gint): gboolean{.cdecl.} + remove_row_selection*: proc (table: PTable, row: gint): gboolean{.cdecl.} + add_column_selection*: proc (table: PTable, column: gint): gboolean{.cdecl.} + remove_column_selection*: proc (table: PTable, column: gint): gboolean{. + cdecl.} + row_inserted*: proc (table: PTable, row: gint, num_inserted: gint){.cdecl.} + column_inserted*: proc (table: PTable, column: gint, num_inserted: gint){. + cdecl.} + row_deleted*: proc (table: PTable, row: gint, num_deleted: gint){.cdecl.} + column_deleted*: proc (table: PTable, column: gint, num_deleted: gint){. + cdecl.} + row_reordered*: proc (table: PTable){.cdecl.} + column_reordered*: proc (table: PTable){.cdecl.} + model_changed*: proc (table: PTable){.cdecl.} + pad25*: TFunction + pad26*: TFunction + pad27*: TFunction + pad28*: TFunction + + TAttributeSet* = TGSList + PAttribute* = ptr TAttribute + TAttribute*{.final, pure.} = object + name*: cstring + value*: cstring + + PTextAttribute* = ptr TTextAttribute + TTextAttribute* = enum + TEXT_ATTR_INVALID, TEXT_ATTR_LEFT_MARGIN, TEXT_ATTR_RIGHT_MARGIN, + TEXT_ATTR_INDENT, TEXT_ATTR_INVISIBLE, TEXT_ATTR_EDITABLE, + TEXT_ATTR_PIXELS_ABOVE_LINES, TEXT_ATTR_PIXELS_BELOW_LINES, + TEXT_ATTR_PIXELS_INSIDE_WRAP, TEXT_ATTR_BG_FULL_HEIGHT, TEXT_ATTR_RISE, + TEXT_ATTR_UNDERLINE, TEXT_ATTR_STRIKETHROUGH, TEXT_ATTR_SIZE, + TEXT_ATTR_SCALE, TEXT_ATTR_WEIGHT, TEXT_ATTR_LANGUAGE, + TEXT_ATTR_FAMILY_NAME, TEXT_ATTR_BG_COLOR, TEXT_ATTR_FG_COLOR, + TEXT_ATTR_BG_STIPPLE, TEXT_ATTR_FG_STIPPLE, TEXT_ATTR_WRAP_MODE, + TEXT_ATTR_DIRECTION, TEXT_ATTR_JUSTIFICATION, TEXT_ATTR_STRETCH, + TEXT_ATTR_VARIANT, TEXT_ATTR_STYLE, TEXT_ATTR_LAST_DEFINED + PTextBoundary* = ptr TTextBoundary + TTextBoundary* = enum + TEXT_BOUNDARY_CHAR, TEXT_BOUNDARY_WORD_START, TEXT_BOUNDARY_WORD_END, + TEXT_BOUNDARY_SENTENCE_START, TEXT_BOUNDARY_SENTENCE_END, + TEXT_BOUNDARY_LINE_START, TEXT_BOUNDARY_LINE_END + PTextIface* = ptr TTextIface + TTextIface* = object of TGTypeInterface + get_text*: proc (text: PText, start_offset: gint, end_offset: gint): cstring{. + cdecl.} + get_text_after_offset*: proc (text: PText, offset: gint, + boundary_type: TTextBoundary, + start_offset: Pgint, end_offset: Pgint): cstring{. + cdecl.} + get_text_at_offset*: proc (text: PText, offset: gint, + boundary_type: TTextBoundary, + start_offset: Pgint, end_offset: Pgint): cstring{. + cdecl.} + get_character_at_offset*: proc (text: PText, offset: gint): gunichar{.cdecl.} + get_text_before_offset*: proc (text: PText, offset: gint, + boundary_type: TTextBoundary, + start_offset: Pgint, end_offset: Pgint): cstring{. + cdecl.} + get_caret_offset*: proc (text: PText): gint{.cdecl.} + get_run_attributes*: proc (text: PText, offset: gint, start_offset: Pgint, + end_offset: Pgint): PAttributeSet{.cdecl.} + get_default_attributes*: proc (text: PText): PAttributeSet{.cdecl.} + get_character_extents*: proc (text: PText, offset: gint, x: Pgint, y: Pgint, + width: Pgint, height: Pgint, + coords: TCoordType){.cdecl.} + get_character_count*: proc (text: PText): gint{.cdecl.} + get_offset_at_point*: proc (text: PText, x: gint, y: gint, + coords: TCoordType): gint{.cdecl.} + get_n_selections*: proc (text: PText): gint{.cdecl.} + get_selection*: proc (text: PText, selection_num: gint, start_offset: Pgint, + end_offset: Pgint): cstring{.cdecl.} + add_selection*: proc (text: PText, start_offset: gint, end_offset: gint): gboolean{. + cdecl.} + remove_selection*: proc (text: PText, selection_num: gint): gboolean{.cdecl.} + set_selection*: proc (text: PText, selection_num: gint, start_offset: gint, + end_offset: gint): gboolean{.cdecl.} + set_caret_offset*: proc (text: PText, offset: gint): gboolean{.cdecl.} + text_changed*: proc (text: PText, position: gint, length: gint){.cdecl.} + text_caret_moved*: proc (text: PText, location: gint){.cdecl.} + text_selection_changed*: proc (text: PText){.cdecl.} + pad29*: TFunction + pad30*: TFunction + pad31*: TFunction + pad32*: TFunction + + TEventListener* = proc (para1: PObject){.cdecl.} + TEventListenerInitProc* = proc () + TEventListenerInit* = proc (para1: TEventListenerInitProc){.cdecl.} + PKeyEventStruct* = ptr TKeyEventStruct + TKeyEventStruct*{.final, pure.} = object + `type`*: gint + state*: guint + keyval*: guint + length*: gint + string*: cstring + keycode*: guint16 + timestamp*: guint32 + + TKeySnoopFunc* = proc (event: PKeyEventStruct, func_data: gpointer): gint{. + cdecl.} + PKeyEventType* = ptr TKeyEventType + TKeyEventType* = enum + KEY_EVENT_PRESS, KEY_EVENT_RELEASE, KEY_EVENT_LAST_DEFINED + PUtil* = ptr TUtil + TUtil* = object of TGObject + PUtilClass* = ptr TUtilClass + TUtilClass* = object of TGObjectClass + add_global_event_listener*: proc (listener: TGSignalEmissionHook, + event_type: cstring): guint{.cdecl.} + remove_global_event_listener*: proc (listener_id: guint){.cdecl.} + add_key_event_listener*: proc (listener: TKeySnoopFunc, data: gpointer): guint{. + cdecl.} + remove_key_event_listener*: proc (listener_id: guint){.cdecl.} + get_root*: proc (): PObject{.cdecl.} + get_toolkit_name*: proc (): cstring{.cdecl.} + get_toolkit_version*: proc (): cstring{.cdecl.} + + PValueIface* = ptr TValueIface + TValueIface* = object of TGTypeInterface + get_current_value*: proc (obj: PValue, value: PGValue){.cdecl.} + get_maximum_value*: proc (obj: PValue, value: PGValue){.cdecl.} + get_minimum_value*: proc (obj: PValue, value: PGValue){.cdecl.} + set_current_value*: proc (obj: PValue, value: PGValue): gboolean{.cdecl.} + pad33*: TFunction + pad34*: TFunction + + +proc role_register*(name: cstring): TRole{.cdecl, dynlib: lib, + importc: "atk_role_register".} +proc object_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_object_get_type".} +proc TYPE_OBJECT*(): GType +proc `OBJECT`*(obj: pointer): PObject +proc OBJECT_CLASS*(klass: pointer): PObjectClass +proc IS_OBJECT*(obj: pointer): bool +proc IS_OBJECT_CLASS*(klass: pointer): bool +proc OBJECT_GET_CLASS*(obj: pointer): PObjectClass +proc TYPE_IMPLEMENTOR*(): GType +proc IS_IMPLEMENTOR*(obj: pointer): bool +proc IMPLEMENTOR*(obj: pointer): PImplementor +proc IMPLEMENTOR_GET_IFACE*(obj: pointer): PImplementorIface +proc implementor_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_implementor_get_type".} +proc ref_accessible*(implementor: PImplementor): PObject{.cdecl, + dynlib: lib, importc: "atk_implementor_ref_accessible".} +proc get_name*(accessible: PObject): cstring{.cdecl, dynlib: lib, + importc: "atk_object_get_name".} +proc get_description*(accessible: PObject): cstring{.cdecl, dynlib: lib, + importc: "atk_object_get_description".} +proc get_parent*(accessible: PObject): PObject{.cdecl, dynlib: lib, + importc: "atk_object_get_parent".} +proc get_n_accessible_children*(accessible: PObject): gint{.cdecl, + dynlib: lib, importc: "atk_object_get_n_accessible_children".} +proc ref_accessible_child*(accessible: PObject, i: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_object_ref_accessible_child".} +proc ref_relation_set*(accessible: PObject): PRelationSet{.cdecl, + dynlib: lib, importc: "atk_object_ref_relation_set".} +proc get_role*(accessible: PObject): TRole{.cdecl, dynlib: lib, + importc: "atk_object_get_role".} +proc get_layer*(accessible: PObject): TLayer{.cdecl, dynlib: lib, + importc: "atk_object_get_layer".} +proc get_mdi_zorder*(accessible: PObject): gint{.cdecl, dynlib: lib, + importc: "atk_object_get_mdi_zorder".} +proc ref_state_set*(accessible: PObject): PStateSet{.cdecl, dynlib: lib, + importc: "atk_object_ref_state_set".} +proc get_index_in_parent*(accessible: PObject): gint{.cdecl, dynlib: lib, + importc: "atk_object_get_index_in_parent".} +proc set_name*(accessible: PObject, name: cstring){.cdecl, dynlib: lib, + importc: "atk_object_set_name".} +proc set_description*(accessible: PObject, description: cstring){.cdecl, + dynlib: lib, importc: "atk_object_set_description".} +proc set_parent*(accessible: PObject, parent: PObject){.cdecl, + dynlib: lib, importc: "atk_object_set_parent".} +proc set_role*(accessible: PObject, role: TRole){.cdecl, dynlib: lib, + importc: "atk_object_set_role".} +proc connect_property_change_handler*(accessible: PObject, + handler: TPropertyChangeHandler): guint{.cdecl, dynlib: lib, + importc: "atk_object_connect_property_change_handler".} +proc remove_property_change_handler*(accessible: PObject, + handler_id: guint){.cdecl, dynlib: lib, + importc: "atk_object_remove_property_change_handler".} +proc notify_state_change*(accessible: PObject, state: TState, + value: gboolean){.cdecl, dynlib: lib, + importc: "atk_object_notify_state_change".} +proc initialize*(accessible: PObject, data: gpointer){.cdecl, + dynlib: lib, importc: "atk_object_initialize".} +proc role_get_name*(role: TRole): cstring{.cdecl, dynlib: lib, + importc: "atk_role_get_name".} +proc role_for_name*(name: cstring): TRole{.cdecl, dynlib: lib, + importc: "atk_role_for_name".} +proc TYPE_ACTION*(): GType +proc IS_ACTION*(obj: pointer): bool +proc ACTION*(obj: pointer): PAction +proc ACTION_GET_IFACE*(obj: pointer): PActionIface +proc action_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_action_get_type".} +proc do_action*(action: PAction, i: gint): gboolean{.cdecl, dynlib: lib, + importc: "atk_action_do_action".} +proc get_n_actions*(action: PAction): gint{.cdecl, dynlib: lib, + importc: "atk_action_get_n_actions".} +proc get_description*(action: PAction, i: gint): cstring{.cdecl, + dynlib: lib, importc: "atk_action_get_description".} +proc get_name*(action: PAction, i: gint): cstring{.cdecl, dynlib: lib, + importc: "atk_action_get_name".} +proc get_keybinding*(action: PAction, i: gint): cstring{.cdecl, + dynlib: lib, importc: "atk_action_get_keybinding".} +proc set_description*(action: PAction, i: gint, desc: cstring): gboolean{. + cdecl, dynlib: lib, importc: "atk_action_set_description".} +proc TYPE_COMPONENT*(): GType +proc IS_COMPONENT*(obj: pointer): bool +proc COMPONENT*(obj: pointer): PComponent +proc COMPONENT_GET_IFACE*(obj: pointer): PComponentIface +proc component_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_component_get_type".} +proc add_focus_handler*(component: PComponent, handler: TFocusHandler): guint{. + cdecl, dynlib: lib, importc: "atk_component_add_focus_handler".} +proc contains*(component: PComponent, x, y: gint, + coord_type: TCoordType): gboolean{.cdecl, dynlib: lib, + importc: "atk_component_contains".} +proc ref_accessible_at_point*(component: PComponent, x, y: gint, + coord_type: TCoordType): PObject{.cdecl, + dynlib: lib, importc: "atk_component_ref_accessible_at_point".} +proc get_extents*(component: PComponent, x, y, width, height: Pgint, + coord_type: TCoordType){.cdecl, dynlib: lib, + importc: "atk_component_get_extents".} +proc get_position*(component: PComponent, x: Pgint, y: Pgint, + coord_type: TCoordType){.cdecl, dynlib: lib, + importc: "atk_component_get_position".} +proc get_size*(component: PComponent, width: Pgint, height: Pgint){. + cdecl, dynlib: lib, importc: "atk_component_get_size".} +proc get_layer*(component: PComponent): TLayer{.cdecl, dynlib: lib, + importc: "atk_component_get_layer".} +proc get_mdi_zorder*(component: PComponent): gint{.cdecl, dynlib: lib, + importc: "atk_component_get_mdi_zorder".} +proc grab_focus*(component: PComponent): gboolean{.cdecl, dynlib: lib, + importc: "atk_component_grab_focus".} +proc remove_focus_handler*(component: PComponent, handler_id: guint){. + cdecl, dynlib: lib, importc: "atk_component_remove_focus_handler".} +proc set_extents*(component: PComponent, x: gint, y: gint, + width: gint, height: gint, coord_type: TCoordType): gboolean{. + cdecl, dynlib: lib, importc: "atk_component_set_extents".} +proc set_position*(component: PComponent, x: gint, y: gint, + coord_type: TCoordType): gboolean{.cdecl, + dynlib: lib, importc: "atk_component_set_position".} +proc set_size*(component: PComponent, width: gint, height: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_component_set_size".} +proc TYPE_DOCUMENT*(): GType +proc IS_DOCUMENT*(obj: pointer): bool +proc DOCUMENT*(obj: pointer): PDocument +proc DOCUMENT_GET_IFACE*(obj: pointer): PDocumentIface +proc document_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_document_get_type".} +proc get_document_type*(document: PDocument): cstring{.cdecl, + dynlib: lib, importc: "atk_document_get_document_type".} +proc get_document*(document: PDocument): gpointer{.cdecl, dynlib: lib, + importc: "atk_document_get_document".} +proc TYPE_EDITABLE_TEXT*(): GType +proc IS_EDITABLE_TEXT*(obj: pointer): bool +proc EDITABLE_TEXT*(obj: pointer): PEditableText +proc EDITABLE_TEXT_GET_IFACE*(obj: pointer): PEditableTextIface +proc editable_text_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_editable_text_get_type".} +proc set_run_attributes*(text: PEditableText, + attrib_set: PAttributeSet, + start_offset: gint, end_offset: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_editable_text_set_run_attributes".} +proc set_text_contents*(text: PEditableText, string: cstring){. + cdecl, dynlib: lib, importc: "atk_editable_text_set_text_contents".} +proc insert_text*(text: PEditableText, `string`: cstring, + length: gint, position: Pgint){.cdecl, + dynlib: lib, importc: "atk_editable_text_insert_text".} +proc copy_text*(text: PEditableText, start_pos: gint, + end_pos: gint){.cdecl, dynlib: lib, + importc: "atk_editable_text_copy_text".} +proc cut_text*(text: PEditableText, start_pos: gint, end_pos: gint){. + cdecl, dynlib: lib, importc: "atk_editable_text_cut_text".} +proc delete_text*(text: PEditableText, start_pos: gint, + end_pos: gint){.cdecl, dynlib: lib, + importc: "atk_editable_text_delete_text".} +proc paste_text*(text: PEditableText, position: gint){.cdecl, + dynlib: lib, importc: "atk_editable_text_paste_text".} +proc TYPE_GOBJECT_ACCESSIBLE*(): GType +proc GOBJECT_ACCESSIBLE*(obj: pointer): PGObjectAccessible +proc GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): PGObjectAccessibleClass +proc IS_GOBJECT_ACCESSIBLE*(obj: pointer): bool +proc IS_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): bool +proc GOBJECT_ACCESSIBLE_GET_CLASS*(obj: pointer): PGObjectAccessibleClass +proc gobject_accessible_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_gobject_accessible_get_type".} +proc accessible_for_object*(obj: PGObject): PObject{.cdecl, dynlib: lib, + importc: "atk_gobject_accessible_for_object".} +proc get_object*(obj: PGObjectAccessible): PGObject{.cdecl, + dynlib: lib, importc: "atk_gobject_accessible_get_object".} +proc TYPE_HYPERLINK*(): GType +proc HYPERLINK*(obj: pointer): PHyperlink +proc HYPERLINK_CLASS*(klass: pointer): PHyperlinkClass +proc IS_HYPERLINK*(obj: pointer): bool +proc IS_HYPERLINK_CLASS*(klass: pointer): bool +proc HYPERLINK_GET_CLASS*(obj: pointer): PHyperlinkClass +proc hyperlink_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_hyperlink_get_type".} +proc get_uri*(link: PHyperlink, i: gint): cstring{.cdecl, dynlib: lib, + importc: "atk_hyperlink_get_uri".} +proc get_object*(link: PHyperlink, i: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_hyperlink_get_object".} +proc get_end_index*(link: PHyperlink): gint{.cdecl, dynlib: lib, + importc: "atk_hyperlink_get_end_index".} +proc get_start_index*(link: PHyperlink): gint{.cdecl, dynlib: lib, + importc: "atk_hyperlink_get_start_index".} +proc is_valid*(link: PHyperlink): gboolean{.cdecl, dynlib: lib, + importc: "atk_hyperlink_is_valid".} +proc get_n_anchors*(link: PHyperlink): gint{.cdecl, dynlib: lib, + importc: "atk_hyperlink_get_n_anchors".} +proc TYPE_HYPERTEXT*(): GType +proc IS_HYPERTEXT*(obj: pointer): bool +proc HYPERTEXT*(obj: pointer): PHypertext +proc HYPERTEXT_GET_IFACE*(obj: pointer): PHypertextIface +proc hypertext_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_hypertext_get_type".} +proc get_link*(hypertext: PHypertext, link_index: gint): PHyperlink{. + cdecl, dynlib: lib, importc: "atk_hypertext_get_link".} +proc get_n_links*(hypertext: PHypertext): gint{.cdecl, dynlib: lib, + importc: "atk_hypertext_get_n_links".} +proc get_link_index*(hypertext: PHypertext, char_index: gint): gint{. + cdecl, dynlib: lib, importc: "atk_hypertext_get_link_index".} +proc TYPE_IMAGE*(): GType +proc IS_IMAGE*(obj: pointer): bool +proc IMAGE*(obj: pointer): PImage +proc IMAGE_GET_IFACE*(obj: pointer): PImageIface +proc image_get_type*(): GType{.cdecl, dynlib: lib, importc: "atk_image_get_type".} +proc get_image_description*(image: PImage): cstring{.cdecl, dynlib: lib, + importc: "atk_image_get_image_description".} +proc get_image_size*(image: PImage, width: Pgint, height: Pgint){.cdecl, + dynlib: lib, importc: "atk_image_get_image_size".} +proc set_image_description*(image: PImage, description: cstring): gboolean{. + cdecl, dynlib: lib, importc: "atk_image_set_image_description".} +proc get_image_position*(image: PImage, x: Pgint, y: Pgint, + coord_type: TCoordType){.cdecl, dynlib: lib, + importc: "atk_image_get_image_position".} +proc TYPE_OBJECT_FACTORY*(): GType +proc OBJECT_FACTORY*(obj: pointer): PObjectFactory +proc OBJECT_FACTORY_CLASS*(klass: pointer): PObjectFactoryClass +proc IS_OBJECT_FACTORY*(obj: pointer): bool +proc IS_OBJECT_FACTORY_CLASS*(klass: pointer): bool +proc OBJECT_FACTORY_GET_CLASS*(obj: pointer): PObjectFactoryClass +proc object_factory_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_object_factory_get_type".} +proc create_accessible*(factory: PObjectFactory, obj: PGObject): PObject{. + cdecl, dynlib: lib, importc: "atk_object_factory_create_accessible".} +proc invalidate*(factory: PObjectFactory){.cdecl, dynlib: lib, + importc: "atk_object_factory_invalidate".} +proc get_accessible_type*(factory: PObjectFactory): GType{.cdecl, + dynlib: lib, importc: "atk_object_factory_get_accessible_type".} +proc TYPE_REGISTRY*(): GType +proc REGISTRY*(obj: pointer): PRegistry +proc REGISTRY_CLASS*(klass: pointer): PRegistryClass +proc IS_REGISTRY*(obj: pointer): bool +proc IS_REGISTRY_CLASS*(klass: pointer): bool +proc REGISTRY_GET_CLASS*(obj: pointer): PRegistryClass +proc registry_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_registry_get_type".} +proc set_factory_type*(registry: PRegistry, `type`: GType, + factory_type: GType){.cdecl, dynlib: lib, + importc: "atk_registry_set_factory_type".} +proc get_factory_type*(registry: PRegistry, `type`: GType): GType{. + cdecl, dynlib: lib, importc: "atk_registry_get_factory_type".} +proc get_factory*(registry: PRegistry, `type`: GType): PObjectFactory{. + cdecl, dynlib: lib, importc: "atk_registry_get_factory".} +proc get_default_registry*(): PRegistry{.cdecl, dynlib: lib, + importc: "atk_get_default_registry".} +proc TYPE_RELATION*(): GType +proc RELATION*(obj: pointer): PRelation +proc RELATION_CLASS*(klass: pointer): PRelationClass +proc IS_RELATION*(obj: pointer): bool +proc IS_RELATION_CLASS*(klass: pointer): bool +proc RELATION_GET_CLASS*(obj: pointer): PRelationClass +proc relation_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_relation_get_type".} +proc relation_type_register*(name: cstring): TRelationType{.cdecl, dynlib: lib, + importc: "atk_relation_type_register".} +proc relation_type_get_name*(`type`: TRelationType): cstring{.cdecl, + dynlib: lib, importc: "atk_relation_type_get_name".} +proc relation_type_for_name*(name: cstring): TRelationType{.cdecl, dynlib: lib, + importc: "atk_relation_type_for_name".} +proc relation_new*(targets: PPAtkObject, n_targets: gint, + relationship: TRelationType): PRelation{.cdecl, dynlib: lib, + importc: "atk_relation_new".} +proc get_relation_type*(relation: PRelation): TRelationType{.cdecl, + dynlib: lib, importc: "atk_relation_get_relation_type".} +proc get_target*(relation: PRelation): PGPtrArray{.cdecl, dynlib: lib, + importc: "atk_relation_get_target".} +proc TYPE_RELATION_SET*(): GType +proc RELATION_SET*(obj: pointer): PRelationSet +proc RELATION_SET_CLASS*(klass: pointer): PRelationSetClass +proc IS_RELATION_SET*(obj: pointer): bool +proc IS_RELATION_SET_CLASS*(klass: pointer): bool +proc RELATION_SET_GET_CLASS*(obj: pointer): PRelationSetClass +proc relation_set_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_relation_set_get_type".} +proc relation_set_new*(): PRelationSet{.cdecl, dynlib: lib, + importc: "atk_relation_set_new".} +proc contains*(RelationSet: PRelationSet, + relationship: TRelationType): gboolean{.cdecl, + dynlib: lib, importc: "atk_relation_set_contains".} +proc remove*(RelationSet: PRelationSet, relation: PRelation){. + cdecl, dynlib: lib, importc: "atk_relation_set_remove".} +proc add*(RelationSet: PRelationSet, relation: PRelation){.cdecl, + dynlib: lib, importc: "atk_relation_set_add".} +proc get_n_relations*(RelationSet: PRelationSet): gint{.cdecl, + dynlib: lib, importc: "atk_relation_set_get_n_relations".} +proc get_relation*(RelationSet: PRelationSet, i: gint): PRelation{. + cdecl, dynlib: lib, importc: "atk_relation_set_get_relation".} +proc get_relation_by_type*(RelationSet: PRelationSet, + relationship: TRelationType): PRelation{. + cdecl, dynlib: lib, importc: "atk_relation_set_get_relation_by_type".} +proc TYPE_SELECTION*(): GType +proc IS_SELECTION*(obj: pointer): bool +proc SELECTION*(obj: pointer): PSelection +proc SELECTION_GET_IFACE*(obj: pointer): PSelectionIface +proc selection_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_selection_get_type".} +proc add_selection*(selection: PSelection, i: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_selection_add_selection".} +proc clear_selection*(selection: PSelection): gboolean{.cdecl, + dynlib: lib, importc: "atk_selection_clear_selection".} +proc ref_selection*(selection: PSelection, i: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_selection_ref_selection".} +proc get_selection_count*(selection: PSelection): gint{.cdecl, + dynlib: lib, importc: "atk_selection_get_selection_count".} +proc is_child_selected*(selection: PSelection, i: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_selection_is_child_selected".} +proc remove_selection*(selection: PSelection, i: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_selection_remove_selection".} +proc select_all_selection*(selection: PSelection): gboolean{.cdecl, + dynlib: lib, importc: "atk_selection_select_all_selection".} +proc state_type_register*(name: cstring): TStateType{.cdecl, dynlib: lib, + importc: "atk_state_type_register".} +proc state_type_get_name*(`type`: TStateType): cstring{.cdecl, dynlib: lib, + importc: "atk_state_type_get_name".} +proc state_type_for_name*(name: cstring): TStateType{.cdecl, dynlib: lib, + importc: "atk_state_type_for_name".} +proc TYPE_STATE_SET*(): GType +proc STATE_SET*(obj: pointer): PStateSet +proc STATE_SET_CLASS*(klass: pointer): PStateSetClass +proc IS_STATE_SET*(obj: pointer): bool +proc IS_STATE_SET_CLASS*(klass: pointer): bool +proc STATE_SET_GET_CLASS*(obj: pointer): PStateSetClass +proc state_set_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_state_set_get_type".} +proc state_set_new*(): PStateSet{.cdecl, dynlib: lib, + importc: "atk_state_set_new".} +proc is_empty*(StateSet: PStateSet): gboolean{.cdecl, dynlib: lib, + importc: "atk_state_set_is_empty".} +proc add_state*(StateSet: PStateSet, `type`: TStateType): gboolean{. + cdecl, dynlib: lib, importc: "atk_state_set_add_state".} +proc add_states*(StateSet: PStateSet, types: PStateType, n_types: gint){. + cdecl, dynlib: lib, importc: "atk_state_set_add_states".} +proc clear_states*(StateSet: PStateSet){.cdecl, dynlib: lib, + importc: "atk_state_set_clear_states".} +proc contains_state*(StateSet: PStateSet, `type`: TStateType): gboolean{. + cdecl, dynlib: lib, importc: "atk_state_set_contains_state".} +proc contains_states*(StateSet: PStateSet, types: PStateType, + n_types: gint): gboolean{.cdecl, dynlib: lib, + importc: "atk_state_set_contains_states".} +proc remove_state*(StateSet: PStateSet, `type`: TStateType): gboolean{. + cdecl, dynlib: lib, importc: "atk_state_set_remove_state".} +proc and_sets*(StateSet: PStateSet, compare_set: PStateSet): PStateSet{. + cdecl, dynlib: lib, importc: "atk_state_set_and_sets".} +proc or_sets*(StateSet: PStateSet, compare_set: PStateSet): PStateSet{. + cdecl, dynlib: lib, importc: "atk_state_set_or_sets".} +proc xor_sets*(StateSet: PStateSet, compare_set: PStateSet): PStateSet{. + cdecl, dynlib: lib, importc: "atk_state_set_xor_sets".} +proc TYPE_STREAMABLE_CONTENT*(): GType +proc IS_STREAMABLE_CONTENT*(obj: pointer): bool +proc STREAMABLE_CONTENT*(obj: pointer): PStreamableContent +proc STREAMABLE_CONTENT_GET_IFACE*(obj: pointer): PStreamableContentIface +proc streamable_content_get_type*(): GType{.cdecl, dynlib: lib, + importc: "atk_streamable_content_get_type".} +proc get_n_mime_types*(streamable: PStreamableContent): gint{. + cdecl, dynlib: lib, importc: "atk_streamable_content_get_n_mime_types".} +proc get_mime_type*(streamable: PStreamableContent, i: gint): cstring{. + cdecl, dynlib: lib, importc: "atk_streamable_content_get_mime_type".} +proc get_stream*(streamable: PStreamableContent, + mime_type: cstring): PGIOChannel{.cdecl, + dynlib: lib, importc: "atk_streamable_content_get_stream".} +proc TYPE_TABLE*(): GType +proc IS_TABLE*(obj: pointer): bool +proc TABLE*(obj: pointer): PTable +proc TABLE_GET_IFACE*(obj: pointer): PTableIface +proc table_get_type*(): GType{.cdecl, dynlib: lib, importc: "atk_table_get_type".} +proc ref_at*(table: PTable, row, column: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_table_ref_at".} +proc get_index_at*(table: PTable, row, column: gint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_index_at".} +proc get_column_at_index*(table: PTable, index: gint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_column_at_index".} +proc get_row_at_index*(table: PTable, index: gint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_row_at_index".} +proc get_n_columns*(table: PTable): gint{.cdecl, dynlib: lib, + importc: "atk_table_get_n_columns".} +proc get_n_rows*(table: PTable): gint{.cdecl, dynlib: lib, + importc: "atk_table_get_n_rows".} +proc get_column_extent_at*(table: PTable, row: gint, column: gint): gint{. + cdecl, dynlib: lib, importc: "atk_table_get_column_extent_at".} +proc get_row_extent_at*(table: PTable, row: gint, column: gint): gint{. + cdecl, dynlib: lib, importc: "atk_table_get_row_extent_at".} +proc get_caption*(table: PTable): PObject{.cdecl, dynlib: lib, + importc: "atk_table_get_caption".} +proc get_column_description*(table: PTable, column: gint): cstring{.cdecl, + dynlib: lib, importc: "atk_table_get_column_description".} +proc get_column_header*(table: PTable, column: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_table_get_column_header".} +proc get_row_description*(table: PTable, row: gint): cstring{.cdecl, + dynlib: lib, importc: "atk_table_get_row_description".} +proc get_row_header*(table: PTable, row: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_table_get_row_header".} +proc get_summary*(table: PTable): PObject{.cdecl, dynlib: lib, + importc: "atk_table_get_summary".} +proc set_caption*(table: PTable, caption: PObject){.cdecl, dynlib: lib, + importc: "atk_table_set_caption".} +proc set_column_description*(table: PTable, column: gint, + description: cstring){.cdecl, dynlib: lib, + importc: "atk_table_set_column_description".} +proc set_column_header*(table: PTable, column: gint, header: PObject){. + cdecl, dynlib: lib, importc: "atk_table_set_column_header".} +proc set_row_description*(table: PTable, row: gint, description: cstring){. + cdecl, dynlib: lib, importc: "atk_table_set_row_description".} +proc set_row_header*(table: PTable, row: gint, header: PObject){.cdecl, + dynlib: lib, importc: "atk_table_set_row_header".} +proc set_summary*(table: PTable, accessible: PObject){.cdecl, dynlib: lib, + importc: "atk_table_set_summary".} +proc get_selected_columns*(table: PTable, selected: PPgint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_selected_columns".} +proc get_selected_rows*(table: PTable, selected: PPgint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_selected_rows".} +proc is_column_selected*(table: PTable, column: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_is_column_selected".} +proc is_row_selected*(table: PTable, row: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_is_row_selected".} +proc is_selected*(table: PTable, row: gint, column: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_table_is_selected".} +proc add_row_selection*(table: PTable, row: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_add_row_selection".} +proc remove_row_selection*(table: PTable, row: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_remove_row_selection".} +proc add_column_selection*(table: PTable, column: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_add_column_selection".} +proc remove_column_selection*(table: PTable, column: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_table_remove_column_selection".} +proc text_attribute_register*(name: cstring): TTextAttribute{.cdecl, + dynlib: lib, importc: "atk_text_attribute_register".} +proc TYPE_TEXT*(): GType +proc IS_TEXT*(obj: pointer): bool +proc TEXT*(obj: pointer): PText +proc TEXT_GET_IFACE*(obj: pointer): PTextIface +proc text_get_type*(): GType{.cdecl, dynlib: lib, importc: "atk_text_get_type".} +proc get_text*(text: PText, start_offset: gint, end_offset: gint): cstring{. + cdecl, dynlib: lib, importc: "atk_text_get_text".} +proc get_character_at_offset*(text: PText, offset: gint): gunichar{.cdecl, + dynlib: lib, importc: "atk_text_get_character_at_offset".} +proc get_text_after_offset*(text: PText, offset: gint, + boundary_type: TTextBoundary, + start_offset: Pgint, end_offset: Pgint): cstring{. + cdecl, dynlib: lib, importc: "atk_text_get_text_after_offset".} +proc get_text_at_offset*(text: PText, offset: gint, + boundary_type: TTextBoundary, start_offset: Pgint, + end_offset: Pgint): cstring{.cdecl, dynlib: lib, + importc: "atk_text_get_text_at_offset".} +proc get_text_before_offset*(text: PText, offset: gint, + boundary_type: TTextBoundary, + start_offset: Pgint, end_offset: Pgint): cstring{. + cdecl, dynlib: lib, importc: "atk_text_get_text_before_offset".} +proc get_caret_offset*(text: PText): gint{.cdecl, dynlib: lib, + importc: "atk_text_get_caret_offset".} +proc get_character_extents*(text: PText, offset: gint, x: Pgint, y: Pgint, + width: Pgint, height: Pgint, coords: TCoordType){. + cdecl, dynlib: lib, importc: "atk_text_get_character_extents".} +proc get_run_attributes*(text: PText, offset: gint, start_offset: Pgint, + end_offset: Pgint): PAttributeSet{.cdecl, + dynlib: lib, importc: "atk_text_get_run_attributes".} +proc get_default_attributes*(text: PText): PAttributeSet{.cdecl, + dynlib: lib, importc: "atk_text_get_default_attributes".} +proc get_character_count*(text: PText): gint{.cdecl, dynlib: lib, + importc: "atk_text_get_character_count".} +proc get_offset_at_point*(text: PText, x: gint, y: gint, coords: TCoordType): gint{. + cdecl, dynlib: lib, importc: "atk_text_get_offset_at_point".} +proc get_n_selections*(text: PText): gint{.cdecl, dynlib: lib, + importc: "atk_text_get_n_selections".} +proc get_selection*(text: PText, selection_num: gint, start_offset: Pgint, + end_offset: Pgint): cstring{.cdecl, dynlib: lib, + importc: "atk_text_get_selection".} +proc add_selection*(text: PText, start_offset: gint, end_offset: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_text_add_selection".} +proc remove_selection*(text: PText, selection_num: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_text_remove_selection".} +proc set_selection*(text: PText, selection_num: gint, start_offset: gint, + end_offset: gint): gboolean{.cdecl, dynlib: lib, + importc: "atk_text_set_selection".} +proc set_caret_offset*(text: PText, offset: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_text_set_caret_offset".} +proc free*(attrib_set: PAttributeSet){.cdecl, dynlib: lib, + importc: "atk_attribute_set_free".} +proc text_attribute_get_name*(attr: TTextAttribute): cstring{.cdecl, + dynlib: lib, importc: "atk_text_attribute_get_name".} +proc text_attribute_for_name*(name: cstring): TTextAttribute{.cdecl, + dynlib: lib, importc: "atk_text_attribute_for_name".} +proc text_attribute_get_value*(attr: TTextAttribute, index: gint): cstring{. + cdecl, dynlib: lib, importc: "atk_text_attribute_get_value".} +proc TYPE_UTIL*(): GType +proc IS_UTIL*(obj: pointer): bool +proc UTIL*(obj: pointer): PUtil +proc UTIL_CLASS*(klass: pointer): PUtilClass +proc IS_UTIL_CLASS*(klass: pointer): bool +proc UTIL_GET_CLASS*(obj: pointer): PUtilClass +proc util_get_type*(): GType{.cdecl, dynlib: lib, importc: "atk_util_get_type".} +proc add_focus_tracker*(focus_tracker: TEventListener): guint{.cdecl, + dynlib: lib, importc: "atk_add_focus_tracker".} +proc remove_focus_tracker*(tracker_id: guint){.cdecl, dynlib: lib, + importc: "atk_remove_focus_tracker".} +proc focus_tracker_init*(add_function: TEventListenerInit){.cdecl, dynlib: lib, + importc: "atk_focus_tracker_init".} +proc focus_tracker_notify*(anObject: PObject){.cdecl, dynlib: lib, + importc: "atk_focus_tracker_notify".} +proc add_global_event_listener*(listener: TGSignalEmissionHook, + event_type: cstring): guint{.cdecl, dynlib: lib, + importc: "atk_add_global_event_listener".} +proc remove_global_event_listener*(listener_id: guint){.cdecl, dynlib: lib, + importc: "atk_remove_global_event_listener".} +proc add_key_event_listener*(listener: TKeySnoopFunc, data: gpointer): guint{. + cdecl, dynlib: lib, importc: "atk_add_key_event_listener".} +proc remove_key_event_listener*(listener_id: guint){.cdecl, dynlib: lib, + importc: "atk_remove_key_event_listener".} +proc get_root*(): PObject{.cdecl, dynlib: lib, importc: "atk_get_root".} +proc get_toolkit_name*(): cstring{.cdecl, dynlib: lib, + importc: "atk_get_toolkit_name".} +proc get_toolkit_version*(): cstring{.cdecl, dynlib: lib, + importc: "atk_get_toolkit_version".} +proc TYPE_VALUE*(): GType +proc IS_VALUE*(obj: pointer): bool +proc VALUE*(obj: pointer): PValue +proc VALUE_GET_IFACE*(obj: pointer): PValueIface +proc value_get_type*(): GType{.cdecl, dynlib: lib, importc: "atk_value_get_type".} +proc get_current_value*(obj: PValue, value: PGValue){.cdecl, dynlib: lib, + importc: "atk_value_get_current_value".} +proc get_maximum_value*(obj: PValue, value: PGValue){.cdecl, dynlib: lib, + importc: "atk_value_get_maximum_value".} +proc get_minimum_value*(obj: PValue, value: PGValue){.cdecl, dynlib: lib, + importc: "atk_value_get_minimum_value".} +proc set_current_value*(obj: PValue, value: PGValue): gboolean{.cdecl, + dynlib: lib, importc: "atk_value_set_current_value".} +proc TYPE_OBJECT*(): GType = + result = object_get_type() + +proc `OBJECT`*(obj: pointer): PObject = + result = cast[PObject](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_OBJECT())) + +proc OBJECT_CLASS*(klass: pointer): PObjectClass = + result = cast[PObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_OBJECT())) + +proc IS_OBJECT*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_OBJECT()) + +proc IS_OBJECT_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_OBJECT()) + +proc OBJECT_GET_CLASS*(obj: pointer): PObjectClass = + result = cast[PObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_OBJECT())) + +proc TYPE_IMPLEMENTOR*(): GType = + result = implementor_get_type() + +proc IS_IMPLEMENTOR*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_IMPLEMENTOR()) + +proc IMPLEMENTOR*(obj: pointer): PImplementor = + result = PImplementor(G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_IMPLEMENTOR())) + +proc IMPLEMENTOR_GET_IFACE*(obj: pointer): PImplementorIface = + result = cast[PImplementorIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_IMPLEMENTOR())) + +proc TYPE_ACTION*(): GType = + result = action_get_type() + +proc IS_ACTION*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_ACTION()) + +proc ACTION*(obj: pointer): PAction = + result = PAction(G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_ACTION())) + +proc ACTION_GET_IFACE*(obj: pointer): PActionIface = + result = cast[PActionIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, TYPE_ACTION())) + +proc TYPE_COMPONENT*(): GType = + result = component_get_type() + +proc IS_COMPONENT*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_COMPONENT()) + +proc COMPONENT*(obj: pointer): PComponent = + result = PComponent(G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_COMPONENT())) + +proc COMPONENT_GET_IFACE*(obj: pointer): PComponentIface = + result = cast[PComponentIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_COMPONENT())) + +proc TYPE_DOCUMENT*(): GType = + result = document_get_type() + +proc IS_DOCUMENT*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_DOCUMENT()) + +proc DOCUMENT*(obj: pointer): PDocument = + result = cast[PDocument](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_DOCUMENT())) + +proc DOCUMENT_GET_IFACE*(obj: pointer): PDocumentIface = + result = cast[PDocumentIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_DOCUMENT())) + +proc TYPE_EDITABLE_TEXT*(): GType = + result = editable_text_get_type() + +proc IS_EDITABLE_TEXT*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_EDITABLE_TEXT()) + +proc EDITABLE_TEXT*(obj: pointer): PEditableText = + result = cast[PEditableText](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_EDITABLE_TEXT())) + +proc EDITABLE_TEXT_GET_IFACE*(obj: pointer): PEditableTextIface = + result = cast[PEditableTextIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_EDITABLE_TEXT())) + +proc TYPE_GOBJECT_ACCESSIBLE*(): GType = + result = gobject_accessible_get_type() + +proc GOBJECT_ACCESSIBLE*(obj: pointer): PGObjectAccessible = + result = cast[PGObjectAccessible](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_GOBJECT_ACCESSIBLE())) + +proc GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): PGObjectAccessibleClass = + result = cast[PGObjectAccessibleClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_GOBJECT_ACCESSIBLE())) + +proc IS_GOBJECT_ACCESSIBLE*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_GOBJECT_ACCESSIBLE()) + +proc IS_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_GOBJECT_ACCESSIBLE()) + +proc GOBJECT_ACCESSIBLE_GET_CLASS*(obj: pointer): PGObjectAccessibleClass = + result = cast[PGObjectAccessibleClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_GOBJECT_ACCESSIBLE())) + +proc TYPE_HYPERLINK*(): GType = + result = hyperlink_get_type() + +proc HYPERLINK*(obj: pointer): PHyperlink = + result = cast[PHyperlink](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_HYPERLINK())) + +proc HYPERLINK_CLASS*(klass: pointer): PHyperlinkClass = + result = cast[PHyperlinkClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_HYPERLINK())) + +proc IS_HYPERLINK*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_HYPERLINK()) + +proc IS_HYPERLINK_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_HYPERLINK()) + +proc HYPERLINK_GET_CLASS*(obj: pointer): PHyperlinkClass = + result = cast[PHyperlinkClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_HYPERLINK())) + +proc TYPE_HYPERTEXT*(): GType = + result = hypertext_get_type() + +proc IS_HYPERTEXT*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_HYPERTEXT()) + +proc HYPERTEXT*(obj: pointer): PHypertext = + result = cast[PHypertext](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_HYPERTEXT())) + +proc HYPERTEXT_GET_IFACE*(obj: pointer): PHypertextIface = + result = cast[PHypertextIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_HYPERTEXT())) + +proc TYPE_IMAGE*(): GType = + result = image_get_type() + +proc IS_IMAGE*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_IMAGE()) + +proc IMAGE*(obj: pointer): PImage = + result = cast[PImage](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_IMAGE())) + +proc IMAGE_GET_IFACE*(obj: pointer): PImageIface = + result = cast[PImageIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, TYPE_IMAGE())) + +proc TYPE_OBJECT_FACTORY*(): GType = + result = object_factory_get_type() + +proc OBJECT_FACTORY*(obj: pointer): PObjectFactory = + result = cast[PObjectFactory](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_OBJECT_FACTORY())) + +proc OBJECT_FACTORY_CLASS*(klass: pointer): PObjectFactoryClass = + result = cast[PObjectFactoryClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_OBJECT_FACTORY())) + +proc IS_OBJECT_FACTORY*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_OBJECT_FACTORY()) + +proc IS_OBJECT_FACTORY_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_OBJECT_FACTORY()) + +proc OBJECT_FACTORY_GET_CLASS*(obj: pointer): PObjectFactoryClass = + result = cast[PObjectFactoryClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_OBJECT_FACTORY())) + +proc TYPE_REGISTRY*(): GType = + result = registry_get_type() + +proc REGISTRY*(obj: pointer): PRegistry = + result = cast[PRegistry](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_REGISTRY())) + +proc REGISTRY_CLASS*(klass: pointer): PRegistryClass = + result = cast[PRegistryClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_REGISTRY())) + +proc IS_REGISTRY*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_REGISTRY()) + +proc IS_REGISTRY_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_REGISTRY()) + +proc REGISTRY_GET_CLASS*(obj: pointer): PRegistryClass = + result = cast[PRegistryClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_REGISTRY())) + +proc TYPE_RELATION*(): GType = + result = relation_get_type() + +proc RELATION*(obj: pointer): PRelation = + result = cast[PRelation](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_RELATION())) + +proc RELATION_CLASS*(klass: pointer): PRelationClass = + result = cast[PRelationClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_RELATION())) + +proc IS_RELATION*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_RELATION()) + +proc IS_RELATION_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_RELATION()) + +proc RELATION_GET_CLASS*(obj: pointer): PRelationClass = + result = cast[PRelationClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_RELATION())) + +proc TYPE_RELATION_SET*(): GType = + result = relation_set_get_type() + +proc RELATION_SET*(obj: pointer): PRelationSet = + result = cast[PRelationSet](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_RELATION_SET())) + +proc RELATION_SET_CLASS*(klass: pointer): PRelationSetClass = + result = cast[PRelationSetClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_RELATION_SET())) + +proc IS_RELATION_SET*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_RELATION_SET()) + +proc IS_RELATION_SET_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_RELATION_SET()) + +proc RELATION_SET_GET_CLASS*(obj: pointer): PRelationSetClass = + result = cast[PRelationSetClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_RELATION_SET())) + +proc TYPE_SELECTION*(): GType = + result = selection_get_type() + +proc IS_SELECTION*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_SELECTION()) + +proc SELECTION*(obj: pointer): PSelection = + result = cast[PSelection](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_SELECTION())) + +proc SELECTION_GET_IFACE*(obj: pointer): PSelectionIface = + result = cast[PSelectionIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_SELECTION())) + +proc TYPE_STATE_SET*(): GType = + result = state_set_get_type() + +proc STATE_SET*(obj: pointer): PStateSet = + result = cast[PStateSet](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_STATE_SET())) + +proc STATE_SET_CLASS*(klass: pointer): PStateSetClass = + result = cast[PStateSetClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_STATE_SET())) + +proc IS_STATE_SET*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_STATE_SET()) + +proc IS_STATE_SET_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_STATE_SET()) + +proc STATE_SET_GET_CLASS*(obj: pointer): PStateSetClass = + result = cast[PStateSetClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_STATE_SET())) + +proc TYPE_STREAMABLE_CONTENT*(): GType = + result = streamable_content_get_type() + +proc IS_STREAMABLE_CONTENT*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_STREAMABLE_CONTENT()) + +proc STREAMABLE_CONTENT*(obj: pointer): PStreamableContent = + result = cast[PStreamableContent](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_STREAMABLE_CONTENT())) + +proc STREAMABLE_CONTENT_GET_IFACE*(obj: pointer): PStreamableContentIface = + result = cast[PStreamableContentIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_STREAMABLE_CONTENT())) + +proc TYPE_TABLE*(): GType = + result = table_get_type() + +proc IS_TABLE*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TABLE()) + +proc TABLE*(obj: pointer): PTable = + result = cast[PTable](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_TABLE())) + +proc TABLE_GET_IFACE*(obj: pointer): PTableIface = + result = cast[PTableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, TYPE_TABLE())) + +proc TYPE_TEXT*(): GType = + result = text_get_type() + +proc IS_TEXT*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TEXT()) + +proc TEXT*(obj: pointer): PText = + result = cast[PText](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_TEXT())) + +proc TEXT_GET_IFACE*(obj: pointer): PTextIface = + result = cast[PTextIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, TYPE_TEXT())) + +proc TYPE_UTIL*(): GType = + result = util_get_type() + +proc IS_UTIL*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_UTIL()) + +proc UTIL*(obj: pointer): PUtil = + result = cast[PUtil](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_UTIL())) + +proc UTIL_CLASS*(klass: pointer): PUtilClass = + result = cast[PUtilClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_UTIL())) + +proc IS_UTIL_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_UTIL()) + +proc UTIL_GET_CLASS*(obj: pointer): PUtilClass = + result = cast[PUtilClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_UTIL())) + +proc TYPE_VALUE*(): GType = + result = value_get_type() + +proc IS_VALUE*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_VALUE()) + +proc VALUE*(obj: pointer): PValue = + result = cast[PValue](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_VALUE())) + +proc VALUE_GET_IFACE*(obj: pointer): PValueIface = + result = cast[PValueIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, TYPE_VALUE())) diff --git a/lib/wrappers/gtk/gdkglext.nim b/lib/wrappers/gtk/gdkglext.nim new file mode 100755 index 000000000..b5844395b --- /dev/null +++ b/lib/wrappers/gtk/gdkglext.nim @@ -0,0 +1,551 @@ +{.deadCodeElim: on.} +import + Glib2, gdk2 + +when defined(WIN32): + const + GLExtLib = "libgdkglext-win32-1.0-0.dll" +else: + const + GLExtLib = "libgdkglext-x11-1.0.so" +type + TGLConfigAttrib* = int32 + TGLConfigCaveat* = int32 + TGLVisualType* = int32 + TGLTransparentType* = int32 + TGLDrawableTypeMask* = int32 + TGLRenderTypeMask* = int32 + TGLBufferMask* = int32 + TGLConfigError* = int32 + TGLRenderType* = int32 + TGLDrawableAttrib* = int32 + TGLPbufferAttrib* = int32 + TGLEventMask* = int32 + TGLEventType* = int32 + TGLDrawableType* = int32 + TGLProc* = Pointer + PGLConfig* = ptr TGLConfig + PGLContext* = ptr TGLContext + PGLDrawable* = ptr TGLDrawable + PGLPixmap* = ptr TGLPixmap + PGLWindow* = ptr TGLWindow + TGLConfig* = object of TGObject + layer_plane*: gint + n_aux_buffers*: gint + n_sample_buffers*: gint + flag0*: int16 + + PGLConfigClass* = ptr TGLConfigClass + TGLConfigClass* = object of TGObjectClass + TGLContext* = object of TGObject + PGLContextClass* = ptr TGLContextClass + TGLContextClass* = object of TGObjectClass + TGLDrawable* = object of TGObject + PGLDrawableClass* = ptr TGLDrawableClass + TGLDrawableClass* = object of TGTypeInterface + create_new_context*: proc (gldrawable: PGLDrawable, share_list: PGLContext, + direct: gboolean, render_type: int32): PGLContext{. + cdecl.} + make_context_current*: proc (draw: PGLDrawable, a_read: PGLDrawable, + glcontext: PGLContext): gboolean{.cdecl.} + is_double_buffered*: proc (gldrawable: PGLDrawable): gboolean{.cdecl.} + swap_buffers*: proc (gldrawable: PGLDrawable){.cdecl.} + wait_gl*: proc (gldrawable: PGLDrawable){.cdecl.} + wait_gdk*: proc (gldrawable: PGLDrawable){.cdecl.} + gl_begin*: proc (draw: PGLDrawable, a_read: PGLDrawable, + glcontext: PGLContext): gboolean{.cdecl.} + gl_end*: proc (gldrawable: PGLDrawable){.cdecl.} + get_gl_config*: proc (gldrawable: PGLDrawable): PGLConfig{.cdecl.} + get_size*: proc (gldrawable: PGLDrawable, width, height: PGInt){.cdecl.} + + TGLPixmap* = object of TGObject + drawable*: PDrawable + + PGLPixmapClass* = ptr TGLPixmapClass + TGLPixmapClass* = object of TGObjectClass + TGLWindow* = object of TGObject + drawable*: PDrawable + + PGLWindowClass* = ptr TGLWindowClass + TGLWindowClass* = object of TGObjectClass + +const + HEADER_GDKGLEXT_MAJOR_VERSION* = 1 + HEADER_GDKGLEXT_MINOR_VERSION* = 0 + HEADER_GDKGLEXT_MICRO_VERSION* = 6 + HEADER_GDKGLEXT_INTERFACE_AGE* = 4 + HEADER_GDKGLEXT_BINARY_AGE* = 6 + +proc HEADER_GDKGLEXT_CHECK_VERSION*(major, minor, micro: guint): bool +var + glext_major_version*{.importc, dynlib: GLExtLib.}: guint + glext_minor_version*{.importc, dynlib: GLExtLib.}: guint + glext_micro_version*{.importc, dynlib: GLExtLib.}: guint + glext_interface_age*{.importc, dynlib: GLExtLib.}: guint + glext_binary_age*{.importc, dynlib: GLExtLib.}: guint + +const + GL_SUCCESS* = 0 + GL_ATTRIB_LIST_NONE* = 0 + GL_USE_GL* = 1 + GL_BUFFER_SIZE* = 2 + GL_LEVEL* = 3 + GL_RGBA* = 4 + GL_DOUBLEBUFFER* = 5 + GL_STEREO* = 6 + GL_AUX_BUFFERS* = 7 + GL_RED_SIZE* = 8 + GL_GREEN_SIZE* = 9 + GL_BLUE_SIZE* = 10 + GL_ALPHA_SIZE* = 11 + GL_DEPTH_SIZE* = 12 + GL_STENCIL_SIZE* = 13 + GL_ACCUM_RED_SIZE* = 14 + GL_ACCUM_GREEN_SIZE* = 15 + GL_ACCUM_BLUE_SIZE* = 16 + GL_ACCUM_ALPHA_SIZE* = 17 + GL_CONFIG_CAVEAT* = 0x00000020 + GL_X_VISUAL_TYPE* = 0x00000022 + GL_TRANSPARENT_TYPE* = 0x00000023 + GL_TRANSPARENT_INDEX_VALUE* = 0x00000024 + GL_TRANSPARENT_RED_VALUE* = 0x00000025 + GL_TRANSPARENT_GREEN_VALUE* = 0x00000026 + GL_TRANSPARENT_BLUE_VALUE* = 0x00000027 + GL_TRANSPARENT_ALPHA_VALUE* = 0x00000028 + GL_DRAWABLE_TYPE* = 0x00008010 + GL_RENDER_TYPE* = 0x00008011 + GL_X_RENDERABLE* = 0x00008012 + GL_FBCONFIG_ID* = 0x00008013 + GL_MAX_PBUFFER_WIDTH* = 0x00008016 + GL_MAX_PBUFFER_HEIGHT* = 0x00008017 + GL_MAX_PBUFFER_PIXELS* = 0x00008018 + GL_VISUAL_ID* = 0x0000800B + GL_SCREEN* = 0x0000800C + GL_SAMPLE_BUFFERS* = 100000 + GL_SAMPLES* = 100001 + GL_DONT_CARE* = 0xFFFFFFFF + GL_NONE* = 0x00008000 + GL_CONFIG_CAVEAT_DONT_CARE* = 0xFFFFFFFF + GL_CONFIG_CAVEAT_NONE* = 0x00008000 + GL_SLOW_CONFIG* = 0x00008001 + GL_NON_CONFORMANT_CONFIG* = 0x0000800D + GL_VISUAL_TYPE_DONT_CARE* = 0xFFFFFFFF + GL_TRUE_COLOR* = 0x00008002 + GL_DIRECT_COLOR* = 0x00008003 + GL_PSEUDO_COLOR* = 0x00008004 + GL_STATIC_COLOR* = 0x00008005 + GL_GRAY_SCALE* = 0x00008006 + GL_STATIC_GRAY* = 0x00008007 + GL_TRANSPARENT_NONE* = 0x00008000 + GL_TRANSPARENT_RGB* = 0x00008008 + GL_TRANSPARENT_INDEX* = 0x00008009 + GL_WINDOW_BIT* = 1 shl 0 + GL_PIXMAP_BIT* = 1 shl 1 + GL_PBUFFER_BIT* = 1 shl 2 + GL_RGBA_BIT* = 1 shl 0 + GL_COLOR_INDEX_BIT* = 1 shl 1 + GL_FRONT_LEFT_BUFFER_BIT* = 1 shl 0 + GL_FRONT_RIGHT_BUFFER_BIT* = 1 shl 1 + GL_BACK_LEFT_BUFFER_BIT* = 1 shl 2 + GL_BACK_RIGHT_BUFFER_BIT* = 1 shl 3 + GL_AUX_BUFFERS_BIT* = 1 shl 4 + GL_DEPTH_BUFFER_BIT* = 1 shl 5 + GL_STENCIL_BUFFER_BIT* = 1 shl 6 + GL_ACCUM_BUFFER_BIT* = 1 shl 7 + GL_BAD_SCREEN* = 1 + GL_BAD_ATTRIBUTE* = 2 + GL_NO_EXTENSION* = 3 + GL_BAD_VISUAL* = 4 + GL_BAD_CONTEXT* = 5 + GL_BAD_VALUE* = 6 + GL_BAD_ENUM* = 7 + GL_RGBA_TYPE* = 0x00008014 + GL_COLOR_INDEX_TYPE* = 0x00008015 + GL_PRESERVED_CONTENTS* = 0x0000801B + GL_LARGEST_PBUFFER* = 0x0000801C + GL_WIDTH* = 0x0000801D + GL_HEIGHT* = 0x0000801E + GL_EVENT_MASK* = 0x0000801F + GL_PBUFFER_PRESERVED_CONTENTS* = 0x0000801B + GL_PBUFFER_LARGEST_PBUFFER* = 0x0000801C + GL_PBUFFER_HEIGHT* = 0x00008040 + GL_PBUFFER_WIDTH* = 0x00008041 + GL_PBUFFER_CLOBBER_MASK* = 1 shl 27 + GL_DAMAGED* = 0x00008020 + GL_SAVED* = 0x00008021 + GL_WINDOW_VALUE* = 0x00008022 + GL_PBUFFER* = 0x00008023 + +proc gl_config_attrib_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_attrib_get_type".} +proc TYPE_GL_CONFIG_ATTRIB*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_attrib_get_type".} +proc gl_config_caveat_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_caveat_get_type".} +proc TYPE_GL_CONFIG_CAVEAT*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_caveat_get_type".} +proc gl_visual_type_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_visual_type_get_type".} +proc TYPE_GL_VISUAL_TYPE*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_visual_type_get_type".} +proc gl_transparent_type_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_transparent_type_get_type".} +proc TYPE_GL_TRANSPARENT_TYPE*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_transparent_type_get_type".} +proc gl_drawable_type_mask_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_type_mask_get_type".} +proc TYPE_GL_DRAWABLE_TYPE_MASK*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_type_mask_get_type".} +proc gl_render_type_mask_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_render_type_mask_get_type".} +proc TYPE_GL_RENDER_TYPE_MASK*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_render_type_mask_get_type".} +proc gl_buffer_mask_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_buffer_mask_get_type".} +proc TYPE_GL_BUFFER_MASK*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_buffer_mask_get_type".} +proc gl_config_error_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_error_get_type".} +proc TYPE_GL_CONFIG_ERROR*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_error_get_type".} +proc gl_render_type_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_render_type_get_type".} +proc TYPE_GL_RENDER_TYPE*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_render_type_get_type".} +proc gl_drawable_attrib_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_attrib_get_type".} +proc TYPE_GL_DRAWABLE_ATTRIB*(): GType{.cdecl, dynlib: GLExtLib, importc: "gdk_gl_drawable_attrib_get_type".} +proc gl_pbuffer_attrib_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_pbuffer_attrib_get_type".} +proc TYPE_GL_PBUFFER_ATTRIB*(): GType{.cdecl, dynlib: GLExtLib, importc: "gdk_gl_pbuffer_attrib_get_type".} +proc gl_event_mask_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_event_mask_get_type".} +proc TYPE_GL_EVENT_MASK*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_event_mask_get_type".} +proc gl_event_type_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_event_type_get_type".} +proc TYPE_GL_EVENT_TYPE*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_event_type_get_type".} +proc gl_drawable_type_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_type_get_type".} +proc TYPE_GL_DRAWABLE_TYPE*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_type_get_type".} +proc gl_config_mode_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_mode_get_type".} +proc TYPE_GL_CONFIG_MODE*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_mode_get_type".} +proc gl_parse_args*(argc: var int32, argv: ptr cstringArray): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_parse_args".} +proc gl_init_check*(argc: var int32, argv: ptr cstringArray): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_init_check".} +proc gl_init*(argc: var int32, argv: ptr cstringArray){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_init".} +proc gl_query_gl_extension*(extension: cstring): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_query_gl_extension".} +proc gl_get_proc_address*(proc_name: cstring): TGLProc{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_get_proc_address".} +const + bm_TGdkGLConfig_is_rgba* = 1 shl 0 + bp_TGdkGLConfig_is_rgba* = 0 + bm_TGdkGLConfig_is_double_buffered* = 1 shl 1 + bp_TGdkGLConfig_is_double_buffered* = 1 + bm_TGdkGLConfig_as_single_mode* = 1 shl 2 + bp_TGdkGLConfig_as_single_mode* = 2 + bm_TGdkGLConfig_is_stereo* = 1 shl 3 + bp_TGdkGLConfig_is_stereo* = 3 + bm_TGdkGLConfig_has_alpha* = 1 shl 4 + bp_TGdkGLConfig_has_alpha* = 4 + bm_TGdkGLConfig_has_depth_buffer* = 1 shl 5 + bp_TGdkGLConfig_has_depth_buffer* = 5 + bm_TGdkGLConfig_has_stencil_buffer* = 1 shl 6 + bp_TGdkGLConfig_has_stencil_buffer* = 6 + bm_TGdkGLConfig_has_accum_buffer* = 1 shl 7 + bp_TGdkGLConfig_has_accum_buffer* = 7 + +const + GL_MODE_RGB* = 0 + GL_MODE_RGBA* = 0 + GL_MODE_INDEX* = 1 shl 0 + GL_MODE_SINGLE* = 0 + GL_MODE_DOUBLE* = 1 shl 1 + GL_MODE_STEREO* = 1 shl 2 + GL_MODE_ALPHA* = 1 shl 3 + GL_MODE_DEPTH* = 1 shl 4 + GL_MODE_STENCIL* = 1 shl 5 + GL_MODE_ACCUM* = 1 shl 6 + GL_MODE_MULTISAMPLE* = 1 shl 7 + +type + TGLConfigMode* = int32 + PGLConfigMode* = ptr TGLConfigMode + +proc TYPE_GL_CONFIG*(): GType +proc GL_CONFIG*(anObject: Pointer): PGLConfig +proc GL_CONFIG_CLASS*(klass: Pointer): PGLConfigClass +proc IS_GL_CONFIG*(anObject: Pointer): bool +proc IS_GL_CONFIG_CLASS*(klass: Pointer): bool +proc GL_CONFIG_GET_CLASS*(obj: Pointer): PGLConfigClass +proc gl_config_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_get_type".} +proc get_screen*(glconfig: PGLConfig): PScreen{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_screen".} +proc get_attrib*(glconfig: PGLConfig, attribute: int, value: var cint): gboolean{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_config_get_attrib".} +proc get_colormap*(glconfig: PGLConfig): PColormap{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_colormap".} +proc get_visual*(glconfig: PGLConfig): PVisual{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_visual".} +proc get_depth*(glconfig: PGLConfig): gint{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_get_depth".} +proc get_layer_plane*(glconfig: PGLConfig): gint{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_layer_plane".} +proc get_n_aux_buffers*(glconfig: PGLConfig): gint{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_n_aux_buffers".} +proc get_n_sample_buffers*(glconfig: PGLConfig): gint{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_n_sample_buffers".} +proc is_rgba*(glconfig: PGLConfig): gboolean{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_is_rgba".} +proc is_double_buffered*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_is_double_buffered".} +proc is_stereo*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_is_stereo".} +proc has_alpha*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_has_alpha".} +proc has_depth_buffer*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_has_depth_buffer".} +proc has_stencil_buffer*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_has_stencil_buffer".} +proc has_accum_buffer*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_has_accum_buffer".} +proc TYPE_GL_CONTEXT*(): GType +proc GL_CONTEXT*(anObject: Pointer): PGLContext +proc GL_CONTEXT_CLASS*(klass: Pointer): PGLContextClass +proc IS_GL_CONTEXT*(anObject: Pointer): bool +proc IS_GL_CONTEXT_CLASS*(klass: Pointer): bool +proc GL_CONTEXT_GET_CLASS*(obj: Pointer): PGLContextClass +proc gl_context_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_context_get_type".} +proc context_new*(gldrawable: PGLDrawable, share_list: PGLContext, + direct: gboolean, render_type: int32): PGLContext{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_new".} +proc destroy*(glcontext: PGLContext){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_context_destroy".} +proc copy*(glcontext: PGLContext, src: PGLContext, mask: int32): gboolean{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_context_copy".} +proc get_gl_drawable*(glcontext: PGLContext): PGLDrawable{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_get_gl_drawable".} +proc get_gl_config*(glcontext: PGLContext): PGLConfig{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_get_gl_config".} +proc get_share_list*(glcontext: PGLContext): PGLContext{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_get_share_list".} +proc is_direct*(glcontext: PGLContext): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_is_direct".} +proc get_render_type*(glcontext: PGLContext): int32{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_get_render_type".} +proc gl_context_get_current*(): PGLContext{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_context_get_current".} +proc TYPE_GL_DRAWABLE*(): GType +proc GL_DRAWABLE*(inst: Pointer): PGLDrawable +proc GL_DRAWABLE_CLASS*(vtable: Pointer): PGLDrawableClass +proc IS_GL_DRAWABLE*(inst: Pointer): bool +proc IS_GL_DRAWABLE_CLASS*(vtable: Pointer): bool +proc GL_DRAWABLE_GET_CLASS*(inst: Pointer): PGLDrawableClass +proc gl_drawable_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_get_type".} +proc make_current*(gldrawable: PGLDrawable, glcontext: PGLContext): gboolean{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_drawable_make_current".} +proc is_double_buffered*(gldrawable: PGLDrawable): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_drawable_is_double_buffered".} +proc swap_buffers*(gldrawable: PGLDrawable){.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_drawable_swap_buffers".} +proc wait_gl*(gldrawable: PGLDrawable){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_wait_gl".} +proc wait_gdk*(gldrawable: PGLDrawable){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_wait_gdk".} +proc gl_begin*(gldrawable: PGLDrawable, glcontext: PGLContext): gboolean{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_drawable_gl_begin".} +proc gl_end*(gldrawable: PGLDrawable){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_gl_end".} +proc get_gl_config*(gldrawable: PGLDrawable): PGLConfig{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_drawable_get_gl_config".} +proc get_size*(gldrawable: PGLDrawable, width, height: PGInt){. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_drawable_get_size".} +proc gl_drawable_get_current*(): PGLDrawable{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_get_current".} +proc TYPE_GL_PIXMAP*(): GType +proc GL_PIXMAP*(anObject: Pointer): PGLPixmap +proc GL_PIXMAP_CLASS*(klass: Pointer): PGLPixmapClass +proc IS_GL_PIXMAP*(anObject: Pointer): bool +proc IS_GL_PIXMAP_CLASS*(klass: Pointer): bool +proc GL_PIXMAP_GET_CLASS*(obj: Pointer): PGLPixmapClass +proc gl_pixmap_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_pixmap_get_type".} +proc pixmap_new*(glconfig: PGLConfig, pixmap: PPixmap, attrib_list: ptr int32): PGLPixmap{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_pixmap_new".} +proc destroy*(glpixmap: PGLPixmap){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_pixmap_destroy".} +proc get_pixmap*(glpixmap: PGLPixmap): PPixmap{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_pixmap_get_pixmap".} +proc set_gl_capability*(pixmap: PPixmap, glconfig: PGLConfig, + attrib_list: ptr int32): PGLPixmap{.cdecl, + dynlib: GLExtLib, importc: "gdk_pixmap_set_gl_capability".} +proc unset_gl_capability*(pixmap: PPixmap){.cdecl, dynlib: GLExtLib, + importc: "gdk_pixmap_unset_gl_capability".} +proc is_gl_capable*(pixmap: PPixmap): gboolean{.cdecl, dynlib: GLExtLib, + importc: "gdk_pixmap_is_gl_capable".} +proc get_gl_pixmap*(pixmap: PPixmap): PGLPixmap{.cdecl, dynlib: GLExtLib, + importc: "gdk_pixmap_get_gl_pixmap".} +proc get_gl_drawable*(pixmap: PPixmap): PGLDrawable +proc TYPE_GL_WINDOW*(): GType +proc GL_WINDOW*(anObject: Pointer): PGLWindow +proc GL_WINDOW_CLASS*(klass: Pointer): PGLWindowClass +proc IS_GL_WINDOW*(anObject: Pointer): bool +proc IS_GL_WINDOW_CLASS*(klass: Pointer): bool +proc GL_WINDOW_GET_CLASS*(obj: Pointer): PGLWindowClass +proc gl_window_get_type*(): GType{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_window_get_type".} +proc window_new*(glconfig: PGLConfig, window: PWindow, attrib_list: ptr int32): PGLWindow{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_window_new".} +proc destroy*(glwindow: PGLWindow){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_window_destroy".} +proc get_window*(glwindow: PGLWindow): PWindow{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_window_get_window".} +proc set_gl_capability*(window: PWindow, glconfig: PGLConfig, + attrib_list: ptr int32): PGLWindow{.cdecl, + dynlib: GLExtLib, importc: "gdk_window_set_gl_capability".} +proc unset_gl_capability*(window: PWindow){.cdecl, dynlib: GLExtLib, + importc: "gdk_window_unset_gl_capability".} +proc is_gl_capable*(window: PWindow): gboolean{.cdecl, dynlib: GLExtLib, + importc: "gdk_window_is_gl_capable".} +proc get_gl_window*(window: PWindow): PGLWindow{.cdecl, dynlib: GLExtLib, + importc: "gdk_window_get_gl_window".} +proc get_gl_drawable*(window: PWindow): PGLDrawable +proc gl_draw_cube*(solid: gboolean, size: float64){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_draw_cube".} +proc gl_draw_sphere*(solid: gboolean, radius: float64, slices: int32, + stacks: int32){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_draw_sphere".} +proc gl_draw_cone*(solid: gboolean, base: float64, height: float64, + slices: int32, stacks: int32){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_draw_cone".} +proc gl_draw_torus*(solid: gboolean, inner_radius: float64, + outer_radius: float64, nsides: int32, rings: int32){.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_draw_torus".} +proc gl_draw_tetrahedron*(solid: gboolean){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_draw_tetrahedron".} +proc gl_draw_octahedron*(solid: gboolean){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_draw_octahedron".} +proc gl_draw_dodecahedron*(solid: gboolean){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_draw_dodecahedron".} +proc gl_draw_icosahedron*(solid: gboolean){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_draw_icosahedron".} +proc gl_draw_teapot*(solid: gboolean, scale: float64){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_draw_teapot".} +proc HEADER_GDKGLEXT_CHECK_VERSION*(major, minor, micro: guint): bool = + result = (HEADER_GDKGLEXT_MAJOR_VERSION > major) or + ((HEADER_GDKGLEXT_MAJOR_VERSION == major) and + (HEADER_GDKGLEXT_MINOR_VERSION > minor)) or + ((HEADER_GDKGLEXT_MAJOR_VERSION == major) and + (HEADER_GDKGLEXT_MINOR_VERSION == minor) and + (HEADER_GDKGLEXT_MICRO_VERSION >= micro)) + +proc TYPE_GL_CONFIG*(): GType = + result = gl_config_get_type() + +proc GL_CONFIG*(anObject: Pointer): PGLConfig = + result = cast[PGLConfig](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_GL_CONFIG())) + +proc GL_CONFIG_CLASS*(klass: Pointer): PGLConfigClass = + result = cast[PGLConfigClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_GL_CONFIG())) + +proc IS_GL_CONFIG*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_GL_CONFIG()) + +proc IS_GL_CONFIG_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_GL_CONFIG()) + +proc GL_CONFIG_GET_CLASS*(obj: Pointer): PGLConfigClass = + result = cast[PGLConfigClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_GL_CONFIG())) + +proc TYPE_GL_CONTEXT*(): GType = + result = gl_context_get_type() + +proc GL_CONTEXT*(anObject: Pointer): PGLContext = + result = cast[PGLContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, + TYPE_GL_CONTEXT())) + +proc GL_CONTEXT_CLASS*(klass: Pointer): PGLContextClass = + result = cast[PGLContextClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_GL_CONTEXT())) + +proc IS_GL_CONTEXT*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_GL_CONTEXT()) + +proc IS_GL_CONTEXT_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_GL_CONTEXT()) + +proc GL_CONTEXT_GET_CLASS*(obj: Pointer): PGLContextClass = + result = cast[PGLContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_GL_CONTEXT())) + +proc TYPE_GL_DRAWABLE*(): GType = + result = gl_drawable_get_type() + +proc GL_DRAWABLE*(inst: Pointer): PGLDrawable = + result = cast[PGLDrawable](G_TYPE_CHECK_INSTANCE_CAST(inst, TYPE_GL_DRAWABLE())) + +proc GL_DRAWABLE_CLASS*(vtable: Pointer): PGLDrawableClass = + result = cast[PGLDrawableClass](G_TYPE_CHECK_CLASS_CAST(vtable, + TYPE_GL_DRAWABLE())) + +proc IS_GL_DRAWABLE*(inst: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(inst, TYPE_GL_DRAWABLE()) + +proc IS_GL_DRAWABLE_CLASS*(vtable: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(vtable, TYPE_GL_DRAWABLE()) + +proc GL_DRAWABLE_GET_CLASS*(inst: Pointer): PGLDrawableClass = + result = cast[PGLDrawableClass](G_TYPE_INSTANCE_GET_INTERFACE(inst, + TYPE_GL_DRAWABLE())) + +proc TYPE_GL_PIXMAP*(): GType = + result = gl_pixmap_get_type() + +proc GL_PIXMAP*(anObject: Pointer): PGLPixmap = + result = cast[PGLPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_GL_PIXMAP())) + +proc GL_PIXMAP_CLASS*(klass: Pointer): PGLPixmapClass = + result = cast[PGLPixmapClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_GL_PIXMAP())) + +proc IS_GL_PIXMAP*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_GL_PIXMAP()) + +proc IS_GL_PIXMAP_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_GL_PIXMAP()) + +proc GL_PIXMAP_GET_CLASS*(obj: Pointer): PGLPixmapClass = + result = cast[PGLPixmapClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_GL_PIXMAP())) + +proc get_gl_drawable*(pixmap: PPixmap): PGLDrawable = + result = GL_DRAWABLE(get_gl_pixmap(pixmap)) + +proc TYPE_GL_WINDOW*(): GType = + result = gl_window_get_type() + +proc GL_WINDOW*(anObject: Pointer): PGLWindow = + result = cast[PGLWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_GL_WINDOW())) + +proc GL_WINDOW_CLASS*(klass: Pointer): PGLWindowClass = + result = cast[PGLWindowClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_GL_WINDOW())) + +proc IS_GL_WINDOW*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_GL_WINDOW()) + +proc IS_GL_WINDOW_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_GL_WINDOW()) + +proc GL_WINDOW_GET_CLASS*(obj: Pointer): PGLWindowClass = + result = cast[PGLWindowClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_GL_WINDOW())) + +proc get_gl_drawable*(window: PWindow): PGLDrawable = + result = GL_DRAWABLE(get_gl_window(window)) diff --git a/lib/wrappers/gtk/gtkglext.nim b/lib/wrappers/gtk/gtkglext.nim new file mode 100755 index 000000000..b6c832a65 --- /dev/null +++ b/lib/wrappers/gtk/gtkglext.nim @@ -0,0 +1,46 @@ +{.deadCodeElim: on.} +import + Glib2, Gdk2, gtk2, GdkGLExt + +const + GLExtLib* = if defined(WIN32): "libgtkglext-win32-1.0-0.dll" else: "libgtkglext-x11-1.0.so" + +const + HEADER_GTKGLEXT_MAJOR_VERSION* = 1 + HEADER_GTKGLEXT_MINOR_VERSION* = 0 + HEADER_GTKGLEXT_MICRO_VERSION* = 6 + HEADER_GTKGLEXT_INTERFACE_AGE* = 4 + HEADER_GTKGLEXT_BINARY_AGE* = 6 + +proc gl_parse_args*(argc: ptr int32, argv: PPPChar): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gtk_gl_parse_args".} +proc gl_init_check*(argc: ptr int32, argv: PPPChar): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gtk_gl_init_check".} +proc gl_init*(argc: ptr int32, argv: PPPChar){.cdecl, dynlib: GLExtLib, + importc: "gtk_gl_init".} +proc set_gl_capability*(widget: PWidget, glconfig: PGLConfig, + share_list: PGLContext, direct: gboolean, + render_type: int): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gtk_widget_set_gl_capability".} +proc is_gl_capable*(widget: PWidget): gboolean{.cdecl, dynlib: GLExtLib, + importc: "gtk_widget_is_gl_capable".} +proc get_gl_config*(widget: PWidget): PGLConfig{.cdecl, + dynlib: GLExtLib, importc: "gtk_widget_get_gl_config".} +proc create_gl_context*(widget: PWidget, share_list: PGLContext, + direct: gboolean, render_type: int): PGLContext{. + cdecl, dynlib: GLExtLib, importc: "gtk_widget_create_gl_context".} +proc get_gl_context*(widget: PWidget): PGLContext{.cdecl, + dynlib: GLExtLib, importc: "gtk_widget_get_gl_context".} +proc get_gl_window*(widget: PWidget): PGLWindow{.cdecl, + dynlib: GLExtLib, importc: "gtk_widget_get_gl_window".} + +proc HEADER_GTKGLEXT_CHECK_VERSION*(major, minor, micro: guint): bool = + result = (HEADER_GTKGLEXT_MAJOR_VERSION > major) or + ((HEADER_GTKGLEXT_MAJOR_VERSION == major) and + (HEADER_GTKGLEXT_MINOR_VERSION > minor)) or + ((HEADER_GTKGLEXT_MAJOR_VERSION == major) and + (HEADER_GTKGLEXT_MINOR_VERSION == minor) and + (HEADER_GTKGLEXT_MICRO_VERSION >= micro)) + +proc get_gl_drawable*(widget: PWidget): PGLDrawable = + result = GL_DRAWABLE(get_gl_window(widget)) diff --git a/lib/wrappers/gtk/gtkhtml.nim b/lib/wrappers/gtk/gtkhtml.nim new file mode 100755 index 000000000..291913b8e --- /dev/null +++ b/lib/wrappers/gtk/gtkhtml.nim @@ -0,0 +1,521 @@ +{.deadCodeElim: on.} +import + gtk2, glib2, atk, pango, gdk2pixbuf, gdk2 + +when defined(windows): + {.define: WINDOWING_WIN32.} + const + htmllib = "libgtkhtml-win32-2.0-0.dll" +else: + const + htmllib = "libgtkhtml-2.so" +const + DOM_UNSPECIFIED_EVENT_TYPE_ERR* = 0 + DOM_INDEX_SIZE_ERR* = 1 + DOM_DOMSTRING_SIZE_ERR* = 2 + DOM_HIERARCHY_REQUEST_ERR* = 3 + DOM_WRONG_DOCUMENT_ERR* = 4 + DOM_INVALID_CHARACTER_ERR* = 5 + DOM_NO_DATA_ALLOWED_ERR* = 6 + DOM_NO_MODIFICATION_ALLOWED_ERR* = 7 + DOM_NOT_FOUND_ERR* = 8 + DOM_NOT_SUPPORTED_ERR* = 9 + DOM_INUSE_ATTRIBUTE_ERR* = 10 + DOM_INVALID_STATE_ERR* = 11 + DOM_SYNTAX_ERR* = 12 + DOM_INVALID_MODIFICATION_ERR* = 13 + DOM_NAMESPACE_ERR* = 14 + DOM_INVALID_ACCESS_ERR* = 15 + DOM_NO_EXCEPTION* = 255 + DOM_ELEMENT_NODE* = 1 + DOM_ATTRIBUTE_NODE* = 2 + DOM_TEXT_NODE* = 3 + DOM_CDATA_SECTION_NODE* = 4 + DOM_ENTITY_REFERENCE_NODE* = 5 + DOM_ENTITY_NODE* = 6 + DOM_PROCESSING_INSTRUCTION_NODE* = 7 + DOM_COMMENT_NODE* = 8 + DOM_DOCUMENT_NODE* = 9 + DOM_DOCUMENT_TYPE_NODE* = 10 + DOM_DOCUMENT_FRAGMENT_NODE* = 11 + DOM_NOTATION_NODE* = 12 + bm_HtmlFontSpecification_weight* = 0x0000000F + bp_HtmlFontSpecification_weight* = 0 + bm_HtmlFontSpecification_style* = 0x00000030 + bp_HtmlFontSpecification_style* = 4 + bm_HtmlFontSpecification_variant* = 0x000000C0 + bp_HtmlFontSpecification_variant* = 6 + bm_HtmlFontSpecification_stretch* = 0x00000F00 + bp_HtmlFontSpecification_stretch* = 8 + bm_HtmlFontSpecification_decoration* = 0x00007000 + bp_HtmlFontSpecification_decoration* = 12 + +type + TDomString* = gchar + PDomString* = cstring + TDomBoolean* = gboolean + TDomException* = gushort + TDomTimeStamp* = guint64 + PDomNode* = ptr TDomNode + TDomNode* = object of TGObject + xmlnode*: pointer + style*: pointer + + PDomException* = ptr TDomException + + PDomNodeClass* = ptr TDomNodeClass + TDomNodeClass* = object of TGObjectClass + `get_nodeName`*: proc (node: PDomNode): PDomString{.cdecl.} + `get_nodeValue`*: proc (node: PDomNode, exc: PDomException): PDomString{. + cdecl.} + `set_nodeValue`*: proc (node: PDomNode, value: PDomString, + exc: PDomException): PDomString{.cdecl.} + + PDomDocument* = ptr TDomDocument + TDomDocument*{.final, pure.} = object + parent*: PDomNode + iterators*: PGSList + + PDomDocumentClass* = ptr TDomDocumentClass + TDomDocumentClass*{.final, pure.} = object + parent_class*: PDomNodeClass + + PHtmlFocusIterator* = ptr THtmlFocusIterator + THtmlFocusIterator* = object of TGObject + document*: PDomDocument + current_node*: PDomNode + + PHtmlFocusIteratorClass* = ptr THtmlFocusIteratorClass + THtmlFocusIteratorClass* = object of TGObjectClass + THtmlParserType* = enum + HTML_PARSER_TYPE_HTML, HTML_PARSER_TYPE_XML + PHtmlParser* = ptr THtmlParser + THtmlParser* = object of TGObject + parser_type*: THtmlParserType + document*: PHtmlDocument + stream*: PHtmlStream + xmlctxt*: pointer + res*: int32 + chars*: array[0..9, char] + blocking*: gboolean + blocking_node*: PDomNode + + PHtmlParserClass* = ptr THtmlParserClass + THtmlParserClass* = object of gtk2.TObjectClass + done_parsing*: proc (parser: PHtmlParser){.cdecl.} + new_node*: proc (parser: PHtmlParser, node: PDomNode) + parsed_document_node*: proc (parser: PHtmlParser, document: PDomDocument) + + PHtmlStream* = ptr THtmlStream + THtmlStreamCloseFunc* = proc (stream: PHtmlStream, user_data: gpointer){.cdecl.} + THtmlStreamWriteFunc* = proc (stream: PHtmlStream, buffer: cstring, + size: guint, user_data: gpointer){.cdecl.} + THtmlStreamCancelFunc* = proc (stream: PHtmlStream, user_data: gpointer, + cancel_data: gpointer){.cdecl.} + THtmlStream* = object of TGObject + write_func*: THtmlStreamWriteFunc + close_func*: THtmlStreamCloseFunc + cancel_func*: THtmlStreamCancelFunc + user_data*: gpointer + cancel_data*: gpointer + written*: gint + mime_type*: cstring + + PHtmlStreamClass* = ptr THtmlStreamClass + THtmlStreamClass* = object of TGObjectClass + THtmlStreamBufferCloseFunc* = proc (str: cstring, len: gint, + user_data: gpointer){.cdecl.} + PHtmlContext* = ptr THtmlContext + THtmlContext* = object of TGObject + documents*: PGSList + standard_font*: PHtmlFontSpecification + fixed_font*: PHtmlFontSpecification + debug_painting*: gboolean + + PHtmlFontSpecification* = ptr THtmlFontSpecification + THtmlFontSpecification {.final, pure.} = object + + PHtmlContextClass* = ptr THtmlContextClass + THtmlContextClass* = object of TGObjectClass + THtmlDocumentState* = enum + HTML_DOCUMENT_STATE_DONE, HTML_DOCUMENT_STATE_PARSING + PHtmlDocument* = ptr THtmlDocument + THtmlDocument* = object of TGObject + stylesheets*: PGSList + current_stream*: PHtmlStream + state*: THtmlDocumentState + + PHtmlDocumentClass* = ptr THtmlDocumentClass + THtmlDocumentClass* = object of TGObjectClass + request_url*: proc (document: PHtmlDocument, url: cstring, + stream: PHtmlStream){.cdecl.} + link_clicked*: proc (document: PHtmlDocument, url: cstring){.cdecl.} + set_base*: proc (document: PHtmlDocument, url: cstring){.cdecl.} + title_changed*: proc (document: PHtmlDocument, new_title: cstring){.cdecl.} + submit*: proc (document: PHtmlDocument, `method`: cstring, url: cstring, + encoding: cstring){.cdecl.} + + PHtmlView* = ptr THtmlView + THtmlView* = object of gtk2.TLayout + document*: PHtmlDocument + node_table*: PGHashTable + relayout_idle_id*: guint + relayout_timeout_id*: guint + mouse_down_x*: gint + mouse_down_y*: gint + mouse_detail*: gint + sel_start_ypos*: gint + sel_start_index*: gint + sel_end_ypos*: gint + sel_end_index*: gint + sel_flag*: gboolean + sel_backwards*: gboolean + sel_start_found*: gboolean + sel_list*: PGSList + jump_to_anchor*: cstring + magnification*: gdouble + magnification_modified*: gboolean + on_url*: gboolean + + PHtmlViewClass* = ptr THtmlViewClass + THtmlViewClass* = object of gtk2.TLayoutClass + move_cursor*: proc (html_view: PHtmlView, step: TMovementStep, count: gint, + extend_selection: gboolean){.cdecl.} + on_url*: proc (html_view: PHtmlView, url: cstring) + activate*: proc (html_view: PHtmlView) + move_focus_out*: proc (html_view: PHtmlView, direction: TDirectionType) + + PDomNodeList* = ptr TDomNodeList + TDomNodeList {.pure, final.} = object + + PDomNamedNodeMap* = ptr TDomNamedNodeMap + TDomNamedNodeMap {.pure, final.} = object + + PDomDocumentType* = ptr TDomDocumentType + TDomDocumentType {.pure, final.} = object + + PDomElement* = ptr TDomElement + TDomElement = object of TDomNode + + PDomText* = ptr TDomText + TDomText = object of TDomNode + + PDomComment* = ptr TDomComment + TDomComment = object of TDomNode + + THtmlBox {.pure, final.} = object + PHtmlBox* = ptr THtmlBox + + +proc DOM_TYPE_NODE*(): GType +proc DOM_NODE*(theobject: pointer): PDomNode +proc DOM_NODE_CLASS*(klass: pointer): PDomNodeClass +proc DOM_IS_NODE*(theobject: pointer): bool +proc DOM_IS_NODE_CLASS*(klass: pointer): bool +proc DOM_NODE_GET_CLASS*(obj: pointer): int32 +proc dom_node_get_type*(): GType{.cdecl, dynlib: htmllib, + importc: "dom_node_get_type".} +proc dom_Node_mkref*(node: pointer): PDomNode{.cdecl, dynlib: htmllib, + importc: "dom_Node_mkref".} +proc get_childNodes*(node: PDomNode): PDomNodeList{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_childNodes".} +proc removeChild*(node: PDomNode, oldChild: PDomNode, + exc: PDomException): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node_removeChild".} +proc get_nodeValue*(node: PDomNode, exc: PDomException): PDomString{. + cdecl, dynlib: htmllib, importc: "dom_Node__get_nodeValue".} +proc get_firstChild*(node: PDomNode): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_firstChild".} +proc get_nodeName*(node: PDomNode): PDomString{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_nodeName".} +proc get_attributes*(node: PDomNode): PDomNamedNodeMap{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_attributes".} +proc get_doctype*(doc: PDomDocument): PDomDocumentType{.cdecl, + dynlib: htmllib, importc: "dom_Document__get_doctype".} +proc hasChildNodes*(node: PDomNode): bool{.cdecl, + dynlib: htmllib, importc: "dom_Node_hasChildNodes".} +proc get_parentNode*(node: PDomNode): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_parentNode".} +proc get_nextSibling*(node: PDomNode): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_nextSibling".} +proc get_nodeType*(node: PDomNode): gushort{.cdecl, dynlib: htmllib, + importc: "dom_Node__get_nodeType".} + +proc cloneNode*(node: PDomNode, deep: bool): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node_cloneNode".} +proc appendChild*(node: PDomNode, newChild: PDomNode, + exc: PDomException): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node_appendChild".} +proc get_localName*(node: PDomNode): PDomString{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_localName".} +proc get_namespaceURI*(node: PDomNode): PDomString{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_namespaceURI".} +proc get_previousSibling*(node: PDomNode): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_previousSibling".} +proc get_lastChild*(node: PDomNode): PDomNode{.cdecl, dynlib: htmllib, + importc: "dom_Node__get_lastChild".} +proc set_nodeValue*(node: PDomNode, value: PDomString, + exc: PDomException){.cdecl, dynlib: htmllib, + importc: "dom_Node__set_nodeValue".} +proc get_ownerDocument*(node: PDomNode): PDomDocument{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_ownerDocument".} +proc hasAttributes*(node: PDomNode): gboolean{.cdecl, dynlib: htmllib, + importc: "dom_Node_hasAttributes".} +proc DOM_TYPE_DOCUMENT*(): GType +proc DOM_DOCUMENT*(theobject: pointer): PDomDocument +proc DOM_DOCUMENT_CLASS*(klass: pointer): PDomDocumentClass +proc DOM_IS_DOCUMENT*(theobject: pointer): bool +proc DOM_IS_DOCUMENT_CLASS*(klass: pointer): bool +proc DOM_DOCUMENT_GET_CLASS*(obj: pointer): PDomDocumentClass +proc dom_document_get_type*(): GType +proc get_documentElement*(doc: PDomDocument): PDomElement +proc createElement*(doc: PDomDocument, tagName: PDomString): PDomElement +proc createTextNode*(doc: PDomDocument, data: PDomString): PDomText +proc createComment*(doc: PDomDocument, data: PDomString): PDomComment +proc importNode*(doc: PDomDocument, importedNode: PDomNode, + deep: bool, exc: PDomException): PDomNode +proc HTML_TYPE_FOCUS_ITERATOR*(): GType +proc HTML_FOCUS_ITERATOR*(theobject: pointer): PHtmlFocusIterator +proc HTML_FOCUS_ITERATOR_CLASS*(klass: pointer): PHtmlFocusIteratorClass +proc HTML_IS_FOCUS_ITERATOR*(theobject: pointer): bool +proc HTML_IS_FOCUS_ITERATOR_CLASS*(klass: pointer): bool +proc HTML_FOCUS_ITERATOR_GET_CLASS*(obj: pointer): PHtmlFocusIteratorClass +proc html_focus_iterator_next_element*(document: PDomDocument, + element: PDomElement): PDomElement{. + cdecl, dynlib: htmllib, importc: "html_focus_iterator_next_element".} +proc html_focus_iterator_prev_element*(document: PDomDocument, + element: PDomElement): PDomElement{. + cdecl, dynlib: htmllib, importc: "html_focus_iterator_prev_element".} +proc HTML_PARSER_TYPE*(): GType +proc HTML_PARSER*(obj: pointer): PHtmlParser +proc HTML_PARSER_CLASS*(klass: pointer): PHtmlParserClass +proc HTML_IS_PARSER*(obj: pointer): bool +proc html_parser_get_type*(): GType +proc parser_new*(document: PHtmlDocument, parser_type: THtmlParserType): PHtmlParser +proc HTML_TYPE_STREAM*(): GType +proc HTML_STREAM*(obj: pointer): PHtmlStream +proc HTML_STREAM_CLASS*(klass: pointer): PHtmlStreamClass +proc HTML_IS_STREAM*(obj: pointer): bool +proc HTML_IS_STREAM_CLASS*(klass: pointer): bool +proc HTML_STREAM_GET_CLASS*(obj: pointer): PHtmlStreamClass +proc html_stream_get_type*(): GType{.cdecl, dynlib: htmllib, + importc: "html_stream_get_type".} +proc html_stream_new*(write_func: THtmlStreamWriteFunc, + close_func: THtmlStreamCloseFunc, user_data: gpointer): PHtmlStream{. + cdecl, dynlib: htmllib, importc: "html_stream_new".} +proc write*(stream: PHtmlStream, buffer: cstring, size: guint){. + cdecl, dynlib: htmllib, importc: "html_stream_write".} +proc close*(stream: PHtmlStream){.cdecl, dynlib: htmllib, + importc: "html_stream_close".} +proc destroy*(stream: PHtmlStream){.cdecl, dynlib: htmllib, + importc: "html_stream_destroy".} +proc get_written*(stream: PHtmlStream): gint{.cdecl, + dynlib: htmllib, importc: "html_stream_get_written".} +proc cancel*(stream: PHtmlStream){.cdecl, dynlib: htmllib, + importc: "html_stream_cancel".} +proc set_cancel_func*(stream: PHtmlStream, + abort_func: THtmlStreamCancelFunc, + cancel_data: gpointer){.cdecl, + dynlib: htmllib, importc: "html_stream_set_cancel_func".} +proc get_mime_type*(stream: PHtmlStream): cstring{.cdecl, + dynlib: htmllib, importc: "html_stream_get_mime_type".} +proc set_mime_type*(stream: PHtmlStream, mime_type: cstring){.cdecl, + dynlib: htmllib, importc: "html_stream_set_mime_type".} +proc html_stream_buffer_new*(close_func: THtmlStreamBufferCloseFunc, + user_data: gpointer): PHtmlStream{.cdecl, + dynlib: htmllib, importc: "html_stream_buffer_new".} +proc event_mouse_move*(view: PHtmlView, event: Gdk2.PEventMotion){.cdecl, + dynlib: htmllib, importc: "html_event_mouse_move".} +proc event_button_press*(view: PHtmlView, button: Gdk2.PEventButton){.cdecl, + dynlib: htmllib, importc: "html_event_button_press".} +proc event_button_release*(view: PHtmlView, event: Gdk2.PEventButton){.cdecl, + dynlib: htmllib, importc: "html_event_button_release".} +proc event_activate*(view: PHtmlView){.cdecl, dynlib: htmllib, + importc: "html_event_activate".} +proc event_key_press*(view: PHtmlView, event: Gdk2.PEventKey): gboolean{. + cdecl, dynlib: htmllib, importc: "html_event_key_press".} +proc event_find_root_box*(self: PHtmlBox, x: gint, y: gint): PHtmlBox{. + cdecl, dynlib: htmllib, importc: "html_event_find_root_box".} +proc selection_start*(view: PHtmlView, event: Gdk2.PEventButton){.cdecl, + dynlib: htmllib, importc: "html_selection_start".} +proc selection_end*(view: PHtmlView, event: Gdk2.PEventButton){.cdecl, + dynlib: htmllib, importc: "html_selection_end".} +proc selection_update*(view: PHtmlView, event: Gdk2.PEventMotion){.cdecl, + dynlib: htmllib, importc: "html_selection_update".} +proc selection_clear*(view: PHtmlView){.cdecl, dynlib: htmllib, + importc: "html_selection_clear".} +proc selection_set*(view: PHtmlView, start: PDomNode, offset: int32, + len: int32){.cdecl, dynlib: htmllib, + importc: "html_selection_set".} +proc HTML_CONTEXT_TYPE*(): GType +proc HTML_CONTEXT*(obj: pointer): PHtmlContext +proc HTML_CONTEXT_CLASS*(klass: pointer): PHtmlContextClass +proc HTML_IS_CONTEXT*(obj: pointer): bool +proc HTML_IS_CONTEXT_CLASS*(klass: pointer): bool +proc html_context_get_type*(): GType +proc html_context_get*(): PHtmlContext +proc HTML_TYPE_DOCUMENT*(): GType +proc HTML_DOCUMENT*(obj: pointer): PHtmlDocument +proc HTML_DOCUMENT_CLASS*(klass: pointer): PHtmlDocumentClass +proc HTML_IS_DOCUMENT*(obj: pointer): bool +proc html_document_get_type*(): GType{.cdecl, dynlib: htmllib, + importc: "html_document_get_type".} +proc html_document_new*(): PHtmlDocument{.cdecl, dynlib: htmllib, + importc: "html_document_new".} +proc open_stream*(document: PHtmlDocument, mime_type: cstring): gboolean{. + cdecl, dynlib: htmllib, importc: "html_document_open_stream".} +proc write_stream*(document: PHtmlDocument, buffer: cstring, + len: gint){.cdecl, dynlib: htmllib, + importc: "html_document_write_stream".} +proc close_stream*(document: PHtmlDocument){.cdecl, + dynlib: htmllib, importc: "html_document_close_stream".} +proc clear*(document: PHtmlDocument){.cdecl, dynlib: htmllib, + importc: "html_document_clear".} +proc HTML_TYPE_VIEW*(): GType +proc HTML_VIEW*(obj: pointer): PHtmlView +proc HTML_VIEW_CLASS*(klass: pointer): PHtmlViewClass +proc HTML_IS_VIEW*(obj: pointer): bool +proc html_view_get_type*(): GType{.cdecl, dynlib: htmllib, + importc: "html_view_get_type".} +proc html_view_new*(): PWidget{.cdecl, dynlib: htmllib, importc: "html_view_new".} +proc set_document*(view: PHtmlView, document: PHtmlDocument){.cdecl, + dynlib: htmllib, importc: "html_view_set_document".} +proc jump_to_anchor*(view: PHtmlView, anchor: cstring){.cdecl, + dynlib: htmllib, importc: "html_view_jump_to_anchor".} +proc get_magnification*(view: PHtmlView): gdouble{.cdecl, + dynlib: htmllib, importc: "html_view_get_magnification".} +proc set_magnification*(view: PHtmlView, magnification: gdouble){. + cdecl, dynlib: htmllib, importc: "html_view_set_magnification".} +proc zoom_in*(view: PHtmlView){.cdecl, dynlib: htmllib, + importc: "html_view_zoom_in".} +proc zoom_out*(view: PHtmlView){.cdecl, dynlib: htmllib, + importc: "html_view_zoom_out".} +proc zoom_reset*(view: PHtmlView){.cdecl, dynlib: htmllib, + importc: "html_view_zoom_reset".} + +proc DOM_TYPE_NODE*(): GType = + result = dom_node_get_type() + +proc DOM_NODE*(theobject: pointer): PDomNode = + result = G_TYPE_CHECK_INSTANCE_CAST(theobject, DOM_TYPE_NODE()) + +proc DOM_NODE_CLASS*(klass: pointer): PDomNodeClass = + result = G_TYPE_CHECK_CLASS_CAST(klass, DOM_TYPE_NODE(), TDomNodeClass) + +proc DOM_IS_NODE*(theobject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(theobject, DOM_TYPE_NODE()) + +proc DOM_IS_NODE_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, DOM_TYPE_NODE()) + +proc DOM_NODE_GET_CLASS*(obj: pointer): PDomNodeClass = + result = G_TYPE_INSTANCE_GET_CLASS(obj, DOM_TYPE_NODE(), TDomNodeClass) + +proc DOM_TYPE_DOCUMENT*(): GType = + result = dom_document_get_type() + +proc DOM_DOCUMENT*(theobject: pointer): PDomDocument = + result = G_TYPE_CHECK_INSTANCE_CAST(theobject, DOM_TYPE_DOCUMENT(), + TDomDocument) + +proc DOM_DOCUMENT_CLASS*(klass: pointer): PDomDocumentClass = + result = G_TYPE_CHECK_CLASS_CAST(klass, DOM_TYPE_DOCUMENT(), TDomDocumentClass) + +proc DOM_IS_DOCUMENT*(theobject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(theobject, DOM_TYPE_DOCUMENT()) + +proc DOM_IS_DOCUMENT_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, DOM_TYPE_DOCUMENT()) + +proc DOM_DOCUMENT_GET_CLASS*(obj: pointer): PDomDocumentClass = + result = G_TYPE_INSTANCE_GET_CLASS(obj, DOM_TYPE_DOCUMENT(), TDomDocumentClass) + +proc HTML_TYPE_FOCUS_ITERATOR*(): GType = + result = html_focus_iterator_get_type() + +proc HTML_FOCUS_ITERATOR*(theobject: pointer): PHtmlFocusIterator = + result = G_TYPE_CHECK_INSTANCE_CAST(theobject, HTML_TYPE_FOCUS_ITERATOR(), + HtmlFocusIterator) + +proc HTML_FOCUS_ITERATOR_CLASS*(klass: pointer): PHtmlFocusIteratorClass = + result = G_TYPE_CHECK_CLASS_CAST(klass, HTML_TYPE_FOCUS_ITERATOR(), + HtmlFocusIteratorClass) + +proc HTML_IS_FOCUS_ITERATOR*(theobject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(theobject, HTML_TYPE_FOCUS_ITERATOR()) + +proc HTML_IS_FOCUS_ITERATOR_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, HTML_TYPE_FOCUS_ITERATOR()) + +proc HTML_FOCUS_ITERATOR_GET_CLASS*(obj: pointer): PHtmlFocusIteratorClass = + result = G_TYPE_INSTANCE_GET_CLASS(obj, HTML_TYPE_FOCUS_ITERATOR(), + HtmlFocusIteratorClass) + +proc HTML_PARSER_TYPE*(): GType = + result = html_parser_get_type() + +proc HTML_PARSER*(obj: pointer): PHtmlParser = + result = CHECK_CAST(obj, HTML_PARSER_TYPE(), THtmlParser) + +proc HTML_PARSER_CLASS*(klass: pointer): PHtmlParserClass = + result = CHECK_CLASS_CAST(klass, HTML_PARSER_TYPE(), THtmlParserClass) + +proc HTML_IS_PARSER*(obj: pointer): bool = + result = CHECK_TYPE(obj, HTML_PARSER_TYPE()) + +proc HTML_TYPE_STREAM*(): GType = + result = html_stream_get_type() + +proc HTML_STREAM*(obj: pointer): PHtmlStream = + result = PHtmlStream(G_TYPE_CHECK_INSTANCE_CAST(obj, HTML_TYPE_STREAM())) + +proc HTML_STREAM_CLASS*(klass: pointer): PHtmlStreamClass = + result = G_TYPE_CHECK_CLASS_CAST(klass, HTML_TYPE_STREAM()) + +proc HTML_IS_STREAM*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, HTML_TYPE_STREAM()) + +proc HTML_IS_STREAM_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, HTML_TYPE_STREAM()) + +proc HTML_STREAM_GET_CLASS*(obj: pointer): PHtmlStreamClass = + result = PHtmlStreamClass(G_TYPE_INSTANCE_GET_CLASS(obj, HTML_TYPE_STREAM())) + +proc HTML_CONTEXT_TYPE*(): GType = + result = html_context_get_type() + +proc HTML_CONTEXT*(obj: pointer): PHtmlContext = + result = CHECK_CAST(obj, HTML_CONTEXT_TYPE(), THtmlContext) + +proc HTML_CONTEXT_CLASS*(klass: pointer): PHtmlContextClass = + result = CHECK_CLASS_CAST(klass, HTML_CONTEXT_TYPE(), THtmlContextClass) + +proc HTML_IS_CONTEXT*(obj: pointer): bool = + result = CHECK_TYPE(obj, HTML_CONTEXT_TYPE()) + +proc HTML_IS_CONTEXT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, HTML_CONTEXT_TYPE()) + +proc HTML_TYPE_DOCUMENT*(): GType = + result = html_document_get_type() + +proc HTML_DOCUMENT*(obj: pointer): PHtmlDocument = + result = PHtmlDocument(CHECK_CAST(obj, HTML_TYPE_DOCUMENT())) + +proc HTML_DOCUMENT_CLASS*(klass: pointer): PHtmlDocumentClass = + result = CHECK_CLASS_CAST(klass, HTML_TYPE_DOCUMENT()) + +proc HTML_IS_DOCUMENT*(obj: pointer): bool = + result = CHECK_TYPE(obj, HTML_TYPE_DOCUMENT()) + +proc HTML_TYPE_VIEW*(): GType = + result = html_view_get_type() + +proc HTML_VIEW*(obj: pointer): PHtmlView = + result = PHtmlView(CHECK_CAST(obj, HTML_TYPE_VIEW())) + +proc HTML_VIEW_CLASS*(klass: pointer): PHtmlViewClass = + result = PHtmlViewClass(CHECK_CLASS_CAST(klass, HTML_TYPE_VIEW())) + +proc HTML_IS_VIEW*(obj: pointer): bool = + result = CHECK_TYPE(obj, HTML_TYPE_VIEW()) diff --git a/lib/wrappers/gtk/pangoutils.nim b/lib/wrappers/gtk/pangoutils.nim new file mode 100755 index 000000000..240273b11 --- /dev/null +++ b/lib/wrappers/gtk/pangoutils.nim @@ -0,0 +1,42 @@ +{.deadCodeElim: on.} +import + glib2, pango + +proc split_file_list*(str: cstring): PPchar{.cdecl, dynlib: lib, + importc: "pango_split_file_list".} +proc trim_string*(str: cstring): cstring{.cdecl, dynlib: lib, + importc: "pango_trim_string".} +proc read_line*(stream: TFile, str: PGString): gint{.cdecl, dynlib: lib, + importc: "pango_read_line".} +proc skip_space*(pos: PPchar): gboolean{.cdecl, dynlib: lib, + importc: "pango_skip_space".} +proc scan_word*(pos: PPchar, OutStr: PGString): gboolean{.cdecl, dynlib: lib, + importc: "pango_scan_word".} +proc scan_string*(pos: PPchar, OutStr: PGString): gboolean{.cdecl, dynlib: lib, + importc: "pango_scan_string".} +proc scan_int*(pos: PPchar, OutInt: ptr int32): gboolean{.cdecl, dynlib: lib, + importc: "pango_scan_int".} +proc config_key_get*(key: cstring): cstring{.cdecl, dynlib: lib, + importc: "pango_config_key_get".} +proc lookup_aliases*(fontname: cstring, families: PPPchar, n_families: ptr int32){. + cdecl, dynlib: lib, importc: "pango_lookup_aliases".} +proc parse_style*(str: cstring, style: PStyle, warn: gboolean): gboolean{.cdecl, + dynlib: lib, importc: "pango_parse_style".} +proc parse_variant*(str: cstring, variant: PVariant, warn: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "pango_parse_variant".} +proc parse_weight*(str: cstring, weight: PWeight, warn: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "pango_parse_weight".} +proc parse_stretch*(str: cstring, stretch: PStretch, warn: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "pango_parse_stretch".} +proc get_sysconf_subdirectory*(): cstring{.cdecl, dynlib: lib, + importc: "pango_get_sysconf_subdirectory".} +proc get_lib_subdirectory*(): cstring{.cdecl, dynlib: lib, + importc: "pango_get_lib_subdirectory".} +proc log2vis_get_embedding_levels*(str: Pgunichar, len: int32, + pbase_dir: PDirection, + embedding_level_list: Pguint8): gboolean{. + cdecl, dynlib: lib, importc: "pango_log2vis_get_embedding_levels".} +proc get_mirror_char*(ch: gunichar, mirrored_ch: Pgunichar): gboolean{.cdecl, + dynlib: lib, importc: "pango_get_mirror_char".} +proc get_sample_string*(language: PLanguage): cstring{.cdecl, + dynlib: lib, importc: "pango_language_get_sample_string".} |