diff options
Diffstat (limited to 'lib/newwrap/gtk')
-rw-r--r-- | lib/newwrap/gtk/atk.nim | 1305 | ||||
-rw-r--r-- | lib/newwrap/gtk/gdk2.nim | 3869 | ||||
-rw-r--r-- | lib/newwrap/gtk/gdk2pixbuf.nim | 271 | ||||
-rw-r--r-- | lib/newwrap/gtk/gdkglext.nim | 551 | ||||
-rw-r--r-- | lib/newwrap/gtk/glib2.nim | 4500 | ||||
-rw-r--r-- | lib/newwrap/gtk/gtk2.nim | 16883 | ||||
-rw-r--r-- | lib/newwrap/gtk/gtkglext.nim | 48 | ||||
-rw-r--r-- | lib/newwrap/gtk/gtkhtml.nim | 494 | ||||
-rw-r--r-- | lib/newwrap/gtk/libglade2.nim | 111 | ||||
-rw-r--r-- | lib/newwrap/gtk/pango.nim | 1183 | ||||
-rw-r--r-- | lib/newwrap/gtk/pangoutils.nim | 45 |
11 files changed, 29260 insertions, 0 deletions
diff --git a/lib/newwrap/gtk/atk.nim b/lib/newwrap/gtk/atk.nim new file mode 100644 index 000000000..9c0a1cb86 --- /dev/null +++ b/lib/newwrap/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 implementor_ref_accessible*(implementor: PImplementor): PObject{.cdecl, + dynlib: lib, importc: "atk_implementor_ref_accessible".} +proc object_get_name*(accessible: PObject): cstring{.cdecl, dynlib: lib, + importc: "atk_object_get_name".} +proc object_get_description*(accessible: PObject): cstring{.cdecl, dynlib: lib, + importc: "atk_object_get_description".} +proc object_get_parent*(accessible: PObject): PObject{.cdecl, dynlib: lib, + importc: "atk_object_get_parent".} +proc object_get_n_accessible_children*(accessible: PObject): gint{.cdecl, + dynlib: lib, importc: "atk_object_get_n_accessible_children".} +proc object_ref_accessible_child*(accessible: PObject, i: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_object_ref_accessible_child".} +proc object_ref_relation_set*(accessible: PObject): PRelationSet{.cdecl, + dynlib: lib, importc: "atk_object_ref_relation_set".} +proc object_get_role*(accessible: PObject): TRole{.cdecl, dynlib: lib, + importc: "atk_object_get_role".} +proc object_get_layer*(accessible: PObject): TLayer{.cdecl, dynlib: lib, + importc: "atk_object_get_layer".} +proc object_get_mdi_zorder*(accessible: PObject): gint{.cdecl, dynlib: lib, + importc: "atk_object_get_mdi_zorder".} +proc object_ref_state_set*(accessible: PObject): PStateSet{.cdecl, dynlib: lib, + importc: "atk_object_ref_state_set".} +proc object_get_index_in_parent*(accessible: PObject): gint{.cdecl, dynlib: lib, + importc: "atk_object_get_index_in_parent".} +proc object_set_name*(accessible: PObject, name: cstring){.cdecl, dynlib: lib, + importc: "atk_object_set_name".} +proc object_set_description*(accessible: PObject, description: cstring){.cdecl, + dynlib: lib, importc: "atk_object_set_description".} +proc object_set_parent*(accessible: PObject, parent: PObject){.cdecl, + dynlib: lib, importc: "atk_object_set_parent".} +proc object_set_role*(accessible: PObject, role: TRole){.cdecl, dynlib: lib, + importc: "atk_object_set_role".} +proc object_connect_property_change_handler*(accessible: PObject, + handler: TPropertyChangeHandler): guint{.cdecl, dynlib: lib, + importc: "atk_object_connect_property_change_handler".} +proc object_remove_property_change_handler*(accessible: PObject, + handler_id: guint){.cdecl, dynlib: lib, + importc: "atk_object_remove_property_change_handler".} +proc object_notify_state_change*(accessible: PObject, state: TState, + value: gboolean){.cdecl, dynlib: lib, + importc: "atk_object_notify_state_change".} +proc object_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 action_do_action*(action: PAction, i: gint): gboolean{.cdecl, dynlib: lib, + importc: "atk_action_do_action".} +proc action_get_n_actions*(action: PAction): gint{.cdecl, dynlib: lib, + importc: "atk_action_get_n_actions".} +proc action_get_description*(action: PAction, i: gint): cstring{.cdecl, + dynlib: lib, importc: "atk_action_get_description".} +proc action_get_name*(action: PAction, i: gint): cstring{.cdecl, dynlib: lib, + importc: "atk_action_get_name".} +proc action_get_keybinding*(action: PAction, i: gint): cstring{.cdecl, + dynlib: lib, importc: "atk_action_get_keybinding".} +proc action_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 component_add_focus_handler*(component: PComponent, handler: TFocusHandler): guint{. + cdecl, dynlib: lib, importc: "atk_component_add_focus_handler".} +proc component_contains*(component: PComponent, x, y: gint, + coord_type: TCoordType): gboolean{.cdecl, dynlib: lib, + importc: "atk_component_contains".} +proc component_ref_accessible_at_point*(component: PComponent, x, y: gint, + coord_type: TCoordType): PObject{.cdecl, + dynlib: lib, importc: "atk_component_ref_accessible_at_point".} +proc component_get_extents*(component: PComponent, x, y, width, height: Pgint, + coord_type: TCoordType){.cdecl, dynlib: lib, + importc: "atk_component_get_extents".} +proc component_get_position*(component: PComponent, x: Pgint, y: Pgint, + coord_type: TCoordType){.cdecl, dynlib: lib, + importc: "atk_component_get_position".} +proc component_get_size*(component: PComponent, width: Pgint, height: Pgint){. + cdecl, dynlib: lib, importc: "atk_component_get_size".} +proc component_get_layer*(component: PComponent): TLayer{.cdecl, dynlib: lib, + importc: "atk_component_get_layer".} +proc component_get_mdi_zorder*(component: PComponent): gint{.cdecl, dynlib: lib, + importc: "atk_component_get_mdi_zorder".} +proc component_grab_focus*(component: PComponent): gboolean{.cdecl, dynlib: lib, + importc: "atk_component_grab_focus".} +proc component_remove_focus_handler*(component: PComponent, handler_id: guint){. + cdecl, dynlib: lib, importc: "atk_component_remove_focus_handler".} +proc component_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 component_set_position*(component: PComponent, x: gint, y: gint, + coord_type: TCoordType): gboolean{.cdecl, + dynlib: lib, importc: "atk_component_set_position".} +proc component_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 document_get_document_type*(document: PDocument): cstring{.cdecl, + dynlib: lib, importc: "atk_document_get_document_type".} +proc document_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 editable_text_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 editable_text_set_text_contents*(text: PEditableText, string: cstring){. + cdecl, dynlib: lib, importc: "atk_editable_text_set_text_contents".} +proc editable_text_insert_text*(text: PEditableText, `string`: cstring, + length: gint, position: Pgint){.cdecl, + dynlib: lib, importc: "atk_editable_text_insert_text".} +proc editable_text_copy_text*(text: PEditableText, start_pos: gint, + end_pos: gint){.cdecl, dynlib: lib, + importc: "atk_editable_text_copy_text".} +proc editable_text_cut_text*(text: PEditableText, start_pos: gint, end_pos: gint){. + cdecl, dynlib: lib, importc: "atk_editable_text_cut_text".} +proc editable_text_delete_text*(text: PEditableText, start_pos: gint, + end_pos: gint){.cdecl, dynlib: lib, + importc: "atk_editable_text_delete_text".} +proc editable_text_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 gobject_accessible_for_object*(obj: PGObject): PObject{.cdecl, dynlib: lib, + importc: "atk_gobject_accessible_for_object".} +proc gobject_accessible_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 hyperlink_get_uri*(link: PHyperlink, i: gint): cstring{.cdecl, dynlib: lib, + importc: "atk_hyperlink_get_uri".} +proc hyperlink_get_object*(link: PHyperlink, i: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_hyperlink_get_object".} +proc hyperlink_get_end_index*(link: PHyperlink): gint{.cdecl, dynlib: lib, + importc: "atk_hyperlink_get_end_index".} +proc hyperlink_get_start_index*(link: PHyperlink): gint{.cdecl, dynlib: lib, + importc: "atk_hyperlink_get_start_index".} +proc hyperlink_is_valid*(link: PHyperlink): gboolean{.cdecl, dynlib: lib, + importc: "atk_hyperlink_is_valid".} +proc hyperlink_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 hypertext_get_link*(hypertext: PHypertext, link_index: gint): PHyperlink{. + cdecl, dynlib: lib, importc: "atk_hypertext_get_link".} +proc hypertext_get_n_links*(hypertext: PHypertext): gint{.cdecl, dynlib: lib, + importc: "atk_hypertext_get_n_links".} +proc hypertext_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 image_get_image_description*(image: PImage): cstring{.cdecl, dynlib: lib, + importc: "atk_image_get_image_description".} +proc image_get_image_size*(image: PImage, width: Pgint, height: Pgint){.cdecl, + dynlib: lib, importc: "atk_image_get_image_size".} +proc image_set_image_description*(image: PImage, description: cstring): gboolean{. + cdecl, dynlib: lib, importc: "atk_image_set_image_description".} +proc image_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 object_factory_create_accessible*(factory: PObjectFactory, obj: PGObject): PObject{. + cdecl, dynlib: lib, importc: "atk_object_factory_create_accessible".} +proc object_factory_invalidate*(factory: PObjectFactory){.cdecl, dynlib: lib, + importc: "atk_object_factory_invalidate".} +proc object_factory_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 registry_set_factory_type*(registry: PRegistry, `type`: GType, + factory_type: GType){.cdecl, dynlib: lib, + importc: "atk_registry_set_factory_type".} +proc registry_get_factory_type*(registry: PRegistry, `type`: GType): GType{. + cdecl, dynlib: lib, importc: "atk_registry_get_factory_type".} +proc registry_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 relation_get_relation_type*(relation: PRelation): TRelationType{.cdecl, + dynlib: lib, importc: "atk_relation_get_relation_type".} +proc relation_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 relation_set_contains*(RelationSet: PRelationSet, + relationship: TRelationType): gboolean{.cdecl, + dynlib: lib, importc: "atk_relation_set_contains".} +proc relation_set_remove*(RelationSet: PRelationSet, relation: PRelation){. + cdecl, dynlib: lib, importc: "atk_relation_set_remove".} +proc relation_set_add*(RelationSet: PRelationSet, relation: PRelation){.cdecl, + dynlib: lib, importc: "atk_relation_set_add".} +proc relation_set_get_n_relations*(RelationSet: PRelationSet): gint{.cdecl, + dynlib: lib, importc: "atk_relation_set_get_n_relations".} +proc relation_set_get_relation*(RelationSet: PRelationSet, i: gint): PRelation{. + cdecl, dynlib: lib, importc: "atk_relation_set_get_relation".} +proc relation_set_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 selection_add_selection*(selection: PSelection, i: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_selection_add_selection".} +proc selection_clear_selection*(selection: PSelection): gboolean{.cdecl, + dynlib: lib, importc: "atk_selection_clear_selection".} +proc selection_ref_selection*(selection: PSelection, i: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_selection_ref_selection".} +proc selection_get_selection_count*(selection: PSelection): gint{.cdecl, + dynlib: lib, importc: "atk_selection_get_selection_count".} +proc selection_is_child_selected*(selection: PSelection, i: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_selection_is_child_selected".} +proc selection_remove_selection*(selection: PSelection, i: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_selection_remove_selection".} +proc selection_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 state_set_is_empty*(StateSet: PStateSet): gboolean{.cdecl, dynlib: lib, + importc: "atk_state_set_is_empty".} +proc state_set_add_state*(StateSet: PStateSet, `type`: TStateType): gboolean{. + cdecl, dynlib: lib, importc: "atk_state_set_add_state".} +proc state_set_add_states*(StateSet: PStateSet, types: PStateType, n_types: gint){. + cdecl, dynlib: lib, importc: "atk_state_set_add_states".} +proc state_set_clear_states*(StateSet: PStateSet){.cdecl, dynlib: lib, + importc: "atk_state_set_clear_states".} +proc state_set_contains_state*(StateSet: PStateSet, `type`: TStateType): gboolean{. + cdecl, dynlib: lib, importc: "atk_state_set_contains_state".} +proc state_set_contains_states*(StateSet: PStateSet, types: PStateType, + n_types: gint): gboolean{.cdecl, dynlib: lib, + importc: "atk_state_set_contains_states".} +proc state_set_remove_state*(StateSet: PStateSet, `type`: TStateType): gboolean{. + cdecl, dynlib: lib, importc: "atk_state_set_remove_state".} +proc state_set_and_sets*(StateSet: PStateSet, compare_set: PStateSet): PStateSet{. + cdecl, dynlib: lib, importc: "atk_state_set_and_sets".} +proc state_set_or_sets*(StateSet: PStateSet, compare_set: PStateSet): PStateSet{. + cdecl, dynlib: lib, importc: "atk_state_set_or_sets".} +proc state_set_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 streamable_content_get_n_mime_types*(streamable: PStreamableContent): gint{. + cdecl, dynlib: lib, importc: "atk_streamable_content_get_n_mime_types".} +proc streamable_content_get_mime_type*(streamable: PStreamableContent, i: gint): cstring{. + cdecl, dynlib: lib, importc: "atk_streamable_content_get_mime_type".} +proc streamable_content_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 table_ref_at*(table: PTable, row, column: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_table_ref_at".} +proc table_get_index_at*(table: PTable, row, column: gint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_index_at".} +proc table_get_column_at_index*(table: PTable, index: gint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_column_at_index".} +proc table_get_row_at_index*(table: PTable, index: gint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_row_at_index".} +proc table_get_n_columns*(table: PTable): gint{.cdecl, dynlib: lib, + importc: "atk_table_get_n_columns".} +proc table_get_n_rows*(table: PTable): gint{.cdecl, dynlib: lib, + importc: "atk_table_get_n_rows".} +proc table_get_column_extent_at*(table: PTable, row: gint, column: gint): gint{. + cdecl, dynlib: lib, importc: "atk_table_get_column_extent_at".} +proc table_get_row_extent_at*(table: PTable, row: gint, column: gint): gint{. + cdecl, dynlib: lib, importc: "atk_table_get_row_extent_at".} +proc table_get_caption*(table: PTable): PObject{.cdecl, dynlib: lib, + importc: "atk_table_get_caption".} +proc table_get_column_description*(table: PTable, column: gint): cstring{.cdecl, + dynlib: lib, importc: "atk_table_get_column_description".} +proc table_get_column_header*(table: PTable, column: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_table_get_column_header".} +proc table_get_row_description*(table: PTable, row: gint): cstring{.cdecl, + dynlib: lib, importc: "atk_table_get_row_description".} +proc table_get_row_header*(table: PTable, row: gint): PObject{.cdecl, + dynlib: lib, importc: "atk_table_get_row_header".} +proc table_get_summary*(table: PTable): PObject{.cdecl, dynlib: lib, + importc: "atk_table_get_summary".} +proc table_set_caption*(table: PTable, caption: PObject){.cdecl, dynlib: lib, + importc: "atk_table_set_caption".} +proc table_set_column_description*(table: PTable, column: gint, + description: cstring){.cdecl, dynlib: lib, + importc: "atk_table_set_column_description".} +proc table_set_column_header*(table: PTable, column: gint, header: PObject){. + cdecl, dynlib: lib, importc: "atk_table_set_column_header".} +proc table_set_row_description*(table: PTable, row: gint, description: cstring){. + cdecl, dynlib: lib, importc: "atk_table_set_row_description".} +proc table_set_row_header*(table: PTable, row: gint, header: PObject){.cdecl, + dynlib: lib, importc: "atk_table_set_row_header".} +proc table_set_summary*(table: PTable, accessible: PObject){.cdecl, dynlib: lib, + importc: "atk_table_set_summary".} +proc table_get_selected_columns*(table: PTable, selected: PPgint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_selected_columns".} +proc table_get_selected_rows*(table: PTable, selected: PPgint): gint{.cdecl, + dynlib: lib, importc: "atk_table_get_selected_rows".} +proc table_is_column_selected*(table: PTable, column: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_is_column_selected".} +proc table_is_row_selected*(table: PTable, row: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_is_row_selected".} +proc table_is_selected*(table: PTable, row: gint, column: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_table_is_selected".} +proc table_add_row_selection*(table: PTable, row: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_add_row_selection".} +proc table_remove_row_selection*(table: PTable, row: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_remove_row_selection".} +proc table_add_column_selection*(table: PTable, column: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_table_add_column_selection".} +proc table_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 text_get_text*(text: PText, start_offset: gint, end_offset: gint): cstring{. + cdecl, dynlib: lib, importc: "atk_text_get_text".} +proc text_get_character_at_offset*(text: PText, offset: gint): gunichar{.cdecl, + dynlib: lib, importc: "atk_text_get_character_at_offset".} +proc text_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 text_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 text_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 text_get_caret_offset*(text: PText): gint{.cdecl, dynlib: lib, + importc: "atk_text_get_caret_offset".} +proc text_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 text_get_run_attributes*(text: PText, offset: gint, start_offset: Pgint, + end_offset: Pgint): PAttributeSet{.cdecl, + dynlib: lib, importc: "atk_text_get_run_attributes".} +proc text_get_default_attributes*(text: PText): PAttributeSet{.cdecl, + dynlib: lib, importc: "atk_text_get_default_attributes".} +proc text_get_character_count*(text: PText): gint{.cdecl, dynlib: lib, + importc: "atk_text_get_character_count".} +proc text_get_offset_at_point*(text: PText, x: gint, y: gint, coords: TCoordType): gint{. + cdecl, dynlib: lib, importc: "atk_text_get_offset_at_point".} +proc text_get_n_selections*(text: PText): gint{.cdecl, dynlib: lib, + importc: "atk_text_get_n_selections".} +proc text_get_selection*(text: PText, selection_num: gint, start_offset: Pgint, + end_offset: Pgint): cstring{.cdecl, dynlib: lib, + importc: "atk_text_get_selection".} +proc text_add_selection*(text: PText, start_offset: gint, end_offset: gint): gboolean{. + cdecl, dynlib: lib, importc: "atk_text_add_selection".} +proc text_remove_selection*(text: PText, selection_num: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_text_remove_selection".} +proc text_set_selection*(text: PText, selection_num: gint, start_offset: gint, + end_offset: gint): gboolean{.cdecl, dynlib: lib, + importc: "atk_text_set_selection".} +proc text_set_caret_offset*(text: PText, offset: gint): gboolean{.cdecl, + dynlib: lib, importc: "atk_text_set_caret_offset".} +proc attribute_set_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 value_get_current_value*(obj: PValue, value: PGValue){.cdecl, dynlib: lib, + importc: "atk_value_get_current_value".} +proc value_get_maximum_value*(obj: PValue, value: PGValue){.cdecl, dynlib: lib, + importc: "atk_value_get_maximum_value".} +proc value_get_minimum_value*(obj: PValue, value: PGValue){.cdecl, dynlib: lib, + importc: "atk_value_get_minimum_value".} +proc value_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/newwrap/gtk/gdk2.nim b/lib/newwrap/gtk/gdk2.nim new file mode 100644 index 000000000..c171068d3 --- /dev/null +++ b/lib/newwrap/gtk/gdk2.nim @@ -0,0 +1,3869 @@ +{.deadCodeElim: on.} +import + glib2, 2pixbuf, pango + +when defined(win32): + const + lib = "libgdk-win32-2.0-0.dll" + HAVE_WCHAR_H = 1 + HAVE_WCTYPE_H = 1 +elif defined(darwin): + # linklib gtk-x11-2.0 + # linklib gdk-x11-2.0 + # linklib pango-1.0.0 + # linklib glib-2.0.0 + # linklib gobject-2.0.0 + # linklib gdk_pixbuf-2.0.0 + # linklib atk-1.0.0 + const + lib = "gdk-x11-2.0" +else: + const + lib = "libgdk-x11-2.0.so" +const + NUMPTSTOBUFFER* = 200 + MAX_TIMECOORD_AXES* = 128 + +type + PDeviceClass* = ptr TDeviceClass + TDeviceClass* = object of TGObjectClass + PVisualClass* = ptr TVisualClass + TVisualClass* = object of TGObjectClass + PColor* = ptr TColor + TColor*{.final, pure.} = object + pixel*: guint32 + red*: guint16 + green*: guint16 + blue*: guint16 + + PColormap* = ptr TColormap + PDrawable* = ptr TDrawable + TDrawable* = object of TGObject + PWindow* = ptr TWindow + TWindow* = TDrawable + PPixmap* = ptr TPixmap + TPixmap* = TDrawable + PBitmap* = ptr TBitmap + TBitmap* = TDrawable + PFontType* = ptr TFontType + TFontType* = enum + FONT_FONT, FONT_FONTSET + PFont* = ptr TFont + TFont*{.final, pure.} = object + `type`*: TFontType + ascent*: gint + descent*: gint + + PFunction* = ptr TFunction + TFunction* = enum + COPY, INVERT, XOR, CLEAR, AND, AND_REVERSE, AND_INVERT, NOOP, OR, EQUIV, + OR_REVERSE, COPY_INVERT, OR_INVERT, NAND, NOR, SET + PCapStyle* = ptr TCapStyle + TCapStyle* = enum + CAP_NOT_LAST, CAP_BUTT, CAP_ROUND, CAP_PROJECTING + PFill* = ptr TFill + TFill* = enum + SOLID, TILED, STIPPLED, OPAQUE_STIPPLED + PJoinStyle* = ptr TJoinStyle + TJoinStyle* = enum + JOIN_MITER, JOIN_ROUND, JOIN_BEVEL + PLineStyle* = ptr TLineStyle + TLineStyle* = enum + LINE_SOLID, LINE_ON_OFF_DASH, LINE_DOUBLE_DASH + PSubwindowMode* = ptr TSubwindowMode + TSubwindowMode* = int + PGCValuesMask* = ptr TGCValuesMask + TGCValuesMask* = int32 + PGCValues* = ptr TGCValues + TGCValues*{.final, pure.} = object + foreground*: TColor + background*: TColor + font*: PFont + `function`*: TFunction + fill*: TFill + tile*: PPixmap + stipple*: PPixmap + clip_mask*: PPixmap + subwindow_mode*: TSubwindowMode + ts_x_origin*: gint + ts_y_origin*: gint + clip_x_origin*: gint + clip_y_origin*: gint + graphics_exposures*: gint + line_width*: gint + line_style*: TLineStyle + cap_style*: TCapStyle + join_style*: TJoinStyle + + PGC* = ptr TGC + TGC* = object of TGObject + clip_x_origin*: gint + clip_y_origin*: gint + ts_x_origin*: gint + ts_y_origin*: gint + colormap*: PColormap + + PImageType* = ptr TImageType + TImageType* = enum + IMAGE_NORMAL, IMAGE_SHARED, IMAGE_FASTEST + PImage* = ptr TImage + PDevice* = ptr TDevice + PTimeCoord* = ptr TTimeCoord + PPGdkTimeCoord* = ptr PTimeCoord + PRgbDither* = ptr TRgbDither + TRgbDither* = enum + RGB_DITHER_NONE, RGB_DITHER_NORMAL, RGB_DITHER_MAX + PDisplay* = ptr TDisplay + PScreen* = ptr TScreen + TScreen* = object of TGObject + PInputCondition* = ptr TInputCondition + TInputCondition* = int32 + PStatus* = ptr TStatus + TStatus* = int32 + TPoint*{.final, pure.} = object + x*: gint + y*: gint + + PPoint* = ptr TPoint + PPGdkPoint* = ptr PPoint + PSpan* = ptr TSpan + PWChar* = ptr TWChar + TWChar* = guint32 + PSegment* = ptr TSegment + TSegment*{.final, pure.} = object + x1*: gint + y1*: gint + x2*: gint + y2*: gint + + PRectangle* = ptr TRectangle + TRectangle*{.final, pure.} = object + x*: gint + y*: gint + width*: gint + height*: gint + + PAtom* = ptr TAtom + TAtom* = gulong + PByteOrder* = ptr TByteOrder + TByteOrder* = enum + LSB_FIRST, MSB_FIRST + PModifierType* = ptr TModifierType + TModifierType* = gint + PVisualType* = ptr TVisualType + TVisualType* = enum + VISUAL_STATIC_GRAY, VISUAL_GRAYSCALE, VISUAL_STATIC_COLOR, + VISUAL_PSEUDO_COLOR, VISUAL_TRUE_COLOR, VISUAL_DIRECT_COLOR + PVisual* = ptr TVisual + TVisual* = object of TGObject + TheType*: TVisualType + depth*: gint + byte_order*: TByteOrder + colormap_size*: gint + bits_per_rgb*: gint + red_mask*: guint32 + red_shift*: gint + red_prec*: gint + green_mask*: guint32 + green_shift*: gint + green_prec*: gint + blue_mask*: guint32 + blue_shift*: gint + blue_prec*: gint + screen*: PScreen + + PColormapClass* = ptr TColormapClass + TColormapClass* = object of TGObjectClass + TColormap* = object of TGObject + size*: gint + colors*: PColor + visual*: PVisual + windowing_data*: gpointer + screen*: PScreen + + PCursorType* = ptr TCursorType + TCursorType* = gint + PCursor* = ptr TCursor + TCursor*{.final, pure.} = object + `type`*: TCursorType + ref_count*: guint + + PDragAction* = ptr TDragAction + TDragAction* = int32 + PDragProtocol* = ptr TDragProtocol + TDragProtocol* = enum + DRAG_PROTO_MOTIF, DRAG_PROTO_XDND, DRAG_PROTO_ROOTWIN, DRAG_PROTO_NONE, + DRAG_PROTO_WIN32_DROPFILES, DRAG_PROTO_OLE2, DRAG_PROTO_LOCAL + PDragContext* = ptr TDragContext + TDragContext* = object of TGObject + protocol*: TDragProtocol + is_source*: gboolean + source_window*: PWindow + dest_window*: PWindow + targets*: PGList + actions*: TDragAction + suggested_action*: TDragAction + action*: TDragAction + start_time*: guint32 + windowing_data*: gpointer + + PDragContextClass* = ptr TDragContextClass + TDragContextClass* = object of TGObjectClass + PRegionBox* = ptr TRegionBox + TRegionBox* = TSegment + PRegion* = ptr TRegion + TRegion*{.final, pure.} = object + size*: int32 + numRects*: int32 + rects*: PRegionBox + extents*: TRegionBox + + PPOINTBLOCK* = ptr TPOINTBLOCK + TPOINTBLOCK*{.final, pure.} = object + pts*: array[0..(NUMPTSTOBUFFER) - 1, TPoint] + next*: PPOINTBLOCK + + PDrawableClass* = ptr TDrawableClass + TDrawableClass* = object of TGObjectClass + create_gc*: proc (drawable: PDrawable, values: PGCValues, + mask: TGCValuesMask): PGC{.cdecl.} + draw_rectangle*: proc (drawable: PDrawable, gc: PGC, filled: gint, x: gint, + y: gint, width: gint, height: gint){.cdecl.} + draw_arc*: proc (drawable: PDrawable, gc: PGC, filled: gint, x: gint, + y: gint, width: gint, height: gint, angle1: gint, + angle2: gint){.cdecl.} + draw_polygon*: proc (drawable: PDrawable, gc: PGC, filled: gint, + points: PPoint, npoints: gint){.cdecl.} + draw_text*: proc (drawable: PDrawable, font: PFont, gc: PGC, x: gint, + y: gint, text: cstring, text_length: gint){.cdecl.} + draw_text_wc*: proc (drawable: PDrawable, font: PFont, gc: PGC, x: gint, + y: gint, text: PWChar, text_length: gint){.cdecl.} + draw_drawable*: proc (drawable: PDrawable, gc: PGC, src: PDrawable, + xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, + width: gint, height: gint){.cdecl.} + draw_points*: proc (drawable: PDrawable, gc: PGC, points: PPoint, + npoints: gint){.cdecl.} + draw_segments*: proc (drawable: PDrawable, gc: PGC, segs: PSegment, + nsegs: gint){.cdecl.} + draw_lines*: proc (drawable: PDrawable, gc: PGC, points: PPoint, + npoints: gint){.cdecl.} + draw_glyphs*: proc (drawable: PDrawable, gc: PGC, font: PPangoFont, x: gint, + y: gint, glyphs: PPangoGlyphString){.cdecl.} + draw_image*: proc (drawable: PDrawable, gc: PGC, image: PImage, xsrc: gint, + ysrc: gint, xdest: gint, ydest: gint, width: gint, + height: gint){.cdecl.} + get_depth*: proc (drawable: PDrawable): gint{.cdecl.} + get_size*: proc (drawable: PDrawable, width: Pgint, height: Pgint){.cdecl.} + set_colormap*: proc (drawable: PDrawable, cmap: PColormap){.cdecl.} + get_colormap*: proc (drawable: PDrawable): PColormap{.cdecl.} + get_visual*: proc (drawable: PDrawable): PVisual{.cdecl.} + get_screen*: proc (drawable: PDrawable): PScreen{.cdecl.} + get_image*: proc (drawable: PDrawable, x: gint, y: gint, width: gint, + height: gint): PImage{.cdecl.} + get_clip_region*: proc (drawable: PDrawable): PRegion{.cdecl.} + get_visible_region*: proc (drawable: PDrawable): PRegion{.cdecl.} + get_composite_drawable*: proc (drawable: PDrawable, x: gint, y: gint, + width: gint, height: gint, + composite_x_offset: Pgint, + composite_y_offset: Pgint): PDrawable{.cdecl.} + `draw_pixbuf`*: proc (drawable: PDrawable, gc: PGC, pixbuf: PPixbuf, + src_x: gint, src_y: gint, dest_x: gint, dest_y: gint, + width: gint, height: gint, dither: TRgbDither, + x_dither: gint, y_dither: gint){.cdecl.} + `copy_to_image`*: proc (drawable: PDrawable, image: PImage, src_x: gint, + src_y: gint, dest_x: gint, dest_y: gint, + width: gint, height: gint): PImage{.cdecl.} + `reserved1`: proc (){.cdecl.} + `reserved2`: proc (){.cdecl.} + `reserved3`: proc (){.cdecl.} + `reserved4`: proc (){.cdecl.} + `reserved5`: proc (){.cdecl.} + `reserved6`: proc (){.cdecl.} + `reserved7`: proc (){.cdecl.} + `reserved9`: proc (){.cdecl.} + `reserved10`: proc (){.cdecl.} + `reserved11`: proc (){.cdecl.} + `reserved12`: proc (){.cdecl.} + `reserved13`: proc (){.cdecl.} + `reserved14`: proc (){.cdecl.} + `reserved15`: proc (){.cdecl.} + `reserved16`: proc (){.cdecl.} + + PEvent* = ptr TEvent + TEventFunc* = proc (event: PEvent, data: gpointer){.cdecl.} + PXEvent* = ptr TXEvent + TXEvent* = proc () + PFilterReturn* = ptr TFilterReturn + TFilterReturn* = enum + FILTER_CONTINUE, FILTER_TRANSLATE, FILTER_REMOVE + TFilterFunc* = proc (xevent: PXEvent, event: PEvent, data: gpointer): TFilterReturn{. + cdecl.} + PEventType* = ptr TEventType + TEventType* = gint + PEventMask* = ptr TEventMask + TEventMask* = gint32 + PVisibilityState* = ptr TVisibilityState + TVisibilityState* = enum + VISIBILITY_UNOBSCURED, VISIBILITY_PARTIAL, VISIBILITY_FULLY_OBSCURED + PScrollDirection* = ptr TScrollDirection + TScrollDirection* = enum + SCROLL_UP, SCROLL_DOWN, SCROLL_LEFT, SCROLL_RIGHT + PNotifyType* = ptr TNotifyType + TNotifyType* = int + PCrossingMode* = ptr TCrossingMode + TCrossingMode* = enum + CROSSING_NORMAL, CROSSING_GRAB, CROSSING_UNGRAB + PPropertyState* = ptr TPropertyState + TPropertyState* = enum + PROPERTY_NEW_VALUE, PROPERTY_STATE_DELETE + PWindowState* = ptr TWindowState + TWindowState* = gint + PSettingAction* = ptr TSettingAction + TSettingAction* = enum + SETTING_ACTION_NEW, SETTING_ACTION_CHANGED, SETTING_ACTION_DELETED + PEventAny* = ptr TEventAny + TEventAny*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + + PEventExpose* = ptr TEventExpose + TEventExpose*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + area*: TRectangle + region*: PRegion + count*: gint + + PEventNoExpose* = ptr TEventNoExpose + TEventNoExpose*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + + PEventVisibility* = ptr TEventVisibility + TEventVisibility*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + state*: TVisibilityState + + PEventMotion* = ptr TEventMotion + TEventMotion*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + time*: guint32 + x*: gdouble + y*: gdouble + axes*: Pgdouble + state*: guint + is_hint*: gint16 + device*: PDevice + x_root*: gdouble + y_root*: gdouble + + PEventButton* = ptr TEventButton + TEventButton*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + time*: guint32 + x*: gdouble + y*: gdouble + axes*: Pgdouble + state*: guint + button*: guint + device*: PDevice + x_root*: gdouble + y_root*: gdouble + + PEventScroll* = ptr TEventScroll + TEventScroll*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + time*: guint32 + x*: gdouble + y*: gdouble + state*: guint + direction*: TScrollDirection + device*: PDevice + x_root*: gdouble + y_root*: gdouble + + PEventKey* = ptr TEventKey + TEventKey*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + time*: guint32 + state*: guint + keyval*: guint + length*: gint + `string`*: cstring + hardware_keycode*: guint16 + group*: guint8 + + PEventCrossing* = ptr TEventCrossing + TEventCrossing*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + subwindow*: PWindow + time*: guint32 + x*: gdouble + y*: gdouble + x_root*: gdouble + y_root*: gdouble + mode*: TCrossingMode + detail*: TNotifyType + focus*: gboolean + state*: guint + + PEventFocus* = ptr TEventFocus + TEventFocus*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + `in`*: gint16 + + PEventConfigure* = ptr TEventConfigure + TEventConfigure*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + x*: gint + y*: gint + width*: gint + height*: gint + + PEventProperty* = ptr TEventProperty + TEventProperty*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + atom*: TAtom + time*: guint32 + state*: guint + + TNativeWindow* = pointer + PEventSelection* = ptr TEventSelection + TEventSelection*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + selection*: TAtom + target*: TAtom + `property`*: TAtom + time*: guint32 + requestor*: TNativeWindow + + PEventProximity* = ptr TEventProximity + TEventProximity*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + time*: guint32 + device*: PDevice + + PmatDUMMY* = ptr TmatDUMMY + TmatDUMMY*{.final, pure.} = object + b*: array[0..19, char] + + PEventClient* = ptr TEventClient + TEventClient*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + message_type*: TAtom + data_format*: gushort + b*: array[0..19, char] + + PEventSetting* = ptr TEventSetting + TEventSetting*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + action*: TSettingAction + name*: cstring + + PEventWindowState* = ptr TEventWindowState + TEventWindowState*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + changed_mask*: TWindowState + new_window_state*: TWindowState + + PEventDND* = ptr TEventDND + TEventDND*{.final, pure.} = object + `type`*: TEventType + window*: PWindow + send_event*: gint8 + context*: PDragContext + time*: guint32 + x_root*: gshort + y_root*: gshort + + TEvent*{.final, pure.} = object + data*: array[0..255, char] # union of + # `type`: TGdkEventType + # any: TGdkEventAny + # expose: TGdkEventExpose + # no_expose: TGdkEventNoExpose + # visibility: TGdkEventVisibility + # motion: TGdkEventMotion + # button: TGdkEventButton + # scroll: TGdkEventScroll + # key: TGdkEventKey + # crossing: TGdkEventCrossing + # focus_change: TGdkEventFocus + # configure: TGdkEventConfigure + # `property`: TGdkEventProperty + # selection: TGdkEventSelection + # proximity: TGdkEventProximity + # client: TGdkEventClient + # dnd: TGdkEventDND + # window_state: TGdkEventWindowState + # setting: TGdkEventSetting + + PGCClass* = ptr TGCClass + TGCClass* = object of TGObjectClass + get_values*: proc (gc: PGC, values: PGCValues){.cdecl.} + set_values*: proc (gc: PGC, values: PGCValues, mask: TGCValuesMask){.cdecl.} + set_dashes*: proc (gc: PGC, dash_offset: gint, dash_list: openarray[gint8]){. + cdecl.} + `reserved1`*: proc (){.cdecl.} + `reserved2`*: proc (){.cdecl.} + `reserved3`*: proc (){.cdecl.} + `reserved4`*: proc (){.cdecl.} + + PImageClass* = ptr TImageClass + TImageClass* = object of TGObjectClass + TImage* = object of TGObject + `type`*: TImageType + visual*: PVisual + byte_order*: TByteOrder + width*: gint + height*: gint + depth*: guint16 + bpp*: guint16 + bpl*: guint16 + bits_per_pixel*: guint16 + mem*: gpointer + colormap*: PColormap + windowing_data*: gpointer + + PExtensionMode* = ptr TExtensionMode + TExtensionMode* = enum + EXTENSION_EVENTS_NONE, EXTENSION_EVENTS_ALL, EXTENSION_EVENTS_CURSOR + PInputSource* = ptr TInputSource + TInputSource* = enum + SOURCE_MOUSE, SOURCE_PEN, SOURCE_ERASER, SOURCE_CURSOR + PInputMode* = ptr TInputMode + TInputMode* = enum + MODE_DISABLED, MODE_SCREEN, MODE_WINDOW + PAxisUse* = ptr TAxisUse + TAxisUse* = int32 + PDeviceKey* = ptr TDeviceKey + TDeviceKey*{.final, pure.} = object + keyval*: guint + modifiers*: TModifierType + + PDeviceAxis* = ptr TDeviceAxis + TDeviceAxis*{.final, pure.} = object + use*: TAxisUse + min*: gdouble + max*: gdouble + + TDevice* = object of TGObject + name*: cstring + source*: TInputSource + mode*: TInputMode + has_cursor*: gboolean + num_axes*: gint + axes*: PDeviceAxis + num_keys*: gint + keys*: PDeviceKey + + TTimeCoord*{.final, pure.} = object + time*: guint32 + axes*: array[0..(MAX_TIMECOORD_AXES) - 1, gdouble] + + PKeymapKey* = ptr TKeymapKey + TKeymapKey*{.final, pure.} = object + keycode*: guint + group*: gint + level*: gint + + PKeymap* = ptr TKeymap + TKeymap* = object of TGObject + display*: PDisplay + + PKeymapClass* = ptr TKeymapClass + TKeymapClass* = object of TGObjectClass + direction_changed*: proc (keymap: PKeymap){.cdecl.} + + PPangoAttrStipple* = ptr TPangoAttrStipple + TPangoAttrStipple*{.final, pure.} = object + attr*: TPangoAttribute + stipple*: PBitmap + + PPangoAttrEmbossed* = ptr TPangoAttrEmbossed + TPangoAttrEmbossed*{.final, pure.} = object + attr*: TPangoAttribute + embossed*: gboolean + + PPixmapObject* = ptr TPixmapObject + TPixmapObject* = object of TDrawable + impl*: PDrawable + depth*: gint + + PPixmapObjectClass* = ptr TPixmapObjectClass + TPixmapObjectClass* = object of TDrawableClass + PPropMode* = ptr TPropMode + TPropMode* = enum + PROP_MODE_REPLACE, PROP_MODE_PREPEND, PROP_MODE_APPEND + PFillRule* = ptr TFillRule + TFillRule* = enum + EVEN_ODD_RULE, WINDING_RULE + POverlapType* = ptr TOverlapType + TOverlapType* = enum + OVERLAP_RECTANGLE_IN, OVERLAP_RECTANGLE_OUT, OVERLAP_RECTANGLE_PART + TSpanFunc* = proc (span: PSpan, data: gpointer){.cdecl.} + PRgbCmap* = ptr TRgbCmap + TRgbCmap*{.final, pure.} = object + colors*: array[0..255, guint32] + n_colors*: gint + info_list*: PGSList + + TDisplay* = object of TGObject + queued_events*: PGList + queued_tail*: PGList + button_click_time*: array[0..1, guint32] + button_window*: array[0..1, PWindow] + button_number*: array[0..1, guint] + double_click_time*: guint + + PDisplayClass* = ptr TDisplayClass + TDisplayClass* = object of TGObjectClass + get_display_name*: proc (display: PDisplay): cstring{.cdecl.} + get_n_screens*: proc (display: PDisplay): gint{.cdecl.} + get_screen*: proc (display: PDisplay, screen_num: gint): PScreen{.cdecl.} + get_default_screen*: proc (display: PDisplay): PScreen{.cdecl.} + + PScreenClass* = ptr TScreenClass + TScreenClass* = object of TGObjectClass + get_display*: proc (screen: PScreen): PDisplay{.cdecl.} + get_width*: proc (screen: PScreen): gint{.cdecl.} + get_height*: proc (screen: PScreen): gint{.cdecl.} + get_width_mm*: proc (screen: PScreen): gint{.cdecl.} + get_height_mm*: proc (screen: PScreen): gint{.cdecl.} + get_root_depth*: proc (screen: PScreen): gint{.cdecl.} + get_screen_num*: proc (screen: PScreen): gint{.cdecl.} + get_root_window*: proc (screen: PScreen): PWindow{.cdecl.} + get_default_colormap*: proc (screen: PScreen): PColormap{.cdecl.} + set_default_colormap*: proc (screen: PScreen, colormap: PColormap){.cdecl.} + get_window_at_pointer*: proc (screen: PScreen, win_x: Pgint, win_y: Pgint): PWindow{. + cdecl.} + get_n_monitors*: proc (screen: PScreen): gint{.cdecl.} + get_monitor_geometry*: proc (screen: PScreen, monitor_num: gint, + dest: PRectangle){.cdecl.} + + PGrabStatus* = ptr TGrabStatus + TGrabStatus* = int + TInputFunction* = proc (data: gpointer, source: gint, + condition: TInputCondition){.cdecl.} + TDestroyNotify* = proc (data: gpointer){.cdecl.} + TSpan*{.final, pure.} = object + x*: gint + y*: gint + width*: gint + + PWindowClass* = ptr TWindowClass + TWindowClass* = enum + INPUT_OUTPUT, INPUT_ONLY + PWindowType* = ptr TWindowType + TWindowType* = enum + WINDOW_ROOT, WINDOW_TOPLEVEL, WINDOW_CHILD, WINDOW_DIALOG, WINDOW_TEMP, + WINDOW_FOREIGN + PWindowAttributesType* = ptr TWindowAttributesType + TWindowAttributesType* = int32 + PWindowHints* = ptr TWindowHints + TWindowHints* = int32 + PWindowTypeHint* = ptr TWindowTypeHint + TWindowTypeHint* = enum + WINDOW_TYPE_HINT_NORMAL, WINDOW_TYPE_HINT_DIALOG, WINDOW_TYPE_HINT_MENU, + WINDOW_TYPE_HINT_TOOLBAR + PWMDecoration* = ptr TWMDecoration + TWMDecoration* = int32 + PWMFunction* = ptr TWMFunction + TWMFunction* = int32 + PGravity* = ptr TGravity + TGravity* = int + PWindowEdge* = ptr TWindowEdge + TWindowEdge* = enum + WINDOW_EDGE_NORTH_WEST, WINDOW_EDGE_NORTH, WINDOW_EDGE_NORTH_EAST, + WINDOW_EDGE_WEST, WINDOW_EDGE_EAST, WINDOW_EDGE_SOUTH_WEST, + WINDOW_EDGE_SOUTH, WINDOW_EDGE_SOUTH_EAST + PWindowAttr* = ptr TWindowAttr + TWindowAttr*{.final, pure.} = object + title*: cstring + event_mask*: gint + x*: gint + y*: gint + width*: gint + height*: gint + wclass*: TWindowClass + visual*: PVisual + colormap*: PColormap + window_type*: TWindowType + cursor*: PCursor + wmclass_name*: cstring + wmclass_class*: cstring + override_redirect*: gboolean + + PGeometry* = ptr TGeometry + TGeometry*{.final, pure.} = object + min_width*: gint + min_height*: gint + max_width*: gint + max_height*: gint + base_width*: gint + base_height*: gint + width_inc*: gint + height_inc*: gint + min_aspect*: gdouble + max_aspect*: gdouble + win_gravity*: TGravity + + PPointerHooks* = ptr TPointerHooks + TPointerHooks*{.final, pure.} = object + get_pointer*: proc (window: PWindow, x: Pgint, y: Pgint, mask: PModifierType): PWindow{. + cdecl.} + window_at_pointer*: proc (screen: PScreen, win_x: Pgint, win_y: Pgint): PWindow{. + cdecl.} + + PWindowObject* = ptr TWindowObject + TWindowObject* = object of TDrawable + impl*: PDrawable + parent*: PWindowObject + user_data*: gpointer + x*: gint + y*: gint + extension_events*: gint + filters*: PGList + children*: PGList + bg_color*: TColor + bg_pixmap*: PPixmap + paint_stack*: PGSList + update_area*: PRegion + update_freeze_count*: guint + window_type*: guint8 + depth*: guint8 + resize_count*: guint8 + state*: TWindowState + flag0*: guint16 + event_mask*: TEventMask + + PWindowObjectClass* = ptr TWindowObjectClass + TWindowObjectClass* = object of TDrawableClass + window_invalidate_maybe_recurse_child_func* = proc (para1: PWindow, + para2: gpointer): gboolean + +proc TYPE_COLORMAP*(): GType +proc COLORMAP*(anObject: pointer): PColormap +proc COLORMAP_CLASS*(klass: pointer): PColormapClass +proc IS_COLORMAP*(anObject: pointer): bool +proc IS_COLORMAP_CLASS*(klass: pointer): bool +proc COLORMAP_GET_CLASS*(obj: pointer): PColormapClass +proc TYPE_COLOR*(): GType +proc colormap_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_colormap_get_type".} +proc colormap_new*(visual: PVisual, allocate: gboolean): PColormap{.cdecl, + dynlib: lib, importc: "gdk_colormap_new".} +proc colormap_alloc_colors*(colormap: PColormap, colors: PColor, ncolors: gint, + writeable: gboolean, best_match: gboolean, + success: Pgboolean): gint{.cdecl, dynlib: lib, + importc: "gdk_colormap_alloc_colors".} +proc colormap_alloc_color*(colormap: PColormap, color: PColor, + writeable: gboolean, best_match: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gdk_colormap_alloc_color".} +proc colormap_free_colors*(colormap: PColormap, colors: PColor, ncolors: gint){. + cdecl, dynlib: lib, importc: "gdk_colormap_free_colors".} +proc colormap_query_color*(colormap: PColormap, pixel: gulong, result: PColor){. + cdecl, dynlib: lib, importc: "gdk_colormap_query_color".} +proc colormap_get_visual*(colormap: PColormap): PVisual{.cdecl, dynlib: lib, + importc: "gdk_colormap_get_visual".} +proc color_copy*(color: PColor): PColor{.cdecl, dynlib: lib, + importc: "gdk_color_copy".} +proc color_free*(color: PColor){.cdecl, dynlib: lib, importc: "gdk_color_free".} +proc color_parse*(spec: cstring, color: PColor): gint{.cdecl, dynlib: lib, + importc: "gdk_color_parse".} +proc color_hash*(colora: PColor): guint{.cdecl, dynlib: lib, + importc: "gdk_color_hash".} +proc color_equal*(colora: PColor, colorb: PColor): gboolean{.cdecl, dynlib: lib, + importc: "gdk_color_equal".} +proc color_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_color_get_type".} +const + CURSOR_IS_PIXMAP* = - (1) + X_CURSOR* = 0 + ARROW* = 2 + BASED_ARROW_DOWN* = 4 + BASED_ARROW_UP* = 6 + BOAT* = 8 + BOGOSITY* = 10 + BOTTOM_LEFT_CORNER* = 12 + BOTTOM_RIGHT_CORNER* = 14 + BOTTOM_SIDE* = 16 + BOTTOM_TEE* = 18 + BOX_SPIRAL* = 20 + CENTER_PTR* = 22 + CIRCLE* = 24 + CLOCK* = 26 + COFFEE_MUG* = 28 + CROSS* = 30 + CROSS_REVERSE* = 32 + CROSSHAIR* = 34 + DIAMOND_CROSS* = 36 + DOT* = 38 + DOTBOX* = 40 + DOUBLE_ARROW* = 42 + DRAFT_LARGE* = 44 + DRAFT_SMALL* = 46 + DRAPED_BOX* = 48 + EXCHANGE* = 50 + FLEUR* = 52 + GOBBLER* = 54 + GUMBY* = 56 + HAND1* = 58 + HAND2* = 60 + HEART* = 62 + ICON* = 64 + IRON_CROSS* = 66 + LEFT_PTR* = 68 + LEFT_SIDE* = 70 + LEFT_TEE* = 72 + LEFTBUTTON* = 74 + LL_ANGLE* = 76 + LR_ANGLE* = 78 + MAN* = 80 + MIDDLEBUTTON* = 82 + MOUSE* = 84 + PENCIL* = 86 + PIRATE* = 88 + PLUS* = 90 + QUESTION_ARROW* = 92 + RIGHT_PTR* = 94 + RIGHT_SIDE* = 96 + RIGHT_TEE* = 98 + RIGHTBUTTON* = 100 + RTL_LOGO* = 102 + SAILBOAT* = 104 + SB_DOWN_ARROW* = 106 + SB_H_DOUBLE_ARROW* = 108 + SB_LEFT_ARROW* = 110 + SB_RIGHT_ARROW* = 112 + SB_UP_ARROW* = 114 + SB_V_DOUBLE_ARROW* = 116 + SHUTTLE* = 118 + SIZING* = 120 + SPIDER* = 122 + SPRAYCAN* = 124 + STAR* = 126 + TARGET* = 128 + TCROSS* = 130 + TOP_LEFT_ARROW* = 132 + TOP_LEFT_CORNER* = 134 + TOP_RIGHT_CORNER* = 136 + TOP_SIDE* = 138 + TOP_TEE* = 140 + TREK* = 142 + UL_ANGLE* = 144 + UMBRELLA* = 146 + UR_ANGLE* = 148 + WATCH* = 150 + XTERM* = 152 + LAST_CURSOR* = XTERM + 1 + +proc TYPE_CURSOR*(): GType +proc cursor_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_cursor_get_type".} +proc cursor_new_for_screen*(screen: PScreen, cursor_type: TCursorType): PCursor{. + cdecl, dynlib: lib, importc: "gdk_cursor_new_for_screen".} +proc cursor_new_from_pixmap*(source: PPixmap, mask: PPixmap, fg: PColor, + bg: PColor, x: gint, y: gint): PCursor{.cdecl, + dynlib: lib, importc: "gdk_cursor_new_from_pixmap".} +proc cursor_get_screen*(cursor: PCursor): PScreen{.cdecl, dynlib: lib, + importc: "gdk_cursor_get_screen".} +proc cursor_ref*(cursor: PCursor): PCursor{.cdecl, dynlib: lib, + importc: "gdk_cursor_ref".} +proc cursor_unref*(cursor: PCursor){.cdecl, dynlib: lib, + importc: "gdk_cursor_unref".} +const + ACTION_DEFAULT* = 1 shl 0 + ACTION_COPY* = 1 shl 1 + ACTION_MOVE* = 1 shl 2 + ACTION_LINK* = 1 shl 3 + ACTION_PRIVATE* = 1 shl 4 + ACTION_ASK* = 1 shl 5 + +proc TYPE_DRAG_CONTEXT*(): GType +proc DRAG_CONTEXT*(anObject: Pointer): PDragContext +proc DRAG_CONTEXT_CLASS*(klass: Pointer): PDragContextClass +proc IS_DRAG_CONTEXT*(anObject: Pointer): bool +proc IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool +proc DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PDragContextClass +proc drag_context_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_drag_context_get_type".} +proc drag_context_new*(): PDragContext{.cdecl, dynlib: lib, + importc: "gdk_drag_context_new".} +proc drag_status*(context: PDragContext, action: TDragAction, time: guint32){. + cdecl, dynlib: lib, importc: "gdk_drag_status".} +proc drop_reply*(context: PDragContext, ok: gboolean, time: guint32){.cdecl, + dynlib: lib, importc: "gdk_drop_reply".} +proc drop_finish*(context: PDragContext, success: gboolean, time: guint32){. + cdecl, dynlib: lib, importc: "gdk_drop_finish".} +proc drag_get_selection*(context: PDragContext): TAtom{.cdecl, dynlib: lib, + importc: "gdk_drag_get_selection".} +proc drag_begin*(window: PWindow, targets: PGList): PDragContext{.cdecl, + dynlib: lib, importc: "gdk_drag_begin".} +proc drag_get_protocol_for_display*(display: PDisplay, xid: guint32, + protocol: PDragProtocol): guint32{.cdecl, + dynlib: lib, importc: "gdk_drag_get_protocol_for_display".} +proc drag_find_window*(context: PDragContext, drag_window: PWindow, + x_root: gint, y_root: gint, w: var PWindow, + protocol: PDragProtocol){.cdecl, dynlib: lib, + importc: "gdk_drag_find_window".} +proc drag_motion*(context: PDragContext, dest_window: PWindow, + protocol: TDragProtocol, x_root: gint, y_root: gint, + suggested_action: TDragAction, possible_actions: TDragAction, + time: guint32): gboolean{.cdecl, dynlib: lib, + importc: "gdk_drag_motion".} +proc drag_drop*(context: PDragContext, time: guint32){.cdecl, dynlib: lib, + importc: "gdk_drag_drop".} +proc drag_abort*(context: PDragContext, time: guint32){.cdecl, dynlib: lib, + importc: "gdk_drag_abort".} +proc region_EXTENTCHECK*(r1, r2: PRegionBox): bool +proc region_EXTENTS*(r: PRegionBox, idRect: PRegion) +proc region_MEMCHECK*(reg: PRegion, ARect, firstrect: var PRegionBox): bool +proc region_CHECK_PREVIOUS*(Reg: PRegion, R: PRegionBox, + Rx1, Ry1, Rx2, Ry2: gint): bool +proc region_ADDRECT*(reg: PRegion, r: PRegionBox, rx1, ry1, rx2, ry2: gint) +proc region_ADDRECTNOX*(reg: PRegion, r: PRegionBox, rx1, ry1, rx2, ry2: gint) +proc region_EMPTY_REGION*(pReg: PRegion): bool +proc region_REGION_NOT_EMPTY*(pReg: PRegion): bool +proc region_INBOX*(r: TRegionBox, x, y: gint): bool +proc TYPE_DRAWABLE*(): GType +proc DRAWABLE*(anObject: Pointer): PDrawable +proc DRAWABLE_CLASS*(klass: Pointer): PDrawableClass +proc IS_DRAWABLE*(anObject: Pointer): bool +proc IS_DRAWABLE_CLASS*(klass: Pointer): bool +proc DRAWABLE_GET_CLASS*(obj: Pointer): PDrawableClass +proc drawable_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_drawable_get_type".} +proc drawable_get_size*(drawable: PDrawable, width: Pgint, height: Pgint){. + cdecl, dynlib: lib, importc: "gdk_drawable_get_size".} +proc drawable_set_colormap*(drawable: PDrawable, colormap: PColormap){.cdecl, + dynlib: lib, importc: "gdk_drawable_set_colormap".} +proc drawable_get_colormap*(drawable: PDrawable): PColormap{.cdecl, dynlib: lib, + importc: "gdk_drawable_get_colormap".} +proc drawable_get_visual*(drawable: PDrawable): PVisual{.cdecl, dynlib: lib, + importc: "gdk_drawable_get_visual".} +proc drawable_get_depth*(drawable: PDrawable): gint{.cdecl, dynlib: lib, + importc: "gdk_drawable_get_depth".} +proc drawable_get_screen*(drawable: PDrawable): PScreen{.cdecl, dynlib: lib, + importc: "gdk_drawable_get_screen".} +proc drawable_get_display*(drawable: PDrawable): PDisplay{.cdecl, dynlib: lib, + importc: "gdk_drawable_get_display".} +proc draw_point*(drawable: PDrawable, gc: PGC, x: gint, y: gint){.cdecl, + dynlib: lib, importc: "gdk_draw_point".} +proc draw_line*(drawable: PDrawable, gc: PGC, x1: gint, y1: gint, x2: gint, + y2: gint){.cdecl, dynlib: lib, importc: "gdk_draw_line".} +proc draw_rectangle*(drawable: PDrawable, gc: PGC, filled: gint, x: gint, + y: gint, width: gint, height: gint){.cdecl, dynlib: lib, + importc: "gdk_draw_rectangle".} +proc draw_arc*(drawable: PDrawable, gc: PGC, filled: gint, x: gint, y: gint, + width: gint, height: gint, angle1: gint, angle2: gint){.cdecl, + dynlib: lib, importc: "gdk_draw_arc".} +proc draw_polygon*(drawable: PDrawable, gc: PGC, filled: gint, points: PPoint, + npoints: gint){.cdecl, dynlib: lib, + importc: "gdk_draw_polygon".} +proc draw_drawable*(drawable: PDrawable, gc: PGC, src: PDrawable, xsrc: gint, + ysrc: gint, xdest: gint, ydest: gint, width: gint, + height: gint){.cdecl, dynlib: lib, + importc: "gdk_draw_drawable".} +proc draw_image*(drawable: PDrawable, gc: PGC, image: PImage, xsrc: gint, + ysrc: gint, xdest: gint, ydest: gint, width: gint, height: gint){. + cdecl, dynlib: lib, importc: "gdk_draw_image".} +proc draw_points*(drawable: PDrawable, gc: PGC, points: PPoint, npoints: gint){. + cdecl, dynlib: lib, importc: "gdk_draw_points".} +proc draw_segments*(drawable: PDrawable, gc: PGC, segs: PSegment, nsegs: gint){. + cdecl, dynlib: lib, importc: "gdk_draw_segments".} +proc draw_lines*(drawable: PDrawable, gc: PGC, points: PPoint, npoints: gint){. + cdecl, dynlib: lib, importc: "gdk_draw_lines".} +proc draw_glyphs*(drawable: PDrawable, gc: PGC, font: PPangoFont, x: gint, + y: gint, glyphs: PPangoGlyphString){.cdecl, dynlib: lib, + importc: "gdk_draw_glyphs".} +proc draw_layout_line*(drawable: PDrawable, gc: PGC, x: gint, y: gint, + line: PPangoLayoutLine){.cdecl, dynlib: lib, + importc: "gdk_draw_layout_line".} +proc draw_layout*(drawable: PDrawable, gc: PGC, x: gint, y: gint, + layout: PPangoLayout){.cdecl, dynlib: lib, + importc: "gdk_draw_layout".} +proc draw_layout_line_with_colors*(drawable: PDrawable, gc: PGC, x: gint, + y: gint, line: PPangoLayoutLine, + foreground: PColor, background: PColor){. + cdecl, dynlib: lib, importc: "gdk_draw_layout_line_with_colors".} +proc draw_layout_with_colors*(drawable: PDrawable, gc: PGC, x: gint, y: gint, + layout: PPangoLayout, foreground: PColor, + background: PColor){.cdecl, dynlib: lib, + importc: "gdk_draw_layout_with_colors".} +proc drawable_get_image*(drawable: PDrawable, x: gint, y: gint, width: gint, + height: gint): PImage{.cdecl, dynlib: lib, + importc: "gdk_drawable_get_image".} +proc drawable_get_clip_region*(drawable: PDrawable): PRegion{.cdecl, + dynlib: lib, importc: "gdk_drawable_get_clip_region".} +proc drawable_get_visible_region*(drawable: PDrawable): PRegion{.cdecl, + dynlib: lib, importc: "gdk_drawable_get_visible_region".} +const + NOTHING* = - (1) + DELETE* = 0 + DESTROY* = 1 + EXPOSE* = 2 + MOTION_NOTIFY* = 3 + BUTTON_PRESS* = 4 + 2BUTTON_PRESS* = 5 + 3BUTTON_PRESS* = 6 + BUTTON_RELEASE* = 7 + KEY_PRESS* = 8 + KEY_RELEASE* = 9 + ENTER_NOTIFY* = 10 + LEAVE_NOTIFY* = 11 + FOCUS_CHANGE* = 12 + CONFIGURE* = 13 + MAP* = 14 + UNMAP* = 15 + PROPERTY_NOTIFY* = 16 + SELECTION_CLEAR* = 17 + SELECTION_REQUEST* = 18 + SELECTION_NOTIFY* = 19 + PROXIMITY_IN* = 20 + PROXIMITY_OUT* = 21 + DRAG_ENTER* = 22 + DRAG_LEAVE* = 23 + DRAG_MOTION_EVENT* = 24 + DRAG_STATUS_EVENT* = 25 + DROP_START* = 26 + DROP_FINISHED* = 27 + CLIENT_EVENT* = 28 + VISIBILITY_NOTIFY* = 29 + NO_EXPOSE* = 30 + SCROLL* = 31 + WINDOW_STATE* = 32 + SETTING* = 33 + NOTIFY_ANCESTOR* = 0 + NOTIFY_VIRTUAL* = 1 + NOTIFY_INFERIOR* = 2 + NOTIFY_NONLINEAR* = 3 + NOTIFY_NONLINEAR_VIRTUAL* = 4 + NOTIFY_UNKNOWN* = 5 + +proc TYPE_EVENT*(): GType +const + G_PRIORITY_DEFAULT* = 0 + PRIORITY_EVENTS* = G_PRIORITY_DEFAULT #GDK_PRIORITY_REDRAW* = G_PRIORITY_HIGH_IDLE + 20 + EXPOSURE_MASK* = 1 shl 1 + POINTER_MOTION_MASK* = 1 shl 2 + POINTER_MOTION_HINT_MASK* = 1 shl 3 + BUTTON_MOTION_MASK* = 1 shl 4 + BUTTON1_MOTION_MASK* = 1 shl 5 + BUTTON2_MOTION_MASK* = 1 shl 6 + BUTTON3_MOTION_MASK* = 1 shl 7 + BUTTON_PRESS_MASK* = 1 shl 8 + BUTTON_RELEASE_MASK* = 1 shl 9 + KEY_PRESS_MASK* = 1 shl 10 + KEY_RELEASE_MASK* = 1 shl 11 + ENTER_NOTIFY_MASK* = 1 shl 12 + LEAVE_NOTIFY_MASK* = 1 shl 13 + FOCUS_CHANGE_MASK* = 1 shl 14 + STRUCTURE_MASK* = 1 shl 15 + PROPERTY_CHANGE_MASK* = 1 shl 16 + VISIBILITY_NOTIFY_MASK* = 1 shl 17 + PROXIMITY_IN_MASK* = 1 shl 18 + PROXIMITY_OUT_MASK* = 1 shl 19 + SUBSTRUCTURE_MASK* = 1 shl 20 + SCROLL_MASK* = 1 shl 21 + ALL_EVENTS_MASK* = 0x003FFFFE + WINDOW_STATE_WITHDRAWN* = 1 shl 0 + WINDOW_STATE_ICONIFIED* = 1 shl 1 + WINDOW_STATE_MAXIMIZED* = 1 shl 2 + WINDOW_STATE_STICKY* = 1 shl 3 + +proc event_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_event_get_type".} +proc events_pending*(): gboolean{.cdecl, dynlib: lib, + importc: "gdk_events_pending".} +proc event_get*(): PEvent{.cdecl, dynlib: lib, importc: "gdk_event_get".} +proc event_peek*(): PEvent{.cdecl, dynlib: lib, importc: "gdk_event_peek".} +proc event_get_graphics_expose*(window: PWindow): PEvent{.cdecl, dynlib: lib, + importc: "gdk_event_get_graphics_expose".} +proc event_put*(event: PEvent){.cdecl, dynlib: lib, importc: "gdk_event_put".} +proc event_copy*(event: PEvent): PEvent{.cdecl, dynlib: lib, + importc: "gdk_event_copy".} +proc event_free*(event: PEvent){.cdecl, dynlib: lib, importc: "gdk_event_free".} +proc event_get_time*(event: PEvent): guint32{.cdecl, dynlib: lib, + importc: "gdk_event_get_time".} +proc event_get_state*(event: PEvent, state: PModifierType): gboolean{.cdecl, + dynlib: lib, importc: "gdk_event_get_state".} +proc event_get_coords*(event: PEvent, x_win: Pgdouble, y_win: Pgdouble): gboolean{. + cdecl, dynlib: lib, importc: "gdk_event_get_coords".} +proc event_get_root_coords*(event: PEvent, x_root: Pgdouble, y_root: Pgdouble): gboolean{. + cdecl, dynlib: lib, importc: "gdk_event_get_root_coords".} +proc event_get_axis*(event: PEvent, axis_use: TAxisUse, value: Pgdouble): gboolean{. + cdecl, dynlib: lib, importc: "gdk_event_get_axis".} +proc event_handler_set*(func: TEventFunc, data: gpointer, + notify: TGDestroyNotify){.cdecl, dynlib: lib, + importc: "gdk_event_handler_set".} +proc set_show_events*(show_events: gboolean){.cdecl, dynlib: lib, + importc: "gdk_set_show_events".} +proc get_show_events*(): gboolean{.cdecl, dynlib: lib, + importc: "gdk_get_show_events".} +proc TYPE_FONT*(): GType +proc font_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_font_get_type".} +proc font_load_for_display*(display: PDisplay, font_name: cstring): PFont{. + cdecl, dynlib: lib, importc: "gdk_font_load_for_display".} +proc fontset_load_for_display*(display: PDisplay, fontset_name: cstring): PFont{. + cdecl, dynlib: lib, importc: "gdk_fontset_load_for_display".} +proc font_from_description_for_display*(display: PDisplay, + font_desc: PPangoFontDescription): PFont{. + cdecl, dynlib: lib, importc: "gdk_font_from_description_for_display".} +proc font_ref*(font: PFont): PFont{.cdecl, dynlib: lib, importc: "gdk_font_ref".} +proc font_unref*(font: PFont){.cdecl, dynlib: lib, importc: "gdk_font_unref".} +proc font_id*(font: PFont): gint{.cdecl, dynlib: lib, importc: "gdk_font_id".} +proc font_equal*(fonta: PFont, fontb: PFont): gboolean{.cdecl, dynlib: lib, + importc: "gdk_font_equal".} +proc string_width*(font: PFont, `string`: cstring): gint{.cdecl, dynlib: lib, + importc: "gdk_string_width".} +proc text_width*(font: PFont, text: cstring, text_length: gint): gint{.cdecl, + dynlib: lib, importc: "gdk_text_width".} +proc text_width_wc*(font: PFont, text: PWChar, text_length: gint): gint{.cdecl, + dynlib: lib, importc: "gdk_text_width_wc".} +proc char_width*(font: PFont, character: gchar): gint{.cdecl, dynlib: lib, + importc: "gdk_char_width".} +proc char_width_wc*(font: PFont, character: TWChar): gint{.cdecl, dynlib: lib, + importc: "gdk_char_width_wc".} +proc string_measure*(font: PFont, `string`: cstring): gint{.cdecl, dynlib: lib, + importc: "gdk_string_measure".} +proc text_measure*(font: PFont, text: cstring, text_length: gint): gint{.cdecl, + dynlib: lib, importc: "gdk_text_measure".} +proc char_measure*(font: PFont, character: gchar): gint{.cdecl, dynlib: lib, + importc: "gdk_char_measure".} +proc string_height*(font: PFont, `string`: cstring): gint{.cdecl, dynlib: lib, + importc: "gdk_string_height".} +proc text_height*(font: PFont, text: cstring, text_length: gint): gint{.cdecl, + dynlib: lib, importc: "gdk_text_height".} +proc char_height*(font: PFont, character: gchar): gint{.cdecl, dynlib: lib, + importc: "gdk_char_height".} +proc text_extents*(font: PFont, text: cstring, text_length: gint, + lbearing: Pgint, rbearing: Pgint, width: Pgint, + ascent: Pgint, descent: Pgint){.cdecl, dynlib: lib, + importc: "gdk_text_extents".} +proc text_extents_wc*(font: PFont, text: PWChar, text_length: gint, + lbearing: Pgint, rbearing: Pgint, width: Pgint, + ascent: Pgint, descent: Pgint){.cdecl, dynlib: lib, + importc: "gdk_text_extents_wc".} +proc string_extents*(font: PFont, `string`: cstring, lbearing: Pgint, + rbearing: Pgint, width: Pgint, ascent: Pgint, + descent: Pgint){.cdecl, dynlib: lib, + importc: "gdk_string_extents".} +proc font_get_display*(font: PFont): PDisplay{.cdecl, dynlib: lib, + importc: "gdk_font_get_display".} +const + GC_FOREGROUND* = 1 shl 0 + GC_BACKGROUND* = 1 shl 1 + GC_FONT* = 1 shl 2 + GC_FUNCTION* = 1 shl 3 + GC_FILL* = 1 shl 4 + GC_TILE* = 1 shl 5 + GC_STIPPLE* = 1 shl 6 + GC_CLIP_MASK* = 1 shl 7 + GC_SUBWINDOW* = 1 shl 8 + GC_TS_X_ORIGIN* = 1 shl 9 + GC_TS_Y_ORIGIN* = 1 shl 10 + GC_CLIP_X_ORIGIN* = 1 shl 11 + GC_CLIP_Y_ORIGIN* = 1 shl 12 + GC_EXPOSURES* = 1 shl 13 + GC_LINE_WIDTH* = 1 shl 14 + GC_LINE_STYLE* = 1 shl 15 + GC_CAP_STYLE* = 1 shl 16 + GC_JOIN_STYLE* = 1 shl 17 + CLIP_BY_CHILDREN* = 0 + INCLUDE_INFERIORS* = 1 + +proc TYPE_GC*(): GType +proc GC*(anObject: Pointer): PGC +proc GC_CLASS*(klass: Pointer): PGCClass +proc IS_GC*(anObject: Pointer): bool +proc IS_GC_CLASS*(klass: Pointer): bool +proc GC_GET_CLASS*(obj: Pointer): PGCClass +proc gc_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_gc_get_type".} +proc gc_new*(drawable: PDrawable): PGC{.cdecl, dynlib: lib, + importc: "gdk_gc_new".} +proc gc_new_with_values*(drawable: PDrawable, values: PGCValues, + values_mask: TGCValuesMask): PGC{.cdecl, dynlib: lib, + importc: "gdk_gc_new_with_values".} +proc gc_get_values*(gc: PGC, values: PGCValues){.cdecl, dynlib: lib, + importc: "gdk_gc_get_values".} +proc gc_set_values*(gc: PGC, values: PGCValues, values_mask: TGCValuesMask){. + cdecl, dynlib: lib, importc: "gdk_gc_set_values".} +proc gc_set_foreground*(gc: PGC, color: PColor){.cdecl, dynlib: lib, + importc: "gdk_gc_set_foreground".} +proc gc_set_background*(gc: PGC, color: PColor){.cdecl, dynlib: lib, + importc: "gdk_gc_set_background".} +proc gc_set_function*(gc: PGC, `function`: TFunction){.cdecl, dynlib: lib, + importc: "gdk_gc_set_function".} +proc gc_set_fill*(gc: PGC, fill: TFill){.cdecl, dynlib: lib, + importc: "gdk_gc_set_fill".} +proc gc_set_tile*(gc: PGC, tile: PPixmap){.cdecl, dynlib: lib, + importc: "gdk_gc_set_tile".} +proc gc_set_stipple*(gc: PGC, stipple: PPixmap){.cdecl, dynlib: lib, + importc: "gdk_gc_set_stipple".} +proc gc_set_ts_origin*(gc: PGC, x: gint, y: gint){.cdecl, dynlib: lib, + importc: "gdk_gc_set_ts_origin".} +proc gc_set_clip_origin*(gc: PGC, x: gint, y: gint){.cdecl, dynlib: lib, + importc: "gdk_gc_set_clip_origin".} +proc gc_set_clip_mask*(gc: PGC, mask: PBitmap){.cdecl, dynlib: lib, + importc: "gdk_gc_set_clip_mask".} +proc gc_set_clip_rectangle*(gc: PGC, rectangle: PRectangle){.cdecl, dynlib: lib, + importc: "gdk_gc_set_clip_rectangle".} +proc gc_set_clip_region*(gc: PGC, region: PRegion){.cdecl, dynlib: lib, + importc: "gdk_gc_set_clip_region".} +proc gc_set_subwindow*(gc: PGC, mode: TSubwindowMode){.cdecl, dynlib: lib, + importc: "gdk_gc_set_subwindow".} +proc gc_set_exposures*(gc: PGC, exposures: gboolean){.cdecl, dynlib: lib, + importc: "gdk_gc_set_exposures".} +proc gc_set_line_attributes*(gc: PGC, line_width: gint, line_style: TLineStyle, + cap_style: TCapStyle, join_style: TJoinStyle){. + cdecl, dynlib: lib, importc: "gdk_gc_set_line_attributes".} +proc gc_set_dashes*(gc: PGC, dash_offset: gint, dash_list: openarray[gint8]){. + cdecl, dynlib: lib, importc: "gdk_gc_set_dashes".} +proc gc_offset*(gc: PGC, x_offset: gint, y_offset: gint){.cdecl, dynlib: lib, + importc: "gdk_gc_offset".} +proc gc_copy*(dst_gc: PGC, src_gc: PGC){.cdecl, dynlib: lib, + importc: "gdk_gc_copy".} +proc gc_set_colormap*(gc: PGC, colormap: PColormap){.cdecl, dynlib: lib, + importc: "gdk_gc_set_colormap".} +proc gc_get_colormap*(gc: PGC): PColormap{.cdecl, dynlib: lib, + importc: "gdk_gc_get_colormap".} +proc gc_set_rgb_fg_color*(gc: PGC, color: PColor){.cdecl, dynlib: lib, + importc: "gdk_gc_set_rgb_fg_color".} +proc gc_set_rgb_bg_color*(gc: PGC, color: PColor){.cdecl, dynlib: lib, + importc: "gdk_gc_set_rgb_bg_color".} +proc gc_get_screen*(gc: PGC): PScreen{.cdecl, dynlib: lib, + importc: "gdk_gc_get_screen".} +proc TYPE_IMAGE*(): GType +proc IMAGE*(anObject: Pointer): PImage +proc IMAGE_CLASS*(klass: Pointer): PImageClass +proc IS_IMAGE*(anObject: Pointer): bool +proc IS_IMAGE_CLASS*(klass: Pointer): bool +proc IMAGE_GET_CLASS*(obj: Pointer): PImageClass +proc image_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_image_get_type".} +proc image_new*(`type`: TImageType, visual: PVisual, width: gint, height: gint): PImage{. + cdecl, dynlib: lib, importc: "gdk_image_new".} +proc image_put_pixel*(image: PImage, x: gint, y: gint, pixel: guint32){.cdecl, + dynlib: lib, importc: "gdk_image_put_pixel".} +proc image_get_pixel*(image: PImage, x: gint, y: gint): guint32{.cdecl, + dynlib: lib, importc: "gdk_image_get_pixel".} +proc image_set_colormap*(image: PImage, colormap: PColormap){.cdecl, + dynlib: lib, importc: "gdk_image_set_colormap".} +proc image_get_colormap*(image: PImage): PColormap{.cdecl, dynlib: lib, + importc: "gdk_image_get_colormap".} +const + AXIS_IGNORE* = 0 + AXIS_X* = 1 + AXIS_Y* = 2 + AXIS_PRESSURE* = 3 + AXIS_XTILT* = 4 + AXIS_YTILT* = 5 + AXIS_WHEEL* = 6 + AXIS_LAST* = 7 + +proc TYPE_DEVICE*(): GType +proc DEVICE*(anObject: Pointer): PDevice +proc DEVICE_CLASS*(klass: Pointer): PDeviceClass +proc IS_DEVICE*(anObject: Pointer): bool +proc IS_DEVICE_CLASS*(klass: Pointer): bool +proc DEVICE_GET_CLASS*(obj: Pointer): PDeviceClass +proc device_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_device_get_type".} +proc device_set_source*(device: PDevice, source: TInputSource){.cdecl, + dynlib: lib, importc: "gdk_device_set_source".} +proc device_set_mode*(device: PDevice, mode: TInputMode): gboolean{.cdecl, + dynlib: lib, importc: "gdk_device_set_mode".} +proc device_set_key*(device: PDevice, index: guint, keyval: guint, + modifiers: TModifierType){.cdecl, dynlib: lib, + importc: "gdk_device_set_key".} +proc device_set_axis_use*(device: PDevice, index: guint, use: TAxisUse){.cdecl, + dynlib: lib, importc: "gdk_device_set_axis_use".} +proc device_get_state*(device: PDevice, window: PWindow, axes: Pgdouble, + mask: PModifierType){.cdecl, dynlib: lib, + importc: "gdk_device_get_state".} +proc device_get_history*(device: PDevice, window: PWindow, start: guint32, + stop: guint32, s: var PPGdkTimeCoord, n_events: Pgint): gboolean{. + cdecl, dynlib: lib, importc: "gdk_device_get_history".} +proc device_free_history*(events: PPGdkTimeCoord, n_events: gint){.cdecl, + dynlib: lib, importc: "gdk_device_free_history".} +proc device_get_axis*(device: PDevice, axes: Pgdouble, use: TAxisUse, + value: Pgdouble): gboolean{.cdecl, dynlib: lib, + importc: "gdk_device_get_axis".} +proc input_set_extension_events*(window: PWindow, mask: gint, + mode: TExtensionMode){.cdecl, dynlib: lib, + importc: "gdk_input_set_extension_events".} +proc device_get_core_pointer*(): PDevice{.cdecl, dynlib: lib, + importc: "gdk_device_get_core_pointer".} +proc TYPE_KEYMAP*(): GType +proc KEYMAP*(anObject: Pointer): PKeymap +proc KEYMAP_CLASS*(klass: Pointer): PKeymapClass +proc IS_KEYMAP*(anObject: Pointer): bool +proc IS_KEYMAP_CLASS*(klass: Pointer): bool +proc KEYMAP_GET_CLASS*(obj: Pointer): PKeymapClass +proc keymap_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_keymap_get_type".} +proc keymap_get_for_display*(display: PDisplay): PKeymap{.cdecl, dynlib: lib, + importc: "gdk_keymap_get_for_display".} +proc keymap_lookup_key*(keymap: PKeymap, key: PKeymapKey): guint{.cdecl, + dynlib: lib, importc: "gdk_keymap_lookup_key".} +proc keymap_translate_keyboard_state*(keymap: PKeymap, hardware_keycode: guint, + state: TModifierType, group: gint, + keyval: Pguint, effective_group: Pgint, + level: Pgint, + consumed_modifiers: PModifierType): gboolean{. + cdecl, dynlib: lib, importc: "gdk_keymap_translate_keyboard_state".} +proc keymap_get_entries_for_keyval*(keymap: PKeymap, keyval: guint, + s: var PKeymapKey, n_keys: Pgint): gboolean{. + cdecl, dynlib: lib, importc: "gdk_keymap_get_entries_for_keyval".} +proc keymap_get_entries_for_keycode*(keymap: PKeymap, hardware_keycode: guint, + s: var PKeymapKey, sasdf: var Pguint, + n_entries: Pgint): gboolean{.cdecl, + dynlib: lib, importc: "gdk_keymap_get_entries_for_keycode".} +proc keymap_get_direction*(keymap: PKeymap): TPangoDirection{.cdecl, + dynlib: lib, importc: "gdk_keymap_get_direction".} +proc keyval_name*(keyval: guint): cstring{.cdecl, dynlib: lib, + importc: "gdk_keyval_name".} +proc keyval_from_name*(keyval_name: cstring): guint{.cdecl, dynlib: lib, + importc: "gdk_keyval_from_name".} +proc keyval_convert_case*(symbol: guint, lower: Pguint, upper: Pguint){.cdecl, + dynlib: lib, importc: "gdk_keyval_convert_case".} +proc keyval_to_upper*(keyval: guint): guint{.cdecl, dynlib: lib, + importc: "gdk_keyval_to_upper".} +proc keyval_to_lower*(keyval: guint): guint{.cdecl, dynlib: lib, + importc: "gdk_keyval_to_lower".} +proc keyval_is_upper*(keyval: guint): gboolean{.cdecl, dynlib: lib, + importc: "gdk_keyval_is_upper".} +proc keyval_is_lower*(keyval: guint): gboolean{.cdecl, dynlib: lib, + importc: "gdk_keyval_is_lower".} +proc keyval_to_unicode*(keyval: guint): guint32{.cdecl, dynlib: lib, + importc: "gdk_keyval_to_unicode".} +proc unicode_to_keyval*(wc: guint32): guint{.cdecl, dynlib: lib, + importc: "gdk_unicode_to_keyval".} +const + KEY_VoidSymbol* = 0x00FFFFFF + KEY_BackSpace* = 0x0000FF08 + KEY_Tab* = 0x0000FF09 + KEY_Linefeed* = 0x0000FF0A + KEY_Clear* = 0x0000FF0B + KEY_Return* = 0x0000FF0D + KEY_Pause* = 0x0000FF13 + KEY_Scroll_Lock* = 0x0000FF14 + KEY_Sys_Req* = 0x0000FF15 + KEY_Escape* = 0x0000FF1B + KEY_Delete* = 0x0000FFFF + KEY_Multi_key* = 0x0000FF20 + KEY_Codeinput* = 0x0000FF37 + KEY_SingleCandidate* = 0x0000FF3C + KEY_MultipleCandidate* = 0x0000FF3D + KEY_PreviousCandidate* = 0x0000FF3E + KEY_Kanji* = 0x0000FF21 + KEY_Muhenkan* = 0x0000FF22 + KEY_Henkan_Mode* = 0x0000FF23 + KEY_Henkan* = 0x0000FF23 + KEY_Romaji* = 0x0000FF24 + KEY_Hiragana* = 0x0000FF25 + KEY_Katakana* = 0x0000FF26 + KEY_Hiragana_Katakana* = 0x0000FF27 + KEY_Zenkaku* = 0x0000FF28 + KEY_Hankaku* = 0x0000FF29 + KEY_Zenkaku_Hankaku* = 0x0000FF2A + KEY_Touroku* = 0x0000FF2B + KEY_Massyo* = 0x0000FF2C + KEY_Kana_Lock* = 0x0000FF2D + KEY_Kana_Shift* = 0x0000FF2E + KEY_Eisu_Shift* = 0x0000FF2F + KEY_Eisu_toggle* = 0x0000FF30 + KEY_Kanji_Bangou* = 0x0000FF37 + KEY_Zen_Koho* = 0x0000FF3D + KEY_Mae_Koho* = 0x0000FF3E + KEY_Home* = 0x0000FF50 + KEY_Left* = 0x0000FF51 + KEY_Up* = 0x0000FF52 + KEY_Right* = 0x0000FF53 + KEY_Down* = 0x0000FF54 + KEY_Prior* = 0x0000FF55 + KEY_Page_Up* = 0x0000FF55 + KEY_Next* = 0x0000FF56 + KEY_Page_Down* = 0x0000FF56 + KEY_End* = 0x0000FF57 + KEY_Begin* = 0x0000FF58 + KEY_Select* = 0x0000FF60 + KEY_Print* = 0x0000FF61 + KEY_Execute* = 0x0000FF62 + KEY_Insert* = 0x0000FF63 + KEY_Undo* = 0x0000FF65 + KEY_Redo* = 0x0000FF66 + KEY_Menu* = 0x0000FF67 + KEY_Find* = 0x0000FF68 + KEY_Cancel* = 0x0000FF69 + KEY_Help* = 0x0000FF6A + KEY_Break* = 0x0000FF6B + KEY_Mode_switch* = 0x0000FF7E + KEY_script_switch* = 0x0000FF7E + KEY_Num_Lock* = 0x0000FF7F + KEY_KP_Space* = 0x0000FF80 + KEY_KP_Tab* = 0x0000FF89 + KEY_KP_Enter* = 0x0000FF8D + KEY_KP_F1* = 0x0000FF91 + KEY_KP_F2* = 0x0000FF92 + KEY_KP_F3* = 0x0000FF93 + KEY_KP_F4* = 0x0000FF94 + KEY_KP_Home* = 0x0000FF95 + KEY_KP_Left* = 0x0000FF96 + KEY_KP_Up* = 0x0000FF97 + KEY_KP_Right* = 0x0000FF98 + KEY_KP_Down* = 0x0000FF99 + KEY_KP_Prior* = 0x0000FF9A + KEY_KP_Page_Up* = 0x0000FF9A + KEY_KP_Next* = 0x0000FF9B + KEY_KP_Page_Down* = 0x0000FF9B + KEY_KP_End* = 0x0000FF9C + KEY_KP_Begin* = 0x0000FF9D + KEY_KP_Insert* = 0x0000FF9E + KEY_KP_Delete* = 0x0000FF9F + KEY_KP_Equal* = 0x0000FFBD + KEY_KP_Multiply* = 0x0000FFAA + KEY_KP_Add* = 0x0000FFAB + KEY_KP_Separator* = 0x0000FFAC + KEY_KP_Subtract* = 0x0000FFAD + KEY_KP_Decimal* = 0x0000FFAE + KEY_KP_Divide* = 0x0000FFAF + KEY_KP_0* = 0x0000FFB0 + KEY_KP_1* = 0x0000FFB1 + KEY_KP_2* = 0x0000FFB2 + KEY_KP_3* = 0x0000FFB3 + KEY_KP_4* = 0x0000FFB4 + KEY_KP_5* = 0x0000FFB5 + KEY_KP_6* = 0x0000FFB6 + KEY_KP_7* = 0x0000FFB7 + KEY_KP_8* = 0x0000FFB8 + KEY_KP_9* = 0x0000FFB9 + KEY_F1* = 0x0000FFBE + KEY_F2* = 0x0000FFBF + KEY_F3* = 0x0000FFC0 + KEY_F4* = 0x0000FFC1 + KEY_F5* = 0x0000FFC2 + KEY_F6* = 0x0000FFC3 + KEY_F7* = 0x0000FFC4 + KEY_F8* = 0x0000FFC5 + KEY_F9* = 0x0000FFC6 + KEY_F10* = 0x0000FFC7 + KEY_F11* = 0x0000FFC8 + KEY_L1* = 0x0000FFC8 + KEY_F12* = 0x0000FFC9 + KEY_L2* = 0x0000FFC9 + KEY_F13* = 0x0000FFCA + KEY_L3* = 0x0000FFCA + KEY_F14* = 0x0000FFCB + KEY_L4* = 0x0000FFCB + KEY_F15* = 0x0000FFCC + KEY_L5* = 0x0000FFCC + KEY_F16* = 0x0000FFCD + KEY_L6* = 0x0000FFCD + KEY_F17* = 0x0000FFCE + KEY_L7* = 0x0000FFCE + KEY_F18* = 0x0000FFCF + KEY_L8* = 0x0000FFCF + KEY_F19* = 0x0000FFD0 + KEY_L9* = 0x0000FFD0 + KEY_F20* = 0x0000FFD1 + KEY_L10* = 0x0000FFD1 + KEY_F21* = 0x0000FFD2 + KEY_R1* = 0x0000FFD2 + KEY_F22* = 0x0000FFD3 + KEY_R2* = 0x0000FFD3 + KEY_F23* = 0x0000FFD4 + KEY_R3* = 0x0000FFD4 + KEY_F24* = 0x0000FFD5 + KEY_R4* = 0x0000FFD5 + KEY_F25* = 0x0000FFD6 + KEY_R5* = 0x0000FFD6 + KEY_F26* = 0x0000FFD7 + KEY_R6* = 0x0000FFD7 + KEY_F27* = 0x0000FFD8 + KEY_R7* = 0x0000FFD8 + KEY_F28* = 0x0000FFD9 + KEY_R8* = 0x0000FFD9 + KEY_F29* = 0x0000FFDA + KEY_R9* = 0x0000FFDA + KEY_F30* = 0x0000FFDB + KEY_R10* = 0x0000FFDB + KEY_F31* = 0x0000FFDC + KEY_R11* = 0x0000FFDC + KEY_F32* = 0x0000FFDD + KEY_R12* = 0x0000FFDD + KEY_F33* = 0x0000FFDE + KEY_R13* = 0x0000FFDE + KEY_F34* = 0x0000FFDF + KEY_R14* = 0x0000FFDF + KEY_F35* = 0x0000FFE0 + KEY_R15* = 0x0000FFE0 + KEY_Shift_L* = 0x0000FFE1 + KEY_Shift_R* = 0x0000FFE2 + KEY_Control_L* = 0x0000FFE3 + KEY_Control_R* = 0x0000FFE4 + KEY_Caps_Lock* = 0x0000FFE5 + KEY_Shift_Lock* = 0x0000FFE6 + KEY_Meta_L* = 0x0000FFE7 + KEY_Meta_R* = 0x0000FFE8 + KEY_Alt_L* = 0x0000FFE9 + KEY_Alt_R* = 0x0000FFEA + KEY_Super_L* = 0x0000FFEB + KEY_Super_R* = 0x0000FFEC + KEY_Hyper_L* = 0x0000FFED + KEY_Hyper_R* = 0x0000FFEE + KEY_ISO_Lock* = 0x0000FE01 + KEY_ISO_Level2_Latch* = 0x0000FE02 + KEY_ISO_Level3_Shift* = 0x0000FE03 + KEY_ISO_Level3_Latch* = 0x0000FE04 + KEY_ISO_Level3_Lock* = 0x0000FE05 + KEY_ISO_Group_Shift* = 0x0000FF7E + KEY_ISO_Group_Latch* = 0x0000FE06 + KEY_ISO_Group_Lock* = 0x0000FE07 + KEY_ISO_Next_Group* = 0x0000FE08 + KEY_ISO_Next_Group_Lock* = 0x0000FE09 + KEY_ISO_Prev_Group* = 0x0000FE0A + KEY_ISO_Prev_Group_Lock* = 0x0000FE0B + KEY_ISO_First_Group* = 0x0000FE0C + KEY_ISO_First_Group_Lock* = 0x0000FE0D + KEY_ISO_Last_Group* = 0x0000FE0E + KEY_ISO_Last_Group_Lock* = 0x0000FE0F + KEY_ISO_Left_Tab* = 0x0000FE20 + KEY_ISO_Move_Line_Up* = 0x0000FE21 + KEY_ISO_Move_Line_Down* = 0x0000FE22 + KEY_ISO_Partial_Line_Up* = 0x0000FE23 + KEY_ISO_Partial_Line_Down* = 0x0000FE24 + KEY_ISO_Partial_Space_Left* = 0x0000FE25 + KEY_ISO_Partial_Space_Right* = 0x0000FE26 + KEY_ISO_Set_Margin_Left* = 0x0000FE27 + KEY_ISO_Set_Margin_Right* = 0x0000FE28 + KEY_ISO_Release_Margin_Left* = 0x0000FE29 + KEY_ISO_Release_Margin_Right* = 0x0000FE2A + KEY_ISO_Release_Both_Margins* = 0x0000FE2B + KEY_ISO_Fast_Cursor_Left* = 0x0000FE2C + KEY_ISO_Fast_Cursor_Right* = 0x0000FE2D + KEY_ISO_Fast_Cursor_Up* = 0x0000FE2E + KEY_ISO_Fast_Cursor_Down* = 0x0000FE2F + KEY_ISO_Continuous_Underline* = 0x0000FE30 + KEY_ISO_Discontinuous_Underline* = 0x0000FE31 + KEY_ISO_Emphasize* = 0x0000FE32 + KEY_ISO_Center_Object* = 0x0000FE33 + KEY_ISO_Enter* = 0x0000FE34 + KEY_dead_grave* = 0x0000FE50 + KEY_dead_acute* = 0x0000FE51 + KEY_dead_circumflex* = 0x0000FE52 + KEY_dead_tilde* = 0x0000FE53 + KEY_dead_macron* = 0x0000FE54 + KEY_dead_breve* = 0x0000FE55 + KEY_dead_abovedot* = 0x0000FE56 + KEY_dead_diaeresis* = 0x0000FE57 + KEY_dead_abovering* = 0x0000FE58 + KEY_dead_doubleacute* = 0x0000FE59 + KEY_dead_caron* = 0x0000FE5A + KEY_dead_cedilla* = 0x0000FE5B + KEY_dead_ogonek* = 0x0000FE5C + KEY_dead_iota* = 0x0000FE5D + KEY_dead_voiced_sound* = 0x0000FE5E + KEY_dead_semivoiced_sound* = 0x0000FE5F + KEY_dead_belowdot* = 0x0000FE60 + KEY_First_Virtual_Screen* = 0x0000FED0 + KEY_Prev_Virtual_Screen* = 0x0000FED1 + KEY_Next_Virtual_Screen* = 0x0000FED2 + KEY_Last_Virtual_Screen* = 0x0000FED4 + KEY_Terminate_Server* = 0x0000FED5 + KEY_AccessX_Enable* = 0x0000FE70 + KEY_AccessX_Feedback_Enable* = 0x0000FE71 + KEY_RepeatKeys_Enable* = 0x0000FE72 + KEY_SlowKeys_Enable* = 0x0000FE73 + KEY_BounceKeys_Enable* = 0x0000FE74 + KEY_StickyKeys_Enable* = 0x0000FE75 + KEY_MouseKeys_Enable* = 0x0000FE76 + KEY_MouseKeys_Accel_Enable* = 0x0000FE77 + KEY_Overlay1_Enable* = 0x0000FE78 + KEY_Overlay2_Enable* = 0x0000FE79 + KEY_AudibleBell_Enable* = 0x0000FE7A + KEY_Pointer_Left* = 0x0000FEE0 + KEY_Pointer_Right* = 0x0000FEE1 + KEY_Pointer_Up* = 0x0000FEE2 + KEY_Pointer_Down* = 0x0000FEE3 + KEY_Pointer_UpLeft* = 0x0000FEE4 + KEY_Pointer_UpRight* = 0x0000FEE5 + KEY_Pointer_DownLeft* = 0x0000FEE6 + KEY_Pointer_DownRight* = 0x0000FEE7 + KEY_Pointer_Button_Dflt* = 0x0000FEE8 + KEY_Pointer_Button1* = 0x0000FEE9 + KEY_Pointer_Button2* = 0x0000FEEA + KEY_Pointer_Button3* = 0x0000FEEB + KEY_Pointer_Button4* = 0x0000FEEC + KEY_Pointer_Button5* = 0x0000FEED + KEY_Pointer_DblClick_Dflt* = 0x0000FEEE + KEY_Pointer_DblClick1* = 0x0000FEEF + KEY_Pointer_DblClick2* = 0x0000FEF0 + KEY_Pointer_DblClick3* = 0x0000FEF1 + KEY_Pointer_DblClick4* = 0x0000FEF2 + KEY_Pointer_DblClick5* = 0x0000FEF3 + KEY_Pointer_Drag_Dflt* = 0x0000FEF4 + KEY_Pointer_Drag1* = 0x0000FEF5 + KEY_Pointer_Drag2* = 0x0000FEF6 + KEY_Pointer_Drag3* = 0x0000FEF7 + KEY_Pointer_Drag4* = 0x0000FEF8 + KEY_Pointer_Drag5* = 0x0000FEFD + KEY_Pointer_EnableKeys* = 0x0000FEF9 + KEY_Pointer_Accelerate* = 0x0000FEFA + KEY_Pointer_DfltBtnNext* = 0x0000FEFB + KEY_Pointer_DfltBtnPrev* = 0x0000FEFC + KEY_3270_Duplicate* = 0x0000FD01 + KEY_3270_FieldMark* = 0x0000FD02 + KEY_3270_Right2* = 0x0000FD03 + KEY_3270_Left2* = 0x0000FD04 + KEY_3270_BackTab* = 0x0000FD05 + KEY_3270_EraseEOF* = 0x0000FD06 + KEY_3270_EraseInput* = 0x0000FD07 + KEY_3270_Reset* = 0x0000FD08 + KEY_3270_Quit* = 0x0000FD09 + KEY_3270_PA1* = 0x0000FD0A + KEY_3270_PA2* = 0x0000FD0B + KEY_3270_PA3* = 0x0000FD0C + KEY_3270_Test* = 0x0000FD0D + KEY_3270_Attn* = 0x0000FD0E + KEY_3270_CursorBlink* = 0x0000FD0F + KEY_3270_AltCursor* = 0x0000FD10 + KEY_3270_KeyClick* = 0x0000FD11 + KEY_3270_Jump* = 0x0000FD12 + KEY_3270_Ident* = 0x0000FD13 + KEY_3270_Rule* = 0x0000FD14 + KEY_3270_Copy* = 0x0000FD15 + KEY_3270_Play* = 0x0000FD16 + KEY_3270_Setup* = 0x0000FD17 + KEY_3270_Record* = 0x0000FD18 + KEY_3270_ChangeScreen* = 0x0000FD19 + KEY_3270_DeleteWord* = 0x0000FD1A + KEY_3270_ExSelect* = 0x0000FD1B + KEY_3270_CursorSelect* = 0x0000FD1C + KEY_3270_PrintScreen* = 0x0000FD1D + KEY_3270_Enter* = 0x0000FD1E + KEY_space* = 0x00000020 + KEY_exclam* = 0x00000021 + KEY_quotedbl* = 0x00000022 + KEY_numbersign* = 0x00000023 + KEY_dollar* = 0x00000024 + KEY_percent* = 0x00000025 + KEY_ampersand* = 0x00000026 + KEY_apostrophe* = 0x00000027 + KEY_quoteright* = 0x00000027 + KEY_parenleft* = 0x00000028 + KEY_parenright* = 0x00000029 + KEY_asterisk* = 0x0000002A + KEY_plus* = 0x0000002B + KEY_comma* = 0x0000002C + KEY_minus* = 0x0000002D + KEY_period* = 0x0000002E + KEY_slash* = 0x0000002F + KEY_0* = 0x00000030 + KEY_1* = 0x00000031 + KEY_2* = 0x00000032 + KEY_3* = 0x00000033 + KEY_4* = 0x00000034 + KEY_5* = 0x00000035 + KEY_6* = 0x00000036 + KEY_7* = 0x00000037 + KEY_8* = 0x00000038 + KEY_9* = 0x00000039 + KEY_colon* = 0x0000003A + KEY_semicolon* = 0x0000003B + KEY_less* = 0x0000003C + KEY_equal* = 0x0000003D + KEY_greater* = 0x0000003E + KEY_question* = 0x0000003F + KEY_at* = 0x00000040 + KEY_CAPITAL_A* = 0x00000041 + KEY_CAPITAL_B* = 0x00000042 + KEY_CAPITAL_C* = 0x00000043 + KEY_CAPITAL_D* = 0x00000044 + KEY_CAPITAL_E* = 0x00000045 + KEY_CAPITAL_F* = 0x00000046 + KEY_CAPITAL_G* = 0x00000047 + KEY_CAPITAL_H* = 0x00000048 + KEY_CAPITAL_I* = 0x00000049 + KEY_CAPITAL_J* = 0x0000004A + KEY_CAPITAL_K* = 0x0000004B + KEY_CAPITAL_L* = 0x0000004C + KEY_CAPITAL_M* = 0x0000004D + KEY_CAPITAL_N* = 0x0000004E + KEY_CAPITAL_O* = 0x0000004F + KEY_CAPITAL_P* = 0x00000050 + KEY_CAPITAL_Q* = 0x00000051 + KEY_CAPITAL_R* = 0x00000052 + KEY_CAPITAL_S* = 0x00000053 + KEY_CAPITAL_T* = 0x00000054 + KEY_CAPITAL_U* = 0x00000055 + KEY_CAPITAL_V* = 0x00000056 + KEY_CAPITAL_W* = 0x00000057 + KEY_CAPITAL_X* = 0x00000058 + KEY_CAPITAL_Y* = 0x00000059 + KEY_CAPITAL_Z* = 0x0000005A + KEY_bracketleft* = 0x0000005B + KEY_backslash* = 0x0000005C + KEY_bracketright* = 0x0000005D + KEY_asciicircum* = 0x0000005E + KEY_underscore* = 0x0000005F + KEY_grave* = 0x00000060 + KEY_quoteleft* = 0x00000060 + KEY_a* = 0x00000061 + KEY_b* = 0x00000062 + KEY_c* = 0x00000063 + KEY_d* = 0x00000064 + KEY_e* = 0x00000065 + KEY_f* = 0x00000066 + KEY_g* = 0x00000067 + KEY_h* = 0x00000068 + KEY_i* = 0x00000069 + KEY_j* = 0x0000006A + KEY_k* = 0x0000006B + KEY_l* = 0x0000006C + KEY_m* = 0x0000006D + KEY_n* = 0x0000006E + KEY_o* = 0x0000006F + KEY_p* = 0x00000070 + KEY_q* = 0x00000071 + KEY_r* = 0x00000072 + KEY_s* = 0x00000073 + KEY_t* = 0x00000074 + KEY_u* = 0x00000075 + KEY_v* = 0x00000076 + KEY_w* = 0x00000077 + KEY_x* = 0x00000078 + KEY_y* = 0x00000079 + KEY_z* = 0x0000007A + KEY_braceleft* = 0x0000007B + KEY_bar* = 0x0000007C + KEY_braceright* = 0x0000007D + KEY_asciitilde* = 0x0000007E + KEY_nobreakspace* = 0x000000A0 + KEY_exclamdown* = 0x000000A1 + KEY_cent* = 0x000000A2 + KEY_sterling* = 0x000000A3 + KEY_currency* = 0x000000A4 + KEY_yen* = 0x000000A5 + KEY_brokenbar* = 0x000000A6 + KEY_section* = 0x000000A7 + KEY_diaeresis* = 0x000000A8 + KEY_copyright* = 0x000000A9 + KEY_ordfeminine* = 0x000000AA + KEY_guillemotleft* = 0x000000AB + KEY_notsign* = 0x000000AC + KEY_hyphen* = 0x000000AD + KEY_registered* = 0x000000AE + KEY_macron* = 0x000000AF + KEY_degree* = 0x000000B0 + KEY_plusminus* = 0x000000B1 + KEY_twosuperior* = 0x000000B2 + KEY_threesuperior* = 0x000000B3 + KEY_acute* = 0x000000B4 + KEY_mu* = 0x000000B5 + KEY_paragraph* = 0x000000B6 + KEY_periodcentered* = 0x000000B7 + KEY_cedilla* = 0x000000B8 + KEY_onesuperior* = 0x000000B9 + KEY_masculine* = 0x000000BA + KEY_guillemotright* = 0x000000BB + KEY_onequarter* = 0x000000BC + KEY_onehalf* = 0x000000BD + KEY_threequarters* = 0x000000BE + KEY_questiondown* = 0x000000BF + KEY_CAPITAL_Agrave* = 0x000000C0 + KEY_CAPITAL_Aacute* = 0x000000C1 + KEY_CAPITAL_Acircumflex* = 0x000000C2 + KEY_CAPITAL_Atilde* = 0x000000C3 + KEY_CAPITAL_Adiaeresis* = 0x000000C4 + KEY_CAPITAL_Aring* = 0x000000C5 + KEY_CAPITAL_AE* = 0x000000C6 + KEY_CAPITAL_Ccedilla* = 0x000000C7 + KEY_CAPITAL_Egrave* = 0x000000C8 + KEY_CAPITAL_Eacute* = 0x000000C9 + KEY_CAPITAL_Ecircumflex* = 0x000000CA + KEY_CAPITAL_Ediaeresis* = 0x000000CB + KEY_CAPITAL_Igrave* = 0x000000CC + KEY_CAPITAL_Iacute* = 0x000000CD + KEY_CAPITAL_Icircumflex* = 0x000000CE + KEY_CAPITAL_Idiaeresis* = 0x000000CF + KEY_CAPITAL_ETH* = 0x000000D0 + KEY_CAPITAL_Ntilde* = 0x000000D1 + KEY_CAPITAL_Ograve* = 0x000000D2 + KEY_CAPITAL_Oacute* = 0x000000D3 + KEY_CAPITAL_Ocircumflex* = 0x000000D4 + KEY_CAPITAL_Otilde* = 0x000000D5 + KEY_CAPITAL_Odiaeresis* = 0x000000D6 + KEY_multiply* = 0x000000D7 + KEY_Ooblique* = 0x000000D8 + KEY_CAPITAL_Ugrave* = 0x000000D9 + KEY_CAPITAL_Uacute* = 0x000000DA + KEY_CAPITAL_Ucircumflex* = 0x000000DB + KEY_CAPITAL_Udiaeresis* = 0x000000DC + KEY_CAPITAL_Yacute* = 0x000000DD + KEY_CAPITAL_THORN* = 0x000000DE + KEY_ssharp* = 0x000000DF + KEY_agrave* = 0x000000E0 + KEY_aacute* = 0x000000E1 + KEY_acircumflex* = 0x000000E2 + KEY_atilde* = 0x000000E3 + KEY_adiaeresis* = 0x000000E4 + KEY_aring* = 0x000000E5 + KEY_ae* = 0x000000E6 + KEY_ccedilla* = 0x000000E7 + KEY_egrave* = 0x000000E8 + KEY_eacute* = 0x000000E9 + KEY_ecircumflex* = 0x000000EA + KEY_ediaeresis* = 0x000000EB + KEY_igrave* = 0x000000EC + KEY_iacute* = 0x000000ED + KEY_icircumflex* = 0x000000EE + KEY_idiaeresis* = 0x000000EF + KEY_eth* = 0x000000F0 + KEY_ntilde* = 0x000000F1 + KEY_ograve* = 0x000000F2 + KEY_oacute* = 0x000000F3 + KEY_ocircumflex* = 0x000000F4 + KEY_otilde* = 0x000000F5 + KEY_odiaeresis* = 0x000000F6 + KEY_division* = 0x000000F7 + KEY_oslash* = 0x000000F8 + KEY_ugrave* = 0x000000F9 + KEY_uacute* = 0x000000FA + KEY_ucircumflex* = 0x000000FB + KEY_udiaeresis* = 0x000000FC + KEY_yacute* = 0x000000FD + KEY_thorn* = 0x000000FE + KEY_ydiaeresis* = 0x000000FF + KEY_CAPITAL_Aogonek* = 0x000001A1 + KEY_breve* = 0x000001A2 + KEY_CAPITAL_Lstroke* = 0x000001A3 + KEY_CAPITAL_Lcaron* = 0x000001A5 + KEY_CAPITAL_Sacute* = 0x000001A6 + KEY_CAPITAL_Scaron* = 0x000001A9 + KEY_CAPITAL_Scedilla* = 0x000001AA + KEY_CAPITAL_Tcaron* = 0x000001AB + KEY_CAPITAL_Zacute* = 0x000001AC + KEY_CAPITAL_Zcaron* = 0x000001AE + KEY_CAPITAL_Zabovedot* = 0x000001AF + KEY_aogonek* = 0x000001B1 + KEY_ogonek* = 0x000001B2 + KEY_lstroke* = 0x000001B3 + KEY_lcaron* = 0x000001B5 + KEY_sacute* = 0x000001B6 + KEY_caron* = 0x000001B7 + KEY_scaron* = 0x000001B9 + KEY_scedilla* = 0x000001BA + KEY_tcaron* = 0x000001BB + KEY_zacute* = 0x000001BC + KEY_doubleacute* = 0x000001BD + KEY_zcaron* = 0x000001BE + KEY_zabovedot* = 0x000001BF + KEY_CAPITAL_Racute* = 0x000001C0 + KEY_CAPITAL_Abreve* = 0x000001C3 + KEY_CAPITAL_Lacute* = 0x000001C5 + KEY_CAPITAL_Cacute* = 0x000001C6 + KEY_CAPITAL_Ccaron* = 0x000001C8 + KEY_CAPITAL_Eogonek* = 0x000001CA + KEY_CAPITAL_Ecaron* = 0x000001CC + KEY_CAPITAL_Dcaron* = 0x000001CF + KEY_CAPITAL_Dstroke* = 0x000001D0 + KEY_CAPITAL_Nacute* = 0x000001D1 + KEY_CAPITAL_Ncaron* = 0x000001D2 + KEY_CAPITAL_Odoubleacute* = 0x000001D5 + KEY_CAPITAL_Rcaron* = 0x000001D8 + KEY_CAPITAL_Uring* = 0x000001D9 + KEY_CAPITAL_Udoubleacute* = 0x000001DB + KEY_CAPITAL_Tcedilla* = 0x000001DE + KEY_racute* = 0x000001E0 + KEY_abreve* = 0x000001E3 + KEY_lacute* = 0x000001E5 + KEY_cacute* = 0x000001E6 + KEY_ccaron* = 0x000001E8 + KEY_eogonek* = 0x000001EA + KEY_ecaron* = 0x000001EC + KEY_dcaron* = 0x000001EF + KEY_dstroke* = 0x000001F0 + KEY_nacute* = 0x000001F1 + KEY_ncaron* = 0x000001F2 + KEY_odoubleacute* = 0x000001F5 + KEY_udoubleacute* = 0x000001FB + KEY_rcaron* = 0x000001F8 + KEY_uring* = 0x000001F9 + KEY_tcedilla* = 0x000001FE + KEY_abovedot* = 0x000001FF + KEY_CAPITAL_Hstroke* = 0x000002A1 + KEY_CAPITAL_Hcircumflex* = 0x000002A6 + KEY_CAPITAL_Iabovedot* = 0x000002A9 + KEY_CAPITAL_Gbreve* = 0x000002AB + KEY_CAPITAL_Jcircumflex* = 0x000002AC + KEY_hstroke* = 0x000002B1 + KEY_hcircumflex* = 0x000002B6 + KEY_idotless* = 0x000002B9 + KEY_gbreve* = 0x000002BB + KEY_jcircumflex* = 0x000002BC + KEY_CAPITAL_Cabovedot* = 0x000002C5 + KEY_CAPITAL_Ccircumflex* = 0x000002C6 + KEY_CAPITAL_Gabovedot* = 0x000002D5 + KEY_CAPITAL_Gcircumflex* = 0x000002D8 + KEY_CAPITAL_Ubreve* = 0x000002DD + KEY_CAPITAL_Scircumflex* = 0x000002DE + KEY_cabovedot* = 0x000002E5 + KEY_ccircumflex* = 0x000002E6 + KEY_gabovedot* = 0x000002F5 + KEY_gcircumflex* = 0x000002F8 + KEY_ubreve* = 0x000002FD + KEY_scircumflex* = 0x000002FE + KEY_kra* = 0x000003A2 + KEY_kappa* = 0x000003A2 + KEY_CAPITAL_Rcedilla* = 0x000003A3 + KEY_CAPITAL_Itilde* = 0x000003A5 + KEY_CAPITAL_Lcedilla* = 0x000003A6 + KEY_CAPITAL_Emacron* = 0x000003AA + KEY_CAPITAL_Gcedilla* = 0x000003AB + KEY_CAPITAL_Tslash* = 0x000003AC + KEY_rcedilla* = 0x000003B3 + KEY_itilde* = 0x000003B5 + KEY_lcedilla* = 0x000003B6 + KEY_emacron* = 0x000003BA + KEY_gcedilla* = 0x000003BB + KEY_tslash* = 0x000003BC + KEY_CAPITAL_ENG* = 0x000003BD + KEY_eng* = 0x000003BF + KEY_CAPITAL_Amacron* = 0x000003C0 + KEY_CAPITAL_Iogonek* = 0x000003C7 + KEY_CAPITAL_Eabovedot* = 0x000003CC + KEY_CAPITAL_Imacron* = 0x000003CF + KEY_CAPITAL_Ncedilla* = 0x000003D1 + KEY_CAPITAL_Omacron* = 0x000003D2 + KEY_CAPITAL_Kcedilla* = 0x000003D3 + KEY_CAPITAL_Uogonek* = 0x000003D9 + KEY_CAPITAL_Utilde* = 0x000003DD + KEY_CAPITAL_Umacron* = 0x000003DE + KEY_amacron* = 0x000003E0 + KEY_iogonek* = 0x000003E7 + KEY_eabovedot* = 0x000003EC + KEY_imacron* = 0x000003EF + KEY_ncedilla* = 0x000003F1 + KEY_omacron* = 0x000003F2 + KEY_kcedilla* = 0x000003F3 + KEY_uogonek* = 0x000003F9 + KEY_utilde* = 0x000003FD + KEY_umacron* = 0x000003FE + KEY_CAPITAL_OE* = 0x000013BC + KEY_oe* = 0x000013BD + KEY_CAPITAL_Ydiaeresis* = 0x000013BE + KEY_overline* = 0x0000047E + KEY_kana_fullstop* = 0x000004A1 + KEY_kana_openingbracket* = 0x000004A2 + KEY_kana_closingbracket* = 0x000004A3 + KEY_kana_comma* = 0x000004A4 + KEY_kana_conjunctive* = 0x000004A5 + KEY_kana_middledot* = 0x000004A5 + KEY_kana_WO* = 0x000004A6 + KEY_kana_a* = 0x000004A7 + KEY_kana_i* = 0x000004A8 + KEY_kana_u* = 0x000004A9 + KEY_kana_e* = 0x000004AA + KEY_kana_o* = 0x000004AB + KEY_kana_ya* = 0x000004AC + KEY_kana_yu* = 0x000004AD + KEY_kana_yo* = 0x000004AE + KEY_kana_tsu* = 0x000004AF + KEY_kana_tu* = 0x000004AF + KEY_prolongedsound* = 0x000004B0 + KEY_kana_CAPITAL_A* = 0x000004B1 + KEY_kana_CAPITAL_I* = 0x000004B2 + KEY_kana_CAPITAL_U* = 0x000004B3 + KEY_kana_CAPITAL_E* = 0x000004B4 + KEY_kana_CAPITAL_O* = 0x000004B5 + KEY_kana_KA* = 0x000004B6 + KEY_kana_KI* = 0x000004B7 + KEY_kana_KU* = 0x000004B8 + KEY_kana_KE* = 0x000004B9 + KEY_kana_KO* = 0x000004BA + KEY_kana_SA* = 0x000004BB + KEY_kana_SHI* = 0x000004BC + KEY_kana_SU* = 0x000004BD + KEY_kana_SE* = 0x000004BE + KEY_kana_SO* = 0x000004BF + KEY_kana_TA* = 0x000004C0 + KEY_kana_CHI* = 0x000004C1 + KEY_kana_TI* = 0x000004C1 + KEY_kana_CAPITAL_TSU* = 0x000004C2 + KEY_kana_CAPITAL_TU* = 0x000004C2 + KEY_kana_TE* = 0x000004C3 + KEY_kana_TO* = 0x000004C4 + KEY_kana_NA* = 0x000004C5 + KEY_kana_NI* = 0x000004C6 + KEY_kana_NU* = 0x000004C7 + KEY_kana_NE* = 0x000004C8 + KEY_kana_NO* = 0x000004C9 + KEY_kana_HA* = 0x000004CA + KEY_kana_HI* = 0x000004CB + KEY_kana_FU* = 0x000004CC + KEY_kana_HU* = 0x000004CC + KEY_kana_HE* = 0x000004CD + KEY_kana_HO* = 0x000004CE + KEY_kana_MA* = 0x000004CF + KEY_kana_MI* = 0x000004D0 + KEY_kana_MU* = 0x000004D1 + KEY_kana_ME* = 0x000004D2 + KEY_kana_MO* = 0x000004D3 + KEY_kana_CAPITAL_YA* = 0x000004D4 + KEY_kana_CAPITAL_YU* = 0x000004D5 + KEY_kana_CAPITAL_YO* = 0x000004D6 + KEY_kana_RA* = 0x000004D7 + KEY_kana_RI* = 0x000004D8 + KEY_kana_RU* = 0x000004D9 + KEY_kana_RE* = 0x000004DA + KEY_kana_RO* = 0x000004DB + KEY_kana_WA* = 0x000004DC + KEY_kana_N* = 0x000004DD + KEY_voicedsound* = 0x000004DE + KEY_semivoicedsound* = 0x000004DF + KEY_kana_switch* = 0x0000FF7E + KEY_Arabic_comma* = 0x000005AC + KEY_Arabic_semicolon* = 0x000005BB + KEY_Arabic_question_mark* = 0x000005BF + KEY_Arabic_hamza* = 0x000005C1 + KEY_Arabic_maddaonalef* = 0x000005C2 + KEY_Arabic_hamzaonalef* = 0x000005C3 + KEY_Arabic_hamzaonwaw* = 0x000005C4 + KEY_Arabic_hamzaunderalef* = 0x000005C5 + KEY_Arabic_hamzaonyeh* = 0x000005C6 + KEY_Arabic_alef* = 0x000005C7 + KEY_Arabic_beh* = 0x000005C8 + KEY_Arabic_tehmarbuta* = 0x000005C9 + KEY_Arabic_teh* = 0x000005CA + KEY_Arabic_theh* = 0x000005CB + KEY_Arabic_jeem* = 0x000005CC + KEY_Arabic_hah* = 0x000005CD + KEY_Arabic_khah* = 0x000005CE + KEY_Arabic_dal* = 0x000005CF + KEY_Arabic_thal* = 0x000005D0 + KEY_Arabic_ra* = 0x000005D1 + KEY_Arabic_zain* = 0x000005D2 + KEY_Arabic_seen* = 0x000005D3 + KEY_Arabic_sheen* = 0x000005D4 + KEY_Arabic_sad* = 0x000005D5 + KEY_Arabic_dad* = 0x000005D6 + KEY_Arabic_tah* = 0x000005D7 + KEY_Arabic_zah* = 0x000005D8 + KEY_Arabic_ain* = 0x000005D9 + KEY_Arabic_ghain* = 0x000005DA + KEY_Arabic_tatweel* = 0x000005E0 + KEY_Arabic_feh* = 0x000005E1 + KEY_Arabic_qaf* = 0x000005E2 + KEY_Arabic_kaf* = 0x000005E3 + KEY_Arabic_lam* = 0x000005E4 + KEY_Arabic_meem* = 0x000005E5 + KEY_Arabic_noon* = 0x000005E6 + KEY_Arabic_ha* = 0x000005E7 + KEY_Arabic_heh* = 0x000005E7 + KEY_Arabic_waw* = 0x000005E8 + KEY_Arabic_alefmaksura* = 0x000005E9 + KEY_Arabic_yeh* = 0x000005EA + KEY_Arabic_fathatan* = 0x000005EB + KEY_Arabic_dammatan* = 0x000005EC + KEY_Arabic_kasratan* = 0x000005ED + KEY_Arabic_fatha* = 0x000005EE + KEY_Arabic_damma* = 0x000005EF + KEY_Arabic_kasra* = 0x000005F0 + KEY_Arabic_shadda* = 0x000005F1 + KEY_Arabic_sukun* = 0x000005F2 + KEY_Arabic_switch* = 0x0000FF7E + KEY_Serbian_dje* = 0x000006A1 + KEY_Macedonia_gje* = 0x000006A2 + KEY_Cyrillic_io* = 0x000006A3 + KEY_Ukrainian_ie* = 0x000006A4 + KEY_Ukranian_je* = 0x000006A4 + KEY_Macedonia_dse* = 0x000006A5 + KEY_Ukrainian_i* = 0x000006A6 + KEY_Ukranian_i* = 0x000006A6 + KEY_Ukrainian_yi* = 0x000006A7 + KEY_Ukranian_yi* = 0x000006A7 + KEY_Cyrillic_je* = 0x000006A8 + KEY_Serbian_je* = 0x000006A8 + KEY_Cyrillic_lje* = 0x000006A9 + KEY_Serbian_lje* = 0x000006A9 + KEY_Cyrillic_nje* = 0x000006AA + KEY_Serbian_nje* = 0x000006AA + KEY_Serbian_tshe* = 0x000006AB + KEY_Macedonia_kje* = 0x000006AC + KEY_Byelorussian_shortu* = 0x000006AE + KEY_Cyrillic_dzhe* = 0x000006AF + KEY_Serbian_dze* = 0x000006AF + KEY_numerosign* = 0x000006B0 + KEY_Serbian_CAPITAL_DJE* = 0x000006B1 + KEY_Macedonia_CAPITAL_GJE* = 0x000006B2 + KEY_Cyrillic_CAPITAL_IO* = 0x000006B3 + KEY_Ukrainian_CAPITAL_IE* = 0x000006B4 + KEY_Ukranian_CAPITAL_JE* = 0x000006B4 + KEY_Macedonia_CAPITAL_DSE* = 0x000006B5 + KEY_Ukrainian_CAPITAL_I* = 0x000006B6 + KEY_Ukranian_CAPITAL_I* = 0x000006B6 + KEY_Ukrainian_CAPITAL_YI* = 0x000006B7 + KEY_Ukranian_CAPITAL_YI* = 0x000006B7 + KEY_Cyrillic_CAPITAL_JE* = 0x000006B8 + KEY_Serbian_CAPITAL_JE* = 0x000006B8 + KEY_Cyrillic_CAPITAL_LJE* = 0x000006B9 + KEY_Serbian_CAPITAL_LJE* = 0x000006B9 + KEY_Cyrillic_CAPITAL_NJE* = 0x000006BA + KEY_Serbian_CAPITAL_NJE* = 0x000006BA + KEY_Serbian_CAPITAL_TSHE* = 0x000006BB + KEY_Macedonia_CAPITAL_KJE* = 0x000006BC + KEY_Byelorussian_CAPITAL_SHORTU* = 0x000006BE + KEY_Cyrillic_CAPITAL_DZHE* = 0x000006BF + KEY_Serbian_CAPITAL_DZE* = 0x000006BF + KEY_Cyrillic_yu* = 0x000006C0 + KEY_Cyrillic_a* = 0x000006C1 + KEY_Cyrillic_be* = 0x000006C2 + KEY_Cyrillic_tse* = 0x000006C3 + KEY_Cyrillic_de* = 0x000006C4 + KEY_Cyrillic_ie* = 0x000006C5 + KEY_Cyrillic_ef* = 0x000006C6 + KEY_Cyrillic_ghe* = 0x000006C7 + KEY_Cyrillic_ha* = 0x000006C8 + KEY_Cyrillic_i* = 0x000006C9 + KEY_Cyrillic_shorti* = 0x000006CA + KEY_Cyrillic_ka* = 0x000006CB + KEY_Cyrillic_el* = 0x000006CC + KEY_Cyrillic_em* = 0x000006CD + KEY_Cyrillic_en* = 0x000006CE + KEY_Cyrillic_o* = 0x000006CF + KEY_Cyrillic_pe* = 0x000006D0 + KEY_Cyrillic_ya* = 0x000006D1 + KEY_Cyrillic_er* = 0x000006D2 + KEY_Cyrillic_es* = 0x000006D3 + KEY_Cyrillic_te* = 0x000006D4 + KEY_Cyrillic_u* = 0x000006D5 + KEY_Cyrillic_zhe* = 0x000006D6 + KEY_Cyrillic_ve* = 0x000006D7 + KEY_Cyrillic_softsign* = 0x000006D8 + KEY_Cyrillic_yeru* = 0x000006D9 + KEY_Cyrillic_ze* = 0x000006DA + KEY_Cyrillic_sha* = 0x000006DB + KEY_Cyrillic_e* = 0x000006DC + KEY_Cyrillic_shcha* = 0x000006DD + KEY_Cyrillic_che* = 0x000006DE + KEY_Cyrillic_hardsign* = 0x000006DF + KEY_Cyrillic_CAPITAL_YU* = 0x000006E0 + KEY_Cyrillic_CAPITAL_A* = 0x000006E1 + KEY_Cyrillic_CAPITAL_BE* = 0x000006E2 + KEY_Cyrillic_CAPITAL_TSE* = 0x000006E3 + KEY_Cyrillic_CAPITAL_DE* = 0x000006E4 + KEY_Cyrillic_CAPITAL_IE* = 0x000006E5 + KEY_Cyrillic_CAPITAL_EF* = 0x000006E6 + KEY_Cyrillic_CAPITAL_GHE* = 0x000006E7 + KEY_Cyrillic_CAPITAL_HA* = 0x000006E8 + KEY_Cyrillic_CAPITAL_I* = 0x000006E9 + KEY_Cyrillic_CAPITAL_SHORTI* = 0x000006EA + KEY_Cyrillic_CAPITAL_KA* = 0x000006EB + KEY_Cyrillic_CAPITAL_EL* = 0x000006EC + KEY_Cyrillic_CAPITAL_EM* = 0x000006ED + KEY_Cyrillic_CAPITAL_EN* = 0x000006EE + KEY_Cyrillic_CAPITAL_O* = 0x000006EF + KEY_Cyrillic_CAPITAL_PE* = 0x000006F0 + KEY_Cyrillic_CAPITAL_YA* = 0x000006F1 + KEY_Cyrillic_CAPITAL_ER* = 0x000006F2 + KEY_Cyrillic_CAPITAL_ES* = 0x000006F3 + KEY_Cyrillic_CAPITAL_TE* = 0x000006F4 + KEY_Cyrillic_CAPITAL_U* = 0x000006F5 + KEY_Cyrillic_CAPITAL_ZHE* = 0x000006F6 + KEY_Cyrillic_CAPITAL_VE* = 0x000006F7 + KEY_Cyrillic_CAPITAL_SOFTSIGN* = 0x000006F8 + KEY_Cyrillic_CAPITAL_YERU* = 0x000006F9 + KEY_Cyrillic_CAPITAL_ZE* = 0x000006FA + KEY_Cyrillic_CAPITAL_SHA* = 0x000006FB + KEY_Cyrillic_CAPITAL_E* = 0x000006FC + KEY_Cyrillic_CAPITAL_SHCHA* = 0x000006FD + KEY_Cyrillic_CAPITAL_CHE* = 0x000006FE + KEY_Cyrillic_CAPITAL_HARDSIGN* = 0x000006FF + KEY_Greek_CAPITAL_ALPHAaccent* = 0x000007A1 + KEY_Greek_CAPITAL_EPSILONaccent* = 0x000007A2 + KEY_Greek_CAPITAL_ETAaccent* = 0x000007A3 + KEY_Greek_CAPITAL_IOTAaccent* = 0x000007A4 + KEY_Greek_CAPITAL_IOTAdiaeresis* = 0x000007A5 + KEY_Greek_CAPITAL_OMICRONaccent* = 0x000007A7 + KEY_Greek_CAPITAL_UPSILONaccent* = 0x000007A8 + KEY_Greek_CAPITAL_UPSILONdieresis* = 0x000007A9 + KEY_Greek_CAPITAL_OMEGAaccent* = 0x000007AB + KEY_Greek_accentdieresis* = 0x000007AE + KEY_Greek_horizbar* = 0x000007AF + KEY_Greek_alphaaccent* = 0x000007B1 + KEY_Greek_epsilonaccent* = 0x000007B2 + KEY_Greek_etaaccent* = 0x000007B3 + KEY_Greek_iotaaccent* = 0x000007B4 + KEY_Greek_iotadieresis* = 0x000007B5 + KEY_Greek_iotaaccentdieresis* = 0x000007B6 + KEY_Greek_omicronaccent* = 0x000007B7 + KEY_Greek_upsilonaccent* = 0x000007B8 + KEY_Greek_upsilondieresis* = 0x000007B9 + KEY_Greek_upsilonaccentdieresis* = 0x000007BA + KEY_Greek_omegaaccent* = 0x000007BB + KEY_Greek_CAPITAL_ALPHA* = 0x000007C1 + KEY_Greek_CAPITAL_BETA* = 0x000007C2 + KEY_Greek_CAPITAL_GAMMA* = 0x000007C3 + KEY_Greek_CAPITAL_DELTA* = 0x000007C4 + KEY_Greek_CAPITAL_EPSILON* = 0x000007C5 + KEY_Greek_CAPITAL_ZETA* = 0x000007C6 + KEY_Greek_CAPITAL_ETA* = 0x000007C7 + KEY_Greek_CAPITAL_THETA* = 0x000007C8 + KEY_Greek_CAPITAL_IOTA* = 0x000007C9 + KEY_Greek_CAPITAL_KAPPA* = 0x000007CA + KEY_Greek_CAPITAL_LAMDA* = 0x000007CB + KEY_Greek_CAPITAL_LAMBDA* = 0x000007CB + KEY_Greek_CAPITAL_MU* = 0x000007CC + KEY_Greek_CAPITAL_NU* = 0x000007CD + KEY_Greek_CAPITAL_XI* = 0x000007CE + KEY_Greek_CAPITAL_OMICRON* = 0x000007CF + KEY_Greek_CAPITAL_PI* = 0x000007D0 + KEY_Greek_CAPITAL_RHO* = 0x000007D1 + KEY_Greek_CAPITAL_SIGMA* = 0x000007D2 + KEY_Greek_CAPITAL_TAU* = 0x000007D4 + KEY_Greek_CAPITAL_UPSILON* = 0x000007D5 + KEY_Greek_CAPITAL_PHI* = 0x000007D6 + KEY_Greek_CAPITAL_CHI* = 0x000007D7 + KEY_Greek_CAPITAL_PSI* = 0x000007D8 + KEY_Greek_CAPITAL_OMEGA* = 0x000007D9 + KEY_Greek_alpha* = 0x000007E1 + KEY_Greek_beta* = 0x000007E2 + KEY_Greek_gamma* = 0x000007E3 + KEY_Greek_delta* = 0x000007E4 + KEY_Greek_epsilon* = 0x000007E5 + KEY_Greek_zeta* = 0x000007E6 + KEY_Greek_eta* = 0x000007E7 + KEY_Greek_theta* = 0x000007E8 + KEY_Greek_iota* = 0x000007E9 + KEY_Greek_kappa* = 0x000007EA + KEY_Greek_lamda* = 0x000007EB + KEY_Greek_lambda* = 0x000007EB + KEY_Greek_mu* = 0x000007EC + KEY_Greek_nu* = 0x000007ED + KEY_Greek_xi* = 0x000007EE + KEY_Greek_omicron* = 0x000007EF + KEY_Greek_pi* = 0x000007F0 + KEY_Greek_rho* = 0x000007F1 + KEY_Greek_sigma* = 0x000007F2 + KEY_Greek_finalsmallsigma* = 0x000007F3 + KEY_Greek_tau* = 0x000007F4 + KEY_Greek_upsilon* = 0x000007F5 + KEY_Greek_phi* = 0x000007F6 + KEY_Greek_chi* = 0x000007F7 + KEY_Greek_psi* = 0x000007F8 + KEY_Greek_omega* = 0x000007F9 + KEY_Greek_switch* = 0x0000FF7E + KEY_leftradical* = 0x000008A1 + KEY_topleftradical* = 0x000008A2 + KEY_horizconnector* = 0x000008A3 + KEY_topintegral* = 0x000008A4 + KEY_botintegral* = 0x000008A5 + KEY_vertconnector* = 0x000008A6 + KEY_topleftsqbracket* = 0x000008A7 + KEY_botleftsqbracket* = 0x000008A8 + KEY_toprightsqbracket* = 0x000008A9 + KEY_botrightsqbracket* = 0x000008AA + KEY_topleftparens* = 0x000008AB + KEY_botleftparens* = 0x000008AC + KEY_toprightparens* = 0x000008AD + KEY_botrightparens* = 0x000008AE + KEY_leftmiddlecurlybrace* = 0x000008AF + KEY_rightmiddlecurlybrace* = 0x000008B0 + KEY_topleftsummation* = 0x000008B1 + KEY_botleftsummation* = 0x000008B2 + KEY_topvertsummationconnector* = 0x000008B3 + KEY_botvertsummationconnector* = 0x000008B4 + KEY_toprightsummation* = 0x000008B5 + KEY_botrightsummation* = 0x000008B6 + KEY_rightmiddlesummation* = 0x000008B7 + KEY_lessthanequal* = 0x000008BC + KEY_notequal* = 0x000008BD + KEY_greaterthanequal* = 0x000008BE + KEY_integral* = 0x000008BF + KEY_therefore* = 0x000008C0 + KEY_variation* = 0x000008C1 + KEY_infinity* = 0x000008C2 + KEY_nabla* = 0x000008C5 + KEY_approximate* = 0x000008C8 + KEY_similarequal* = 0x000008C9 + KEY_ifonlyif* = 0x000008CD + KEY_implies* = 0x000008CE + KEY_identical* = 0x000008CF + KEY_radical* = 0x000008D6 + KEY_includedin* = 0x000008DA + KEY_includes* = 0x000008DB + KEY_intersection* = 0x000008DC + KEY_union* = 0x000008DD + KEY_logicaland* = 0x000008DE + KEY_logicalor* = 0x000008DF + KEY_partialderivative* = 0x000008EF + KEY_function* = 0x000008F6 + KEY_leftarrow* = 0x000008FB + KEY_uparrow* = 0x000008FC + KEY_rightarrow* = 0x000008FD + KEY_downarrow* = 0x000008FE + KEY_blank* = 0x000009DF + KEY_soliddiamond* = 0x000009E0 + KEY_checkerboard* = 0x000009E1 + KEY_ht* = 0x000009E2 + KEY_ff* = 0x000009E3 + KEY_cr* = 0x000009E4 + KEY_lf* = 0x000009E5 + KEY_nl* = 0x000009E8 + KEY_vt* = 0x000009E9 + KEY_lowrightcorner* = 0x000009EA + KEY_uprightcorner* = 0x000009EB + KEY_upleftcorner* = 0x000009EC + KEY_lowleftcorner* = 0x000009ED + KEY_crossinglines* = 0x000009EE + KEY_horizlinescan1* = 0x000009EF + KEY_horizlinescan3* = 0x000009F0 + KEY_horizlinescan5* = 0x000009F1 + KEY_horizlinescan7* = 0x000009F2 + KEY_horizlinescan9* = 0x000009F3 + KEY_leftt* = 0x000009F4 + KEY_rightt* = 0x000009F5 + KEY_bott* = 0x000009F6 + KEY_topt* = 0x000009F7 + KEY_vertbar* = 0x000009F8 + KEY_emspace* = 0x00000AA1 + KEY_enspace* = 0x00000AA2 + KEY_em3space* = 0x00000AA3 + KEY_em4space* = 0x00000AA4 + KEY_digitspace* = 0x00000AA5 + KEY_punctspace* = 0x00000AA6 + KEY_thinspace* = 0x00000AA7 + KEY_hairspace* = 0x00000AA8 + KEY_emdash* = 0x00000AA9 + KEY_endash* = 0x00000AAA + KEY_signifblank* = 0x00000AAC + KEY_ellipsis* = 0x00000AAE + KEY_doubbaselinedot* = 0x00000AAF + KEY_onethird* = 0x00000AB0 + KEY_twothirds* = 0x00000AB1 + KEY_onefifth* = 0x00000AB2 + KEY_twofifths* = 0x00000AB3 + KEY_threefifths* = 0x00000AB4 + KEY_fourfifths* = 0x00000AB5 + KEY_onesixth* = 0x00000AB6 + KEY_fivesixths* = 0x00000AB7 + KEY_careof* = 0x00000AB8 + KEY_figdash* = 0x00000ABB + KEY_leftanglebracket* = 0x00000ABC + KEY_decimalpoint* = 0x00000ABD + KEY_rightanglebracket* = 0x00000ABE + KEY_marker* = 0x00000ABF + KEY_oneeighth* = 0x00000AC3 + KEY_threeeighths* = 0x00000AC4 + KEY_fiveeighths* = 0x00000AC5 + KEY_seveneighths* = 0x00000AC6 + KEY_trademark* = 0x00000AC9 + KEY_signaturemark* = 0x00000ACA + KEY_trademarkincircle* = 0x00000ACB + KEY_leftopentriangle* = 0x00000ACC + KEY_rightopentriangle* = 0x00000ACD + KEY_emopencircle* = 0x00000ACE + KEY_emopenrectangle* = 0x00000ACF + KEY_leftsinglequotemark* = 0x00000AD0 + KEY_rightsinglequotemark* = 0x00000AD1 + KEY_leftdoublequotemark* = 0x00000AD2 + KEY_rightdoublequotemark* = 0x00000AD3 + KEY_prescription* = 0x00000AD4 + KEY_minutes* = 0x00000AD6 + KEY_seconds* = 0x00000AD7 + KEY_latincross* = 0x00000AD9 + KEY_hexagram* = 0x00000ADA + KEY_filledrectbullet* = 0x00000ADB + KEY_filledlefttribullet* = 0x00000ADC + KEY_filledrighttribullet* = 0x00000ADD + KEY_emfilledcircle* = 0x00000ADE + KEY_emfilledrect* = 0x00000ADF + KEY_enopencircbullet* = 0x00000AE0 + KEY_enopensquarebullet* = 0x00000AE1 + KEY_openrectbullet* = 0x00000AE2 + KEY_opentribulletup* = 0x00000AE3 + KEY_opentribulletdown* = 0x00000AE4 + KEY_openstar* = 0x00000AE5 + KEY_enfilledcircbullet* = 0x00000AE6 + KEY_enfilledsqbullet* = 0x00000AE7 + KEY_filledtribulletup* = 0x00000AE8 + KEY_filledtribulletdown* = 0x00000AE9 + KEY_leftpointer* = 0x00000AEA + KEY_rightpointer* = 0x00000AEB + KEY_club* = 0x00000AEC + KEY_diamond* = 0x00000AED + KEY_heart* = 0x00000AEE + KEY_maltesecross* = 0x00000AF0 + KEY_dagger* = 0x00000AF1 + KEY_doubledagger* = 0x00000AF2 + KEY_checkmark* = 0x00000AF3 + KEY_ballotcross* = 0x00000AF4 + KEY_musicalsharp* = 0x00000AF5 + KEY_musicalflat* = 0x00000AF6 + KEY_malesymbol* = 0x00000AF7 + KEY_femalesymbol* = 0x00000AF8 + KEY_telephone* = 0x00000AF9 + KEY_telephonerecorder* = 0x00000AFA + KEY_phonographcopyright* = 0x00000AFB + KEY_caret* = 0x00000AFC + KEY_singlelowquotemark* = 0x00000AFD + KEY_doublelowquotemark* = 0x00000AFE + KEY_cursor* = 0x00000AFF + KEY_leftcaret* = 0x00000BA3 + KEY_rightcaret* = 0x00000BA6 + KEY_downcaret* = 0x00000BA8 + KEY_upcaret* = 0x00000BA9 + KEY_overbar* = 0x00000BC0 + KEY_downtack* = 0x00000BC2 + KEY_upshoe* = 0x00000BC3 + KEY_downstile* = 0x00000BC4 + KEY_underbar* = 0x00000BC6 + KEY_jot* = 0x00000BCA + KEY_quad* = 0x00000BCC + KEY_uptack* = 0x00000BCE + KEY_circle* = 0x00000BCF + KEY_upstile* = 0x00000BD3 + KEY_downshoe* = 0x00000BD6 + KEY_rightshoe* = 0x00000BD8 + KEY_leftshoe* = 0x00000BDA + KEY_lefttack* = 0x00000BDC + KEY_righttack* = 0x00000BFC + KEY_hebrew_doublelowline* = 0x00000CDF + KEY_hebrew_aleph* = 0x00000CE0 + KEY_hebrew_bet* = 0x00000CE1 + KEY_hebrew_beth* = 0x00000CE1 + KEY_hebrew_gimel* = 0x00000CE2 + KEY_hebrew_gimmel* = 0x00000CE2 + KEY_hebrew_dalet* = 0x00000CE3 + KEY_hebrew_daleth* = 0x00000CE3 + KEY_hebrew_he* = 0x00000CE4 + KEY_hebrew_waw* = 0x00000CE5 + KEY_hebrew_zain* = 0x00000CE6 + KEY_hebrew_zayin* = 0x00000CE6 + KEY_hebrew_chet* = 0x00000CE7 + KEY_hebrew_het* = 0x00000CE7 + KEY_hebrew_tet* = 0x00000CE8 + KEY_hebrew_teth* = 0x00000CE8 + KEY_hebrew_yod* = 0x00000CE9 + KEY_hebrew_finalkaph* = 0x00000CEA + KEY_hebrew_kaph* = 0x00000CEB + KEY_hebrew_lamed* = 0x00000CEC + KEY_hebrew_finalmem* = 0x00000CED + KEY_hebrew_mem* = 0x00000CEE + KEY_hebrew_finalnun* = 0x00000CEF + KEY_hebrew_nun* = 0x00000CF0 + KEY_hebrew_samech* = 0x00000CF1 + KEY_hebrew_samekh* = 0x00000CF1 + KEY_hebrew_ayin* = 0x00000CF2 + KEY_hebrew_finalpe* = 0x00000CF3 + KEY_hebrew_pe* = 0x00000CF4 + KEY_hebrew_finalzade* = 0x00000CF5 + KEY_hebrew_finalzadi* = 0x00000CF5 + KEY_hebrew_zade* = 0x00000CF6 + KEY_hebrew_zadi* = 0x00000CF6 + KEY_hebrew_qoph* = 0x00000CF7 + KEY_hebrew_kuf* = 0x00000CF7 + KEY_hebrew_resh* = 0x00000CF8 + KEY_hebrew_shin* = 0x00000CF9 + KEY_hebrew_taw* = 0x00000CFA + KEY_hebrew_taf* = 0x00000CFA + KEY_Hebrew_switch* = 0x0000FF7E + KEY_Thai_kokai* = 0x00000DA1 + KEY_Thai_khokhai* = 0x00000DA2 + KEY_Thai_khokhuat* = 0x00000DA3 + KEY_Thai_khokhwai* = 0x00000DA4 + KEY_Thai_khokhon* = 0x00000DA5 + KEY_Thai_khorakhang* = 0x00000DA6 + KEY_Thai_ngongu* = 0x00000DA7 + KEY_Thai_chochan* = 0x00000DA8 + KEY_Thai_choching* = 0x00000DA9 + KEY_Thai_chochang* = 0x00000DAA + KEY_Thai_soso* = 0x00000DAB + KEY_Thai_chochoe* = 0x00000DAC + KEY_Thai_yoying* = 0x00000DAD + KEY_Thai_dochada* = 0x00000DAE + KEY_Thai_topatak* = 0x00000DAF + KEY_Thai_thothan* = 0x00000DB0 + KEY_Thai_thonangmontho* = 0x00000DB1 + KEY_Thai_thophuthao* = 0x00000DB2 + KEY_Thai_nonen* = 0x00000DB3 + KEY_Thai_dodek* = 0x00000DB4 + KEY_Thai_totao* = 0x00000DB5 + KEY_Thai_thothung* = 0x00000DB6 + KEY_Thai_thothahan* = 0x00000DB7 + KEY_Thai_thothong* = 0x00000DB8 + KEY_Thai_nonu* = 0x00000DB9 + KEY_Thai_bobaimai* = 0x00000DBA + KEY_Thai_popla* = 0x00000DBB + KEY_Thai_phophung* = 0x00000DBC + KEY_Thai_fofa* = 0x00000DBD + KEY_Thai_phophan* = 0x00000DBE + KEY_Thai_fofan* = 0x00000DBF + KEY_Thai_phosamphao* = 0x00000DC0 + KEY_Thai_moma* = 0x00000DC1 + KEY_Thai_yoyak* = 0x00000DC2 + KEY_Thai_rorua* = 0x00000DC3 + KEY_Thai_ru* = 0x00000DC4 + KEY_Thai_loling* = 0x00000DC5 + KEY_Thai_lu* = 0x00000DC6 + KEY_Thai_wowaen* = 0x00000DC7 + KEY_Thai_sosala* = 0x00000DC8 + KEY_Thai_sorusi* = 0x00000DC9 + KEY_Thai_sosua* = 0x00000DCA + KEY_Thai_hohip* = 0x00000DCB + KEY_Thai_lochula* = 0x00000DCC + KEY_Thai_oang* = 0x00000DCD + KEY_Thai_honokhuk* = 0x00000DCE + KEY_Thai_paiyannoi* = 0x00000DCF + KEY_Thai_saraa* = 0x00000DD0 + KEY_Thai_maihanakat* = 0x00000DD1 + KEY_Thai_saraaa* = 0x00000DD2 + KEY_Thai_saraam* = 0x00000DD3 + KEY_Thai_sarai* = 0x00000DD4 + KEY_Thai_saraii* = 0x00000DD5 + KEY_Thai_saraue* = 0x00000DD6 + KEY_Thai_sarauee* = 0x00000DD7 + KEY_Thai_sarau* = 0x00000DD8 + KEY_Thai_sarauu* = 0x00000DD9 + KEY_Thai_phinthu* = 0x00000DDA + KEY_Thai_maihanakat_maitho* = 0x00000DDE + KEY_Thai_baht* = 0x00000DDF + KEY_Thai_sarae* = 0x00000DE0 + KEY_Thai_saraae* = 0x00000DE1 + KEY_Thai_sarao* = 0x00000DE2 + KEY_Thai_saraaimaimuan* = 0x00000DE3 + KEY_Thai_saraaimaimalai* = 0x00000DE4 + KEY_Thai_lakkhangyao* = 0x00000DE5 + KEY_Thai_maiyamok* = 0x00000DE6 + KEY_Thai_maitaikhu* = 0x00000DE7 + KEY_Thai_maiek* = 0x00000DE8 + KEY_Thai_maitho* = 0x00000DE9 + KEY_Thai_maitri* = 0x00000DEA + KEY_Thai_maichattawa* = 0x00000DEB + KEY_Thai_thanthakhat* = 0x00000DEC + KEY_Thai_nikhahit* = 0x00000DED + KEY_Thai_leksun* = 0x00000DF0 + KEY_Thai_leknung* = 0x00000DF1 + KEY_Thai_leksong* = 0x00000DF2 + KEY_Thai_leksam* = 0x00000DF3 + KEY_Thai_leksi* = 0x00000DF4 + KEY_Thai_lekha* = 0x00000DF5 + KEY_Thai_lekhok* = 0x00000DF6 + KEY_Thai_lekchet* = 0x00000DF7 + KEY_Thai_lekpaet* = 0x00000DF8 + KEY_Thai_lekkao* = 0x00000DF9 + KEY_Hangul* = 0x0000FF31 + KEY_Hangul_Start* = 0x0000FF32 + KEY_Hangul_End* = 0x0000FF33 + KEY_Hangul_Hanja* = 0x0000FF34 + KEY_Hangul_Jamo* = 0x0000FF35 + KEY_Hangul_Romaja* = 0x0000FF36 + KEY_Hangul_Codeinput* = 0x0000FF37 + KEY_Hangul_Jeonja* = 0x0000FF38 + KEY_Hangul_Banja* = 0x0000FF39 + KEY_Hangul_PreHanja* = 0x0000FF3A + KEY_Hangul_PostHanja* = 0x0000FF3B + KEY_Hangul_SingleCandidate* = 0x0000FF3C + KEY_Hangul_MultipleCandidate* = 0x0000FF3D + KEY_Hangul_PreviousCandidate* = 0x0000FF3E + KEY_Hangul_Special* = 0x0000FF3F + KEY_Hangul_switch* = 0x0000FF7E + KEY_Hangul_Kiyeog* = 0x00000EA1 + KEY_Hangul_SsangKiyeog* = 0x00000EA2 + KEY_Hangul_KiyeogSios* = 0x00000EA3 + KEY_Hangul_Nieun* = 0x00000EA4 + KEY_Hangul_NieunJieuj* = 0x00000EA5 + KEY_Hangul_NieunHieuh* = 0x00000EA6 + KEY_Hangul_Dikeud* = 0x00000EA7 + KEY_Hangul_SsangDikeud* = 0x00000EA8 + KEY_Hangul_Rieul* = 0x00000EA9 + KEY_Hangul_RieulKiyeog* = 0x00000EAA + KEY_Hangul_RieulMieum* = 0x00000EAB + KEY_Hangul_RieulPieub* = 0x00000EAC + KEY_Hangul_RieulSios* = 0x00000EAD + KEY_Hangul_RieulTieut* = 0x00000EAE + KEY_Hangul_RieulPhieuf* = 0x00000EAF + KEY_Hangul_RieulHieuh* = 0x00000EB0 + KEY_Hangul_Mieum* = 0x00000EB1 + KEY_Hangul_Pieub* = 0x00000EB2 + KEY_Hangul_SsangPieub* = 0x00000EB3 + KEY_Hangul_PieubSios* = 0x00000EB4 + KEY_Hangul_Sios* = 0x00000EB5 + KEY_Hangul_SsangSios* = 0x00000EB6 + KEY_Hangul_Ieung* = 0x00000EB7 + KEY_Hangul_Jieuj* = 0x00000EB8 + KEY_Hangul_SsangJieuj* = 0x00000EB9 + KEY_Hangul_Cieuc* = 0x00000EBA + KEY_Hangul_Khieuq* = 0x00000EBB + KEY_Hangul_Tieut* = 0x00000EBC + KEY_Hangul_Phieuf* = 0x00000EBD + KEY_Hangul_Hieuh* = 0x00000EBE + KEY_Hangul_A* = 0x00000EBF + KEY_Hangul_AE* = 0x00000EC0 + KEY_Hangul_YA* = 0x00000EC1 + KEY_Hangul_YAE* = 0x00000EC2 + KEY_Hangul_EO* = 0x00000EC3 + KEY_Hangul_E* = 0x00000EC4 + KEY_Hangul_YEO* = 0x00000EC5 + KEY_Hangul_YE* = 0x00000EC6 + KEY_Hangul_O* = 0x00000EC7 + KEY_Hangul_WA* = 0x00000EC8 + KEY_Hangul_WAE* = 0x00000EC9 + KEY_Hangul_OE* = 0x00000ECA + KEY_Hangul_YO* = 0x00000ECB + KEY_Hangul_U* = 0x00000ECC + KEY_Hangul_WEO* = 0x00000ECD + KEY_Hangul_WE* = 0x00000ECE + KEY_Hangul_WI* = 0x00000ECF + KEY_Hangul_YU* = 0x00000ED0 + KEY_Hangul_EU* = 0x00000ED1 + KEY_Hangul_YI* = 0x00000ED2 + KEY_Hangul_I* = 0x00000ED3 + KEY_Hangul_J_Kiyeog* = 0x00000ED4 + KEY_Hangul_J_SsangKiyeog* = 0x00000ED5 + KEY_Hangul_J_KiyeogSios* = 0x00000ED6 + KEY_Hangul_J_Nieun* = 0x00000ED7 + KEY_Hangul_J_NieunJieuj* = 0x00000ED8 + KEY_Hangul_J_NieunHieuh* = 0x00000ED9 + KEY_Hangul_J_Dikeud* = 0x00000EDA + KEY_Hangul_J_Rieul* = 0x00000EDB + KEY_Hangul_J_RieulKiyeog* = 0x00000EDC + KEY_Hangul_J_RieulMieum* = 0x00000EDD + KEY_Hangul_J_RieulPieub* = 0x00000EDE + KEY_Hangul_J_RieulSios* = 0x00000EDF + KEY_Hangul_J_RieulTieut* = 0x00000EE0 + KEY_Hangul_J_RieulPhieuf* = 0x00000EE1 + KEY_Hangul_J_RieulHieuh* = 0x00000EE2 + KEY_Hangul_J_Mieum* = 0x00000EE3 + KEY_Hangul_J_Pieub* = 0x00000EE4 + KEY_Hangul_J_PieubSios* = 0x00000EE5 + KEY_Hangul_J_Sios* = 0x00000EE6 + KEY_Hangul_J_SsangSios* = 0x00000EE7 + KEY_Hangul_J_Ieung* = 0x00000EE8 + KEY_Hangul_J_Jieuj* = 0x00000EE9 + KEY_Hangul_J_Cieuc* = 0x00000EEA + KEY_Hangul_J_Khieuq* = 0x00000EEB + KEY_Hangul_J_Tieut* = 0x00000EEC + KEY_Hangul_J_Phieuf* = 0x00000EED + KEY_Hangul_J_Hieuh* = 0x00000EEE + KEY_Hangul_RieulYeorinHieuh* = 0x00000EEF + KEY_Hangul_SunkyeongeumMieum* = 0x00000EF0 + KEY_Hangul_SunkyeongeumPieub* = 0x00000EF1 + KEY_Hangul_PanSios* = 0x00000EF2 + KEY_Hangul_KkogjiDalrinIeung* = 0x00000EF3 + KEY_Hangul_SunkyeongeumPhieuf* = 0x00000EF4 + KEY_Hangul_YeorinHieuh* = 0x00000EF5 + KEY_Hangul_AraeA* = 0x00000EF6 + KEY_Hangul_AraeAE* = 0x00000EF7 + KEY_Hangul_J_PanSios* = 0x00000EF8 + KEY_Hangul_J_KkogjiDalrinIeung* = 0x00000EF9 + KEY_Hangul_J_YeorinHieuh* = 0x00000EFA + KEY_Korean_Won* = 0x00000EFF + KEY_EcuSign* = 0x000020A0 + KEY_ColonSign* = 0x000020A1 + KEY_CruzeiroSign* = 0x000020A2 + KEY_FFrancSign* = 0x000020A3 + KEY_LiraSign* = 0x000020A4 + KEY_MillSign* = 0x000020A5 + KEY_NairaSign* = 0x000020A6 + KEY_PesetaSign* = 0x000020A7 + KEY_RupeeSign* = 0x000020A8 + KEY_WonSign* = 0x000020A9 + KEY_NewSheqelSign* = 0x000020AA + KEY_DongSign* = 0x000020AB + KEY_EuroSign* = 0x000020AC + +proc pango_context_get_for_screen*(screen: PScreen): PPangoContext{.cdecl, + dynlib: lib, importc: "gdk_pango_context_get_for_screen".} +proc pango_context_set_colormap*(context: PPangoContext, colormap: PColormap){. + cdecl, dynlib: lib, importc: "gdk_pango_context_set_colormap".} +proc pango_layout_line_get_clip_region*(line: PPangoLayoutLine, x_origin: gint, + y_origin: gint, index_ranges: Pgint, + n_ranges: gint): PRegion{.cdecl, + dynlib: lib, importc: "gdk_pango_layout_line_get_clip_region".} +proc pango_layout_get_clip_region*(layout: PPangoLayout, x_origin: gint, + y_origin: gint, index_ranges: Pgint, + n_ranges: gint): PRegion{.cdecl, dynlib: lib, + importc: "gdk_pango_layout_get_clip_region".} +proc pango_attr_stipple_new*(stipple: PBitmap): PPangoAttribute{.cdecl, + dynlib: lib, importc: "gdk_pango_attr_stipple_new".} +proc pango_attr_embossed_new*(embossed: gboolean): PPangoAttribute{.cdecl, + dynlib: lib, importc: "gdk_pango_attr_embossed_new".} +proc pixbuf_render_threshold_alpha*(pixbuf: PPixbuf, bitmap: PBitmap, + src_x: int32, src_y: int32, dest_x: int32, + dest_y: int32, width: int32, height: int32, + alpha_threshold: int32){.cdecl, dynlib: lib, + importc: "gdk_pixbuf_render_threshold_alpha".} +proc pixbuf_render_to_drawable*(pixbuf: PPixbuf, drawable: PDrawable, gc: PGC, + src_x: int32, src_y: int32, dest_x: int32, + dest_y: int32, width: int32, height: int32, + dither: TRgbDither, x_dither: int32, + y_dither: int32){.cdecl, dynlib: lib, + importc: "gdk_pixbuf_render_to_drawable".} +proc pixbuf_render_to_drawable_alpha*(pixbuf: PPixbuf, drawable: PDrawable, + src_x: int32, src_y: int32, dest_x: int32, + dest_y: int32, width: int32, + height: int32, + alpha_mode: TPixbufAlphaMode, + alpha_threshold: int32, + dither: TRgbDither, x_dither: int32, + y_dither: int32){.cdecl, dynlib: lib, + importc: "gdk_pixbuf_render_to_drawable_alpha".} +proc pixbuf_render_pixmap_and_mask_for_colormap*(pixbuf: PPixbuf, + colormap: PColormap, n: var PPixmap, nasdfdsafw4e: var PBitmap, + alpha_threshold: int32){.cdecl, dynlib: lib, importc: "gdk_pixbuf_render_pixmap_and_mask_for_colormap".} +proc pixbuf_get_from_drawable*(dest: PPixbuf, src: PDrawable, cmap: PColormap, + src_x: int32, src_y: int32, dest_x: int32, + dest_y: int32, width: int32, height: int32): PPixbuf{. + cdecl, dynlib: lib, importc: "gdk_pixbuf_get_from_drawable".} +proc pixbuf_get_from_image*(dest: PPixbuf, src: PImage, cmap: PColormap, + src_x: int32, src_y: int32, dest_x: int32, + dest_y: int32, width: int32, height: int32): PPixbuf{. + cdecl, dynlib: lib, importc: "gdk_pixbuf_get_from_image".} +proc TYPE_PIXMAP*(): GType +proc PIXMAP*(anObject: Pointer): PPixmap +proc PIXMAP_CLASS*(klass: Pointer): PPixmapObjectClass +proc IS_PIXMAP*(anObject: Pointer): bool +proc IS_PIXMAP_CLASS*(klass: Pointer): bool +proc PIXMAP_GET_CLASS*(obj: Pointer): PPixmapObjectClass +proc PIXMAP_OBJECT*(anObject: Pointer): PPixmapObject +proc pixmap_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_pixmap_get_type".} +proc pixmap_new*(window: PWindow, width: gint, height: gint, depth: gint): PPixmap{. + cdecl, dynlib: lib, importc: "gdk_pixmap_new".} +proc bitmap_create_from_data*(window: PWindow, data: cstring, width: gint, + height: gint): PBitmap{.cdecl, dynlib: lib, + importc: "gdk_bitmap_create_from_data".} +proc pixmap_create_from_data*(window: PWindow, data: cstring, width: gint, + height: gint, depth: gint, fg: PColor, bg: PColor): PPixmap{. + cdecl, dynlib: lib, importc: "gdk_pixmap_create_from_data".} +proc pixmap_create_from_xpm*(window: PWindow, k: var PBitmap, + transparent_color: PColor, filename: cstring): PPixmap{. + cdecl, dynlib: lib, importc: "gdk_pixmap_create_from_xpm".} +proc pixmap_colormap_create_from_xpm*(window: PWindow, colormap: PColormap, + k: var PBitmap, transparent_color: PColor, + filename: cstring): PPixmap{.cdecl, + dynlib: lib, importc: "gdk_pixmap_colormap_create_from_xpm".} +proc pixmap_create_from_xpm_d*(window: PWindow, k: var PBitmap, + transparent_color: PColor, data: PPgchar): PPixmap{. + cdecl, dynlib: lib, importc: "gdk_pixmap_create_from_xpm_d".} +proc pixmap_colormap_create_from_xpm_d*(window: PWindow, colormap: PColormap, + k: var PBitmap, + transparent_color: PColor, data: PPgchar): PPixmap{. + cdecl, dynlib: lib, importc: "gdk_pixmap_colormap_create_from_xpm_d".} +proc pixmap_foreign_new_for_display*(display: PDisplay, anid: TNativeWindow): PPixmap{. + cdecl, dynlib: lib, importc: "gdk_pixmap_foreign_new_for_display".} +proc pixmap_lookup_for_display*(display: PDisplay, anid: TNativeWindow): PPixmap{. + cdecl, dynlib: lib, importc: "gdk_pixmap_lookup_for_display".} +proc atom_intern*(atom_name: cstring, only_if_exists: gboolean): TAtom{.cdecl, + dynlib: lib, importc: "gdk_atom_intern".} +proc atom_name*(atom: TAtom): cstring{.cdecl, dynlib: lib, + importc: "gdk_atom_name".} +proc property_get*(window: PWindow, `property`: TAtom, `type`: TAtom, + offset: gulong, length: gulong, pdelete: gint, + actual_property_type: PAtom, actual_format: Pgint, + actual_length: Pgint, data: PPguchar): gboolean{.cdecl, + dynlib: lib, importc: "gdk_property_get".} +proc property_change*(window: PWindow, `property`: TAtom, `type`: TAtom, + format: gint, mode: TPropMode, data: Pguchar, + nelements: gint){.cdecl, dynlib: lib, + importc: "gdk_property_change".} +proc property_delete*(window: PWindow, `property`: TAtom){.cdecl, dynlib: lib, + importc: "gdk_property_delete".} +proc text_property_to_text_list_for_display*(display: PDisplay, encoding: TAtom, + format: gint, text: Pguchar, length: gint, t: var PPgchar): gint{.cdecl, + dynlib: lib, importc: "gdk_text_property_to_text_list_for_display".} +proc text_property_to_utf8_list_for_display*(display: PDisplay, encoding: TAtom, + format: gint, text: Pguchar, length: gint, t: var PPgchar): gint{.cdecl, + dynlib: lib, importc: "gdk_text_property_to_utf8_list_for_display".} +proc utf8_to_string_target*(str: cstring): cstring{.cdecl, dynlib: lib, + importc: "gdk_utf8_to_string_target".} +proc string_to_compound_text_for_display*(display: PDisplay, str: cstring, + encoding: PAtom, format: Pgint, ctext: PPguchar, length: Pgint): gint{. + cdecl, dynlib: lib, importc: "gdk_string_to_compound_text_for_display".} +proc utf8_to_compound_text_for_display*(display: PDisplay, str: cstring, + encoding: PAtom, format: Pgint, + ctext: PPguchar, length: Pgint): gboolean{. + cdecl, dynlib: lib, importc: "gdk_utf8_to_compound_text_for_display".} +proc free_text_list*(list: PPgchar){.cdecl, dynlib: lib, + importc: "gdk_free_text_list".} +proc free_compound_text*(ctext: Pguchar){.cdecl, dynlib: lib, + importc: "gdk_free_compound_text".} +proc region_new*(): PRegion{.cdecl, dynlib: lib, importc: "gdk_region_new".} +proc region_polygon*(points: PPoint, npoints: gint, fill_rule: TFillRule): PRegion{. + cdecl, dynlib: lib, importc: "gdk_region_polygon".} +proc region_copy*(region: PRegion): PRegion{.cdecl, dynlib: lib, + importc: "gdk_region_copy".} +proc region_rectangle*(rectangle: PRectangle): PRegion{.cdecl, dynlib: lib, + importc: "gdk_region_rectangle".} +proc region_destroy*(region: PRegion){.cdecl, dynlib: lib, + importc: "gdk_region_destroy".} +proc region_get_clipbox*(region: PRegion, rectangle: PRectangle){.cdecl, + dynlib: lib, importc: "gdk_region_get_clipbox".} +proc region_get_rectangles*(region: PRegion, s: var PRectangle, + n_rectangles: Pgint){.cdecl, dynlib: lib, + importc: "gdk_region_get_rectangles".} +proc region_empty*(region: PRegion): gboolean{.cdecl, dynlib: lib, + importc: "gdk_region_empty".} +proc region_equal*(region1: PRegion, region2: PRegion): gboolean{.cdecl, + dynlib: lib, importc: "gdk_region_equal".} +proc region_point_in*(region: PRegion, x: int32, y: int32): gboolean{.cdecl, + dynlib: lib, importc: "gdk_region_point_in".} +proc region_rect_in*(region: PRegion, rect: PRectangle): TOverlapType{.cdecl, + dynlib: lib, importc: "gdk_region_rect_in".} +proc region_offset*(region: PRegion, dx: gint, dy: gint){.cdecl, dynlib: lib, + importc: "gdk_region_offset".} +proc region_shrink*(region: PRegion, dx: gint, dy: gint){.cdecl, dynlib: lib, + importc: "gdk_region_shrink".} +proc region_union_with_rect*(region: PRegion, rect: PRectangle){.cdecl, + dynlib: lib, importc: "gdk_region_union_with_rect".} +proc region_intersect*(source1: PRegion, source2: PRegion){.cdecl, dynlib: lib, + importc: "gdk_region_intersect".} +proc region_union*(source1: PRegion, source2: PRegion){.cdecl, dynlib: lib, + importc: "gdk_region_union".} +proc region_subtract*(source1: PRegion, source2: PRegion){.cdecl, dynlib: lib, + importc: "gdk_region_subtract".} +proc region_xor*(source1: PRegion, source2: PRegion){.cdecl, dynlib: lib, + importc: "gdk_region_xor".} +proc region_spans_intersect_foreach*(region: PRegion, spans: PSpan, + n_spans: int32, sorted: gboolean, + `function`: TSpanFunc, data: gpointer){. + cdecl, dynlib: lib, importc: "gdk_region_spans_intersect_foreach".} +proc rgb_find_color*(colormap: PColormap, color: PColor){.cdecl, dynlib: lib, + importc: "gdk_rgb_find_color".} +proc draw_rgb_image*(drawable: PDrawable, gc: PGC, x: gint, y: gint, + width: gint, height: gint, dith: TRgbDither, + rgb_buf: Pguchar, rowstride: gint){.cdecl, dynlib: lib, + importc: "gdk_draw_rgb_image".} +proc draw_rgb_image_dithalign*(drawable: PDrawable, gc: PGC, x: gint, y: gint, + width: gint, height: gint, dith: TRgbDither, + rgb_buf: Pguchar, rowstride: gint, xdith: gint, + ydith: gint){.cdecl, dynlib: lib, + importc: "gdk_draw_rgb_image_dithalign".} +proc draw_rgb_32_image*(drawable: PDrawable, gc: PGC, x: gint, y: gint, + width: gint, height: gint, dith: TRgbDither, + buf: Pguchar, rowstride: gint){.cdecl, dynlib: lib, + importc: "gdk_draw_rgb_32_image".} +proc draw_rgb_32_image_dithalign*(drawable: PDrawable, gc: PGC, x: gint, + y: gint, width: gint, height: gint, + dith: TRgbDither, buf: Pguchar, + rowstride: gint, xdith: gint, ydith: gint){. + cdecl, dynlib: lib, importc: "gdk_draw_rgb_32_image_dithalign".} +proc draw_gray_image*(drawable: PDrawable, gc: PGC, x: gint, y: gint, + width: gint, height: gint, dith: TRgbDither, buf: Pguchar, + rowstride: gint){.cdecl, dynlib: lib, + importc: "gdk_draw_gray_image".} +proc draw_indexed_image*(drawable: PDrawable, gc: PGC, x: gint, y: gint, + width: gint, height: gint, dith: TRgbDither, + buf: Pguchar, rowstride: gint, cmap: PRgbCmap){.cdecl, + dynlib: lib, importc: "gdk_draw_indexed_image".} +proc rgb_cmap_new*(colors: Pguint32, n_colors: gint): PRgbCmap{.cdecl, + dynlib: lib, importc: "gdk_rgb_cmap_new".} +proc rgb_cmap_free*(cmap: PRgbCmap){.cdecl, dynlib: lib, + importc: "gdk_rgb_cmap_free".} +proc rgb_set_verbose*(verbose: gboolean){.cdecl, dynlib: lib, + importc: "gdk_rgb_set_verbose".} +proc rgb_set_install*(install: gboolean){.cdecl, dynlib: lib, + importc: "gdk_rgb_set_install".} +proc rgb_set_min_colors*(min_colors: gint){.cdecl, dynlib: lib, + importc: "gdk_rgb_set_min_colors".} +proc TYPE_DISPLAY*(): GType +proc DISPLAY_OBJECT*(anObject: pointer): PDisplay +proc DISPLAY_CLASS*(klass: pointer): PDisplayClass +proc IS_DISPLAY*(anObject: pointer): bool +proc IS_DISPLAY_CLASS*(klass: pointer): bool +proc DISPLAY_GET_CLASS*(obj: pointer): PDisplayClass +proc display_open*(display_name: cstring): PDisplay{.cdecl, dynlib: lib, + importc: "gdk_display_open".} +proc display_get_name*(display: PDisplay): cstring{.cdecl, dynlib: lib, + importc: "gdk_display_get_name".} +proc display_get_n_screens*(display: PDisplay): gint{.cdecl, dynlib: lib, + importc: "gdk_display_get_n_screens".} +proc display_get_screen*(display: PDisplay, screen_num: gint): PScreen{.cdecl, + dynlib: lib, importc: "gdk_display_get_screen".} +proc display_get_default_screen*(display: PDisplay): PScreen{.cdecl, + dynlib: lib, importc: "gdk_display_get_default_screen".} +proc display_pointer_ungrab*(display: PDisplay, time: guint32){.cdecl, + dynlib: lib, importc: "gdk_display_pointer_ungrab".} +proc display_keyboard_ungrab*(display: PDisplay, time: guint32){.cdecl, + dynlib: lib, importc: "gdk_display_keyboard_ungrab".} +proc display_pointer_is_grabbed*(display: PDisplay): gboolean{.cdecl, + dynlib: lib, importc: "gdk_display_pointer_is_grabbed".} +proc display_beep*(display: PDisplay){.cdecl, dynlib: lib, + importc: "gdk_display_beep".} +proc display_sync*(display: PDisplay){.cdecl, dynlib: lib, + importc: "gdk_display_sync".} +proc display_close*(display: PDisplay){.cdecl, dynlib: lib, + importc: "gdk_display_close".} +proc display_list_devices*(display: PDisplay): PGList{.cdecl, dynlib: lib, + importc: "gdk_display_list_devices".} +proc display_get_event*(display: PDisplay): PEvent{.cdecl, dynlib: lib, + importc: "gdk_display_get_event".} +proc display_peek_event*(display: PDisplay): PEvent{.cdecl, dynlib: lib, + importc: "gdk_display_peek_event".} +proc display_put_event*(display: PDisplay, event: PEvent){.cdecl, dynlib: lib, + importc: "gdk_display_put_event".} +proc display_add_client_message_filter*(display: PDisplay, message_type: TAtom, + func: TFilterFunc, data: gpointer){. + cdecl, dynlib: lib, importc: "gdk_display_add_client_message_filter".} +proc display_set_double_click_time*(display: PDisplay, msec: guint){.cdecl, + dynlib: lib, importc: "gdk_display_set_double_click_time".} +proc display_set_sm_client_id*(display: PDisplay, sm_client_id: cstring){.cdecl, + dynlib: lib, importc: "gdk_display_set_sm_client_id".} +proc set_default_display*(display: PDisplay){.cdecl, dynlib: lib, + importc: "gdk_set_default_display".} +proc get_default_display*(): PDisplay{.cdecl, dynlib: lib, + importc: "gdk_get_default_display".} +proc TYPE_SCREEN*(): GType +proc SCREEN*(anObject: Pointer): PScreen +proc SCREEN_CLASS*(klass: Pointer): PScreenClass +proc IS_SCREEN*(anObject: Pointer): bool +proc IS_SCREEN_CLASS*(klass: Pointer): bool +proc SCREEN_GET_CLASS*(obj: Pointer): PScreenClass +proc screen_get_default_colormap*(screen: PScreen): PColormap{.cdecl, + dynlib: lib, importc: "gdk_screen_get_default_colormap".} +proc screen_set_default_colormap*(screen: PScreen, colormap: PColormap){.cdecl, + dynlib: lib, importc: "gdk_screen_set_default_colormap".} +proc screen_get_system_colormap*(screen: PScreen): PColormap{.cdecl, + dynlib: lib, importc: "gdk_screen_get_system_colormap".} +proc screen_get_system_visual*(screen: PScreen): PVisual{.cdecl, dynlib: lib, + importc: "gdk_screen_get_system_visual".} +proc screen_get_rgb_colormap*(screen: PScreen): PColormap{.cdecl, dynlib: lib, + importc: "gdk_screen_get_rgb_colormap".} +proc screen_get_rgb_visual*(screen: PScreen): PVisual{.cdecl, dynlib: lib, + importc: "gdk_screen_get_rgb_visual".} +proc screen_get_root_window*(screen: PScreen): PWindow{.cdecl, dynlib: lib, + importc: "gdk_screen_get_root_window".} +proc screen_get_display*(screen: PScreen): PDisplay{.cdecl, dynlib: lib, + importc: "gdk_screen_get_display".} +proc screen_get_number*(screen: PScreen): gint{.cdecl, dynlib: lib, + importc: "gdk_screen_get_number".} +proc screen_get_window_at_pointer*(screen: PScreen, win_x: Pgint, win_y: Pgint): PWindow{. + cdecl, dynlib: lib, importc: "gdk_screen_get_window_at_pointer".} +proc screen_get_width*(screen: PScreen): gint{.cdecl, dynlib: lib, + importc: "gdk_screen_get_width".} +proc screen_get_height*(screen: PScreen): gint{.cdecl, dynlib: lib, + importc: "gdk_screen_get_height".} +proc screen_get_width_mm*(screen: PScreen): gint{.cdecl, dynlib: lib, + importc: "gdk_screen_get_width_mm".} +proc screen_get_height_mm*(screen: PScreen): gint{.cdecl, dynlib: lib, + importc: "gdk_screen_get_height_mm".} +proc screen_close*(screen: PScreen){.cdecl, dynlib: lib, + importc: "gdk_screen_close".} +proc screen_list_visuals*(screen: PScreen): PGList{.cdecl, dynlib: lib, + importc: "gdk_screen_list_visuals".} +proc screen_get_toplevel_windows*(screen: PScreen): PGList{.cdecl, dynlib: lib, + importc: "gdk_screen_get_toplevel_windows".} +proc screen_get_n_monitors*(screen: PScreen): gint{.cdecl, dynlib: lib, + importc: "gdk_screen_get_n_monitors".} +proc screen_get_monitor_geometry*(screen: PScreen, monitor_num: gint, + dest: PRectangle){.cdecl, dynlib: lib, + importc: "gdk_screen_get_monitor_geometry".} +proc screen_get_monitor_at_point*(screen: PScreen, x: gint, y: gint): gint{. + cdecl, dynlib: lib, importc: "gdk_screen_get_monitor_at_point".} +proc screen_get_monitor_at_window*(screen: PScreen, window: PWindow): gint{. + cdecl, dynlib: lib, importc: "gdk_screen_get_monitor_at_window".} +proc screen_broadcast_client_message*(screen: PScreen, event: PEvent){.cdecl, + dynlib: lib, importc: "gdk_screen_broadcast_client_message".} +proc get_default_screen*(): PScreen{.cdecl, dynlib: lib, + importc: "gdk_get_default_screen".} +proc screen_get_setting*(screen: PScreen, name: cstring, value: PGValue): gboolean{. + cdecl, dynlib: lib, importc: "gdk_screen_get_setting".} +proc SELECTION_PRIMARY*(): TAtom +proc SELECTION_SECONDARY*(): TAtom +proc SELECTION_CLIPBOARD*(): TAtom +proc TARGET_BITMAP*(): TAtom +proc TARGET_COLORMAP*(): TAtom +proc TARGET_DRAWABLE*(): TAtom +proc TARGET_PIXMAP*(): TAtom +proc TARGET_STRING*(): TAtom +proc SELECTION_TYPE_ATOM*(): TAtom +proc SELECTION_TYPE_BITMAP*(): TAtom +proc SELECTION_TYPE_COLORMAP*(): TAtom +proc SELECTION_TYPE_DRAWABLE*(): TAtom +proc SELECTION_TYPE_INTEGER*(): TAtom +proc SELECTION_TYPE_PIXMAP*(): TAtom +proc SELECTION_TYPE_WINDOW*(): TAtom +proc SELECTION_TYPE_STRING*(): TAtom +proc selection_owner_set_for_display*(display: PDisplay, owner: PWindow, + selection: TAtom, time: guint32, + send_event: gboolean): gboolean{.cdecl, + dynlib: lib, importc: "gdk_selection_owner_set_for_display".} +proc selection_owner_get_for_display*(display: PDisplay, selection: TAtom): PWindow{. + cdecl, dynlib: lib, importc: "gdk_selection_owner_get_for_display".} +proc selection_convert*(requestor: PWindow, selection: TAtom, target: TAtom, + time: guint32){.cdecl, dynlib: lib, + importc: "gdk_selection_convert".} +proc selection_property_get*(requestor: PWindow, data: PPguchar, + prop_type: PAtom, prop_format: Pgint): gboolean{. + cdecl, dynlib: lib, importc: "gdk_selection_property_get".} +proc selection_send_notify_for_display*(display: PDisplay, requestor: guint32, + selection: TAtom, target: TAtom, + `property`: TAtom, time: guint32){. + cdecl, dynlib: lib, importc: "gdk_selection_send_notify_for_display".} +const + CURRENT_TIME* = 0 + PARENT_RELATIVE* = 1 + OK* = 0 + ERROR* = - (1) + ERROR_PARAM* = - (2) + ERROR_FILE* = - (3) + ERROR_MEM* = - (4) + SHIFT_MASK* = 1 shl 0 + LOCK_MASK* = 1 shl 1 + CONTROL_MASK* = 1 shl 2 + MOD1_MASK* = 1 shl 3 + MOD2_MASK* = 1 shl 4 + MOD3_MASK* = 1 shl 5 + MOD4_MASK* = 1 shl 6 + MOD5_MASK* = 1 shl 7 + BUTTON1_MASK* = 1 shl 8 + BUTTON2_MASK* = 1 shl 9 + BUTTON3_MASK* = 1 shl 10 + BUTTON4_MASK* = 1 shl 11 + BUTTON5_MASK* = 1 shl 12 + RELEASE_MASK* = 1 shl 30 + MODIFIER_MASK* = ord(RELEASE_MASK) or 0x00001FFF + INPUT_READ* = 1 shl 0 + INPUT_WRITE* = 1 shl 1 + INPUT_EXCEPTION* = 1 shl 2 + GRAB_SUCCESS* = 0 + GRAB_ALREADY_GRABBED* = 1 + GRAB_INVALID_TIME* = 2 + GRAB_NOT_VIEWABLE* = 3 + GRAB_FROZEN* = 4 + +proc ATOM_TO_POINTER*(atom: TAtom): Pointer +proc POINTER_TO_ATOM*(p: Pointer): TAtom +proc `MAKE_ATOM`*(val: guint): TAtom +proc NONE*(): TAtom +proc TYPE_VISUAL*(): GType +proc VISUAL*(anObject: Pointer): PVisual +proc VISUAL_CLASS*(klass: Pointer): PVisualClass +proc IS_VISUAL*(anObject: Pointer): bool +proc IS_VISUAL_CLASS*(klass: Pointer): bool +proc VISUAL_GET_CLASS*(obj: Pointer): PVisualClass +proc visual_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_visual_get_type".} +const + WA_TITLE* = 1 shl 1 + WA_X* = 1 shl 2 + WA_Y* = 1 shl 3 + WA_CURSOR* = 1 shl 4 + WA_COLORMAP* = 1 shl 5 + WA_VISUAL* = 1 shl 6 + WA_WMCLASS* = 1 shl 7 + WA_NOREDIR* = 1 shl 8 + HINT_POS* = 1 shl 0 + HINT_MIN_SIZE* = 1 shl 1 + HINT_MAX_SIZE* = 1 shl 2 + HINT_BASE_SIZE* = 1 shl 3 + HINT_ASPECT* = 1 shl 4 + HINT_RESIZE_INC* = 1 shl 5 + HINT_WIN_GRAVITY* = 1 shl 6 + HINT_USER_POS* = 1 shl 7 + HINT_USER_SIZE* = 1 shl 8 + DECOR_ALL* = 1 shl 0 + DECOR_BORDER* = 1 shl 1 + DECOR_RESIZEH* = 1 shl 2 + DECOR_TITLE* = 1 shl 3 + DECOR_MENU* = 1 shl 4 + DECOR_MINIMIZE* = 1 shl 5 + DECOR_MAXIMIZE* = 1 shl 6 + FUNC_ALL* = 1 shl 0 + FUNC_RESIZE* = 1 shl 1 + FUNC_MOVE* = 1 shl 2 + FUNC_MINIMIZE* = 1 shl 3 + FUNC_MAXIMIZE* = 1 shl 4 + FUNC_CLOSE* = 1 shl 5 + GRAVITY_NORTH_WEST* = 1 + GRAVITY_NORTH* = 2 + GRAVITY_NORTH_EAST* = 3 + GRAVITY_WEST* = 4 + GRAVITY_CENTER* = 5 + GRAVITY_EAST* = 6 + GRAVITY_SOUTH_WEST* = 7 + GRAVITY_SOUTH* = 8 + GRAVITY_SOUTH_EAST* = 9 + GRAVITY_STATIC* = 10 + +proc TYPE_WINDOW*(): GType +proc WINDOW*(anObject: Pointer): PWindow +proc WINDOW_CLASS*(klass: Pointer): PWindowObjectClass +proc IS_WINDOW*(anObject: Pointer): bool +proc IS_WINDOW_CLASS*(klass: Pointer): bool +proc WINDOW_GET_CLASS*(obj: Pointer): PWindowObjectClass +proc WINDOW_OBJECT*(anObject: Pointer): PWindowObject +const + bm_TGdkWindowObject_guffaw_gravity* = 0x0001'i16 + bp_TGdkWindowObject_guffaw_gravity* = 0'i16 + bm_TGdkWindowObject_input_only* = 0x0002'i16 + bp_TGdkWindowObject_input_only* = 1'i16 + bm_TGdkWindowObject_modal_hint* = 0x0004'i16 + bp_TGdkWindowObject_modal_hint* = 2'i16 + bm_TGdkWindowObject_destroyed* = 0x0018'i16 + bp_TGdkWindowObject_destroyed* = 3'i16 + +proc WindowObject_guffaw_gravity*(a: var TWindowObject): guint +proc WindowObject_set_guffaw_gravity*(a: var TWindowObject, + `guffaw_gravity`: guint) +proc WindowObject_input_only*(a: var TWindowObject): guint +proc WindowObject_set_input_only*(a: var TWindowObject, `input_only`: guint) +proc WindowObject_modal_hint*(a: var TWindowObject): guint +proc WindowObject_set_modal_hint*(a: var TWindowObject, `modal_hint`: guint) +proc WindowObject_destroyed*(a: var TWindowObject): guint +proc WindowObject_set_destroyed*(a: var TWindowObject, `destroyed`: guint) +proc window_object_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_window_object_get_type".} +proc window_new*(parent: PWindow, attributes: PWindowAttr, attributes_mask: gint): PWindow{. + cdecl, dynlib: lib, importc: "gdk_window_new".} +proc window_destroy*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_destroy".} +proc window_get_window_type*(window: PWindow): TWindowType{.cdecl, dynlib: lib, + importc: "gdk_window_get_window_type".} +proc window_at_pointer*(win_x: Pgint, win_y: Pgint): PWindow{.cdecl, + dynlib: lib, importc: "gdk_window_at_pointer".} +proc window_show*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_show".} +proc window_hide*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_hide".} +proc window_withdraw*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_withdraw".} +proc window_show_unraised*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_show_unraised".} +proc window_move*(window: PWindow, x: gint, y: gint){.cdecl, dynlib: lib, + importc: "gdk_window_move".} +proc window_resize*(window: PWindow, width: gint, height: gint){.cdecl, + dynlib: lib, importc: "gdk_window_resize".} +proc window_move_resize*(window: PWindow, x: gint, y: gint, width: gint, + height: gint){.cdecl, dynlib: lib, + importc: "gdk_window_move_resize".} +proc window_reparent*(window: PWindow, new_parent: PWindow, x: gint, y: gint){. + cdecl, dynlib: lib, importc: "gdk_window_reparent".} +proc window_clear*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_clear".} +proc window_clear_area*(window: PWindow, x: gint, y: gint, width: gint, + height: gint){.cdecl, dynlib: lib, + importc: "gdk_window_clear_area".} +proc window_clear_area_e*(window: PWindow, x: gint, y: gint, width: gint, + height: gint){.cdecl, dynlib: lib, + importc: "gdk_window_clear_area_e".} +proc window_raise*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_raise".} +proc window_lower*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_lower".} +proc window_focus*(window: PWindow, timestamp: guint32){.cdecl, dynlib: lib, + importc: "gdk_window_focus".} +proc window_set_user_data*(window: PWindow, user_data: gpointer){.cdecl, + dynlib: lib, importc: "gdk_window_set_user_data".} +proc window_set_override_redirect*(window: PWindow, override_redirect: gboolean){. + cdecl, dynlib: lib, importc: "gdk_window_set_override_redirect".} +proc window_add_filter*(window: PWindow, `function`: TFilterFunc, data: gpointer){. + cdecl, dynlib: lib, importc: "gdk_window_add_filter".} +proc window_remove_filter*(window: PWindow, `function`: TFilterFunc, + data: gpointer){.cdecl, dynlib: lib, + importc: "gdk_window_remove_filter".} +proc window_scroll*(window: PWindow, dx: gint, dy: gint){.cdecl, dynlib: lib, + importc: "gdk_window_scroll".} +proc window_shape_combine_mask*(window: PWindow, mask: PBitmap, x: gint, y: gint){. + cdecl, dynlib: lib, importc: "gdk_window_shape_combine_mask".} +proc window_shape_combine_region*(window: PWindow, shape_region: PRegion, + offset_x: gint, offset_y: gint){.cdecl, + dynlib: lib, importc: "gdk_window_shape_combine_region".} +proc window_set_child_shapes*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_set_child_shapes".} +proc window_merge_child_shapes*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_merge_child_shapes".} +proc window_is_visible*(window: PWindow): gboolean{.cdecl, dynlib: lib, + importc: "gdk_window_is_visible".} +proc window_is_viewable*(window: PWindow): gboolean{.cdecl, dynlib: lib, + importc: "gdk_window_is_viewable".} +proc window_get_state*(window: PWindow): TWindowState{.cdecl, dynlib: lib, + importc: "gdk_window_get_state".} +proc window_set_static_gravities*(window: PWindow, use_static: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gdk_window_set_static_gravities".} +proc window_foreign_new_for_display*(display: PDisplay, anid: TNativeWindow): PWindow{. + cdecl, dynlib: lib, importc: "gdk_window_foreign_new_for_display".} +proc window_lookup_for_display*(display: PDisplay, anid: TNativeWindow): PWindow{. + cdecl, dynlib: lib, importc: "gdk_window_lookup_for_display".} +proc window_set_type_hint*(window: PWindow, hint: TWindowTypeHint){.cdecl, + dynlib: lib, importc: "gdk_window_set_type_hint".} +proc window_set_modal_hint*(window: PWindow, modal: gboolean){.cdecl, + dynlib: lib, importc: "gdk_window_set_modal_hint".} +proc window_set_geometry_hints*(window: PWindow, geometry: PGeometry, + geom_mask: TWindowHints){.cdecl, dynlib: lib, + importc: "gdk_window_set_geometry_hints".} +proc set_sm_client_id*(sm_client_id: cstring){.cdecl, dynlib: lib, + importc: "gdk_set_sm_client_id".} +proc window_begin_paint_rect*(window: PWindow, rectangle: PRectangle){.cdecl, + dynlib: lib, importc: "gdk_window_begin_paint_rect".} +proc window_begin_paint_region*(window: PWindow, region: PRegion){.cdecl, + dynlib: lib, importc: "gdk_window_begin_paint_region".} +proc window_end_paint*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_end_paint".} +proc window_set_title*(window: PWindow, title: cstring){.cdecl, dynlib: lib, + importc: "gdk_window_set_title".} +proc window_set_role*(window: PWindow, role: cstring){.cdecl, dynlib: lib, + importc: "gdk_window_set_role".} +proc window_set_transient_for*(window: PWindow, parent: PWindow){.cdecl, + dynlib: lib, importc: "gdk_window_set_transient_for".} +proc window_set_background*(window: PWindow, color: PColor){.cdecl, dynlib: lib, + importc: "gdk_window_set_background".} +proc window_set_back_pixmap*(window: PWindow, pixmap: PPixmap, + parent_relative: gboolean){.cdecl, dynlib: lib, + importc: "gdk_window_set_back_pixmap".} +proc window_set_cursor*(window: PWindow, cursor: PCursor){.cdecl, dynlib: lib, + importc: "gdk_window_set_cursor".} +proc window_get_user_data*(window: PWindow, data: gpointer){.cdecl, dynlib: lib, + importc: "gdk_window_get_user_data".} +proc window_get_geometry*(window: PWindow, x: Pgint, y: Pgint, width: Pgint, + height: Pgint, depth: Pgint){.cdecl, dynlib: lib, + importc: "gdk_window_get_geometry".} +proc window_get_position*(window: PWindow, x: Pgint, y: Pgint){.cdecl, + dynlib: lib, importc: "gdk_window_get_position".} +proc window_get_origin*(window: PWindow, x: Pgint, y: Pgint): gint{.cdecl, + dynlib: lib, importc: "gdk_window_get_origin".} +proc window_get_root_origin*(window: PWindow, x: Pgint, y: Pgint){.cdecl, + dynlib: lib, importc: "gdk_window_get_root_origin".} +proc window_get_frame_extents*(window: PWindow, rect: PRectangle){.cdecl, + dynlib: lib, importc: "gdk_window_get_frame_extents".} +proc window_get_pointer*(window: PWindow, x: Pgint, y: Pgint, + mask: PModifierType): PWindow{.cdecl, dynlib: lib, + importc: "gdk_window_get_pointer".} +proc window_get_parent*(window: PWindow): PWindow{.cdecl, dynlib: lib, + importc: "gdk_window_get_parent".} +proc window_get_toplevel*(window: PWindow): PWindow{.cdecl, dynlib: lib, + importc: "gdk_window_get_toplevel".} +proc window_get_children*(window: PWindow): PGList{.cdecl, dynlib: lib, + importc: "gdk_window_get_children".} +proc window_peek_children*(window: PWindow): PGList{.cdecl, dynlib: lib, + importc: "gdk_window_peek_children".} +proc window_get_events*(window: PWindow): TEventMask{.cdecl, dynlib: lib, + importc: "gdk_window_get_events".} +proc window_set_events*(window: PWindow, event_mask: TEventMask){.cdecl, + dynlib: lib, importc: "gdk_window_set_events".} +proc window_set_icon_list*(window: PWindow, pixbufs: PGList){.cdecl, + dynlib: lib, importc: "gdk_window_set_icon_list".} +proc window_set_icon*(window: PWindow, icon_window: PWindow, pixmap: PPixmap, + mask: PBitmap){.cdecl, dynlib: lib, + importc: "gdk_window_set_icon".} +proc window_set_icon_name*(window: PWindow, name: cstring){.cdecl, dynlib: lib, + importc: "gdk_window_set_icon_name".} +proc window_set_group*(window: PWindow, leader: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_set_group".} +proc window_set_decorations*(window: PWindow, decorations: TWMDecoration){. + cdecl, dynlib: lib, importc: "gdk_window_set_decorations".} +proc window_get_decorations*(window: PWindow, decorations: PWMDecoration): gboolean{. + cdecl, dynlib: lib, importc: "gdk_window_get_decorations".} +proc window_set_functions*(window: PWindow, functions: TWMFunction){.cdecl, + dynlib: lib, importc: "gdk_window_set_functions".} +proc window_iconify*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_iconify".} +proc window_deiconify*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_deiconify".} +proc window_stick*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_stick".} +proc window_unstick*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_unstick".} +proc window_maximize*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_maximize".} +proc window_unmaximize*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_unmaximize".} +proc window_register_dnd*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_register_dnd".} +proc window_begin_resize_drag*(window: PWindow, edge: TWindowEdge, button: gint, + root_x: gint, root_y: gint, timestamp: guint32){. + cdecl, dynlib: lib, importc: "gdk_window_begin_resize_drag".} +proc window_begin_move_drag*(window: PWindow, button: gint, root_x: gint, + root_y: gint, timestamp: guint32){.cdecl, + dynlib: lib, importc: "gdk_window_begin_move_drag".} +proc window_invalidate_rect*(window: PWindow, rect: PRectangle, + invalidate_children: gboolean){.cdecl, dynlib: lib, + importc: "gdk_window_invalidate_rect".} +proc window_invalidate_region*(window: PWindow, region: PRegion, + invalidate_children: gboolean){.cdecl, + dynlib: lib, importc: "gdk_window_invalidate_region".} +proc window_invalidate_maybe_recurse*(window: PWindow, region: PRegion, + child_func: window_invalidate_maybe_recurse_child_func, user_data: gpointer){. + cdecl, dynlib: lib, importc: "gdk_window_invalidate_maybe_recurse".} +proc window_get_update_area*(window: PWindow): PRegion{.cdecl, dynlib: lib, + importc: "gdk_window_get_update_area".} +proc window_freeze_updates*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_freeze_updates".} +proc window_thaw_updates*(window: PWindow){.cdecl, dynlib: lib, + importc: "gdk_window_thaw_updates".} +proc window_process_all_updates*(){.cdecl, dynlib: lib, + importc: "gdk_window_process_all_updates".} +proc window_process_updates*(window: PWindow, update_children: gboolean){.cdecl, + dynlib: lib, importc: "gdk_window_process_updates".} +proc window_set_debug_updates*(setting: gboolean){.cdecl, dynlib: lib, + importc: "gdk_window_set_debug_updates".} +proc window_constrain_size*(geometry: PGeometry, flags: guint, width: gint, + height: gint, new_width: Pgint, new_height: Pgint){. + cdecl, dynlib: lib, importc: "gdk_window_constrain_size".} +proc window_get_internal_paint_info*(window: PWindow, e: var PDrawable, + x_offset: Pgint, y_offset: Pgint){.cdecl, + dynlib: lib, importc: "gdk_window_get_internal_paint_info".} +proc set_pointer_hooks*(new_hooks: PPointerHooks): PPointerHooks{.cdecl, + dynlib: lib, importc: "gdk_set_pointer_hooks".} +proc get_default_root_window*(): PWindow{.cdecl, dynlib: lib, + importc: "gdk_get_default_root_window".} +proc parse_args*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: lib, + importc: "gdk_parse_args".} +proc init*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: lib, importc: "gdk_init".} +proc init_check*(argc: Pgint, v: var PPgchar): gboolean{.cdecl, dynlib: lib, + importc: "gdk_init_check".} +when not defined(DISABLE_DEPRECATED): + proc exit*(error_code: gint){.cdecl, dynlib: lib, importc: "gdk_exit".} +proc set_locale*(): cstring{.cdecl, dynlib: lib, importc: "gdk_set_locale".} +proc get_program_class*(): cstring{.cdecl, dynlib: lib, + importc: "gdk_get_program_class".} +proc set_program_class*(program_class: cstring){.cdecl, dynlib: lib, + importc: "gdk_set_program_class".} +proc error_trap_push*(){.cdecl, dynlib: lib, importc: "gdk_error_trap_push".} +proc error_trap_pop*(): gint{.cdecl, dynlib: lib, importc: "gdk_error_trap_pop".} +when not defined(DISABLE_DEPRECATED): + proc set_use_xshm*(use_xshm: gboolean){.cdecl, dynlib: lib, + importc: "gdk_set_use_xshm".} + proc get_use_xshm*(): gboolean{.cdecl, dynlib: lib, + importc: "gdk_get_use_xshm".} +proc get_display*(): cstring{.cdecl, dynlib: lib, importc: "gdk_get_display".} +proc get_display_arg_name*(): cstring{.cdecl, dynlib: lib, + importc: "gdk_get_display_arg_name".} +when not defined(DISABLE_DEPRECATED): + proc input_add_full*(source: gint, condition: TInputCondition, + `function`: TInputFunction, data: gpointer, + destroy: TDestroyNotify): gint{.cdecl, dynlib: lib, + importc: "gdk_input_add_full".} + proc input_add*(source: gint, condition: TInputCondition, + `function`: TInputFunction, data: gpointer): gint{.cdecl, + dynlib: lib, importc: "gdk_input_add".} + proc input_remove*(tag: gint){.cdecl, dynlib: lib, importc: "gdk_input_remove".} +proc pointer_grab*(window: PWindow, owner_events: gboolean, + event_mask: TEventMask, confine_to: PWindow, cursor: PCursor, + time: guint32): TGrabStatus{.cdecl, dynlib: lib, + importc: "gdk_pointer_grab".} +proc keyboard_grab*(window: PWindow, owner_events: gboolean, time: guint32): TGrabStatus{. + cdecl, dynlib: lib, importc: "gdk_keyboard_grab".} +when not defined(MULTIHEAD_SAFE): + proc pointer_ungrab*(time: guint32){.cdecl, dynlib: lib, + importc: "gdk_pointer_ungrab".} + proc keyboard_ungrab*(time: guint32){.cdecl, dynlib: lib, + importc: "gdk_keyboard_ungrab".} + proc pointer_is_grabbed*(): gboolean{.cdecl, dynlib: lib, + importc: "gdk_pointer_is_grabbed".} + proc screen_width*(): gint{.cdecl, dynlib: lib, importc: "gdk_screen_width".} + proc screen_height*(): gint{.cdecl, dynlib: lib, importc: "gdk_screen_height".} + proc screen_width_mm*(): gint{.cdecl, dynlib: lib, + importc: "gdk_screen_width_mm".} + proc screen_height_mm*(): gint{.cdecl, dynlib: lib, + importc: "gdk_screen_height_mm".} + proc beep*(){.cdecl, dynlib: lib, importc: "gdk_beep".} +proc flush*(){.cdecl, dynlib: lib, importc: "gdk_flush".} +when not defined(MULTIHEAD_SAFE): + proc set_double_click_time*(msec: guint){.cdecl, dynlib: lib, + importc: "gdk_set_double_click_time".} +proc rectangle_intersect*(src1: PRectangle, src2: PRectangle, dest: PRectangle): gboolean{. + cdecl, dynlib: lib, importc: "gdk_rectangle_intersect".} +proc rectangle_union*(src1: PRectangle, src2: PRectangle, dest: PRectangle){. + cdecl, dynlib: lib, importc: "gdk_rectangle_union".} +proc rectangle_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gdk_rectangle_get_type".} +proc TYPE_RECTANGLE*(): GType +proc wcstombs*(src: PWChar): cstring{.cdecl, dynlib: lib, + importc: "gdk_wcstombs".} +proc mbstowcs*(dest: PWChar, src: cstring, dest_max: gint): gint{.cdecl, + dynlib: lib, importc: "gdk_mbstowcs".} +when not defined(MULTIHEAD_SAFE): + proc event_send_client_message*(event: PEvent, xid: guint32): gboolean{.cdecl, + dynlib: lib, importc: "gdk_event_send_client_message".} + proc event_send_clientmessage_toall*(event: PEvent){.cdecl, dynlib: lib, + importc: "gdk_event_send_clientmessage_toall".} +proc event_send_client_message_for_display*(display: PDisplay, event: PEvent, + xid: guint32): gboolean{.cdecl, dynlib: lib, importc: "gdk_event_send_client_message_for_display".} +proc threads_enter*(){.cdecl, dynlib: lib, importc: "gdk_threads_enter".} +proc threads_leave*(){.cdecl, dynlib: lib, importc: "gdk_threads_leave".} +proc threads_init*(){.cdecl, dynlib: lib, importc: "gdk_threads_init".} +proc TYPE_RECTANGLE*(): GType = + result = rectangle_get_type() + +proc TYPE_COLORMAP*(): GType = + result = colormap_get_type() + +proc COLORMAP*(anObject: pointer): PColormap = + result = cast[PColormap](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_COLORMAP())) + +proc COLORMAP_CLASS*(klass: pointer): PColormapClass = + result = cast[PColormapClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_COLORMAP())) + +proc IS_COLORMAP*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_COLORMAP()) + +proc IS_COLORMAP_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_COLORMAP()) + +proc COLORMAP_GET_CLASS*(obj: pointer): PColormapClass = + result = cast[PColormapClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_COLORMAP())) + +proc TYPE_COLOR*(): GType = + result = color_get_type() + +proc cursor_destroy*(cursor: PCursor) = + cursor_unref(cursor) + +proc TYPE_CURSOR*(): GType = + result = cursor_get_type() + +proc TYPE_DRAG_CONTEXT*(): GType = + result = drag_context_get_type() + +proc DRAG_CONTEXT*(anObject: Pointer): PDragContext = + result = cast[PDragContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, + TYPE_DRAG_CONTEXT())) + +proc DRAG_CONTEXT_CLASS*(klass: Pointer): PDragContextClass = + result = cast[PDragContextClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_DRAG_CONTEXT())) + +proc IS_DRAG_CONTEXT*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_DRAG_CONTEXT()) + +proc IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_DRAG_CONTEXT()) + +proc DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PDragContextClass = + result = cast[PDragContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_DRAG_CONTEXT())) + +proc region_EXTENTCHECK*(r1, r2: PRegionBox): bool = + result = ((r1.x2) > r2.x1) and ((r1.x1) < r2.x2) and ((r1.y2) > r2.y1) and + ((r1.y1) < r2.y2) + +proc region_EXTENTS*(r: PRegionBox, idRect: PRegion) = + if ((r.x1) < idRect.extents.x1): + idRect.extents.x1 = r.x1 + if (r.y1) < idRect.extents.y1: + idRect.extents.y1 = r.y1 + if (r.x2) > idRect.extents.x2: + idRect.extents.x2 = r.x2 + +proc region_MEMCHECK*(reg: PRegion, ARect, firstrect: var PRegionBox): bool = + assert(false) # to implement + +proc region_CHECK_PREVIOUS*(Reg: PRegion, R: PRegionBox, + Rx1, Ry1, Rx2, Ry2: gint): bool = + assert(false) # to implement + +proc region_ADDRECT*(reg: PRegion, r: PRegionBox, rx1, ry1, rx2, ry2: gint) = + if (((rx1) < rx2) and ((ry1) < ry2) and + region_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)): + r.x1 = rx1 + r.y1 = ry1 + r.x2 = rx2 + r.y2 = ry2 + +proc region_ADDRECTNOX*(reg: PRegion, r: PRegionBox, rx1, ry1, rx2, ry2: gint) = + if (((rx1) < rx2) and ((ry1) < ry2) and + region_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)): + r.x1 = rx1 + r.y1 = ry1 + r.x2 = rx2 + r.y2 = ry2 + inc(reg.numRects) + +proc region_EMPTY_REGION*(pReg: PRegion): bool = + result = pReg.numRects == 0'i32 + +proc region_REGION_NOT_EMPTY*(pReg: PRegion): bool = + result = pReg.numRects != 0'i32 + +proc region_INBOX*(r: TRegionBox, x, y: gint): bool = + result = ((((r.x2) > x) and ((r.x1) <= x)) and ((r.y2) > y)) and + ((r.y1) <= y) + +proc TYPE_DRAWABLE*(): GType = + result = drawable_get_type() + +proc DRAWABLE*(anObject: Pointer): PDrawable = + result = cast[PDrawable](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_DRAWABLE())) + +proc DRAWABLE_CLASS*(klass: Pointer): PDrawableClass = + result = cast[PDrawableClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_DRAWABLE())) + +proc IS_DRAWABLE*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_DRAWABLE()) + +proc IS_DRAWABLE_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_DRAWABLE()) + +proc DRAWABLE_GET_CLASS*(obj: Pointer): PDrawableClass = + result = cast[PDrawableClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_DRAWABLE())) + +proc draw_pixmap*(drawable: PDrawable, gc: PGC, src: PDrawable, xsrc: gint, + ysrc: gint, xdest: gint, ydest: gint, width: gint, + height: gint) = + draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height) + +proc draw_bitmap*(drawable: PDrawable, gc: PGC, src: PDrawable, xsrc: gint, + ysrc: gint, xdest: gint, ydest: gint, width: gint, + height: gint) = + draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height) + +proc TYPE_EVENT*(): GType = + result = event_get_type() + +proc TYPE_FONT*(): GType = + result = font_get_type() + +proc TYPE_GC*(): GType = + result = gc_get_type() + +proc GC*(anObject: Pointer): PGC = + result = cast[PGC](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_GC())) + +proc GC_CLASS*(klass: Pointer): PGCClass = + result = cast[PGCClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_GC())) + +proc IS_GC*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_GC()) + +proc IS_GC_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_GC()) + +proc GC_GET_CLASS*(obj: Pointer): PGCClass = + result = cast[PGCClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_GC())) + +proc gc_destroy*(gc: PGC) = + g_object_unref(G_OBJECT(gc)) + +proc TYPE_IMAGE*(): GType = + result = image_get_type() + +proc IMAGE*(anObject: Pointer): PImage = + result = cast[PImage](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_IMAGE())) + +proc IMAGE_CLASS*(klass: Pointer): PImageClass = + result = cast[PImageClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_IMAGE())) + +proc IS_IMAGE*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_IMAGE()) + +proc IS_IMAGE_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_IMAGE()) + +proc IMAGE_GET_CLASS*(obj: Pointer): PImageClass = + result = cast[PImageClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_IMAGE())) + +proc image_destroy*(image: PImage) = + g_object_unref(G_OBJECT(image)) + +proc TYPE_DEVICE*(): GType = + result = device_get_type() + +proc DEVICE*(anObject: Pointer): PDevice = + result = cast[PDevice](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_DEVICE())) + +proc DEVICE_CLASS*(klass: Pointer): PDeviceClass = + result = cast[PDeviceClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_DEVICE())) + +proc IS_DEVICE*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_DEVICE()) + +proc IS_DEVICE_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_DEVICE()) + +proc DEVICE_GET_CLASS*(obj: Pointer): PDeviceClass = + result = cast[PDeviceClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_DEVICE())) + +proc TYPE_KEYMAP*(): GType = + result = keymap_get_type() + +proc KEYMAP*(anObject: Pointer): PKeymap = + result = cast[PKeymap](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_KEYMAP())) + +proc KEYMAP_CLASS*(klass: Pointer): PKeymapClass = + result = cast[PKeymapClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_KEYMAP())) + +proc IS_KEYMAP*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_KEYMAP()) + +proc IS_KEYMAP_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_KEYMAP()) + +proc KEYMAP_GET_CLASS*(obj: Pointer): PKeymapClass = + result = cast[PKeymapClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_KEYMAP())) + +proc TYPE_PIXMAP*(): GType = + result = pixmap_get_type() + +proc PIXMAP*(anObject: Pointer): PPixmap = + result = cast[PPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_PIXMAP())) + +proc PIXMAP_CLASS*(klass: Pointer): PPixmapObjectClass = + result = cast[PPixmapObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_PIXMAP())) + +proc IS_PIXMAP*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_PIXMAP()) + +proc IS_PIXMAP_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_PIXMAP()) + +proc PIXMAP_GET_CLASS*(obj: Pointer): PPixmapObjectClass = + result = cast[PPixmapObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_PIXMAP())) + +proc PIXMAP_OBJECT*(anObject: Pointer): PPixmapObject = + result = cast[PPixmapObject](PIXMAP(anObject)) + +proc bitmap_ref*(drawable: PDrawable): PDrawable = + result = DRAWABLE(g_object_ref(G_OBJECT(drawable))) + +proc bitmap_unref*(drawable: PDrawable) = + g_object_unref(G_OBJECT(drawable)) + +proc pixmap_ref*(drawable: PDrawable): PDrawable = + result = DRAWABLE(g_object_ref(G_OBJECT(drawable))) + +proc pixmap_unref*(drawable: PDrawable) = + g_object_unref(G_OBJECT(drawable)) + +proc rgb_get_cmap*(): PColormap = + result = nil #gdk_rgb_get_colormap() + +proc TYPE_DISPLAY*(): GType = + nil + #result = nil + +proc DISPLAY_OBJECT*(anObject: pointer): PDisplay = + result = cast[PDisplay](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_DISPLAY())) + +proc DISPLAY_CLASS*(klass: pointer): PDisplayClass = + result = cast[PDisplayClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_DISPLAY())) + +proc IS_DISPLAY*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_DISPLAY()) + +proc IS_DISPLAY_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_DISPLAY()) + +proc DISPLAY_GET_CLASS*(obj: pointer): PDisplayClass = + result = cast[PDisplayClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_DISPLAY())) + +proc TYPE_SCREEN*(): GType = + nil + +proc SCREEN*(anObject: Pointer): PScreen = + result = cast[PScreen](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_SCREEN())) + +proc SCREEN_CLASS*(klass: Pointer): PScreenClass = + result = cast[PScreenClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_SCREEN())) + +proc IS_SCREEN*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_SCREEN()) + +proc IS_SCREEN_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_SCREEN()) + +proc SCREEN_GET_CLASS*(obj: Pointer): PScreenClass = + result = cast[PScreenClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_SCREEN())) + +proc SELECTION_PRIMARY*(): TAtom = + result = `MAKE_ATOM`(1) + +proc SELECTION_SECONDARY*(): TAtom = + result = `MAKE_ATOM`(2) + +proc SELECTION_CLIPBOARD*(): TAtom = + result = `MAKE_ATOM`(69) + +proc TARGET_BITMAP*(): TAtom = + result = `MAKE_ATOM`(5) + +proc TARGET_COLORMAP*(): TAtom = + result = `MAKE_ATOM`(7) + +proc TARGET_DRAWABLE*(): TAtom = + result = `MAKE_ATOM`(17) + +proc TARGET_PIXMAP*(): TAtom = + result = `MAKE_ATOM`(20) + +proc TARGET_STRING*(): TAtom = + result = `MAKE_ATOM`(31) + +proc SELECTION_TYPE_ATOM*(): TAtom = + result = `MAKE_ATOM`(4) + +proc SELECTION_TYPE_BITMAP*(): TAtom = + result = `MAKE_ATOM`(5) + +proc SELECTION_TYPE_COLORMAP*(): TAtom = + result = `MAKE_ATOM`(7) + +proc SELECTION_TYPE_DRAWABLE*(): TAtom = + result = `MAKE_ATOM`(17) + +proc SELECTION_TYPE_INTEGER*(): TAtom = + result = `MAKE_ATOM`(19) + +proc SELECTION_TYPE_PIXMAP*(): TAtom = + result = `MAKE_ATOM`(20) + +proc SELECTION_TYPE_WINDOW*(): TAtom = + result = `MAKE_ATOM`(33) + +proc SELECTION_TYPE_STRING*(): TAtom = + result = `MAKE_ATOM`(31) + +proc ATOM_TO_POINTER*(atom: TAtom): pointer = + result = cast[Pointer](atom) + +proc POINTER_TO_ATOM*(p: Pointer): TAtom = + result = cast[TAtom](p) + +proc `MAKE_ATOM`*(val: guint): TAtom = + result = cast[TAtom](val) + +proc NONE*(): TAtom = + result = `MAKE_ATOM`(0) + +proc TYPE_VISUAL*(): GType = + result = visual_get_type() + +proc VISUAL*(anObject: Pointer): PVisual = + result = cast[PVisual](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_VISUAL())) + +proc VISUAL_CLASS*(klass: Pointer): PVisualClass = + result = cast[PVisualClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_VISUAL())) + +proc IS_VISUAL*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_VISUAL()) + +proc IS_VISUAL_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_VISUAL()) + +proc VISUAL_GET_CLASS*(obj: Pointer): PVisualClass = + result = cast[PVisualClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_VISUAL())) + +proc visual_ref*(v: PVisual) = + discard g_object_ref(v) + +proc visual_unref*(v: PVisual) = + g_object_unref(v) + +proc TYPE_WINDOW*(): GType = + result = window_object_get_type() + +proc WINDOW*(anObject: Pointer): PWindow = + result = cast[PWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_WINDOW())) + +proc WINDOW_CLASS*(klass: Pointer): PWindowObjectClass = + result = cast[PWindowObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_WINDOW())) + +proc IS_WINDOW*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_WINDOW()) + +proc IS_WINDOW_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_WINDOW()) + +proc WINDOW_GET_CLASS*(obj: Pointer): PWindowObjectClass = + result = cast[PWindowObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_WINDOW())) + +proc WINDOW_OBJECT*(anObject: Pointer): PWindowObject = + result = cast[PWindowObject](WINDOW(anObject)) + +proc WindowObject_guffaw_gravity*(a: var TWindowObject): guint = + result = (a.flag0 and bm_TGdkWindowObject_guffaw_gravity) shr + bp_TGdkWindowObject_guffaw_gravity + +proc WindowObject_set_guffaw_gravity*(a: var TWindowObject, + `guffaw_gravity`: guint) = + a.flag0 = a.flag0 or + (int16(`guffaw_gravity` shl bp_TGdkWindowObject_guffaw_gravity) and + bm_TGdkWindowObject_guffaw_gravity) + +proc WindowObject_input_only*(a: var TWindowObject): guint = + result = (a.flag0 and bm_TGdkWindowObject_input_only) shr + bp_TGdkWindowObject_input_only + +proc WindowObject_set_input_only*(a: var TWindowObject, `input_only`: guint) = + a.flag0 = a.flag0 or + (int16(`input_only` shl bp_TGdkWindowObject_input_only) and + bm_TGdkWindowObject_input_only) + +proc WindowObject_modal_hint*(a: var TWindowObject): guint = + result = (a.flag0 and bm_TGdkWindowObject_modal_hint) shr + bp_TGdkWindowObject_modal_hint + +proc WindowObject_set_modal_hint*(a: var TWindowObject, `modal_hint`: guint) = + a.flag0 = a.flag0 or + (int16(`modal_hint` shl bp_TGdkWindowObject_modal_hint) and + bm_TGdkWindowObject_modal_hint) + +proc WindowObject_destroyed*(a: var TWindowObject): guint = + result = (a.flag0 and bm_TGdkWindowObject_destroyed) shr + bp_TGdkWindowObject_destroyed + +proc WindowObject_set_destroyed*(a: var TWindowObject, `destroyed`: guint) = + a.flag0 = a.flag0 or + (int16(`destroyed` shl bp_TGdkWindowObject_destroyed) and + bm_TGdkWindowObject_destroyed) + +proc ROOT_PARENT*(): PWindow = + result = get_default_root_window() + +proc window_get_size*(drawable: PDrawable, width: Pgint, height: Pgint) = + drawable_get_size(drawable, width, height) + +proc window_get_type*(window: PWindow): TWindowType = + result = window_get_window_type(window) + +proc window_get_colormap*(drawable: PDrawable): PColormap = + result = drawable_get_colormap(drawable) + +proc window_set_colormap*(drawable: PDrawable, colormap: PColormap) = + drawable_set_colormap(drawable, colormap) + +proc window_get_visual*(drawable: PDrawable): PVisual = + result = drawable_get_visual(drawable) + +proc window_ref*(drawable: PDrawable): PDrawable = + result = DRAWABLE(g_object_ref(G_OBJECT(drawable))) + +proc window_unref*(drawable: PDrawable) = + g_object_unref(G_OBJECT(drawable)) + +proc window_copy_area*(drawable: PDrawable, gc: PGC, x, y: gint, + source_drawable: PDrawable, source_x, source_y: gint, + width, height: gint) = + draw_pixmap(drawable, gc, source_drawable, source_x, source_y, x, y, width, + height) diff --git a/lib/newwrap/gtk/gdk2pixbuf.nim b/lib/newwrap/gtk/gdk2pixbuf.nim new file mode 100644 index 000000000..f22ab345b --- /dev/null +++ b/lib/newwrap/gtk/gdk2pixbuf.nim @@ -0,0 +1,271 @@ +{.deadCodeElim: on.} +import + glib2 + +when defined(win32): + const + pixbuflib = "libgdk_pixbuf-2.0-0.dll" +elif defined(darwin): + const + pixbuflib = "gdk_pixbuf-2.0.0" + # linklib gtk-x11-2.0 + # linklib gdk-x11-2.0 + # linklib pango-1.0.0 + # linklib glib-2.0.0 + # linklib gobject-2.0.0 + # linklib gdk_pixbuf-2.0.0 + # linklib atk-1.0.0 +else: + const + pixbuflib = "libgdk_pixbuf-2.0.so" +type + PPixbuf* = pointer + PPixbufAnimation* = pointer + PPixbufAnimationIter* = pointer + PPixbufAlphaMode* = ptr TPixbufAlphaMode + TPixbufAlphaMode* = enum + PIXBUF_ALPHA_BILEVEL, PIXBUF_ALPHA_FULL + PColorspace* = ptr TColorspace + TColorspace* = enum + COLORSPACE_RGB + TPixbufDestroyNotify* = proc (pixels: Pguchar, data: gpointer){.cdecl.} + PPixbufError* = ptr TPixbufError + TPixbufError* = enum + PIXBUF_ERROR_CORRUPT_IMAGE, PIXBUF_ERROR_INSUFFICIENT_MEMORY, + PIXBUF_ERROR_BAD_OPTION, PIXBUF_ERROR_UNKNOWN_TYPE, + PIXBUF_ERROR_UNSUPPORTED_OPERATION, PIXBUF_ERROR_FAILED + PInterpType* = ptr TInterpType + TInterpType* = enum + INTERP_NEAREST, INTERP_TILES, INTERP_BILINEAR, INTERP_HYPER + +proc TYPE_PIXBUF*(): GType +proc PIXBUF*(anObject: pointer): PPixbuf +proc IS_PIXBUF*(anObject: pointer): bool +proc TYPE_PIXBUF_ANIMATION*(): GType +proc PIXBUF_ANIMATION*(anObject: pointer): PPixbufAnimation +proc IS_PIXBUF_ANIMATION*(anObject: pointer): bool +proc TYPE_PIXBUF_ANIMATION_ITER*(): GType +proc PIXBUF_ANIMATION_ITER*(anObject: pointer): PPixbufAnimationIter +proc IS_PIXBUF_ANIMATION_ITER*(anObject: pointer): bool +proc PIXBUF_ERROR*(): TGQuark +proc pixbuf_error_quark*(): TGQuark{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_error_quark".} +proc pixbuf_get_type*(): GType{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_get_type".} +when not defined(PIXBUF_DISABLE_DEPRECATED): + proc pixbuf_ref*(pixbuf: PPixbuf): PPixbuf{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_ref".} + proc pixbuf_unref*(pixbuf: PPixbuf){.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_unref".} +proc pixbuf_get_colorspace*(pixbuf: PPixbuf): TColorspace{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_get_colorspace".} +proc pixbuf_get_n_channels*(pixbuf: PPixbuf): int32{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_get_n_channels".} +proc pixbuf_get_has_alpha*(pixbuf: PPixbuf): gboolean{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_get_has_alpha".} +proc pixbuf_get_bits_per_sample*(pixbuf: PPixbuf): int32{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_get_bits_per_sample".} +proc pixbuf_get_pixels*(pixbuf: PPixbuf): Pguchar{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_get_pixels".} +proc pixbuf_get_width*(pixbuf: PPixbuf): int32{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_get_width".} +proc pixbuf_get_height*(pixbuf: PPixbuf): int32{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_get_height".} +proc pixbuf_get_rowstride*(pixbuf: PPixbuf): int32{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_get_rowstride".} +proc pixbuf_new*(colorspace: TColorspace, has_alpha: gboolean, + bits_per_sample: int32, width: int32, height: int32): PPixbuf{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_new".} +proc pixbuf_copy*(pixbuf: PPixbuf): PPixbuf{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_copy".} +proc pixbuf_new_subpixbuf*(src_pixbuf: PPixbuf, src_x: int32, src_y: int32, + width: int32, height: int32): PPixbuf{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_new_subpixbuf".} +proc pixbuf_new_from_file*(filename: cstring, error: pointer): PPixbuf{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_new_from_file".} +proc pixbuf_new_from_data*(data: Pguchar, colorspace: TColorspace, + has_alpha: gboolean, bits_per_sample: int32, + width: int32, height: int32, rowstride: int32, + destroy_fn: TPixbufDestroyNotify, + destroy_fn_data: gpointer): PPixbuf{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_new_from_data".} +proc pixbuf_new_from_xpm_data*(data: PPchar): PPixbuf{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_new_from_xpm_data".} +proc pixbuf_new_from_inline*(data_length: gint, a: var guint8, + copy_pixels: gboolean, error: pointer): PPixbuf{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_new_from_inline".} +proc pixbuf_new_from_file_at_size*(filename: cstring, width, height: gint, + error: pointer): PPixbuf{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_new_from_file_at_size".} +proc pixbuf_new_from_file_at_scale*(filename: cstring, width, height: gint, + preserve_aspect_ratio: gboolean, + error: pointer): PPixbuf{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_new_from_file_at_scale".} +proc pixbuf_fill*(pixbuf: PPixbuf, pixel: guint32){.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_fill".} +proc pixbuf_save*(pixbuf: PPixbuf, filename: cstring, `type`: cstring, + error: pointer): gboolean{.cdecl, varargs, dynlib: pixbuflib, + importc: "gdk_pixbuf_save".} +proc pixbuf_savev*(pixbuf: PPixbuf, filename: cstring, `type`: cstring, + option_keys: PPchar, option_values: PPchar, error: pointer): gboolean{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_savev".} +proc pixbuf_add_alpha*(pixbuf: PPixbuf, substitute_color: gboolean, r: guchar, + g: guchar, b: guchar): PPixbuf{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_add_alpha".} +proc pixbuf_copy_area*(src_pixbuf: PPixbuf, src_x: int32, src_y: int32, + width: int32, height: int32, dest_pixbuf: PPixbuf, + dest_x: int32, dest_y: int32){.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_copy_area".} +proc pixbuf_saturate_and_pixelate*(src: PPixbuf, dest: PPixbuf, + saturation: gfloat, pixelate: gboolean){. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_saturate_and_pixelate".} +proc pixbuf_scale*(src: PPixbuf, dest: PPixbuf, dest_x: int32, dest_y: int32, + dest_width: int32, dest_height: int32, offset_x: float64, + offset_y: float64, scale_x: float64, scale_y: float64, + interp_type: TInterpType){.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_scale".} +proc pixbuf_composite*(src: PPixbuf, dest: PPixbuf, dest_x: int32, + dest_y: int32, dest_width: int32, dest_height: int32, + offset_x: float64, offset_y: float64, scale_x: float64, + scale_y: float64, interp_type: TInterpType, + overall_alpha: int32){.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_composite".} +proc pixbuf_composite_color*(src: PPixbuf, dest: PPixbuf, dest_x: int32, + dest_y: int32, dest_width: int32, + dest_height: int32, offset_x: float64, + offset_y: float64, scale_x: float64, + scale_y: float64, interp_type: TInterpType, + overall_alpha: int32, check_x: int32, + check_y: int32, check_size: int32, color1: guint32, + color2: guint32){.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_composite_color".} +proc pixbuf_scale_simple*(src: PPixbuf, dest_width: int32, dest_height: int32, + interp_type: TInterpType): PPixbuf{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_scale_simple".} +proc pixbuf_composite_color_simple*(src: PPixbuf, dest_width: int32, + dest_height: int32, + interp_type: TInterpType, + overall_alpha: int32, check_size: int32, + color1: guint32, color2: guint32): PPixbuf{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_composite_color_simple".} +proc pixbuf_animation_get_type*(): GType{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_animation_get_type".} +proc pixbuf_animation_new_from_file*(filename: cstring, error: pointer): PPixbufAnimation{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_animation_new_from_file".} +when not defined(PIXBUF_DISABLE_DEPRECATED): + proc pixbuf_animation_ref*(animation: PPixbufAnimation): PPixbufAnimation{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_animation_ref".} + proc pixbuf_animation_unref*(animation: PPixbufAnimation){.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_animation_unref".} +proc pixbuf_animation_get_width*(animation: PPixbufAnimation): int32{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_animation_get_width".} +proc pixbuf_animation_get_height*(animation: PPixbufAnimation): int32{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_animation_get_height".} +proc pixbuf_animation_is_static_image*(animation: PPixbufAnimation): gboolean{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_animation_is_static_image".} +proc pixbuf_animation_get_static_image*(animation: PPixbufAnimation): PPixbuf{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_animation_get_static_image".} +proc pixbuf_animation_get_iter*(animation: PPixbufAnimation, e: var TGTimeVal): PPixbufAnimationIter{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_animation_get_iter".} +proc pixbuf_animation_iter_get_type*(): GType{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_animation_iter_get_type".} +proc pixbuf_animation_iter_get_delay_time*(iter: PPixbufAnimationIter): int32{. + cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_animation_iter_get_delay_time".} +proc pixbuf_animation_iter_get_pixbuf*(iter: PPixbufAnimationIter): PPixbuf{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_animation_iter_get_pixbuf".} +proc pixbuf_animation_iter_on_currently_loading_frame*( + iter: PPixbufAnimationIter): gboolean{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_animation_iter_on_currently_loading_frame".} +proc pixbuf_animation_iter_advance*(iter: PPixbufAnimationIter, e: var TGTimeVal): gboolean{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_animation_iter_advance".} +proc pixbuf_get_option*(pixbuf: PPixbuf, key: cstring): cstring{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_get_option".} +type + PPixbufLoader* = ptr TPixbufLoader + TPixbufLoader*{.final, pure.} = object + parent_instance*: TGObject + priv*: gpointer + + PPixbufLoaderClass* = ptr TPixbufLoaderClass + TPixbufLoaderClass*{.final, pure.} = object + parent_class*: TGObjectClass + area_prepared*: proc (loader: PPixbufLoader){.cdecl.} + area_updated*: proc (loader: PPixbufLoader, x: int32, y: int32, + width: int32, height: int32){.cdecl.} + closed*: proc (loader: PPixbufLoader){.cdecl.} + + +proc TYPE_PIXBUF_LOADER*(): GType +proc PIXBUF_LOADER*(obj: pointer): PPixbufLoader +proc PIXBUF_LOADER_CLASS*(klass: pointer): PPixbufLoaderClass +proc IS_PIXBUF_LOADER*(obj: pointer): bool +proc IS_PIXBUF_LOADER_CLASS*(klass: pointer): bool +proc PIXBUF_LOADER_GET_CLASS*(obj: pointer): PPixbufLoaderClass +proc pixbuf_loader_get_type*(): GType{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_loader_get_type".} +proc pixbuf_loader_new*(): PPixbufLoader{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_loader_new".} +proc pixbuf_loader_new_with_type*(image_type: cstring, error: pointer): PPixbufLoader{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_loader_new_with_type".} +proc pixbuf_loader_write*(loader: PPixbufLoader, buf: Pguchar, count: gsize, + error: pointer): gboolean{.cdecl, dynlib: pixbuflib, + importc: "gdk_pixbuf_loader_write".} +proc pixbuf_loader_get_pixbuf*(loader: PPixbufLoader): PPixbuf{.cdecl, + dynlib: pixbuflib, importc: "gdk_pixbuf_loader_get_pixbuf".} +proc pixbuf_loader_get_animation*(loader: PPixbufLoader): PPixbufAnimation{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_loader_get_animation".} +proc pixbuf_loader_close*(loader: PPixbufLoader, error: pointer): gboolean{. + cdecl, dynlib: pixbuflib, importc: "gdk_pixbuf_loader_close".} +proc TYPE_PIXBUF_LOADER*(): GType = + result = pixbuf_loader_get_type() + +proc PIXBUF_LOADER*(obj: pointer): PPixbufLoader = + result = cast[PPixbufLoader](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_PIXBUF_LOADER())) + +proc PIXBUF_LOADER_CLASS*(klass: pointer): PPixbufLoaderClass = + result = cast[PPixbufLoaderClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_PIXBUF_LOADER())) + +proc IS_PIXBUF_LOADER*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_PIXBUF_LOADER()) + +proc IS_PIXBUF_LOADER_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_PIXBUF_LOADER()) + +proc PIXBUF_LOADER_GET_CLASS*(obj: pointer): PPixbufLoaderClass = + result = cast[PPixbufLoaderClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_PIXBUF_LOADER())) + +proc TYPE_PIXBUF*(): GType = + result = pixbuf_get_type() + +proc PIXBUF*(anObject: pointer): PPixbuf = + result = cast[PPixbuf](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_PIXBUF())) + +proc IS_PIXBUF*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_PIXBUF()) + +proc TYPE_PIXBUF_ANIMATION*(): GType = + result = pixbuf_animation_get_type() + +proc PIXBUF_ANIMATION*(anObject: pointer): PPixbufAnimation = + result = cast[PPixbufAnimation](G_TYPE_CHECK_INSTANCE_CAST(anObject, + TYPE_PIXBUF_ANIMATION())) + +proc IS_PIXBUF_ANIMATION*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_PIXBUF_ANIMATION()) + +proc TYPE_PIXBUF_ANIMATION_ITER*(): GType = + result = pixbuf_animation_iter_get_type() + +proc PIXBUF_ANIMATION_ITER*(anObject: pointer): PPixbufAnimationIter = + result = cast[PPixbufAnimationIter](G_TYPE_CHECK_INSTANCE_CAST(anObject, + TYPE_PIXBUF_ANIMATION_ITER())) + +proc IS_PIXBUF_ANIMATION_ITER*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_PIXBUF_ANIMATION_ITER()) + +proc PIXBUF_ERROR*(): TGQuark = + result = pixbuf_error_quark() diff --git a/lib/newwrap/gtk/gdkglext.nim b/lib/newwrap/gtk/gdkglext.nim new file mode 100644 index 000000000..41ec0038f --- /dev/null +++ b/lib/newwrap/gtk/gdkglext.nim @@ -0,0 +1,551 @@ +{.deadCodeElim: on.} +import + Glib2, 2 + +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 gl_config_get_screen*(glconfig: PGLConfig): PScreen{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_screen".} +proc gl_config_get_attrib*(glconfig: PGLConfig, attribute: int, value: var cint): gboolean{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_config_get_attrib".} +proc gl_config_get_colormap*(glconfig: PGLConfig): PColormap{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_colormap".} +proc gl_config_get_visual*(glconfig: PGLConfig): PVisual{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_visual".} +proc gl_config_get_depth*(glconfig: PGLConfig): gint{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_get_depth".} +proc gl_config_get_layer_plane*(glconfig: PGLConfig): gint{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_layer_plane".} +proc gl_config_get_n_aux_buffers*(glconfig: PGLConfig): gint{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_n_aux_buffers".} +proc gl_config_get_n_sample_buffers*(glconfig: PGLConfig): gint{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_get_n_sample_buffers".} +proc gl_config_is_rgba*(glconfig: PGLConfig): gboolean{.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_config_is_rgba".} +proc gl_config_is_double_buffered*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_is_double_buffered".} +proc gl_config_is_stereo*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_is_stereo".} +proc gl_config_has_alpha*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_has_alpha".} +proc gl_config_has_depth_buffer*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_has_depth_buffer".} +proc gl_config_has_stencil_buffer*(glconfig: PGLConfig): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_config_has_stencil_buffer".} +proc gl_config_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 gl_context_new*(gldrawable: PGLDrawable, share_list: PGLContext, + direct: gboolean, render_type: int32): PGLContext{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_new".} +proc gl_context_destroy*(glcontext: PGLContext){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_context_destroy".} +proc gl_context_copy*(glcontext: PGLContext, src: PGLContext, mask: int32): gboolean{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_context_copy".} +proc gl_context_get_gl_drawable*(glcontext: PGLContext): PGLDrawable{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_get_gl_drawable".} +proc gl_context_get_gl_config*(glcontext: PGLContext): PGLConfig{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_get_gl_config".} +proc gl_context_get_share_list*(glcontext: PGLContext): PGLContext{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_get_share_list".} +proc gl_context_is_direct*(glcontext: PGLContext): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_context_is_direct".} +proc gl_context_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 gl_drawable_make_current*(gldrawable: PGLDrawable, glcontext: PGLContext): gboolean{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_drawable_make_current".} +proc gl_drawable_is_double_buffered*(gldrawable: PGLDrawable): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_drawable_is_double_buffered".} +proc gl_drawable_swap_buffers*(gldrawable: PGLDrawable){.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_drawable_swap_buffers".} +proc gl_drawable_wait_gl*(gldrawable: PGLDrawable){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_wait_gl".} +proc gl_drawable_wait_gdk*(gldrawable: PGLDrawable){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_wait_gdk".} +proc gl_drawable_gl_begin*(gldrawable: PGLDrawable, glcontext: PGLContext): gboolean{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_drawable_gl_begin".} +proc gl_drawable_gl_end*(gldrawable: PGLDrawable){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_drawable_gl_end".} +proc gl_drawable_get_gl_config*(gldrawable: PGLDrawable): PGLConfig{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_drawable_get_gl_config".} +proc gl_drawable_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 gl_pixmap_new*(glconfig: PGLConfig, pixmap: PPixmap, attrib_list: ptr int32): PGLPixmap{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_pixmap_new".} +proc gl_pixmap_destroy*(glpixmap: PGLPixmap){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_pixmap_destroy".} +proc gl_pixmap_get_pixmap*(glpixmap: PGLPixmap): PPixmap{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_pixmap_get_pixmap".} +proc pixmap_set_gl_capability*(pixmap: PPixmap, glconfig: PGLConfig, + attrib_list: ptr int32): PGLPixmap{.cdecl, + dynlib: GLExtLib, importc: "gdk_pixmap_set_gl_capability".} +proc pixmap_unset_gl_capability*(pixmap: PPixmap){.cdecl, dynlib: GLExtLib, + importc: "gdk_pixmap_unset_gl_capability".} +proc pixmap_is_gl_capable*(pixmap: PPixmap): gboolean{.cdecl, dynlib: GLExtLib, + importc: "gdk_pixmap_is_gl_capable".} +proc pixmap_get_gl_pixmap*(pixmap: PPixmap): PGLPixmap{.cdecl, dynlib: GLExtLib, + importc: "gdk_pixmap_get_gl_pixmap".} +proc pixmap_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 gl_window_new*(glconfig: PGLConfig, window: PWindow, attrib_list: ptr int32): PGLWindow{. + cdecl, dynlib: GLExtLib, importc: "gdk_gl_window_new".} +proc gl_window_destroy*(glwindow: PGLWindow){.cdecl, dynlib: GLExtLib, + importc: "gdk_gl_window_destroy".} +proc gl_window_get_window*(glwindow: PGLWindow): PWindow{.cdecl, + dynlib: GLExtLib, importc: "gdk_gl_window_get_window".} +proc window_set_gl_capability*(window: PWindow, glconfig: PGLConfig, + attrib_list: ptr int32): PGLWindow{.cdecl, + dynlib: GLExtLib, importc: "gdk_window_set_gl_capability".} +proc window_unset_gl_capability*(window: PWindow){.cdecl, dynlib: GLExtLib, + importc: "gdk_window_unset_gl_capability".} +proc window_is_gl_capable*(window: PWindow): gboolean{.cdecl, dynlib: GLExtLib, + importc: "gdk_window_is_gl_capable".} +proc window_get_gl_window*(window: PWindow): PGLWindow{.cdecl, dynlib: GLExtLib, + importc: "gdk_window_get_gl_window".} +proc window_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 pixmap_get_gl_drawable*(pixmap: PPixmap): PGLDrawable = + result = GL_DRAWABLE(pixmap_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 window_get_gl_drawable*(window: PWindow): PGLDrawable = + result = GL_DRAWABLE(window_get_gl_window(window)) diff --git a/lib/newwrap/gtk/glib2.nim b/lib/newwrap/gtk/glib2.nim new file mode 100644 index 000000000..0f1d45340 --- /dev/null +++ b/lib/newwrap/gtk/glib2.nim @@ -0,0 +1,4500 @@ +{.deadCodeElim: on.} +when defined(windows): + const + gliblib = "libglib-2.0-0.dll" + gmodulelib = "libgmodule-2.0-0.dll" + gobjectlib = "libgobject-2.0-0.dll" +else: + const + gliblib = "libglib-2.0.so" + gmodulelib = "libgmodule-2.0.so" + gobjectlib = "libgobject-2.0.so" +# gthreadlib = "libgthread-2.0.so" + +type + PGTypePlugin* = pointer + PGParamSpecPool* = pointer + PPchar* = ptr cstring + PPPchar* = ptr PPchar + PPPgchar* = ptr PPgchar + PPgchar* = ptr cstring + gchar* = char + gshort* = cshort + glong* = clong + gint* = cint + gboolean* = bool + guchar* = char + gushort* = int16 + gulong* = int + guint* = cint + gfloat* = cfloat + gdouble* = cdouble + gpointer* = pointer + Pgshort* = ptr gshort + Pglong* = ptr glong + Pgint* = ptr gint + PPgint* = ptr Pgint + Pgboolean* = ptr gboolean + Pguchar* = ptr guchar + PPguchar* = ptr Pguchar + Pgushort* = ptr gushort + Pgulong* = ptr gulong + Pguint* = ptr guint + Pgfloat* = ptr gfloat + Pgdouble* = ptr gdouble + pgpointer* = ptr gpointer + gconstpointer* = pointer + PGCompareFunc* = ptr TGCompareFunc + TGCompareFunc* = proc (a, b: gconstpointer): gint{.cdecl.} + PGCompareDataFunc* = ptr TGCompareDataFunc + TGCompareDataFunc* = proc (a, b: gconstpointer, user_data: gpointer): gint{. + cdecl.} + PGEqualFunc* = ptr TGEqualFunc + TGEqualFunc* = proc (a, b: gconstpointer): gboolean{.cdecl.} + PGDestroyNotify* = ptr TGDestroyNotify + TGDestroyNotify* = proc (data: gpointer){.cdecl.} + PGFunc* = ptr TGFunc + TGFunc* = proc (data, userdata: gpointer, key: gconstpointer){.cdecl.} + PGHashFunc* = ptr TGHashFunc + TGHashFunc* = proc (key: gconstpointer): guint{.cdecl.} + PGHFunc* = ptr TGHFunc + TGHFunc* = proc (key, value, user_data: gpointer){.cdecl.} + PGFreeFunc* = proc (data: gpointer){.cdecl.} + PGTimeVal* = ptr TGTimeVal + TGTimeVal*{.final.} = object + tv_sec*: glong + tv_usec*: glong + + guint64* = int64 + gint8* = int8 + guint8* = int8 + gint16* = int16 + guint16* = int16 + gint32* = int32 + guint32* = int32 + gint64* = int64 + gssize* = int32 + gsize* = int32 + Pgint8* = ptr gint8 + Pguint8* = ptr guint8 + Pgint16* = ptr gint16 + Pguint16* = ptr guint16 + Pgint32* = ptr gint32 + Pguint32* = ptr guint32 + Pgint64* = ptr gint64 + Pguint64* = ptr guint64 + pgssize* = ptr gssize + pgsize* = ptr gsize + TGQuark* = guint32 + PGQuark* = ptr TGQuark + PGTypeCValue* = ptr TGTypeCValue + TGTypeCValue*{.final.} = object + v_double*: gdouble + + GType* = gulong + PGType* = ptr GType + PGTypeClass* = ptr TGTypeClass + TGTypeClass*{.final.} = object + g_type*: GType + + PGTypeInstance* = ptr TGTypeInstance + TGTypeInstance*{.final.} = object + g_class*: PGTypeClass + + PGTypeInterface* = ptr TGTypeInterface + TGTypeInterface*{.pure.} = object + g_type*: GType + g_instance_type*: GType + + PGTypeQuery* = ptr TGTypeQuery + TGTypeQuery*{.final.} = object + theType*: GType + type_name*: cstring + class_size*: guint + instance_size*: guint + + PGValue* = ptr TGValue + TGValue*{.final.} = object + g_type*: GType + data*: array[0..1, gdouble] + + PGData* = pointer + PPGData* = ptr PGData + PGSList* = ptr TGSList + PPGSList* = ptr PGSList + TGSList*{.final.} = object + data*: gpointer + next*: PGSList + + PGList* = ptr TGList + TGList*{.final.} = object + data*: gpointer + next*: PGList + prev*: PGList + + TGParamFlags* = int32 + PGParamFlags* = ptr TGParamFlags + PGParamSpec* = ptr TGParamSpec + PPGParamSpec* = ptr PGParamSpec + TGParamSpec*{.final.} = object + g_type_instance*: TGTypeInstance + name*: cstring + flags*: TGParamFlags + value_type*: GType + owner_type*: GType + nick*: cstring + blurb*: cstring + qdata*: PGData + ref_count*: guint + param_id*: guint + + PGParamSpecClass* = ptr TGParamSpecClass + TGParamSpecClass*{.final.} = object + g_type_class*: TGTypeClass + value_type*: GType + finalize*: proc (pspec: PGParamSpec){.cdecl.} + value_set_default*: proc (pspec: PGParamSpec, value: PGValue){.cdecl.} + value_validate*: proc (pspec: PGParamSpec, value: PGValue): gboolean{.cdecl.} + values_cmp*: proc (pspec: PGParamSpec, value1: PGValue, value2: PGValue): gint{. + cdecl.} + dummy*: array[0..3, gpointer] + + PGParameter* = ptr TGParameter + TGParameter*{.final.} = object + name*: cstring + value*: TGValue + + TGBoxedCopyFunc* = proc (boxed: gpointer): gpointer{.cdecl.} + TGBoxedFreeFunc* = proc (boxed: gpointer){.cdecl.} + PGsource = pointer # I don't know and don't care + +const + G_TYPE_FUNDAMENTAL_SHIFT* = 2 + G_TYPE_FUNDAMENTAL_MAX* = 255 shl G_TYPE_FUNDAMENTAL_SHIFT + G_TYPE_INVALID* = GType(0 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_NONE* = GType(1 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_INTERFACE* = GType(2 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_CHAR* = GType(3 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_UCHAR* = GType(4 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_BOOLEAN* = GType(5 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_INT* = GType(6 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_UINT* = GType(7 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_LONG* = GType(8 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_ULONG* = GType(9 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_INT64* = GType(10 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_UINT64* = GType(11 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_ENUM* = GType(12 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_FLAGS* = GType(13 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_FLOAT* = GType(14 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_DOUBLE* = GType(15 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_STRING* = GType(16 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_POINTER* = GType(17 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_BOXED* = GType(18 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_PARAM* = GType(19 shl G_TYPE_FUNDAMENTAL_SHIFT) + G_TYPE_OBJECT* = GType(20 shl G_TYPE_FUNDAMENTAL_SHIFT) + +proc G_TYPE_MAKE_FUNDAMENTAL*(x: int): GType +const + G_TYPE_RESERVED_GLIB_FIRST* = 21 + G_TYPE_RESERVED_GLIB_LAST* = 31 + G_TYPE_RESERVED_BSE_FIRST* = 32 + G_TYPE_RESERVED_BSE_LAST* = 48 + G_TYPE_RESERVED_USER_FIRST* = 49 + +proc G_TYPE_IS_FUNDAMENTAL*(theType: GType): bool +proc G_TYPE_IS_DERIVED*(theType: GType): bool +proc G_TYPE_IS_INTERFACE*(theType: GType): bool +proc G_TYPE_IS_CLASSED*(theType: GType): gboolean +proc G_TYPE_IS_INSTANTIATABLE*(theType: GType): bool +proc G_TYPE_IS_DERIVABLE*(theType: GType): bool +proc G_TYPE_IS_DEEP_DERIVABLE*(theType: GType): bool +proc G_TYPE_IS_ABSTRACT*(theType: GType): bool +proc G_TYPE_IS_VALUE_ABSTRACT*(theType: GType): bool +proc G_TYPE_IS_VALUE_TYPE*(theType: GType): bool +proc G_TYPE_HAS_VALUE_TABLE*(theType: GType): bool +proc G_TYPE_CHECK_INSTANCE*(instance: Pointer): gboolean +proc G_TYPE_CHECK_INSTANCE_CAST*(instance: Pointer, g_type: GType): PGTypeInstance +proc G_TYPE_CHECK_INSTANCE_TYPE*(instance: Pointer, g_type: GType): bool +proc G_TYPE_INSTANCE_GET_CLASS*(instance: Pointer, g_type: GType): PGTypeClass +proc G_TYPE_INSTANCE_GET_INTERFACE*(instance: Pointer, g_type: GType): Pointer +proc G_TYPE_CHECK_CLASS_CAST*(g_class: pointer, g_type: GType): Pointer +proc G_TYPE_CHECK_CLASS_TYPE*(g_class: pointer, g_type: GType): bool +proc G_TYPE_CHECK_VALUE*(value: Pointer): bool +proc G_TYPE_CHECK_VALUE_TYPE*(value: pointer, g_type: GType): bool +proc G_TYPE_FROM_INSTANCE*(instance: Pointer): GType +proc G_TYPE_FROM_CLASS*(g_class: Pointer): GType +proc G_TYPE_FROM_INTERFACE*(g_iface: Pointer): GType +type + TGTypeDebugFlags* = int32 + PGTypeDebugFlags* = ptr TGTypeDebugFlags + +const + G_TYPE_DEBUG_NONE* = 0 + G_TYPE_DEBUG_OBJECTS* = 1 shl 0 + G_TYPE_DEBUG_SIGNALS* = 1 shl 1 + G_TYPE_DEBUG_MASK* = 0x00000003 + +proc g_type_init*(){.cdecl, dynlib: gobjectlib, importc: "g_type_init".} +proc g_type_init_with_debug_flags*(debug_flags: TGTypeDebugFlags){.cdecl, + dynlib: gobjectlib, importc: "g_type_init_with_debug_flags".} +proc g_type_name*(theType: GType): cstring{.cdecl, dynlib: gobjectlib, + importc: "g_type_name".} +proc g_type_qname*(theType: GType): TGQuark{.cdecl, dynlib: gobjectlib, + importc: "g_type_qname".} +proc g_type_from_name*(name: cstring): GType{.cdecl, dynlib: gobjectlib, + importc: "g_type_from_name".} +proc g_type_parent*(theType: GType): GType{.cdecl, dynlib: gobjectlib, + importc: "g_type_parent".} +proc g_type_depth*(theType: GType): guint{.cdecl, dynlib: gobjectlib, + importc: "g_type_depth".} +proc g_type_next_base*(leaf_type: GType, root_type: GType): GType{.cdecl, + dynlib: gobjectlib, importc: "g_type_next_base".} +proc g_type_is_a*(theType: GType, is_a_type: GType): gboolean{.cdecl, + dynlib: gobjectlib, importc: "g_type_is_a".} +proc g_type_class_ref*(theType: GType): gpointer{.cdecl, dynlib: gobjectlib, + importc: "g_type_class_ref".} +proc g_type_class_peek*(theType: GType): gpointer{.cdecl, dynlib: gobjectlib, + importc: "g_type_class_peek".} +proc g_type_class_unref*(g_class: gpointer){.cdecl, dynlib: gobjectlib, + importc: "g_type_class_unref".} +proc g_type_class_peek_parent*(g_class: gpointer): gpointer{.cdecl, + dynlib: gobjectlib, importc: "g_type_class_peek_parent".} +proc g_type_interface_peek*(instance_class: gpointer, iface_type: GType): gpointer{. + cdecl, dynlib: gobjectlib, importc: "g_type_interface_peek".} +proc g_type_interface_peek_parent*(g_iface: gpointer): gpointer{.cdecl, + dynlib: gobjectlib, importc: "g_type_interface_peek_parent".} +proc g_type_children*(theType: GType, n_children: Pguint): PGType{.cdecl, + dynlib: gobjectlib, importc: "g_type_children".} +proc g_type_interfaces*(theType: GType, n_interfaces: Pguint): PGType{.cdecl, + dynlib: gobjectlib, importc: "g_type_interfaces".} +proc g_type_set_qdata*(theType: GType, quark: TGQuark, data: gpointer){.cdecl, + dynlib: gobjectlib, importc: "g_type_set_qdata".} +proc g_type_get_qdata*(theType: GType, quark: TGQuark): gpointer{.cdecl, + dynlib: gobjectlib, importc: "g_type_get_qdata".} +proc g_type_query*(theType: GType, query: PGTypeQuery){.cdecl, + dynlib: gobjectlib, importc: "g_type_query".} +type + TGBaseInitFunc* = proc (g_class: gpointer){.cdecl.} + TGBaseFinalizeFunc* = proc (g_class: gpointer){.cdecl.} + TGClassInitFunc* = proc (g_class: gpointer, class_data: gpointer){.cdecl.} + TGClassFinalizeFunc* = proc (g_class: gpointer, class_data: gpointer){.cdecl.} + TGInstanceInitFunc* = proc (instance: PGTypeInstance, g_class: gpointer){. + cdecl.} + TGInterfaceInitFunc* = proc (g_iface: gpointer, iface_data: gpointer){.cdecl.} + TGInterfaceFinalizeFunc* = proc (g_iface: gpointer, iface_data: gpointer){. + cdecl.} + TGTypeClassCacheFunc* = proc (cache_data: gpointer, g_class: PGTypeClass): gboolean{. + cdecl.} + TGTypeFundamentalFlags* = int32 + PGTypeFundamentalFlags* = ptr TGTypeFundamentalFlags + +const + G_TYPE_FLAG_CLASSED* = 1 shl 0 + G_TYPE_FLAG_INSTANTIATABLE* = 1 shl 1 + G_TYPE_FLAG_DERIVABLE* = 1 shl 2 + G_TYPE_FLAG_DEEP_DERIVABLE* = 1 shl 3 + +type + TGTypeFlags* = int32 + PGTypeFlags* = ptr TGTypeFlags + +const + G_TYPE_FLAG_ABSTRACT* = 1 shl 4 + G_TYPE_FLAG_VALUE_ABSTRACT* = 1 shl 5 + +type + PGTypeValueTable* = ptr TGTypeValueTable + TGTypeValueTable*{.final.} = object + value_init*: proc (value: PGValue){.cdecl.} + value_free*: proc (value: PGValue){.cdecl.} + value_copy*: proc (src_value: PGValue, dest_value: PGValue){.cdecl.} + value_peek_pointer*: proc (value: PGValue): gpointer{.cdecl.} + collect_format*: cstring + collect_value*: proc (value: PGValue, n_collect_values: guint, + collect_values: PGTypeCValue, collect_flags: guint): cstring{. + cdecl.} + lcopy_format*: cstring + lcopy_value*: proc (value: PGValue, n_collect_values: guint, + collect_values: PGTypeCValue, collect_flags: guint): cstring{. + cdecl.} + + PGTypeInfo* = ptr TGTypeInfo + TGTypeInfo*{.final.} = object + class_size*: guint16 + base_init*: TGBaseInitFunc + base_finalize*: TGBaseFinalizeFunc + class_init*: TGClassInitFunc + class_finalize*: TGClassFinalizeFunc + class_data*: gconstpointer + instance_size*: guint16 + n_preallocs*: guint16 + instance_init*: TGInstanceInitFunc + value_table*: PGTypeValueTable + + PGTypeFundamentalInfo* = ptr TGTypeFundamentalInfo + TGTypeFundamentalInfo*{.final.} = object + type_flags*: TGTypeFundamentalFlags + + PGInterfaceInfo* = ptr TGInterfaceInfo + TGInterfaceInfo*{.final.} = object + interface_init*: TGInterfaceInitFunc + interface_finalize*: TGInterfaceFinalizeFunc + interface_data*: gpointer + + +proc g_type_register_static*(parent_type: GType, type_name: cstring, + info: PGTypeInfo, flags: TGTypeFlags): GType{. + cdecl, dynlib: gobjectlib, importc: "g_type_register_static".} +proc g_type_register_dynamic*(parent_type: GType, type_name: cstring, + plugin: PGTypePlugin, flags: TGTypeFlags): GType{. + cdecl, dynlib: gobjectlib, importc: "g_type_register_dynamic".} +proc g_type_register_fundamental*(type_id: GType, type_name: cstring, + info: PGTypeInfo, + finfo: PGTypeFundamentalInfo, + flags: TGTypeFlags): GType{.cdecl, + dynlib: gobjectlib, importc: "g_type_register_fundamental".} +proc g_type_add_interface_static*(instance_type: GType, interface_type: GType, + info: PGInterfaceInfo){.cdecl, + dynlib: gobjectlib, importc: "g_type_add_interface_static".} +proc g_type_add_interface_dynamic*(instance_type: GType, interface_type: GType, + plugin: PGTypePlugin){.cdecl, + dynlib: gobjectlib, importc: "g_type_add_interface_dynamic".} +proc g_type_interface_add_prerequisite*(interface_type: GType, + prerequisite_type: GType){.cdecl, + dynlib: gobjectlib, importc: "g_type_interface_add_prerequisite".} +proc g_type_get_plugin*(theType: GType): PGTypePlugin{.cdecl, + dynlib: gobjectlib, importc: "g_type_get_plugin".} +proc g_type_interface_get_plugin*(instance_type: GType, + implementation_type: GType): PGTypePlugin{. + cdecl, dynlib: gobjectlib, importc: "g_type_interface_get_plugin".} +proc g_type_fundamental_next*(): GType{.cdecl, dynlib: gobjectlib, + importc: "g_type_fundamental_next".} +proc g_type_fundamental*(type_id: GType): GType{.cdecl, dynlib: gobjectlib, + importc: "g_type_fundamental".} +proc g_type_create_instance*(theType: GType): PGTypeInstance{.cdecl, + dynlib: gobjectlib, importc: "g_type_create_instance".} +proc g_type_free_instance*(instance: PGTypeInstance){.cdecl, dynlib: gobjectlib, + importc: "g_type_free_instance".} +proc g_type_add_class_cache_func*(cache_data: gpointer, + cache_func: TGTypeClassCacheFunc){.cdecl, + dynlib: gobjectlib, importc: "g_type_add_class_cache_func".} +proc g_type_remove_class_cache_func*(cache_data: gpointer, + cache_func: TGTypeClassCacheFunc){.cdecl, + dynlib: gobjectlib, importc: "g_type_remove_class_cache_func".} +proc g_type_class_unref_uncached*(g_class: gpointer){.cdecl, dynlib: gobjectlib, + importc: "g_type_class_unref_uncached".} +proc g_type_value_table_peek*(theType: GType): PGTypeValueTable{.cdecl, + dynlib: gobjectlib, importc: "g_type_value_table_peek".} +proc private_g_type_check_instance*(instance: PGTypeInstance): gboolean{.cdecl, + dynlib: gobjectlib, importc: "g_type_check_instance".} +proc private_g_type_check_instance_cast*(instance: PGTypeInstance, + iface_type: GType): PGTypeInstance{.cdecl, dynlib: gobjectlib, + importc: "g_type_check_instance_cast".} +proc private_g_type_check_instance_is_a*(instance: PGTypeInstance, + iface_type: GType): gboolean{.cdecl, dynlib: gobjectlib, + importc: "g_type_check_instance_is_a".} +proc private_g_type_check_class_cast*(g_class: PGTypeClass, is_a_type: GType): PGTypeClass{. + cdecl, dynlib: gobjectlib, importc: "g_type_check_class_cast".} +proc private_g_type_check_class_is_a*(g_class: PGTypeClass, is_a_type: GType): gboolean{. + cdecl, dynlib: gobjectlib, importc: "g_type_check_class_is_a".} +proc private_g_type_check_is_value_type*(theType: GType): gboolean{.cdecl, + dynlib: gobjectlib, importc: "g_type_check_is_value_type".} +proc private_g_type_check_value*(value: PGValue): gboolean{.cdecl, + dynlib: gobjectlib, importc: "g_type_check_value".} +proc private_g_type_check_value_holds*(value: PGValue, theType: GType): gboolean{. + cdecl, dynlib: gobjectlib, importc: "g_type_check_value_holds".} +proc private_g_type_test_flags*(theType: GType, flags: guint): gboolean{.cdecl, + dynlib: gobjectlib, importc: "g_type_test_flags".} +proc g_type_name_from_instance*(instance: PGTypeInstance): cstring{.cdecl, + dynlib: gobjectlib, importc: "g_type_name_from_instance".} +proc g_type_name_from_class*(g_class: PGTypeClass): cstring{.cdecl, + dynlib: gobjectlib, importc: "g_type_name_from_class".} +const + G_TYPE_FLAG_RESERVED_ID_BIT* = GType(1 shl 0) + +proc G_TYPE_IS_VALUE*(theType: GType): bool +proc G_IS_VALUE*(value: pointer): bool +proc G_VALUE_TYPE*(value: Pointer): GType +proc G_VALUE_TYPE_NAME*(value: Pointer): cstring +proc G_VALUE_HOLDS*(value: pointer, g_type: GType): bool +type + TGValueTransform* = proc (src_value: PGValue, dest_value: PGValue){.cdecl.} + +proc g_value_init*(value: PGValue, g_type: GType): PGValue{.cdecl, + dynlib: gobjectlib, importc: "g_value_init".} +proc g_value_copy*(src_value: PGValue, dest_value: PGValue){.cdecl, + dynlib: gobjectlib, importc: "g_value_copy".} +proc g_value_reset*(value: PGValue): PGValue{.cdecl, dynlib: gobjectlib, + importc: "g_value_reset".} +proc g_value_unset*(value: PGValue){.cdecl, dynlib: gobjectlib, + importc: "g_value_unset".} +proc g_value_set_instance*(value: PGValue, instance: gpointer){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_instance".} +proc g_value_fits_pointer*(value: PGValue): gboolean{.cdecl, dynlib: gobjectlib, + importc: "g_value_fits_pointer".} +proc g_value_peek_pointer*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, + importc: "g_value_peek_pointer".} +proc g_value_type_compatible*(src_type: GType, dest_type: GType): gboolean{. + cdecl, dynlib: gobjectlib, importc: "g_value_type_compatible".} +proc g_value_type_transformable*(src_type: GType, dest_type: GType): gboolean{. + cdecl, dynlib: gobjectlib, importc: "g_value_type_transformable".} +proc g_value_transform*(src_value: PGValue, dest_value: PGValue): gboolean{. + cdecl, dynlib: gobjectlib, importc: "g_value_transform".} +proc g_value_register_transform_func*(src_type: GType, dest_type: GType, + transform_func: TGValueTransform){.cdecl, + dynlib: gobjectlib, importc: "g_value_register_transform_func".} +const + G_VALUE_NOCOPY_CONTENTS* = 1 shl 27 + +type + PGValueArray* = ptr TGValueArray + TGValueArray*{.final.} = object + n_values*: guint + values*: PGValue + n_prealloced*: guint + + +proc g_value_array_get_nth*(value_array: PGValueArray, index: guint): PGValue{. + cdecl, dynlib: gobjectlib, importc: "g_value_array_get_nth".} +proc g_value_array_new*(n_prealloced: guint): PGValueArray{.cdecl, + dynlib: gobjectlib, importc: "g_value_array_new".} +proc g_value_array_free*(value_array: PGValueArray){.cdecl, dynlib: gobjectlib, + importc: "g_value_array_free".} +proc g_value_array_copy*(value_array: PGValueArray): PGValueArray{.cdecl, + dynlib: gobjectlib, importc: "g_value_array_copy".} +proc g_value_array_prepend*(value_array: PGValueArray, value: PGValue): PGValueArray{. + cdecl, dynlib: gobjectlib, importc: "g_value_array_prepend".} +proc g_value_array_append*(value_array: PGValueArray, value: PGValue): PGValueArray{. + cdecl, dynlib: gobjectlib, importc: "g_value_array_append".} +proc g_value_array_insert*(value_array: PGValueArray, index: guint, + value: PGValue): PGValueArray{.cdecl, + dynlib: gobjectlib, importc: "g_value_array_insert".} +proc g_value_array_remove*(value_array: PGValueArray, index: guint): PGValueArray{. + cdecl, dynlib: gobjectlib, importc: "g_value_array_remove".} +proc g_value_array_sort*(value_array: PGValueArray, compare_func: TGCompareFunc): PGValueArray{. + cdecl, dynlib: gobjectlib, importc: "g_value_array_sort".} +proc g_value_array_sort_with_data*(value_array: PGValueArray, + compare_func: TGCompareDataFunc, + user_data: gpointer): PGValueArray{.cdecl, + dynlib: gobjectlib, importc: "g_value_array_sort_with_data".} +const + G_VALUE_COLLECT_INT* = 'i' + G_VALUE_COLLECT_LONG* = 'l' + G_VALUE_COLLECT_INT64* = 'q' + G_VALUE_COLLECT_DOUBLE* = 'd' + G_VALUE_COLLECT_POINTER* = 'p' + G_VALUE_COLLECT_FORMAT_MAX_LENGTH* = 8 + +proc G_VALUE_HOLDS_CHAR*(value: PGValue): bool +proc G_VALUE_HOLDS_UCHAR*(value: PGValue): bool +proc G_VALUE_HOLDS_BOOLEAN*(value: PGValue): bool +proc G_VALUE_HOLDS_INT*(value: PGValue): bool +proc G_VALUE_HOLDS_UINT*(value: PGValue): bool +proc G_VALUE_HOLDS_LONG*(value: PGValue): bool +proc G_VALUE_HOLDS_ULONG*(value: PGValue): bool +proc G_VALUE_HOLDS_INT64*(value: PGValue): bool +proc G_VALUE_HOLDS_UINT64*(value: PGValue): bool +proc G_VALUE_HOLDS_FLOAT*(value: PGValue): bool +proc G_VALUE_HOLDS_DOUBLE*(value: PGValue): bool +proc G_VALUE_HOLDS_STRING*(value: PGValue): bool +proc G_VALUE_HOLDS_POINTER*(value: PGValue): bool +proc g_value_set_char*(value: PGValue, v_char: gchar){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_char".} +proc g_value_get_char*(value: PGValue): gchar{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_char".} +proc g_value_set_uchar*(value: PGValue, v_uchar: guchar){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_uchar".} +proc g_value_get_uchar*(value: PGValue): guchar{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_uchar".} +proc g_value_set_boolean*(value: PGValue, v_boolean: gboolean){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_boolean".} +proc g_value_get_boolean*(value: PGValue): gboolean{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_boolean".} +proc g_value_set_int*(value: PGValue, v_int: gint){.cdecl, dynlib: gobjectlib, + importc: "g_value_set_int".} +proc g_value_get_int*(value: PGValue): gint{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_int".} +proc g_value_set_uint*(value: PGValue, v_uint: guint){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_uint".} +proc g_value_get_uint*(value: PGValue): guint{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_uint".} +proc g_value_set_long*(value: PGValue, v_long: glong){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_long".} +proc g_value_get_long*(value: PGValue): glong{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_long".} +proc g_value_set_ulong*(value: PGValue, v_ulong: gulong){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_ulong".} +proc g_value_get_ulong*(value: PGValue): gulong{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_ulong".} +proc g_value_set_int64*(value: PGValue, v_int64: gint64){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_int64".} +proc g_value_get_int64*(value: PGValue): gint64{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_int64".} +proc g_value_set_uint64*(value: PGValue, v_uint64: guint64){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_uint64".} +proc g_value_get_uint64*(value: PGValue): guint64{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_uint64".} +proc g_value_set_float*(value: PGValue, v_float: gfloat){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_float".} +proc g_value_get_float*(value: PGValue): gfloat{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_float".} +proc g_value_set_double*(value: PGValue, v_double: gdouble){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_double".} +proc g_value_get_double*(value: PGValue): gdouble{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_double".} +proc g_value_set_string*(value: PGValue, v_string: cstring){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_string".} +proc g_value_set_static_string*(value: PGValue, v_string: cstring){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_static_string".} +proc g_value_get_string*(value: PGValue): cstring{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_string".} +proc g_value_dup_string*(value: PGValue): cstring{.cdecl, dynlib: gobjectlib, + importc: "g_value_dup_string".} +proc g_value_set_pointer*(value: PGValue, v_pointer: gpointer){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_pointer".} +proc g_value_get_pointer*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_pointer".} +proc g_pointer_type_register_static*(name: cstring): GType{.cdecl, + dynlib: gobjectlib, importc: "g_pointer_type_register_static".} +proc g_strdup_value_contents*(value: PGValue): cstring{.cdecl, + dynlib: gobjectlib, importc: "g_strdup_value_contents".} +proc g_value_set_string_take_ownership*(value: PGValue, v_string: cstring){. + cdecl, dynlib: gobjectlib, importc: "g_value_set_string_take_ownership".} +type + Tgchararray* = gchar + Pgchararray* = ptr Tgchararray + +proc G_TYPE_IS_PARAM*(theType: GType): bool +proc G_PARAM_SPEC*(pspec: Pointer): PGParamSpec +proc G_IS_PARAM_SPEC*(pspec: Pointer): bool +proc G_PARAM_SPEC_CLASS*(pclass: Pointer): PGParamSpecClass +proc G_IS_PARAM_SPEC_CLASS*(pclass: Pointer): bool +proc G_PARAM_SPEC_GET_CLASS*(pspec: Pointer): PGParamSpecClass +proc G_PARAM_SPEC_TYPE*(pspec: Pointer): GType +proc G_PARAM_SPEC_TYPE_NAME*(pspec: Pointer): cstring +proc G_PARAM_SPEC_VALUE_TYPE*(pspec: Pointer): GType +proc G_VALUE_HOLDS_PARAM*(value: Pointer): bool +const + G_PARAM_READABLE* = 1 shl 0 + G_PARAM_WRITABLE* = 1 shl 1 + G_PARAM_CONSTRUCT* = 1 shl 2 + G_PARAM_CONSTRUCT_ONLY* = 1 shl 3 + G_PARAM_LAX_VALIDATION* = 1 shl 4 + G_PARAM_PRIVATE* = 1 shl 5 + G_PARAM_READWRITE* = G_PARAM_READABLE or G_PARAM_WRITABLE + G_PARAM_MASK* = 0x000000FF + G_PARAM_USER_SHIFT* = 8 + +proc g_param_spec_ref*(pspec: PGParamSpec): PGParamSpec{.cdecl, dynlib: gliblib, + importc: "g_param_spec_ref".} +proc g_param_spec_unref*(pspec: PGParamSpec){.cdecl, dynlib: gliblib, + importc: "g_param_spec_unref".} +proc g_param_spec_sink*(pspec: PGParamSpec){.cdecl, dynlib: gliblib, + importc: "g_param_spec_sink".} +proc g_param_spec_get_qdata*(pspec: PGParamSpec, quark: TGQuark): gpointer{. + cdecl, dynlib: gliblib, importc: "g_param_spec_get_qdata".} +proc g_param_spec_set_qdata*(pspec: PGParamSpec, quark: TGQuark, data: gpointer){. + cdecl, dynlib: gliblib, importc: "g_param_spec_set_qdata".} +proc g_param_spec_set_qdata_full*(pspec: PGParamSpec, quark: TGQuark, + data: gpointer, destroy: TGDestroyNotify){. + cdecl, dynlib: gliblib, importc: "g_param_spec_set_qdata_full".} +proc g_param_spec_steal_qdata*(pspec: PGParamSpec, quark: TGQuark): gpointer{. + cdecl, dynlib: gliblib, importc: "g_param_spec_steal_qdata".} +proc g_param_value_set_default*(pspec: PGParamSpec, value: PGValue){.cdecl, + dynlib: gliblib, importc: "g_param_value_set_default".} +proc g_param_value_defaults*(pspec: PGParamSpec, value: PGValue): gboolean{. + cdecl, dynlib: gliblib, importc: "g_param_value_defaults".} +proc g_param_value_validate*(pspec: PGParamSpec, value: PGValue): gboolean{. + cdecl, dynlib: gliblib, importc: "g_param_value_validate".} +proc g_param_value_convert*(pspec: PGParamSpec, src_value: PGValue, + dest_value: PGValue, strict_validation: gboolean): gboolean{. + cdecl, dynlib: gliblib, importc: "g_param_value_convert".} +proc g_param_values_cmp*(pspec: PGParamSpec, value1: PGValue, value2: PGValue): gint{. + cdecl, dynlib: gliblib, importc: "g_param_values_cmp".} +proc g_param_spec_get_name*(pspec: PGParamSpec): cstring{.cdecl, + dynlib: gliblib, importc: "g_param_spec_get_name".} +proc g_param_spec_get_nick*(pspec: PGParamSpec): cstring{.cdecl, + dynlib: gliblib, importc: "g_param_spec_get_nick".} +proc g_param_spec_get_blurb*(pspec: PGParamSpec): cstring{.cdecl, + dynlib: gliblib, importc: "g_param_spec_get_blurb".} +proc g_value_set_param*(value: PGValue, param: PGParamSpec){.cdecl, + dynlib: gliblib, importc: "g_value_set_param".} +proc g_value_get_param*(value: PGValue): PGParamSpec{.cdecl, dynlib: gliblib, + importc: "g_value_get_param".} +proc g_value_dup_param*(value: PGValue): PGParamSpec{.cdecl, dynlib: gliblib, + importc: "g_value_dup_param".} +proc g_value_set_param_take_ownership*(value: PGValue, param: PGParamSpec){. + cdecl, dynlib: gliblib, importc: "g_value_set_param_take_ownership".} +type + PGParamSpecTypeInfo* = ptr TGParamSpecTypeInfo + TGParamSpecTypeInfo*{.final.} = object + instance_size*: guint16 + n_preallocs*: guint16 + instance_init*: proc (pspec: PGParamSpec){.cdecl.} + value_type*: GType + finalize*: proc (pspec: PGParamSpec){.cdecl.} + value_set_default*: proc (pspec: PGParamSpec, value: PGValue){.cdecl.} + value_validate*: proc (pspec: PGParamSpec, value: PGValue): gboolean{.cdecl.} + values_cmp*: proc (pspec: PGParamSpec, value1: PGValue, value2: PGValue): gint{. + cdecl.} + + +proc g_param_type_register_static*(name: cstring, + pspec_info: PGParamSpecTypeInfo): GType{. + cdecl, dynlib: gliblib, importc: "g_param_type_register_static".} +proc g_param_type_register_static_constant*(name: cstring, + pspec_info: PGParamSpecTypeInfo, opt_type: GType): GType{.cdecl, + dynlib: gliblib, importc: "`g_param_type_register_static_constant`".} +proc g_param_spec_internal*(param_type: GType, name: cstring, nick: cstring, + blurb: cstring, flags: TGParamFlags): gpointer{. + cdecl, dynlib: gliblib, importc: "g_param_spec_internal".} +proc g_param_spec_pool_new*(type_prefixing: gboolean): PGParamSpecPool{.cdecl, + dynlib: gliblib, importc: "g_param_spec_pool_new".} +proc g_param_spec_pool_insert*(pool: PGParamSpecPool, pspec: PGParamSpec, + owner_type: GType){.cdecl, dynlib: gliblib, + importc: "g_param_spec_pool_insert".} +proc g_param_spec_pool_remove*(pool: PGParamSpecPool, pspec: PGParamSpec){. + cdecl, dynlib: gliblib, importc: "g_param_spec_pool_remove".} +proc g_param_spec_pool_lookup*(pool: PGParamSpecPool, param_name: cstring, + owner_type: GType, walk_ancestors: gboolean): PGParamSpec{. + cdecl, dynlib: gliblib, importc: "g_param_spec_pool_lookup".} +proc g_param_spec_pool_list_owned*(pool: PGParamSpecPool, owner_type: GType): PGList{. + cdecl, dynlib: gliblib, importc: "g_param_spec_pool_list_owned".} +proc g_param_spec_pool_list*(pool: PGParamSpecPool, owner_type: GType, + n_pspecs_p: Pguint): PPGParamSpec{.cdecl, + dynlib: gliblib, importc: "g_param_spec_pool_list".} +type + PGClosure* = ptr TGClosure + PGClosureNotifyData* = ptr TGClosureNotifyData + TGClosureNotify* = proc (data: gpointer, closure: PGClosure){.cdecl.} + TGClosure*{.final.} = object + flag0*: int32 + marshal*: proc (closure: PGClosure, return_value: PGValue, + n_param_values: guint, param_values: PGValue, + invocation_hint, marshal_data: gpointer){.cdecl.} + data*: gpointer + notifiers*: PGClosureNotifyData + + TGCallBackProcedure* = proc (){.cdecl.} + TGCallback* = proc (){.cdecl.} + TGClosureMarshal* = proc (closure: PGClosure, return_value: PGValue, + n_param_values: guint, param_values: PGValue, + invocation_hint: gpointer, marshal_data: gpointer){. + cdecl.} + TGClosureNotifyData*{.final.} = object + data*: gpointer + notify*: TGClosureNotify + + +proc G_CLOSURE_NEEDS_MARSHAL*(closure: Pointer): bool +proc G_CLOSURE_N_NOTIFIERS*(cl: PGClosure): int32 +proc G_CCLOSURE_SWAP_DATA*(cclosure: PGClosure): int32 +proc G_CALLBACK*(f: pointer): TGCallback +const + bm_TGClosure_ref_count* = 0x00007FFF'i32 + bp_TGClosure_ref_count* = 0'i32 + bm_TGClosure_meta_marshal* = 0x00008000'i32 + bp_TGClosure_meta_marshal* = 15'i32 + bm_TGClosure_n_guards* = 0x00010000'i32 + bp_TGClosure_n_guards* = 16'i32 + bm_TGClosure_n_fnotifiers* = 0x00060000'i32 + bp_TGClosure_n_fnotifiers* = 17'i32 + bm_TGClosure_n_inotifiers* = 0x07F80000'i32 + bp_TGClosure_n_inotifiers* = 19'i32 + bm_TGClosure_in_inotify* = 0x08000000'i32 + bp_TGClosure_in_inotify* = 27'i32 + bm_TGClosure_floating* = 0x10000000'i32 + bp_TGClosure_floating* = 28'i32 + bm_TGClosure_derivative_flag* = 0x20000000'i32 + bp_TGClosure_derivative_flag* = 29'i32 + bm_TGClosure_in_marshal* = 0x40000000'i32 + bp_TGClosure_in_marshal* = 30'i32 + bm_TGClosure_is_invalid* = 0x80000000'i32 + bp_TGClosure_is_invalid* = 31'i32 + +proc ref_count*(a: var TGClosure): guint +proc set_ref_count*(a: var TGClosure, ref_count: guint) +proc meta_marshal*(a: PGClosure): guint +proc set_meta_marshal*(a: var TGClosure, meta_marshal: guint) +proc n_guards*(a: PGClosure): guint +proc set_n_guards*(a: var TGClosure, n_guards: guint) +proc n_fnotifiers*(a: PGClosure): guint +proc set_n_fnotifiers*(a: var TGClosure, n_fnotifiers: guint) +proc n_inotifiers*(a: PGClosure): guint +proc in_inotify*(a: var TGClosure): guint +proc set_in_inotify*(a: var TGClosure, in_inotify: guint) +proc floating*(a: var TGClosure): guint +proc set_floating*(a: var TGClosure, floating: guint) +proc derivative_flag*(a: PGClosure): guint +proc set_derivative_flag*(a: var TGClosure, derivative_flag: guint) +proc in_marshal*(a: var TGClosure): guint +proc set_in_marshal*(a: var TGClosure, in_marshal: guint) +proc is_invalid*(a: var TGClosure): guint +proc set_is_invalid*(a: var TGClosure, is_invalid: guint) +type + PGCClosure* = ptr TGCClosure + TGCClosure*{.final.} = object + closure*: TGClosure + callback*: gpointer + + +proc g_cclosure_new*(callback_func: TGCallback, user_data: gpointer, + destroy_data: TGClosureNotify): PGClosure{.cdecl, + dynlib: gliblib, importc: "g_cclosure_new".} +proc g_cclosure_new_swap*(callback_func: TGCallback, user_data: gpointer, + destroy_data: TGClosureNotify): PGClosure{.cdecl, + dynlib: gliblib, importc: "g_cclosure_new_swap".} +proc g_signal_type_cclosure_new*(itype: GType, struct_offset: guint): PGClosure{. + cdecl, dynlib: gliblib, importc: "g_signal_type_cclosure_new".} +proc g_closure_ref*(closure: PGClosure): PGClosure{.cdecl, dynlib: gliblib, + importc: "g_closure_ref".} +proc g_closure_sink*(closure: PGClosure){.cdecl, dynlib: gliblib, + importc: "g_closure_sink".} +proc g_closure_unref*(closure: PGClosure){.cdecl, dynlib: gliblib, + importc: "g_closure_unref".} +proc g_closure_new_simple*(sizeof_closure: guint, data: gpointer): PGClosure{. + cdecl, dynlib: gliblib, importc: "g_closure_new_simple".} +proc g_closure_add_finalize_notifier*(closure: PGClosure, notify_data: gpointer, + notify_func: TGClosureNotify){.cdecl, + dynlib: gliblib, importc: "g_closure_add_finalize_notifier".} +proc g_closure_remove_finalize_notifier*(closure: PGClosure, + notify_data: gpointer, notify_func: TGClosureNotify){.cdecl, + dynlib: gliblib, importc: "g_closure_remove_finalize_notifier".} +proc g_closure_add_invalidate_notifier*(closure: PGClosure, + notify_data: gpointer, + notify_func: TGClosureNotify){.cdecl, + dynlib: gliblib, importc: "g_closure_add_invalidate_notifier".} +proc g_closure_remove_invalidate_notifier*(closure: PGClosure, + notify_data: gpointer, notify_func: TGClosureNotify){.cdecl, + dynlib: gliblib, importc: "g_closure_remove_invalidate_notifier".} +proc g_closure_add_marshal_guards*(closure: PGClosure, + pre_marshal_data: gpointer, + pre_marshal_notify: TGClosureNotify, + post_marshal_data: gpointer, + post_marshal_notify: TGClosureNotify){.cdecl, + dynlib: gliblib, importc: "g_closure_add_marshal_guards".} +proc g_closure_set_marshal*(closure: PGClosure, marshal: TGClosureMarshal){. + cdecl, dynlib: gliblib, importc: "g_closure_set_marshal".} +proc g_closure_set_meta_marshal*(closure: PGClosure, marshal_data: gpointer, + meta_marshal: TGClosureMarshal){.cdecl, + dynlib: gliblib, importc: "g_closure_set_meta_marshal".} +proc g_closure_invalidate*(closure: PGClosure){.cdecl, dynlib: gliblib, + importc: "g_closure_invalidate".} +proc g_closure_invoke*(closure: PGClosure, return_value: PGValue, + n_param_values: guint, param_values: PGValue, + invocation_hint: gpointer){.cdecl, dynlib: gliblib, + importc: "g_closure_invoke".} +type + PGSignalInvocationHint* = ptr TGSignalInvocationHint + PGSignalCMarshaller* = ptr TGSignalCMarshaller + TGSignalCMarshaller* = TGClosureMarshal + TGSignalEmissionHook* = proc (ihint: PGSignalInvocationHint, + n_param_values: guint, param_values: PGValue, + data: gpointer): gboolean{.cdecl.} + TGSignalAccumulator* = proc (ihint: PGSignalInvocationHint, + return_accu: PGValue, handler_return: PGValue, + data: gpointer): gboolean{.cdecl.} + PGSignalFlags* = ptr TGSignalFlags + TGSignalFlags* = int32 + TGSignalInvocationHint*{.final.} = object + signal_id*: guint + detail*: TGQuark + run_type*: TGSignalFlags + + PGSignalQuery* = ptr TGSignalQuery + TGSignalQuery*{.final.} = object + signal_id*: guint + signal_name*: cstring + itype*: GType + signal_flags*: TGSignalFlags + return_type*: GType + n_params*: guint + param_types*: PGType + + +const + G_SIGNAL_RUN_FIRST* = 1 shl 0 + G_SIGNAL_RUN_LAST* = 1 shl 1 + G_SIGNAL_RUN_CLEANUP* = 1 shl 2 + G_SIGNAL_NO_RECURSE* = 1 shl 3 + G_SIGNAL_DETAILED* = 1 shl 4 + G_SIGNAL_ACTION* = 1 shl 5 + G_SIGNAL_NO_HOOKS* = 1 shl 6 + G_SIGNAL_FLAGS_MASK* = 0x0000007F + +type + PGConnectFlags* = ptr TGConnectFlags + TGConnectFlags* = int32 + +const + G_CONNECT_AFTER* = 1 shl 0 + G_CONNECT_SWAPPED* = 1 shl 1 + +type + PGSignalMatchType* = ptr TGSignalMatchType + TGSignalMatchType* = int32 + +const + G_SIGNAL_MATCH_ID* = 1 shl 0 + G_SIGNAL_MATCH_DETAIL* = 1 shl 1 + G_SIGNAL_MATCH_CLOSURE* = 1 shl 2 + G_SIGNAL_MATCH_FUNC* = 1 shl 3 + G_SIGNAL_MATCH_DATA* = 1 shl 4 + G_SIGNAL_MATCH_UNBLOCKED* = 1 shl 5 + G_SIGNAL_MATCH_MASK* = 0x0000003F + G_SIGNAL_TYPE_STATIC_SCOPE* = G_TYPE_FLAG_RESERVED_ID_BIT + +proc g_signal_newv*(signal_name: cstring, itype: GType, + signal_flags: TGSignalFlags, class_closure: PGClosure, + accumulator: TGSignalAccumulator, accu_data: gpointer, + c_marshaller: TGSignalCMarshaller, return_type: GType, + n_params: guint, param_types: PGType): guint{.cdecl, + dynlib: gobjectlib, importc: "g_signal_newv".} +proc g_signal_emitv*(instance_and_params: PGValue, signal_id: guint, + detail: TGQuark, return_value: PGValue){.cdecl, + dynlib: gobjectlib, importc: "g_signal_emitv".} +proc g_signal_lookup*(name: cstring, itype: GType): guint{.cdecl, + dynlib: gobjectlib, importc: "g_signal_lookup".} +proc g_signal_name*(signal_id: guint): cstring{.cdecl, dynlib: gobjectlib, + importc: "g_signal_name".} +proc g_signal_query*(signal_id: guint, query: PGSignalQuery){.cdecl, + dynlib: gobjectlib, importc: "g_signal_query".} +proc g_signal_list_ids*(itype: GType, n_ids: Pguint): Pguint{.cdecl, + dynlib: gobjectlib, importc: "g_signal_list_ids".} +proc g_signal_parse_name*(detailed_signal: cstring, itype: GType, + signal_id_p: Pguint, detail_p: PGQuark, + force_detail_quark: gboolean): gboolean{.cdecl, + dynlib: gobjectlib, importc: "g_signal_parse_name".} +proc g_signal_get_invocation_hint*(instance: gpointer): PGSignalInvocationHint{. + cdecl, dynlib: gobjectlib, importc: "g_signal_get_invocation_hint".} +proc g_signal_stop_emission*(instance: gpointer, signal_id: guint, + detail: TGQuark){.cdecl, dynlib: gobjectlib, + importc: "g_signal_stop_emission".} +proc g_signal_stop_emission_by_name*(instance: gpointer, + detailed_signal: cstring){.cdecl, + dynlib: gobjectlib, importc: "g_signal_stop_emission_by_name".} +proc g_signal_add_emission_hook*(signal_id: guint, quark: TGQuark, + hook_func: TGSignalEmissionHook, + hook_data: gpointer, + data_destroy: TGDestroyNotify): gulong{.cdecl, + dynlib: gobjectlib, importc: "g_signal_add_emission_hook".} +proc g_signal_remove_emission_hook*(signal_id: guint, hook_id: gulong){.cdecl, + dynlib: gobjectlib, importc: "g_signal_remove_emission_hook".} +proc g_signal_has_handler_pending*(instance: gpointer, signal_id: guint, + detail: TGQuark, may_be_blocked: gboolean): gboolean{. + cdecl, dynlib: gobjectlib, importc: "g_signal_has_handler_pending".} +proc g_signal_connect_closure_by_id*(instance: gpointer, signal_id: guint, + detail: TGQuark, closure: PGClosure, + after: gboolean): gulong{.cdecl, + dynlib: gobjectlib, importc: "g_signal_connect_closure_by_id".} +proc g_signal_connect_closure*(instance: gpointer, detailed_signal: cstring, + closure: PGClosure, after: gboolean): gulong{. + cdecl, dynlib: gobjectlib, importc: "g_signal_connect_closure".} +proc g_signal_connect_data*(instance: gpointer, detailed_signal: cstring, + c_handler: TGCallback, data: gpointer, + destroy_data: TGClosureNotify, + connect_flags: TGConnectFlags): gulong{.cdecl, + dynlib: gobjectlib, importc: "g_signal_connect_data".} +proc g_signal_handler_block*(instance: gpointer, handler_id: gulong){.cdecl, + dynlib: gobjectlib, importc: "g_signal_handler_block".} +proc g_signal_handler_unblock*(instance: gpointer, handler_id: gulong){.cdecl, + dynlib: gobjectlib, importc: "g_signal_handler_unblock".} +proc g_signal_handler_disconnect*(instance: gpointer, handler_id: gulong){. + cdecl, dynlib: gobjectlib, importc: "g_signal_handler_disconnect".} +proc g_signal_handler_is_connected*(instance: gpointer, handler_id: gulong): gboolean{. + cdecl, dynlib: gobjectlib, importc: "g_signal_handler_is_connected".} +proc g_signal_handler_find*(instance: gpointer, mask: TGSignalMatchType, + signal_id: guint, detail: TGQuark, + closure: PGClosure, func: gpointer, data: gpointer): gulong{. + cdecl, dynlib: gobjectlib, importc: "g_signal_handler_find".} +proc g_signal_handlers_block_matched*(instance: gpointer, + mask: TGSignalMatchType, signal_id: guint, + detail: TGQuark, closure: PGClosure, + func: gpointer, data: gpointer): guint{. + cdecl, dynlib: gobjectlib, importc: "g_signal_handlers_block_matched".} +proc g_signal_handlers_unblock_matched*(instance: gpointer, + mask: TGSignalMatchType, + signal_id: guint, detail: TGQuark, + closure: PGClosure, func: gpointer, + data: gpointer): guint{.cdecl, + dynlib: gobjectlib, importc: "g_signal_handlers_unblock_matched".} +proc g_signal_handlers_disconnect_matched*(instance: gpointer, + mask: TGSignalMatchType, signal_id: guint, detail: TGQuark, + closure: PGClosure, func: gpointer, data: gpointer): guint{.cdecl, + dynlib: gobjectlib, importc: "g_signal_handlers_disconnect_matched".} +proc g_signal_override_class_closure*(signal_id: guint, instance_type: GType, + class_closure: PGClosure){.cdecl, + dynlib: gobjectlib, importc: "g_signal_override_class_closure".} +proc g_signal_chain_from_overridden*(instance_and_params: PGValue, + return_value: PGValue){.cdecl, + dynlib: gobjectlib, importc: "g_signal_chain_from_overridden".} +proc g_signal_connect*(instance: gpointer, detailed_signal: cstring, + c_handler: TGCallback, data: gpointer): gulong +proc g_signal_connect_after*(instance: gpointer, detailed_signal: cstring, + c_handler: TGCallback, data: gpointer): gulong +proc g_signal_connect_swapped*(instance: gpointer, detailed_signal: cstring, + c_handler: TGCallback, data: gpointer): gulong +proc g_signal_handlers_disconnect_by_func*(instance: gpointer, + func, data: gpointer): guint +proc g_signal_handlers_block_by_func*(instance: gpointer, func, data: gpointer) +proc g_signal_handlers_unblock_by_func*(instance: gpointer, func, data: gpointer) +proc g_signal_handlers_destroy*(instance: gpointer){.cdecl, dynlib: gobjectlib, + importc: "g_signal_handlers_destroy".} +proc g_signals_destroy*(itype: GType){.cdecl, dynlib: gobjectlib, + importc: "`g_signals_destroy`".} +type + TGTypePluginUse* = proc (plugin: PGTypePlugin){.cdecl.} + TGTypePluginUnuse* = proc (plugin: PGTypePlugin){.cdecl.} + TGTypePluginCompleteTypeInfo* = proc (plugin: PGTypePlugin, g_type: GType, + info: PGTypeInfo, + value_table: PGTypeValueTable){.cdecl.} + TGTypePluginCompleteInterfaceInfo* = proc (plugin: PGTypePlugin, + instance_type: GType, interface_type: GType, info: PGInterfaceInfo){.cdecl.} + PGTypePluginClass* = ptr TGTypePluginClass + TGTypePluginClass*{.final.} = object + base_iface*: TGTypeInterface + use_plugin*: TGTypePluginUse + unuse_plugin*: TGTypePluginUnuse + complete_type_info*: TGTypePluginCompleteTypeInfo + complete_interface_info*: TGTypePluginCompleteInterfaceInfo + + +proc G_TYPE_TYPE_PLUGIN*(): GType +proc G_TYPE_PLUGIN*(inst: Pointer): PGTypePlugin +proc G_TYPE_PLUGIN_CLASS*(vtable: Pointer): PGTypePluginClass +proc G_IS_TYPE_PLUGIN*(inst: Pointer): bool +proc G_IS_TYPE_PLUGIN_CLASS*(vtable: Pointer): bool +proc G_TYPE_PLUGIN_GET_CLASS*(inst: Pointer): PGTypePluginClass +proc g_type_plugin_get_type*(): GType{.cdecl, dynlib: gliblib, + importc: "g_type_plugin_get_type".} +proc g_type_plugin_use*(plugin: PGTypePlugin){.cdecl, dynlib: gliblib, + importc: "g_type_plugin_use".} +proc g_type_plugin_unuse*(plugin: PGTypePlugin){.cdecl, dynlib: gliblib, + importc: "g_type_plugin_unuse".} +proc g_type_plugin_complete_type_info*(plugin: PGTypePlugin, g_type: GType, + info: PGTypeInfo, + value_table: PGTypeValueTable){.cdecl, + dynlib: gliblib, importc: "g_type_plugin_complete_type_info".} +proc g_type_plugin_complete_interface_info*(plugin: PGTypePlugin, + instance_type: GType, interface_type: GType, info: PGInterfaceInfo){.cdecl, + dynlib: gliblib, importc: "g_type_plugin_complete_interface_info".} +type + PGObject* = ptr TGObject + TGObject*{.pure.} = object + g_type_instance*: TGTypeInstance + ref_count*: guint + qdata*: PGData + + TGObjectGetPropertyFunc* = proc (anObject: PGObject, property_id: guint, + value: PGValue, pspec: PGParamSpec){.cdecl.} + TGObjectSetPropertyFunc* = proc (anObject: PGObject, property_id: guint, + value: PGValue, pspec: PGParamSpec){.cdecl.} + TGObjectFinalizeFunc* = proc (anObject: PGObject){.cdecl.} + TGWeakNotify* = proc (data: gpointer, where_the_object_was: PGObject){.cdecl.} + PGObjectConstructParam* = ptr TGObjectConstructParam + PGObjectClass* = ptr TGObjectClass + TGObjectClass*{.pure.} = object + g_type_class*: TGTypeClass + construct_properties*: PGSList + constructor*: proc (theType: GType, n_construct_properties: guint, + construct_properties: PGObjectConstructParam): PGObject{. + cdecl.} + set_property*: proc (anObject: PGObject, property_id: guint, value: PGValue, + pspec: PGParamSpec){.cdecl.} + get_property*: proc (anObject: PGObject, property_id: guint, value: PGValue, + pspec: PGParamSpec){.cdecl.} + dispose*: proc (anObject: PGObject){.cdecl.} + finalize*: proc (anObject: PGObject){.cdecl.} + dispatch_properties_changed*: proc (anObject: PGObject, n_pspecs: guint, + pspecs: PPGParamSpec){.cdecl.} + notify*: proc (anObject: PGObject, pspec: PGParamSpec){.cdecl.} + pdummy*: array[0..7, gpointer] + + TGObjectConstructParam*{.final.} = object + pspec*: PGParamSpec + value*: PGValue + + +proc G_TYPE_IS_OBJECT*(theType: GType): bool +proc G_OBJECT*(anObject: pointer): PGObject +proc G_OBJECT_CLASS*(class: Pointer): PGObjectClass +proc G_IS_OBJECT*(anObject: pointer): bool +proc G_IS_OBJECT_CLASS*(class: Pointer): bool +proc G_OBJECT_GET_CLASS*(anObject: pointer): PGObjectClass +proc G_OBJECT_TYPE*(anObject: pointer): GType +proc G_OBJECT_TYPE_NAME*(anObject: pointer): cstring +proc G_OBJECT_CLASS_TYPE*(class: Pointer): GType +proc G_OBJECT_CLASS_NAME*(class: Pointer): cstring +proc G_VALUE_HOLDS_OBJECT*(value: Pointer): bool +proc g_object_class_install_property*(oclass: PGObjectClass, property_id: guint, + pspec: PGParamSpec){.cdecl, + dynlib: gobjectlib, importc: "g_object_class_install_property".} +proc g_object_class_find_property*(oclass: PGObjectClass, property_name: cstring): PGParamSpec{. + cdecl, dynlib: gobjectlib, importc: "g_object_class_find_property".} +proc g_object_class_list_properties*(oclass: PGObjectClass, n_properties: Pguint): PPGParamSpec{. + cdecl, dynlib: gobjectlib, importc: "g_object_class_list_properties".} +proc g_object_set_property*(anObject: PGObject, property_name: cstring, + value: PGValue){.cdecl, dynlib: gobjectlib, + importc: "g_object_set_property".} +proc g_object_get_property*(anObject: PGObject, property_name: cstring, + value: PGValue){.cdecl, dynlib: gobjectlib, + importc: "g_object_get_property".} +proc g_object_freeze_notify*(anObject: PGObject){.cdecl, dynlib: gobjectlib, + importc: "g_object_freeze_notify".} +proc g_object_notify*(anObject: PGObject, property_name: cstring){.cdecl, + dynlib: gobjectlib, importc: "g_object_notify".} +proc g_object_thaw_notify*(anObject: PGObject){.cdecl, dynlib: gobjectlib, + importc: "g_object_thaw_notify".} +proc g_object_ref*(anObject: gpointer): gpointer{.cdecl, dynlib: gobjectlib, + importc: "g_object_ref".} +proc g_object_unref*(anObject: gpointer){.cdecl, dynlib: gobjectlib, + importc: "g_object_unref".} +proc g_object_weak_ref*(anObject: PGObject, notify: TGWeakNotify, data: gpointer){. + cdecl, dynlib: gobjectlib, importc: "g_object_weak_ref".} +proc g_object_weak_unref*(anObject: PGObject, notify: TGWeakNotify, + data: gpointer){.cdecl, dynlib: gobjectlib, + importc: "g_object_weak_unref".} +proc g_object_add_weak_pointer*(anObject: PGObject, + weak_pointer_location: Pgpointer){.cdecl, + dynlib: gobjectlib, importc: "g_object_add_weak_pointer".} +proc g_object_remove_weak_pointer*(anObject: PGObject, + weak_pointer_location: Pgpointer){.cdecl, + dynlib: gobjectlib, importc: "g_object_remove_weak_pointer".} +proc g_object_get_qdata*(anObject: PGObject, quark: TGQuark): gpointer{.cdecl, + dynlib: gobjectlib, importc: "g_object_get_qdata".} +proc g_object_set_qdata*(anObject: PGObject, quark: TGQuark, data: gpointer){. + cdecl, dynlib: gobjectlib, importc: "g_object_set_qdata".} +proc g_object_set_qdata_full*(anObject: PGObject, quark: TGQuark, + data: gpointer, destroy: TGDestroyNotify){.cdecl, + dynlib: gobjectlib, importc: "g_object_set_qdata_full".} +proc g_object_steal_qdata*(anObject: PGObject, quark: TGQuark): gpointer{.cdecl, + dynlib: gobjectlib, importc: "g_object_steal_qdata".} +proc g_object_get_data*(anObject: PGObject, key: cstring): gpointer{.cdecl, + dynlib: gobjectlib, importc: "g_object_get_data".} +proc g_object_set_data*(anObject: PGObject, key: cstring, data: gpointer){. + cdecl, dynlib: gobjectlib, importc: "g_object_set_data".} +proc g_object_set_data_full*(anObject: PGObject, key: cstring, data: gpointer, + destroy: TGDestroyNotify){.cdecl, + dynlib: gobjectlib, importc: "g_object_set_data_full".} +proc g_object_steal_data*(anObject: PGObject, key: cstring): gpointer{.cdecl, + dynlib: gobjectlib, importc: "g_object_steal_data".} +proc g_object_watch_closure*(anObject: PGObject, closure: PGClosure){.cdecl, + dynlib: gobjectlib, importc: "g_object_watch_closure".} +proc g_cclosure_new_object*(callback_func: TGCallback, anObject: PGObject): PGClosure{. + cdecl, dynlib: gobjectlib, importc: "g_cclosure_new_object".} +proc g_cclosure_new_object_swap*(callback_func: TGCallback, anObject: PGObject): PGClosure{. + cdecl, dynlib: gobjectlib, importc: "g_cclosure_new_object_swap".} +proc g_closure_new_object*(sizeof_closure: guint, anObject: PGObject): PGClosure{. + cdecl, dynlib: gobjectlib, importc: "g_closure_new_object".} +proc g_value_set_object*(value: PGValue, v_object: gpointer){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_object".} +proc g_value_get_object*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_object".} +proc g_value_dup_object*(value: PGValue): PGObject{.cdecl, dynlib: gobjectlib, + importc: "g_value_dup_object".} +proc g_signal_connect_object*(instance: gpointer, detailed_signal: cstring, + c_handler: TGCallback, gobject: gpointer, + connect_flags: TGConnectFlags): gulong{.cdecl, + dynlib: gobjectlib, importc: "g_signal_connect_object".} +proc g_object_run_dispose*(anObject: PGObject){.cdecl, dynlib: gobjectlib, + importc: "g_object_run_dispose".} +proc g_value_set_object_take_ownership*(value: PGValue, v_object: gpointer){. + cdecl, dynlib: gobjectlib, importc: "g_value_set_object_take_ownership".} +proc G_OBJECT_WARN_INVALID_PSPEC*(anObject: gpointer, pname: cstring, + property_id: gint, pspec: gpointer) +proc G_OBJECT_WARN_INVALID_PROPERTY_ID*(anObject: gpointer, property_id: gint, + pspec: gpointer) +type + G_FLAGS_TYPE* = GType + +const + G_E* = 2.71828 + G_LN2* = 0.693147 + G_LN10* = 2.30259 + G_PI* = 3.14159 + G_PI_2* = 1.57080 + G_PI_4* = 0.785398 + G_SQRT2* = 1.41421 + G_LITTLE_ENDIAN* = 1234 + G_BIG_ENDIAN* = 4321 + G_PDP_ENDIAN* = 3412 + +proc GUINT16_SWAP_LE_BE_CONSTANT*(val: guint16): guint16 +proc GUINT32_SWAP_LE_BE_CONSTANT*(val: guint32): guint32 +type + PGEnumClass* = ptr TGEnumClass + PGEnumValue* = ptr TGEnumValue + TGEnumClass*{.final.} = object + g_type_class*: TGTypeClass + minimum*: gint + maximum*: gint + n_values*: guint + values*: PGEnumValue + + TGEnumValue*{.final.} = object + value*: gint + value_name*: cstring + value_nick*: cstring + + PGFlagsClass* = ptr TGFlagsClass + PGFlagsValue* = ptr TGFlagsValue + TGFlagsClass*{.final.} = object + g_type_class*: TGTypeClass + mask*: guint + n_values*: guint + values*: PGFlagsValue + + TGFlagsValue*{.final.} = object + value*: guint + value_name*: cstring + value_nick*: cstring + + +proc G_TYPE_IS_ENUM*(theType: GType): gboolean +proc G_ENUM_CLASS*(class: pointer): PGEnumClass +proc G_IS_ENUM_CLASS*(class: pointer): gboolean +proc G_ENUM_CLASS_TYPE*(class: pointer): GType +proc G_ENUM_CLASS_TYPE_NAME*(class: pointer): cstring +proc G_TYPE_IS_FLAGS*(theType: GType): gboolean +proc G_FLAGS_CLASS*(class: pointer): PGFlagsClass +proc G_IS_FLAGS_CLASS*(class: pointer): gboolean +proc G_FLAGS_CLASS_TYPE*(class: pointer): GType +proc G_FLAGS_CLASS_TYPE_NAME*(class: pointer): cstring +proc G_VALUE_HOLDS_ENUM*(value: pointer): gboolean +proc G_VALUE_HOLDS_FLAGS*(value: pointer): gboolean +proc g_enum_get_value*(enum_class: PGEnumClass, value: gint): PGEnumValue{. + cdecl, dynlib: gliblib, importc: "g_enum_get_value".} +proc g_enum_get_value_by_name*(enum_class: PGEnumClass, name: cstring): PGEnumValue{. + cdecl, dynlib: gliblib, importc: "g_enum_get_value_by_name".} +proc g_enum_get_value_by_nick*(enum_class: PGEnumClass, nick: cstring): PGEnumValue{. + cdecl, dynlib: gliblib, importc: "g_enum_get_value_by_nick".} +proc g_flags_get_first_value*(flags_class: PGFlagsClass, value: guint): PGFlagsValue{. + cdecl, dynlib: gliblib, importc: "g_flags_get_first_value".} +proc g_flags_get_value_by_name*(flags_class: PGFlagsClass, name: cstring): PGFlagsValue{. + cdecl, dynlib: gliblib, importc: "g_flags_get_value_by_name".} +proc g_flags_get_value_by_nick*(flags_class: PGFlagsClass, nick: cstring): PGFlagsValue{. + cdecl, dynlib: gliblib, importc: "g_flags_get_value_by_nick".} +proc g_value_set_enum*(value: PGValue, v_enum: gint){.cdecl, dynlib: gliblib, + importc: "g_value_set_enum".} +proc g_value_get_enum*(value: PGValue): gint{.cdecl, dynlib: gliblib, + importc: "g_value_get_enum".} +proc g_value_set_flags*(value: PGValue, v_flags: guint){.cdecl, dynlib: gliblib, + importc: "g_value_set_flags".} +proc g_value_get_flags*(value: PGValue): guint{.cdecl, dynlib: gliblib, + importc: "g_value_get_flags".} +proc g_enum_register_static*(name: cstring, const_static_values: PGEnumValue): GType{. + cdecl, dynlib: gliblib, importc: "g_enum_register_static".} +proc g_flags_register_static*(name: cstring, const_static_values: PGFlagsValue): GType{. + cdecl, dynlib: gliblib, importc: "g_flags_register_static".} +proc g_enum_complete_type_info*(g_enum_type: GType, info: PGTypeInfo, + const_values: PGEnumValue){.cdecl, + dynlib: gliblib, importc: "g_enum_complete_type_info".} +proc g_flags_complete_type_info*(g_flags_type: GType, info: PGTypeInfo, + const_values: PGFlagsValue){.cdecl, + dynlib: gliblib, importc: "g_flags_complete_type_info".} +const + G_MINFLOAT* = 0.00000 + G_MAXFLOAT* = 1.70000e+308 + G_MINDOUBLE* = G_MINFLOAT + G_MAXDOUBLE* = G_MAXFLOAT + G_MAXSHORT* = 32767 + G_MINSHORT* = - G_MAXSHORT - 1 + G_MAXUSHORT* = 2 * G_MAXSHORT + 1 + G_MAXINT* = 2147483647 + G_MININT* = - G_MAXINT - 1 + G_MAXUINT* = - 1 + G_MINLONG* = G_MININT + G_MAXLONG* = G_MAXINT + G_MAXULONG* = G_MAXUINT + G_MAXINT64* = high(int64) + G_MININT64* = low(int64) + +const + G_GINT16_FORMAT* = "hi" + G_GUINT16_FORMAT* = "hu" + G_GINT32_FORMAT* = 'i' + G_GUINT32_FORMAT* = 'u' + G_HAVE_GINT64* = 1 + G_GINT64_FORMAT* = "I64i" + G_GUINT64_FORMAT* = "I64u" + GLIB_SIZEOF_VOID_P* = SizeOf(Pointer) + GLIB_SIZEOF_LONG* = SizeOf(int32) + GLIB_SIZEOF_SIZE_T* = SizeOf(int32) + +type + PGSystemThread* = ptr TGSystemThread + TGSystemThread*{.final.} = object + data*: array[0..3, char] + dummy_double*: float64 + dummy_pointer*: pointer + dummy_long*: int32 + + +const + GLIB_SYSDEF_POLLIN* = 1 + GLIB_SYSDEF_POLLOUT* = 4 + GLIB_SYSDEF_POLLPRI* = 2 + GLIB_SYSDEF_POLLERR* = 8 + GLIB_SYSDEF_POLLHUP* = 16 + GLIB_SYSDEF_POLLNVAL* = 32 + +proc GUINT_TO_POINTER*(i: guint): pointer +type + PGAsciiType* = ptr TGAsciiType + TGAsciiType* = int32 + +const + G_ASCII_ALNUM* = 1 shl 0 + G_ASCII_ALPHA* = 1 shl 1 + G_ASCII_CNTRL* = 1 shl 2 + G_ASCII_DIGIT* = 1 shl 3 + G_ASCII_GRAPH* = 1 shl 4 + G_ASCII_LOWER* = 1 shl 5 + G_ASCII_PRINT* = 1 shl 6 + G_ASCII_PUNCT* = 1 shl 7 + G_ASCII_SPACE* = 1 shl 8 + G_ASCII_UPPER* = 1 shl 9 + G_ASCII_XDIGIT* = 1 shl 10 + +proc g_ascii_tolower*(c: gchar): gchar{.cdecl, dynlib: gliblib, + importc: "g_ascii_tolower".} +proc g_ascii_toupper*(c: gchar): gchar{.cdecl, dynlib: gliblib, + importc: "g_ascii_toupper".} +proc g_ascii_digit_value*(c: gchar): gint{.cdecl, dynlib: gliblib, + importc: "g_ascii_digit_value".} +proc g_ascii_xdigit_value*(c: gchar): gint{.cdecl, dynlib: gliblib, + importc: "g_ascii_xdigit_value".} +const + G_STR_DELIMITERS* = "``-|> <." + +proc g_strdelimit*(str: cstring, delimiters: cstring, new_delimiter: gchar): cstring{. + cdecl, dynlib: gliblib, importc: "g_strdelimit".} +proc g_strcanon*(str: cstring, valid_chars: cstring, substitutor: gchar): cstring{. + cdecl, dynlib: gliblib, importc: "g_strcanon".} +proc g_strerror*(errnum: gint): cstring{.cdecl, dynlib: gliblib, + importc: "g_strerror".} +proc g_strsignal*(signum: gint): cstring{.cdecl, dynlib: gliblib, + importc: "g_strsignal".} +proc g_strreverse*(str: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_strreverse".} +proc g_strlcpy*(dest: cstring, src: cstring, dest_size: gsize): gsize{.cdecl, + dynlib: gliblib, importc: "g_strlcpy".} +proc g_strlcat*(dest: cstring, src: cstring, dest_size: gsize): gsize{.cdecl, + dynlib: gliblib, importc: "g_strlcat".} +proc g_strstr_len*(haystack: cstring, haystack_len: gssize, needle: cstring): cstring{. + cdecl, dynlib: gliblib, importc: "g_strstr_len".} +proc g_strrstr*(haystack: cstring, needle: cstring): cstring{.cdecl, + dynlib: gliblib, importc: "g_strrstr".} +proc g_strrstr_len*(haystack: cstring, haystack_len: gssize, needle: cstring): cstring{. + cdecl, dynlib: gliblib, importc: "g_strrstr_len".} +proc g_str_has_suffix*(str: cstring, suffix: cstring): gboolean{.cdecl, + dynlib: gliblib, importc: "g_str_has_suffix".} +proc g_str_has_prefix*(str: cstring, prefix: cstring): gboolean{.cdecl, + dynlib: gliblib, importc: "g_str_has_prefix".} +proc g_strtod*(nptr: cstring, endptr: PPgchar): gdouble{.cdecl, dynlib: gliblib, + importc: "g_strtod".} +proc g_ascii_strtod*(nptr: cstring, endptr: PPgchar): gdouble{.cdecl, + dynlib: gliblib, importc: "g_ascii_strtod".} +const + G_ASCII_DTOSTR_BUF_SIZE* = 29 + 10 + +proc g_ascii_dtostr*(buffer: cstring, buf_len: gint, d: gdouble): cstring{. + cdecl, dynlib: gliblib, importc: "g_ascii_dtostr".} +proc g_ascii_formatd*(buffer: cstring, buf_len: gint, format: cstring, + d: gdouble): cstring{.cdecl, dynlib: gliblib, + importc: "g_ascii_formatd".} +proc g_strchug*(str: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_strchug".} +proc g_strchomp*(str: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_strchomp".} +proc g_ascii_strcasecmp*(s1: cstring, s2: cstring): gint{.cdecl, + dynlib: gliblib, importc: "g_ascii_strcasecmp".} +proc g_ascii_strncasecmp*(s1: cstring, s2: cstring, n: gsize): gint{.cdecl, + dynlib: gliblib, importc: "g_ascii_strncasecmp".} +proc g_ascii_strdown*(str: cstring, len: gssize): cstring{.cdecl, + dynlib: gliblib, importc: "g_ascii_strdown".} +proc g_ascii_strup*(str: cstring, len: gssize): cstring{.cdecl, dynlib: gliblib, + importc: "g_ascii_strup".} +proc g_strdup*(str: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_strdup".} +proc g_strndup*(str: cstring, n: gsize): cstring{.cdecl, dynlib: gliblib, + importc: "g_strndup".} +proc g_strnfill*(length: gsize, fill_char: gchar): cstring{.cdecl, + dynlib: gliblib, importc: "g_strnfill".} +proc g_strcompress*(source: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_strcompress".} +proc g_strescape*(source: cstring, exceptions: cstring): cstring{.cdecl, + dynlib: gliblib, importc: "g_strescape".} +proc g_memdup*(mem: gconstpointer, byte_size: guint): gpointer{.cdecl, + dynlib: gliblib, importc: "g_memdup".} +proc g_strsplit*(str: cstring, delimiter: cstring, max_tokens: gint): PPgchar{. + cdecl, dynlib: gliblib, importc: "g_strsplit".} +proc g_strjoinv*(separator: cstring, str_array: PPgchar): cstring{.cdecl, + dynlib: gliblib, importc: "g_strjoinv".} +proc g_strfreev*(str_array: PPgchar){.cdecl, dynlib: gliblib, + importc: "g_strfreev".} +proc g_strdupv*(str_array: PPgchar): PPgchar{.cdecl, dynlib: gliblib, + importc: "g_strdupv".} +proc g_stpcpy*(dest: cstring, src: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_stpcpy".} +proc g_get_user_name*(): cstring{.cdecl, dynlib: gliblib, + importc: "g_get_user_name".} +proc g_get_real_name*(): cstring{.cdecl, dynlib: gliblib, + importc: "g_get_real_name".} +proc g_get_home_dir*(): cstring{.cdecl, dynlib: gliblib, + importc: "g_get_home_dir".} +proc g_get_tmp_dir*(): cstring{.cdecl, dynlib: gliblib, importc: "g_get_tmp_dir".} +proc g_get_prgname*(): cstring{.cdecl, dynlib: gliblib, importc: "g_get_prgname".} +proc g_set_prgname*(prgname: cstring){.cdecl, dynlib: gliblib, + importc: "g_set_prgname".} +type + PGDebugKey* = ptr TGDebugKey + TGDebugKey*{.final.} = object + key*: cstring + value*: guint + + +proc g_parse_debug_string*(str: cstring, keys: PGDebugKey, nkeys: guint): guint{. + cdecl, dynlib: gliblib, importc: "g_parse_debug_string".} +proc g_path_is_absolute*(file_name: cstring): gboolean{.cdecl, dynlib: gliblib, + importc: "g_path_is_absolute".} +proc g_path_skip_root*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_path_skip_root".} +proc g_basename*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_basename".} +proc g_dirname*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_path_get_dirname".} +proc g_get_current_dir*(): cstring{.cdecl, dynlib: gliblib, + importc: "g_get_current_dir".} +proc g_path_get_basename*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_path_get_basename".} +proc g_path_get_dirname*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_path_get_dirname".} +proc g_nullify_pointer*(nullify_location: Pgpointer){.cdecl, dynlib: gliblib, + importc: "g_nullify_pointer".} +proc g_getenv*(variable: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_getenv".} +type + TGVoidFunc* = proc (){.cdecl.} + +proc g_atexit*(func: TGVoidFunc){.cdecl, dynlib: gliblib, importc: "g_atexit".} +proc g_find_program_in_path*(program: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_find_program_in_path".} +proc g_bit_nth_lsf*(mask: gulong, nth_bit: gint): gint{.cdecl, dynlib: gliblib, + importc: "g_bit_nth_lsf".} +proc g_bit_nth_msf*(mask: gulong, nth_bit: gint): gint{.cdecl, dynlib: gliblib, + importc: "g_bit_nth_msf".} +proc g_bit_storage*(number: gulong): guint{.cdecl, dynlib: gliblib, + importc: "g_bit_storage".} +type + PPGTrashStack* = ptr PGTrashStack + PGTrashStack* = ptr TGTrashStack + TGTrashStack*{.final.} = object + next*: PGTrashStack + + +proc g_trash_stack_push*(stack_p: PPGTrashStack, data_p: gpointer){.cdecl, + dynlib: gliblib, importc: "g_trash_stack_push".} +proc g_trash_stack_pop*(stack_p: PPGTrashStack): gpointer{.cdecl, + dynlib: gliblib, importc: "g_trash_stack_pop".} +proc g_trash_stack_peek*(stack_p: PPGTrashStack): gpointer{.cdecl, + dynlib: gliblib, importc: "g_trash_stack_peek".} +proc g_trash_stack_height*(stack_p: PPGTrashStack): guint{.cdecl, + dynlib: gliblib, importc: "g_trash_stack_height".} +type + PGHashTable* = pointer + TGHRFunc* = proc (key, value, user_data: gpointer): gboolean{.cdecl.} + +proc g_hash_table_new*(hash_func: TGHashFunc, key_equal_func: TGEqualFunc): PGHashTable{. + cdecl, dynlib: gliblib, importc: "g_hash_table_new".} +proc g_hash_table_new_full*(hash_func: TGHashFunc, key_equal_func: TGEqualFunc, + key_destroy_func: TGDestroyNotify, + value_destroy_func: TGDestroyNotify): PGHashTable{. + cdecl, dynlib: gliblib, importc: "g_hash_table_new_full".} +proc g_hash_table_destroy*(hash_table: PGHashTable){.cdecl, dynlib: gliblib, + importc: "g_hash_table_destroy".} +proc g_hash_table_insert*(hash_table: PGHashTable, key: gpointer, + value: gpointer){.cdecl, dynlib: gliblib, + importc: "g_hash_table_insert".} +proc g_hash_table_replace*(hash_table: PGHashTable, key: gpointer, + value: gpointer){.cdecl, dynlib: gliblib, + importc: "g_hash_table_replace".} +proc g_hash_table_remove*(hash_table: PGHashTable, key: gconstpointer): gboolean{. + cdecl, dynlib: gliblib, importc: "g_hash_table_remove".} +proc g_hash_table_steal*(hash_table: PGHashTable, key: gconstpointer): gboolean{. + cdecl, dynlib: gliblib, importc: "g_hash_table_steal".} +proc g_hash_table_lookup*(hash_table: PGHashTable, key: gconstpointer): gpointer{. + cdecl, dynlib: gliblib, importc: "g_hash_table_lookup".} +proc g_hash_table_lookup_extended*(hash_table: PGHashTable, + lookup_key: gconstpointer, + orig_key: Pgpointer, value: Pgpointer): gboolean{. + cdecl, dynlib: gliblib, importc: "g_hash_table_lookup_extended".} +proc g_hash_table_foreach*(hash_table: PGHashTable, func: TGHFunc, + user_data: gpointer){.cdecl, dynlib: gliblib, + importc: "g_hash_table_foreach".} +proc g_hash_table_foreach_remove*(hash_table: PGHashTable, func: TGHRFunc, + user_data: gpointer): guint{.cdecl, + dynlib: gliblib, importc: "g_hash_table_foreach_remove".} +proc g_hash_table_foreach_steal*(hash_table: PGHashTable, func: TGHRFunc, + user_data: gpointer): guint{.cdecl, + dynlib: gliblib, importc: "g_hash_table_foreach_steal".} +proc g_hash_table_size*(hash_table: PGHashTable): guint{.cdecl, dynlib: gliblib, + importc: "g_hash_table_size".} +proc g_str_equal*(v: gconstpointer, v2: gconstpointer): gboolean{.cdecl, + dynlib: gliblib, importc: "g_str_equal".} +proc g_str_hash*(v: gconstpointer): guint{.cdecl, dynlib: gliblib, + importc: "g_str_hash".} +proc g_int_equal*(v: gconstpointer, v2: gconstpointer): gboolean{.cdecl, + dynlib: gliblib, importc: "g_int_equal".} +proc g_int_hash*(v: gconstpointer): guint{.cdecl, dynlib: gliblib, + importc: "g_int_hash".} +proc g_direct_hash*(v: gconstpointer): guint{.cdecl, dynlib: gliblib, + importc: "g_direct_hash".} +proc g_direct_equal*(v: gconstpointer, v2: gconstpointer): gboolean{.cdecl, + dynlib: gliblib, importc: "g_direct_equal".} +proc g_quark_try_string*(str: cstring): TGQuark{.cdecl, dynlib: gliblib, + importc: "g_quark_try_string".} +proc g_quark_from_static_string*(str: cstring): TGQuark{.cdecl, dynlib: gliblib, + importc: "g_quark_from_static_string".} +proc g_quark_from_string*(str: cstring): TGQuark{.cdecl, dynlib: gliblib, + importc: "g_quark_from_string".} +proc g_quark_to_string*(quark: TGQuark): cstring{.cdecl, dynlib: gliblib, + importc: "g_quark_to_string".} +const + G_MEM_ALIGN* = GLIB_SIZEOF_VOID_P + +type + PGMemVTable* = ptr TGMemVTable + TGMemVTable*{.final.} = object + malloc*: proc (n_bytes: gsize): gpointer{.cdecl.} + realloc*: proc (mem: gpointer, n_bytes: gsize): gpointer{.cdecl.} + free*: proc (mem: gpointer){.cdecl.} + calloc*: proc (n_blocks: gsize, n_block_bytes: gsize): gpointer{.cdecl.} + try_malloc*: proc (n_bytes: gsize): gpointer{.cdecl.} + try_realloc*: proc (mem: gpointer, n_bytes: gsize): gpointer{.cdecl.} + + PGMemChunk* = pointer + PGAllocator* = pointer + +proc g_malloc*(n_bytes: gulong): gpointer{.cdecl, dynlib: gliblib, + importc: "g_malloc".} +proc g_malloc0*(n_bytes: gulong): gpointer{.cdecl, dynlib: gliblib, + importc: "g_malloc0".} +proc g_realloc*(mem: gpointer, n_bytes: gulong): gpointer{.cdecl, + dynlib: gliblib, importc: "g_realloc".} +proc g_free*(mem: gpointer){.cdecl, dynlib: gliblib, importc: "g_free".} +proc g_try_malloc*(n_bytes: gulong): gpointer{.cdecl, dynlib: gliblib, + importc: "g_try_malloc".} +proc g_try_realloc*(mem: gpointer, n_bytes: gulong): gpointer{.cdecl, + dynlib: gliblib, importc: "g_try_realloc".} +#proc g_new*(bytes_per_struct, n_structs: gsize): gpointer +#proc g_new0*(bytes_per_struct, n_structs: gsize): gpointer +#proc g_renew*(struct_size: gsize, OldMem: gpointer, n_structs: gsize): gpointer + +proc g_mem_set_vtable*(vtable: PGMemVTable){.cdecl, dynlib: gliblib, + importc: "g_mem_set_vtable".} +proc g_mem_is_system_malloc*(): gboolean{.cdecl, dynlib: gliblib, + importc: "g_mem_is_system_malloc".} +proc g_mem_profile*(){.cdecl, dynlib: gliblib, importc: "g_mem_profile".} +proc g_chunk_new*(chunk: Pointer): Pointer +proc g_chunk_new0*(chunk: Pointer): Pointer +proc g_chunk_free*(mem_chunk: PGMemChunk, mem: gpointer) +const + G_ALLOC_ONLY* = 1 + G_ALLOC_AND_FREE* = 2 + +proc g_mem_chunk_new*(name: cstring, atom_size: gint, area_size: gulong, + theType: gint): PGMemChunk{.cdecl, dynlib: gliblib, + importc: "g_mem_chunk_new".} +proc g_mem_chunk_destroy*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib, + importc: "g_mem_chunk_destroy".} +proc g_mem_chunk_alloc*(mem_chunk: PGMemChunk): gpointer{.cdecl, + dynlib: gliblib, importc: "g_mem_chunk_alloc".} +proc g_mem_chunk_alloc0*(mem_chunk: PGMemChunk): gpointer{.cdecl, + dynlib: gliblib, importc: "g_mem_chunk_alloc0".} +proc g_mem_chunk_free*(mem_chunk: PGMemChunk, mem: gpointer){.cdecl, + dynlib: gliblib, importc: "g_mem_chunk_free".} +proc g_mem_chunk_clean*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib, + importc: "g_mem_chunk_clean".} +proc g_mem_chunk_reset*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib, + importc: "g_mem_chunk_reset".} +proc g_mem_chunk_print*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib, + importc: "g_mem_chunk_print".} +proc g_mem_chunk_info*(){.cdecl, dynlib: gliblib, importc: "g_mem_chunk_info".} +proc g_blow_chunks*(){.cdecl, dynlib: gliblib, importc: "g_blow_chunks".} +proc g_allocator_new*(name: cstring, n_preallocs: guint): PGAllocator{.cdecl, + dynlib: gliblib, importc: "g_allocator_new".} +proc g_allocator_free*(allocator: PGAllocator){.cdecl, dynlib: gliblib, + importc: "g_allocator_free".} +const + G_ALLOCATOR_LIST* = 1 + G_ALLOCATOR_SLIST* = 2 + G_ALLOCATOR_NODE* = 3 + +proc g_slist_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: gliblib, + importc: "g_slist_push_allocator".} +proc g_slist_pop_allocator*(){.cdecl, dynlib: gliblib, + importc: "g_slist_pop_allocator".} +proc g_slist_alloc*(): PGSList{.cdecl, dynlib: gliblib, importc: "g_slist_alloc".} +proc g_slist_free*(list: PGSList){.cdecl, dynlib: gliblib, + importc: "g_slist_free".} +proc g_slist_free_1*(list: PGSList){.cdecl, dynlib: gliblib, + importc: "g_slist_free_1".} +proc g_slist_append*(list: PGSList, data: gpointer): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_append".} +proc g_slist_prepend*(list: PGSList, data: gpointer): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_prepend".} +proc g_slist_insert*(list: PGSList, data: gpointer, position: gint): PGSList{. + cdecl, dynlib: gliblib, importc: "g_slist_insert".} +proc g_slist_insert_sorted*(list: PGSList, data: gpointer, func: TGCompareFunc): PGSList{. + cdecl, dynlib: gliblib, importc: "g_slist_insert_sorted".} +proc g_slist_insert_before*(slist: PGSList, sibling: PGSList, data: gpointer): PGSList{. + cdecl, dynlib: gliblib, importc: "g_slist_insert_before".} +proc g_slist_concat*(list1: PGSList, list2: PGSList): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_concat".} +proc g_slist_remove*(list: PGSList, data: gconstpointer): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_remove".} +proc g_slist_remove_all*(list: PGSList, data: gconstpointer): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_remove_all".} +proc g_slist_remove_link*(list: PGSList, link: PGSList): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_remove_link".} +proc g_slist_delete_link*(list: PGSList, link: PGSList): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_delete_link".} +proc g_slist_reverse*(list: PGSList): PGSList{.cdecl, dynlib: gliblib, + importc: "g_slist_reverse".} +proc g_slist_copy*(list: PGSList): PGSList{.cdecl, dynlib: gliblib, + importc: "g_slist_copy".} +proc g_slist_nth*(list: PGSList, n: guint): PGSList{.cdecl, dynlib: gliblib, + importc: "g_slist_nth".} +proc g_slist_find*(list: PGSList, data: gconstpointer): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_find".} +proc g_slist_find_custom*(list: PGSList, data: gconstpointer, + func: TGCompareFunc): PGSList{.cdecl, dynlib: gliblib, + importc: "g_slist_find_custom".} +proc g_slist_position*(list: PGSList, llink: PGSList): gint{.cdecl, + dynlib: gliblib, importc: "g_slist_position".} +proc g_slist_index*(list: PGSList, data: gconstpointer): gint{.cdecl, + dynlib: gliblib, importc: "g_slist_index".} +proc g_slist_last*(list: PGSList): PGSList{.cdecl, dynlib: gliblib, + importc: "g_slist_last".} +proc g_slist_length*(list: PGSList): guint{.cdecl, dynlib: gliblib, + importc: "g_slist_length".} +proc g_slist_foreach*(list: PGSList, func: TGFunc, user_data: gpointer){.cdecl, + dynlib: gliblib, importc: "g_slist_foreach".} +proc g_slist_sort*(list: PGSList, compare_func: TGCompareFunc): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_sort".} +proc g_slist_sort_with_data*(list: PGSList, compare_func: TGCompareDataFunc, + user_data: gpointer): PGSList{.cdecl, + dynlib: gliblib, importc: "g_slist_sort_with_data".} +proc g_slist_nth_data*(list: PGSList, n: guint): gpointer{.cdecl, + dynlib: gliblib, importc: "g_slist_nth_data".} +proc g_slist_next*(slist: PGSList): PGSList +proc g_list_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: gliblib, + importc: "g_list_push_allocator".} +proc g_list_pop_allocator*(){.cdecl, dynlib: gliblib, + importc: "g_list_pop_allocator".} +proc g_list_alloc*(): PGList{.cdecl, dynlib: gliblib, importc: "g_list_alloc".} +proc g_list_free*(list: PGList){.cdecl, dynlib: gliblib, importc: "g_list_free".} +proc g_list_free_1*(list: PGList){.cdecl, dynlib: gliblib, + importc: "g_list_free_1".} +proc g_list_append*(list: PGList, data: gpointer): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_append".} +proc g_list_prepend*(list: PGList, data: gpointer): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_prepend".} +proc g_list_insert*(list: PGList, data: gpointer, position: gint): PGList{. + cdecl, dynlib: gliblib, importc: "g_list_insert".} +proc g_list_insert_sorted*(list: PGList, data: gpointer, func: TGCompareFunc): PGList{. + cdecl, dynlib: gliblib, importc: "g_list_insert_sorted".} +proc g_list_insert_before*(list: PGList, sibling: PGList, data: gpointer): PGList{. + cdecl, dynlib: gliblib, importc: "g_list_insert_before".} +proc g_list_concat*(list1: PGList, list2: PGList): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_concat".} +proc g_list_remove*(list: PGList, data: gconstpointer): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_remove".} +proc g_list_remove_all*(list: PGList, data: gconstpointer): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_remove_all".} +proc g_list_remove_link*(list: PGList, llink: PGList): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_remove_link".} +proc g_list_delete_link*(list: PGList, link: PGList): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_delete_link".} +proc g_list_reverse*(list: PGList): PGList{.cdecl, dynlib: gliblib, + importc: "g_list_reverse".} +proc g_list_copy*(list: PGList): PGList{.cdecl, dynlib: gliblib, + importc: "g_list_copy".} +proc g_list_nth*(list: PGList, n: guint): PGList{.cdecl, dynlib: gliblib, + importc: "g_list_nth".} +proc g_list_nth_prev*(list: PGList, n: guint): PGList{.cdecl, dynlib: gliblib, + importc: "g_list_nth_prev".} +proc g_list_find*(list: PGList, data: gconstpointer): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_find".} +proc g_list_find_custom*(list: PGList, data: gconstpointer, func: TGCompareFunc): PGList{. + cdecl, dynlib: gliblib, importc: "g_list_find_custom".} +proc g_list_position*(list: PGList, llink: PGList): gint{.cdecl, + dynlib: gliblib, importc: "g_list_position".} +proc g_list_index*(list: PGList, data: gconstpointer): gint{.cdecl, + dynlib: gliblib, importc: "g_list_index".} +proc g_list_last*(list: PGList): PGList{.cdecl, dynlib: gliblib, + importc: "g_list_last".} +proc g_list_first*(list: PGList): PGList{.cdecl, dynlib: gliblib, + importc: "g_list_first".} +proc g_list_length*(list: PGList): guint{.cdecl, dynlib: gliblib, + importc: "g_list_length".} +proc g_list_foreach*(list: PGList, func: TGFunc, user_data: gpointer){.cdecl, + dynlib: gliblib, importc: "g_list_foreach".} +proc g_list_sort*(list: PGList, compare_func: TGCompareFunc): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_sort".} +proc g_list_sort_with_data*(list: PGList, compare_func: TGCompareDataFunc, + user_data: gpointer): PGList{.cdecl, + dynlib: gliblib, importc: "g_list_sort_with_data".} +proc g_list_nth_data*(list: PGList, n: guint): gpointer{.cdecl, dynlib: gliblib, + importc: "g_list_nth_data".} +proc g_list_previous*(list: PGList): PGList +proc g_list_next*(list: PGList): PGList +type + PGCache* = pointer + TGCacheNewFunc* = proc (key: gpointer): gpointer{.cdecl.} + TGCacheDupFunc* = proc (value: gpointer): gpointer{.cdecl.} + TGCacheDestroyFunc* = proc (value: gpointer){.cdecl.} + +proc g_cache_new*(value_new_func: TGCacheNewFunc, + value_destroy_func: TGCacheDestroyFunc, + key_dup_func: TGCacheDupFunc, + key_destroy_func: TGCacheDestroyFunc, + hash_key_func: TGHashFunc, hash_value_func: TGHashFunc, + key_equal_func: TGEqualFunc): PGCache{.cdecl, dynlib: gliblib, + importc: "g_cache_new".} +proc g_cache_destroy*(cache: PGCache){.cdecl, dynlib: gliblib, + importc: "g_cache_destroy".} +proc g_cache_insert*(cache: PGCache, key: gpointer): gpointer{.cdecl, + dynlib: gliblib, importc: "g_cache_insert".} +proc g_cache_remove*(cache: PGCache, value: gconstpointer){.cdecl, + dynlib: gliblib, importc: "g_cache_remove".} +proc g_cache_key_foreach*(cache: PGCache, func: TGHFunc, user_data: gpointer){. + cdecl, dynlib: gliblib, importc: "g_cache_key_foreach".} +proc g_cache_value_foreach*(cache: PGCache, func: TGHFunc, user_data: gpointer){. + cdecl, dynlib: gliblib, importc: "g_cache_value_foreach".} +type + PGCompletionFunc* = ptr TGCompletionFunc + TGCompletionFunc* = gchar + TGCompletionStrncmpFunc* = proc (s1: cstring, s2: cstring, n: gsize): gint{. + cdecl.} + PGCompletion* = ptr TGCompletion + TGCompletion*{.final.} = object + items*: PGList + func*: TGCompletionFunc + prefix*: cstring + cache*: PGList + strncmp_func*: TGCompletionStrncmpFunc + + +proc g_completion_new*(func: TGCompletionFunc): PGCompletion{.cdecl, + dynlib: gliblib, importc: "g_completion_new".} +proc g_completion_add_items*(cmp: PGCompletion, items: PGList){.cdecl, + dynlib: gliblib, importc: "g_completion_add_items".} +proc g_completion_remove_items*(cmp: PGCompletion, items: PGList){.cdecl, + dynlib: gliblib, importc: "g_completion_remove_items".} +proc g_completion_clear_items*(cmp: PGCompletion){.cdecl, dynlib: gliblib, + importc: "g_completion_clear_items".} +proc g_completion_complete*(cmp: PGCompletion, prefix: cstring, + new_prefix: PPgchar): PGList{.cdecl, + dynlib: gliblib, importc: "g_completion_complete".} +proc g_completion_set_compare*(cmp: PGCompletion, + strncmp_func: TGCompletionStrncmpFunc){.cdecl, + dynlib: gliblib, importc: "g_completion_set_compare".} +proc g_completion_free*(cmp: PGCompletion){.cdecl, dynlib: gliblib, + importc: "g_completion_free".} +type + PGConvertError* = ptr TGConvertError + TGConvertError* = enum + G_CONVERT_ERROR_NO_CONVERSION, G_CONVERT_ERROR_ILLEGAL_SEQUENCE, + G_CONVERT_ERROR_FAILED, G_CONVERT_ERROR_PARTIAL_INPUT, + G_CONVERT_ERROR_BAD_URI, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH + +proc G_CONVERT_ERROR*(): TGQuark +proc g_convert_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, + importc: "g_convert_error_quark".} +type + PGIConv* = ptr TGIConv + TGIConv* = pointer + +proc g_iconv_open*(to_codeset: cstring, from_codeset: cstring): TGIConv{.cdecl, + dynlib: gliblib, importc: "g_iconv_open".} +proc g_iconv*(`converter`: TGIConv, inbuf: PPgchar, inbytes_left: Pgsize, + outbuf: PPgchar, outbytes_left: Pgsize): gsize{.cdecl, + dynlib: gliblib, importc: "g_iconv".} +proc g_iconv_close*(`converter`: TGIConv): gint{.cdecl, dynlib: gliblib, + importc: "g_iconv_close".} +proc g_convert*(str: cstring, len: gssize, to_codeset: cstring, + from_codeset: cstring, bytes_read: Pgsize, + bytes_written: Pgsize, error: pointer): cstring{.cdecl, + dynlib: gliblib, importc: "g_convert".} +proc g_convert_with_iconv*(str: cstring, len: gssize, `converter`: TGIConv, + bytes_read: Pgsize, bytes_written: Pgsize, + error: pointer): cstring{.cdecl, dynlib: gliblib, + importc: "g_convert_with_iconv".} +proc g_convert_with_fallback*(str: cstring, len: gssize, to_codeset: cstring, + from_codeset: cstring, fallback: cstring, + bytes_read: Pgsize, bytes_written: Pgsize, + error: pointer): cstring{.cdecl, dynlib: gliblib, + importc: "g_convert_with_fallback".} +proc g_locale_to_utf8*(opsysstring: cstring, len: gssize, bytes_read: Pgsize, + bytes_written: Pgsize, error: pointer): cstring{.cdecl, + dynlib: gliblib, importc: "g_locale_to_utf8".} +proc g_locale_from_utf8*(utf8string: cstring, len: gssize, bytes_read: Pgsize, + bytes_written: Pgsize, error: pointer): cstring{.cdecl, + dynlib: gliblib, importc: "g_locale_from_utf8".} +proc g_filename_to_utf8*(opsysstring: cstring, len: gssize, bytes_read: Pgsize, + bytes_written: Pgsize, error: pointer): cstring{.cdecl, + dynlib: gliblib, importc: "g_filename_to_utf8".} +proc g_filename_from_utf8*(utf8string: cstring, len: gssize, bytes_read: Pgsize, + bytes_written: Pgsize, error: pointer): cstring{. + cdecl, dynlib: gliblib, importc: "g_filename_from_utf8".} +proc g_filename_from_uri*(uri: cstring, hostname: PPchar, error: pointer): cstring{. + cdecl, dynlib: gliblib, importc: "g_filename_from_uri".} +proc g_filename_to_uri*(filename: cstring, hostname: cstring, error: pointer): cstring{. + cdecl, dynlib: gliblib, importc: "g_filename_to_uri".} +type + TGDataForeachFunc* = proc (key_id: TGQuark, data: gpointer, + user_data: gpointer){.cdecl.} + +proc g_datalist_init*(datalist: PPGData){.cdecl, dynlib: gliblib, + importc: "g_datalist_init".} +proc g_datalist_clear*(datalist: PPGData){.cdecl, dynlib: gliblib, + importc: "g_datalist_clear".} +proc g_datalist_id_get_data*(datalist: PPGData, key_id: TGQuark): gpointer{. + cdecl, dynlib: gliblib, importc: "g_datalist_id_get_data".} +proc g_datalist_id_set_data_full*(datalist: PPGData, key_id: TGQuark, + data: gpointer, destroy_func: TGDestroyNotify){. + cdecl, dynlib: gliblib, importc: "g_datalist_id_set_data_full".} +proc g_datalist_id_remove_no_notify*(datalist: PPGData, key_id: TGQuark): gpointer{. + cdecl, dynlib: gliblib, importc: "g_datalist_id_remove_no_notify".} +proc g_datalist_foreach*(datalist: PPGData, func: TGDataForeachFunc, + user_data: gpointer){.cdecl, dynlib: gliblib, + importc: "g_datalist_foreach".} +proc g_datalist_id_set_data*(datalist: PPGData, key_id: TGQuark, data: gpointer) +proc g_datalist_id_remove_data*(datalist: PPGData, key_id: TGQuark) +proc g_datalist_get_data*(datalist: PPGData, key_str: cstring): PPGData +proc g_datalist_set_data_full*(datalist: PPGData, key_str: cstring, + data: gpointer, destroy_func: TGDestroyNotify) +proc g_datalist_set_data*(datalist: PPGData, key_str: cstring, data: gpointer) +proc g_datalist_remove_no_notify*(datalist: PPGData, key_str: cstring) +proc g_datalist_remove_data*(datalist: PPGData, key_str: cstring) +proc g_dataset_id_get_data*(dataset_location: gconstpointer, key_id: TGQuark): gpointer{. + cdecl, dynlib: gliblib, importc: "g_dataset_id_get_data".} +proc g_dataset_id_set_data_full*(dataset_location: gconstpointer, + key_id: TGQuark, data: gpointer, + destroy_func: TGDestroyNotify){.cdecl, + dynlib: gliblib, importc: "g_dataset_id_set_data_full".} +proc g_dataset_id_remove_no_notify*(dataset_location: gconstpointer, + key_id: TGQuark): gpointer{.cdecl, + dynlib: gliblib, importc: "g_dataset_id_remove_no_notify".} +proc g_dataset_foreach*(dataset_location: gconstpointer, + func: TGDataForeachFunc, user_data: gpointer){.cdecl, + dynlib: gliblib, importc: "g_dataset_foreach".} +proc g_dataset_id_set_data*(location: gconstpointer, key_id: TGQuark, + data: gpointer) +proc g_dataset_id_remove_data*(location: gconstpointer, key_id: TGQuark) +proc g_dataset_get_data*(location: gconstpointer, key_str: cstring): gpointer +proc g_dataset_set_data_full*(location: gconstpointer, key_str: cstring, + data: gpointer, destroy_func: TGDestroyNotify) +proc g_dataset_remove_no_notify*(location: gconstpointer, key_str: cstring) +proc g_dataset_set_data*(location: gconstpointer, key_str: cstring, + data: gpointer) +proc g_dataset_remove_data*(location: gconstpointer, key_str: cstring) +type + PGTime* = ptr TGTime + TGTime* = gint32 + PGDateYear* = ptr TGDateYear + TGDateYear* = guint16 + PGDateDay* = ptr TGDateDay + TGDateDay* = guint8 + Ptm* = ptr Ttm + Ttm*{.final.} = object + tm_sec*: gint + tm_min*: gint + tm_hour*: gint + tm_mday*: gint + tm_mon*: gint + tm_year*: gint + tm_wday*: gint + tm_yday*: gint + tm_isdst*: gint + tm_gmtoff*: glong + tm_zone*: cstring + + +type + PGDateDMY* = ptr TGDateDMY + TGDateDMY* = int + +const + G_DATE_DAY* = 0 + G_DATE_MONTH* = 1 + G_DATE_YEAR* = 2 + +type + PGDateWeekday* = ptr TGDateWeekday + TGDateWeekday* = int + +const + G_DATE_BAD_WEEKDAY* = 0 + G_DATE_MONDAY* = 1 + G_DATE_TUESDAY* = 2 + G_DATE_WEDNESDAY* = 3 + G_DATE_THURSDAY* = 4 + G_DATE_FRIDAY* = 5 + G_DATE_SATURDAY* = 6 + G_DATE_SUNDAY* = 7 + +type + PGDateMonth* = ptr TGDateMonth + TGDateMonth* = int + +const + G_DATE_BAD_MONTH* = 0 + G_DATE_JANUARY* = 1 + G_DATE_FEBRUARY* = 2 + G_DATE_MARCH* = 3 + G_DATE_APRIL* = 4 + G_DATE_MAY* = 5 + G_DATE_JUNE* = 6 + G_DATE_JULY* = 7 + G_DATE_AUGUST* = 8 + G_DATE_SEPTEMBER* = 9 + G_DATE_OCTOBER* = 10 + G_DATE_NOVEMBER* = 11 + G_DATE_DECEMBER* = 12 + +const + G_DATE_BAD_JULIAN* = 0 + G_DATE_BAD_DAY* = 0 + G_DATE_BAD_YEAR* = 0 + +type + PGDate* = ptr TGDate + TGDate*{.final.} = object + flag0*: int32 + flag1*: int32 + + +proc g_date_new*(): PGDate{.cdecl, dynlib: gliblib, importc: "g_date_new".} +proc g_date_new_dmy*(day: TGDateDay, month: TGDateMonth, year: TGDateYear): PGDate{. + cdecl, dynlib: gliblib, importc: "g_date_new_dmy".} +proc g_date_new_julian*(julian_day: guint32): PGDate{.cdecl, dynlib: gliblib, + importc: "g_date_new_julian".} +proc g_date_free*(date: PGDate){.cdecl, dynlib: gliblib, importc: "g_date_free".} +proc g_date_valid*(date: PGDate): gboolean{.cdecl, dynlib: gliblib, + importc: "g_date_valid".} +proc g_date_valid_month*(month: TGDateMonth): gboolean{.cdecl, dynlib: gliblib, + importc: "g_date_valid_month".} +proc g_date_valid_year*(year: TGDateYear): gboolean{.cdecl, dynlib: gliblib, + importc: "g_date_valid_year".} +proc g_date_valid_weekday*(weekday: TGDateWeekday): gboolean{.cdecl, + dynlib: gliblib, importc: "g_date_valid_weekday".} +proc g_date_valid_julian*(julian_date: guint32): gboolean{.cdecl, + dynlib: gliblib, importc: "g_date_valid_julian".} +proc g_date_get_weekday*(date: PGDate): TGDateWeekday{.cdecl, dynlib: gliblib, + importc: "g_date_get_weekday".} +proc g_date_get_month*(date: PGDate): TGDateMonth{.cdecl, dynlib: gliblib, + importc: "g_date_get_month".} +proc g_date_get_year*(date: PGDate): TGDateYear{.cdecl, dynlib: gliblib, + importc: "g_date_get_year".} +proc g_date_get_day*(date: PGDate): TGDateDay{.cdecl, dynlib: gliblib, + importc: "g_date_get_day".} +proc g_date_get_julian*(date: PGDate): guint32{.cdecl, dynlib: gliblib, + importc: "g_date_get_julian".} +proc g_date_get_day_of_year*(date: PGDate): guint{.cdecl, dynlib: gliblib, + importc: "g_date_get_day_of_year".} +proc g_date_get_monday_week_of_year*(date: PGDate): guint{.cdecl, + dynlib: gliblib, importc: "g_date_get_monday_week_of_year".} +proc g_date_get_sunday_week_of_year*(date: PGDate): guint{.cdecl, + dynlib: gliblib, importc: "g_date_get_sunday_week_of_year".} +proc g_date_clear*(date: PGDate, n_dates: guint){.cdecl, dynlib: gliblib, + importc: "g_date_clear".} +proc g_date_set_parse*(date: PGDate, str: cstring){.cdecl, dynlib: gliblib, + importc: "g_date_set_parse".} +proc g_date_set_time*(date: PGDate, time: TGTime){.cdecl, dynlib: gliblib, + importc: "g_date_set_time".} +proc g_date_set_month*(date: PGDate, month: TGDateMonth){.cdecl, + dynlib: gliblib, importc: "g_date_set_month".} +proc g_date_set_day*(date: PGDate, day: TGDateDay){.cdecl, dynlib: gliblib, + importc: "g_date_set_day".} +proc g_date_set_year*(date: PGDate, year: TGDateYear){.cdecl, dynlib: gliblib, + importc: "g_date_set_year".} +proc g_date_set_dmy*(date: PGDate, day: TGDateDay, month: TGDateMonth, + y: TGDateYear){.cdecl, dynlib: gliblib, + importc: "g_date_set_dmy".} +proc g_date_set_julian*(date: PGDate, julian_date: guint32){.cdecl, + dynlib: gliblib, importc: "g_date_set_julian".} +proc g_date_is_first_of_month*(date: PGDate): gboolean{.cdecl, dynlib: gliblib, + importc: "g_date_is_first_of_month".} +proc g_date_is_last_of_month*(date: PGDate): gboolean{.cdecl, dynlib: gliblib, + importc: "g_date_is_last_of_month".} +proc g_date_add_days*(date: PGDate, n_days: guint){.cdecl, dynlib: gliblib, + importc: "g_date_add_days".} +proc g_date_subtract_days*(date: PGDate, n_days: guint){.cdecl, dynlib: gliblib, + importc: "g_date_subtract_days".} +proc g_date_add_months*(date: PGDate, n_months: guint){.cdecl, dynlib: gliblib, + importc: "g_date_add_months".} +proc g_date_subtract_months*(date: PGDate, n_months: guint){.cdecl, + dynlib: gliblib, importc: "g_date_subtract_months".} +proc g_date_add_years*(date: PGDate, n_years: guint){.cdecl, dynlib: gliblib, + importc: "g_date_add_years".} +proc g_date_subtract_years*(date: PGDate, n_years: guint){.cdecl, + dynlib: gliblib, importc: "g_date_subtract_years".} +proc g_date_is_leap_year*(year: TGDateYear): gboolean{.cdecl, dynlib: gliblib, + importc: "g_date_is_leap_year".} +proc g_date_get_days_in_month*(month: TGDateMonth, year: TGDateYear): guint8{. + cdecl, dynlib: gliblib, importc: "g_date_get_days_in_month".} +proc g_date_get_monday_weeks_in_year*(year: TGDateYear): guint8{.cdecl, + dynlib: gliblib, importc: "g_date_get_monday_weeks_in_year".} +proc g_date_get_sunday_weeks_in_year*(year: TGDateYear): guint8{.cdecl, + dynlib: gliblib, importc: "g_date_get_sunday_weeks_in_year".} +proc g_date_days_between*(date1: PGDate, date2: PGDate): gint{.cdecl, + dynlib: gliblib, importc: "g_date_days_between".} +proc g_date_compare*(lhs: PGDate, rhs: PGDate): gint{.cdecl, dynlib: gliblib, + importc: "g_date_compare".} +proc g_date_to_struct_tm*(date: PGDate, tm: Ptm){.cdecl, dynlib: gliblib, + importc: "g_date_to_struct_tm".} +proc g_date_clamp*(date: PGDate, min_date: PGDate, max_date: PGDate){.cdecl, + dynlib: gliblib, importc: "g_date_clamp".} +proc g_date_order*(date1: PGDate, date2: PGDate){.cdecl, dynlib: gliblib, + importc: "g_date_order".} +proc g_date_strftime*(s: cstring, slen: gsize, format: cstring, date: PGDate): gsize{. + cdecl, dynlib: gliblib, importc: "g_date_strftime".} +type + PGDir* = pointer + +proc g_dir_open*(path: cstring, flags: guint, error: pointer): PGDir{.cdecl, + dynlib: gliblib, importc: "g_dir_open".} +proc g_dir_read_name*(dir: PGDir): cstring{.cdecl, dynlib: gliblib, + importc: "g_dir_read_name".} +proc g_dir_rewind*(dir: PGDir){.cdecl, dynlib: gliblib, importc: "g_dir_rewind".} +proc g_dir_close*(dir: PGDir){.cdecl, dynlib: gliblib, importc: "g_dir_close".} +type + PGFileError* = ptr TGFileError + TGFileError* = gint + +type + PGFileTest* = ptr TGFileTest + TGFileTest* = int + +const + G_FILE_TEST_IS_REGULAR* = 1 shl 0 + G_FILE_TEST_IS_SYMLINK* = 1 shl 1 + G_FILE_TEST_IS_DIR* = 1 shl 2 + G_FILE_TEST_IS_EXECUTABLE* = 1 shl 3 + G_FILE_TEST_EXISTS* = 1 shl 4 + +const + G_FILE_ERROR_EXIST* = 0 + G_FILE_ERROR_ISDIR* = 1 + G_FILE_ERROR_ACCES* = 2 + G_FILE_ERROR_NAMETOOLONG* = 3 + G_FILE_ERROR_NOENT* = 4 + G_FILE_ERROR_NOTDIR* = 5 + G_FILE_ERROR_NXIO* = 6 + G_FILE_ERROR_NODEV* = 7 + G_FILE_ERROR_ROFS* = 8 + G_FILE_ERROR_TXTBSY* = 9 + G_FILE_ERROR_FAULT* = 10 + G_FILE_ERROR_LOOP* = 11 + G_FILE_ERROR_NOSPC* = 12 + G_FILE_ERROR_NOMEM* = 13 + G_FILE_ERROR_MFILE* = 14 + G_FILE_ERROR_NFILE* = 15 + G_FILE_ERROR_BADF* = 16 + G_FILE_ERROR_INVAL* = 17 + G_FILE_ERROR_PIPE* = 18 + G_FILE_ERROR_AGAIN* = 19 + G_FILE_ERROR_INTR* = 20 + G_FILE_ERROR_IO* = 21 + G_FILE_ERROR_PERM* = 22 + G_FILE_ERROR_FAILED* = 23 + +proc G_FILE_ERROR*(): TGQuark +proc g_file_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, + importc: "g_file_error_quark".} +proc g_file_error_from_errno*(err_no: gint): TGFileError{.cdecl, + dynlib: gliblib, importc: "g_file_error_from_errno".} +proc g_file_test*(filename: cstring, test: TGFileTest): gboolean{.cdecl, + dynlib: gliblib, importc: "g_file_test".} +proc g_file_get_contents*(filename: cstring, contents: PPgchar, length: Pgsize, + error: pointer): gboolean{.cdecl, dynlib: gliblib, + importc: "g_file_get_contents".} +proc g_mkstemp*(tmpl: cstring): int32{.cdecl, dynlib: gliblib, + importc: "g_mkstemp".} +proc g_file_open_tmp*(tmpl: cstring, name_used: PPchar, error: pointer): int32{. + cdecl, dynlib: gliblib, importc: "g_file_open_tmp".} +type + PGHook* = ptr TGHook + TGHook*{.final.} = object + data*: gpointer + next*: PGHook + prev*: PGHook + ref_count*: guint + hook_id*: gulong + flags*: guint + func*: gpointer + destroy*: TGDestroyNotify + + PGHookList* = ptr TGHookList + TGHookCompareFunc* = proc (new_hook: PGHook, sibling: PGHook): gint{.cdecl.} + TGHookFindFunc* = proc (hook: PGHook, data: gpointer): gboolean{.cdecl.} + TGHookMarshaller* = proc (hook: PGHook, marshal_data: gpointer){.cdecl.} + TGHookCheckMarshaller* = proc (hook: PGHook, marshal_data: gpointer): gboolean{. + cdecl.} + TGHookFunc* = proc (data: gpointer){.cdecl.} + TGHookCheckFunc* = proc (data: gpointer): gboolean{.cdecl.} + TGHookFinalizeFunc* = proc (hook_list: PGHookList, hook: PGHook){.cdecl.} + TGHookList*{.final.} = object + seq_id*: gulong + flag0*: int32 + hooks*: PGHook + hook_memchunk*: PGMemChunk + finalize_hook*: TGHookFinalizeFunc + dummy*: array[0..1, gpointer] + + +type + PGHookFlagMask* = ptr TGHookFlagMask + TGHookFlagMask* = int + +const + G_HOOK_FLAG_ACTIVE* = 1'i32 shl 0'i32 + G_HOOK_FLAG_IN_CALL* = 1'i32 shl 1'i32 + G_HOOK_FLAG_MASK* = 0x0000000F'i32 + +const + G_HOOK_FLAG_USER_SHIFT* = 4'i32 + bm_TGHookList_hook_size* = 0x0000FFFF'i32 + bp_TGHookList_hook_size* = 0'i32 + bm_TGHookList_is_setup* = 0x00010000'i32 + bp_TGHookList_is_setup* = 16'i32 + +proc TGHookList_hook_size*(a: var TGHookList): guint +proc TGHookList_set_hook_size*(a: var TGHookList, `hook_size`: guint) +proc TGHookList_is_setup*(a: var TGHookList): guint +proc TGHookList_set_is_setup*(a: var TGHookList, `is_setup`: guint) +proc G_HOOK*(hook: pointer): PGHook +proc G_HOOK_FLAGS*(hook: PGHook): guint +proc G_HOOK_ACTIVE*(hook: PGHook): bool +proc G_HOOK_IN_CALL*(hook: PGHook): bool +proc G_HOOK_IS_VALID*(hook: PGHook): bool +proc G_HOOK_IS_UNLINKED*(hook: PGHook): bool +proc g_hook_list_init*(hook_list: PGHookList, hook_size: guint){.cdecl, + dynlib: gliblib, importc: "g_hook_list_init".} +proc g_hook_list_clear*(hook_list: PGHookList){.cdecl, dynlib: gliblib, + importc: "g_hook_list_clear".} +proc g_hook_alloc*(hook_list: PGHookList): PGHook{.cdecl, dynlib: gliblib, + importc: "g_hook_alloc".} +proc g_hook_free*(hook_list: PGHookList, hook: PGHook){.cdecl, dynlib: gliblib, + importc: "g_hook_free".} +proc g_hook_ref*(hook_list: PGHookList, hook: PGHook){.cdecl, dynlib: gliblib, + importc: "g_hook_ref".} +proc g_hook_unref*(hook_list: PGHookList, hook: PGHook){.cdecl, dynlib: gliblib, + importc: "g_hook_unref".} +proc g_hook_destroy*(hook_list: PGHookList, hook_id: gulong): gboolean{.cdecl, + dynlib: gliblib, importc: "g_hook_destroy".} +proc g_hook_destroy_link*(hook_list: PGHookList, hook: PGHook){.cdecl, + dynlib: gliblib, importc: "g_hook_destroy_link".} +proc g_hook_prepend*(hook_list: PGHookList, hook: PGHook){.cdecl, + dynlib: gliblib, importc: "g_hook_prepend".} +proc g_hook_insert_before*(hook_list: PGHookList, sibling: PGHook, hook: PGHook){. + cdecl, dynlib: gliblib, importc: "g_hook_insert_before".} +proc g_hook_insert_sorted*(hook_list: PGHookList, hook: PGHook, + func: TGHookCompareFunc){.cdecl, dynlib: gliblib, + importc: "g_hook_insert_sorted".} +proc g_hook_get*(hook_list: PGHookList, hook_id: gulong): PGHook{.cdecl, + dynlib: gliblib, importc: "g_hook_get".} +proc g_hook_find*(hook_list: PGHookList, need_valids: gboolean, + func: TGHookFindFunc, data: gpointer): PGHook{.cdecl, + dynlib: gliblib, importc: "g_hook_find".} +proc g_hook_find_data*(hook_list: PGHookList, need_valids: gboolean, + data: gpointer): PGHook{.cdecl, dynlib: gliblib, + importc: "g_hook_find_data".} +proc g_hook_find_func*(hook_list: PGHookList, need_valids: gboolean, + func: gpointer): PGHook{.cdecl, dynlib: gliblib, + importc: "g_hook_find_func".} +proc g_hook_find_func_data*(hook_list: PGHookList, need_valids: gboolean, + func: gpointer, data: gpointer): PGHook{.cdecl, + dynlib: gliblib, importc: "g_hook_find_func_data".} +proc g_hook_first_valid*(hook_list: PGHookList, may_be_in_call: gboolean): PGHook{. + cdecl, dynlib: gliblib, importc: "g_hook_first_valid".} +proc g_hook_next_valid*(hook_list: PGHookList, hook: PGHook, + may_be_in_call: gboolean): PGHook{.cdecl, + dynlib: gliblib, importc: "g_hook_next_valid".} +proc g_hook_compare_ids*(new_hook: PGHook, sibling: PGHook): gint{.cdecl, + dynlib: gliblib, importc: "g_hook_compare_ids".} +proc g_hook_append*(hook_list: PGHookList, hook: PGHook) +proc g_hook_list_invoke_check*(hook_list: PGHookList, may_recurse: gboolean){. + cdecl, dynlib: gliblib, importc: "g_hook_list_invoke_check".} +proc g_hook_list_marshal*(hook_list: PGHookList, may_recurse: gboolean, + marshaller: TGHookMarshaller, marshal_data: gpointer){. + cdecl, dynlib: gliblib, importc: "g_hook_list_marshal".} +proc g_hook_list_marshal_check*(hook_list: PGHookList, may_recurse: gboolean, + marshaller: TGHookCheckMarshaller, + marshal_data: gpointer){.cdecl, dynlib: gliblib, + importc: "g_hook_list_marshal_check".} +type + PGThreadPool* = ptr TGThreadPool + TGThreadPool*{.final.} = object + func*: TGFunc + user_data*: gpointer + exclusive*: gboolean + + +proc g_thread_pool_new*(func: TGFunc, user_data: gpointer, max_threads: gint, + exclusive: gboolean, error: pointer): PGThreadPool{. + cdecl, dynlib: gliblib, importc: "g_thread_pool_new".} +proc g_thread_pool_push*(pool: PGThreadPool, data: gpointer, error: pointer){. + cdecl, dynlib: gliblib, importc: "g_thread_pool_push".} +proc g_thread_pool_set_max_threads*(pool: PGThreadPool, max_threads: gint, + error: pointer){.cdecl, dynlib: gliblib, + importc: "g_thread_pool_set_max_threads".} +proc g_thread_pool_get_max_threads*(pool: PGThreadPool): gint{.cdecl, + dynlib: gliblib, importc: "g_thread_pool_get_max_threads".} +proc g_thread_pool_get_num_threads*(pool: PGThreadPool): guint{.cdecl, + dynlib: gliblib, importc: "g_thread_pool_get_num_threads".} +proc g_thread_pool_unprocessed*(pool: PGThreadPool): guint{.cdecl, + dynlib: gliblib, importc: "g_thread_pool_unprocessed".} +proc g_thread_pool_free*(pool: PGThreadPool, immediate: gboolean, wait: gboolean){. + cdecl, dynlib: gliblib, importc: "g_thread_pool_free".} +proc g_thread_pool_set_max_unused_threads*(max_threads: gint){.cdecl, + dynlib: gliblib, importc: "g_thread_pool_set_max_unused_threads".} +proc g_thread_pool_get_max_unused_threads*(): gint{.cdecl, dynlib: gliblib, + importc: "g_thread_pool_get_max_unused_threads".} +proc g_thread_pool_get_num_unused_threads*(): guint{.cdecl, dynlib: gliblib, + importc: "g_thread_pool_get_num_unused_threads".} +proc g_thread_pool_stop_unused_threads*(){.cdecl, dynlib: gliblib, + importc: "g_thread_pool_stop_unused_threads".} +type + PGTimer* = pointer + +const + G_USEC_PER_SEC* = 1000000 + +proc g_timer_new*(): PGTimer{.cdecl, dynlib: gliblib, importc: "g_timer_new".} +proc g_timer_destroy*(timer: PGTimer){.cdecl, dynlib: gliblib, + importc: "g_timer_destroy".} +proc g_timer_start*(timer: PGTimer){.cdecl, dynlib: gliblib, + importc: "g_timer_start".} +proc g_timer_stop*(timer: PGTimer){.cdecl, dynlib: gliblib, + importc: "g_timer_stop".} +proc g_timer_reset*(timer: PGTimer){.cdecl, dynlib: gliblib, + importc: "g_timer_reset".} +proc g_timer_elapsed*(timer: PGTimer, microseconds: Pgulong): gdouble{.cdecl, + dynlib: gliblib, importc: "g_timer_elapsed".} +proc g_usleep*(microseconds: gulong){.cdecl, dynlib: gliblib, + importc: "g_usleep".} +proc g_time_val_add*(time: PGTimeVal, microseconds: glong){.cdecl, + dynlib: gliblib, importc: "g_time_val_add".} +type + Pgunichar* = ptr gunichar + gunichar* = guint32 + Pgunichar2* = ptr gunichar2 + gunichar2* = guint16 + PGUnicodeType* = ptr TGUnicodeType + TGUnicodeType* = enum + G_UNICODE_CONTROL, G_UNICODE_FORMAT, G_UNICODE_UNASSIGNED, + G_UNICODE_PRIVATE_USE, G_UNICODE_SURROGATE, G_UNICODE_LOWERCASE_LETTER, + G_UNICODE_MODIFIER_LETTER, G_UNICODE_OTHER_LETTER, + G_UNICODE_TITLECASE_LETTER, G_UNICODE_UPPERCASE_LETTER, + G_UNICODE_COMBINING_MARK, G_UNICODE_ENCLOSING_MARK, + G_UNICODE_NON_SPACING_MARK, G_UNICODE_DECIMAL_NUMBER, + G_UNICODE_LETTER_NUMBER, G_UNICODE_OTHER_NUMBER, + G_UNICODE_CONNECT_PUNCTUATION, G_UNICODE_DASH_PUNCTUATION, + G_UNICODE_CLOSE_PUNCTUATION, G_UNICODE_FINAL_PUNCTUATION, + G_UNICODE_INITIAL_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, + G_UNICODE_OPEN_PUNCTUATION, G_UNICODE_CURRENCY_SYMBOL, + G_UNICODE_MODIFIER_SYMBOL, G_UNICODE_MATH_SYMBOL, G_UNICODE_OTHER_SYMBOL, + G_UNICODE_LINE_SEPARATOR, G_UNICODE_PARAGRAPH_SEPARATOR, + G_UNICODE_SPACE_SEPARATOR + PGUnicodeBreakType* = ptr TGUnicodeBreakType + TGUnicodeBreakType* = enum + G_UNICODE_BREAK_MANDATORY, G_UNICODE_BREAK_CARRIAGE_RETURN, + G_UNICODE_BREAK_LINE_FEED, G_UNICODE_BREAK_COMBINING_MARK, + G_UNICODE_BREAK_SURROGATE, G_UNICODE_BREAK_ZERO_WIDTH_SPACE, + G_UNICODE_BREAK_INSEPARABLE, G_UNICODE_BREAK_NON_BREAKING_GLUE, + G_UNICODE_BREAK_CONTINGENT, G_UNICODE_BREAK_SPACE, G_UNICODE_BREAK_AFTER, + G_UNICODE_BREAK_BEFORE, G_UNICODE_BREAK_BEFORE_AND_AFTER, + G_UNICODE_BREAK_HYPHEN, G_UNICODE_BREAK_NON_STARTER, + G_UNICODE_BREAK_OPEN_PUNCTUATION, G_UNICODE_BREAK_CLOSE_PUNCTUATION, + G_UNICODE_BREAK_QUOTATION, G_UNICODE_BREAK_EXCLAMATION, + G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_NUMERIC, + G_UNICODE_BREAK_INFIX_SEPARATOR, G_UNICODE_BREAK_SYMBOL, + G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_PREFIX, G_UNICODE_BREAK_POSTFIX, + G_UNICODE_BREAK_COMPLEX_CONTEXT, G_UNICODE_BREAK_AMBIGUOUS, + G_UNICODE_BREAK_UNKNOWN + +proc g_get_charset*(charset: PPchar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_get_charset".} +proc g_unichar_isalnum*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_isalnum".} +proc g_unichar_isalpha*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_isalpha".} +proc g_unichar_iscntrl*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_iscntrl".} +proc g_unichar_isdigit*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_isdigit".} +proc g_unichar_isgraph*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_isgraph".} +proc g_unichar_islower*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_islower".} +proc g_unichar_isprint*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_isprint".} +proc g_unichar_ispunct*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_ispunct".} +proc g_unichar_isspace*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_isspace".} +proc g_unichar_isupper*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_isupper".} +proc g_unichar_isxdigit*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_isxdigit".} +proc g_unichar_istitle*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_istitle".} +proc g_unichar_isdefined*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_isdefined".} +proc g_unichar_iswide*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_iswide".} +proc g_unichar_toupper*(c: gunichar): gunichar{.cdecl, dynlib: gliblib, + importc: "g_unichar_toupper".} +proc g_unichar_tolower*(c: gunichar): gunichar{.cdecl, dynlib: gliblib, + importc: "g_unichar_tolower".} +proc g_unichar_totitle*(c: gunichar): gunichar{.cdecl, dynlib: gliblib, + importc: "g_unichar_totitle".} +proc g_unichar_digit_value*(c: gunichar): gint{.cdecl, dynlib: gliblib, + importc: "g_unichar_digit_value".} +proc g_unichar_xdigit_value*(c: gunichar): gint{.cdecl, dynlib: gliblib, + importc: "g_unichar_xdigit_value".} +proc g_unichar_type*(c: gunichar): TGUnicodeType{.cdecl, dynlib: gliblib, + importc: "g_unichar_type".} +proc g_unichar_break_type*(c: gunichar): TGUnicodeBreakType{.cdecl, + dynlib: gliblib, importc: "g_unichar_break_type".} +proc g_unicode_canonical_ordering*(str: Pgunichar, len: gsize){.cdecl, + dynlib: gliblib, importc: "g_unicode_canonical_ordering".} +proc g_unicode_canonical_decomposition*(ch: gunichar, result_len: Pgsize): Pgunichar{. + cdecl, dynlib: gliblib, importc: "g_unicode_canonical_decomposition".} +proc g_utf8_next_char*(p: pguchar): pguchar +proc g_utf8_get_char*(p: cstring): gunichar{.cdecl, dynlib: gliblib, + importc: "g_utf8_get_char".} +proc g_utf8_get_char_validated*(p: cstring, max_len: gssize): gunichar{.cdecl, + dynlib: gliblib, importc: "g_utf8_get_char_validated".} +proc g_utf8_offset_to_pointer*(str: cstring, offset: glong): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf8_offset_to_pointer".} +proc g_utf8_pointer_to_offset*(str: cstring, pos: cstring): glong{.cdecl, + dynlib: gliblib, importc: "g_utf8_pointer_to_offset".} +proc g_utf8_prev_char*(p: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_utf8_prev_char".} +proc g_utf8_find_next_char*(p: cstring, `end`: cstring): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf8_find_next_char".} +proc g_utf8_find_prev_char*(str: cstring, p: cstring): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf8_find_prev_char".} +proc g_utf8_strlen*(p: cstring, max: gssize): glong{.cdecl, dynlib: gliblib, + importc: "g_utf8_strlen".} +proc g_utf8_strncpy*(dest: cstring, src: cstring, n: gsize): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf8_strncpy".} +proc g_utf8_strchr*(p: cstring, len: gssize, c: gunichar): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf8_strchr".} +proc g_utf8_strrchr*(p: cstring, len: gssize, c: gunichar): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf8_strrchr".} +proc g_utf8_to_utf16*(str: cstring, len: glong, items_read: Pglong, + items_written: Pglong, error: pointer): Pgunichar2{.cdecl, + dynlib: gliblib, importc: "g_utf8_to_utf16".} +proc g_utf8_to_ucs4*(str: cstring, len: glong, items_read: Pglong, + items_written: Pglong, error: pointer): Pgunichar{.cdecl, + dynlib: gliblib, importc: "g_utf8_to_ucs4".} +proc g_utf8_to_ucs4_fast*(str: cstring, len: glong, items_written: Pglong): Pgunichar{. + cdecl, dynlib: gliblib, importc: "g_utf8_to_ucs4_fast".} +proc g_utf16_to_ucs4*(str: Pgunichar2, len: glong, items_read: Pglong, + items_written: Pglong, error: pointer): Pgunichar{.cdecl, + dynlib: gliblib, importc: "g_utf16_to_ucs4".} +proc g_utf16_to_utf8*(str: Pgunichar2, len: glong, items_read: Pglong, + items_written: Pglong, error: pointer): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf16_to_utf8".} +proc g_ucs4_to_utf16*(str: Pgunichar, len: glong, items_read: Pglong, + items_written: Pglong, error: pointer): Pgunichar2{.cdecl, + dynlib: gliblib, importc: "g_ucs4_to_utf16".} +proc g_ucs4_to_utf8*(str: Pgunichar, len: glong, items_read: Pglong, + items_written: Pglong, error: pointer): cstring{.cdecl, + dynlib: gliblib, importc: "g_ucs4_to_utf8".} +proc g_unichar_to_utf8*(c: gunichar, outbuf: cstring): gint{.cdecl, + dynlib: gliblib, importc: "g_unichar_to_utf8".} +proc g_utf8_validate*(str: cstring, max_len: gssize, `end`: PPgchar): gboolean{. + cdecl, dynlib: gliblib, importc: "g_utf8_validate".} +proc g_unichar_validate*(ch: gunichar): gboolean{.cdecl, dynlib: gliblib, + importc: "g_unichar_validate".} +proc g_utf8_strup*(str: cstring, len: gssize): cstring{.cdecl, dynlib: gliblib, + importc: "g_utf8_strup".} +proc g_utf8_strdown*(str: cstring, len: gssize): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf8_strdown".} +proc g_utf8_casefold*(str: cstring, len: gssize): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf8_casefold".} +type + PGNormalizeMode* = ptr TGNormalizeMode + TGNormalizeMode* = gint + +const + G_NORMALIZE_DEFAULT* = 0 + G_NORMALIZE_NFD* = G_NORMALIZE_DEFAULT + G_NORMALIZE_DEFAULT_COMPOSE* = 1 + G_NORMALIZE_NFC* = G_NORMALIZE_DEFAULT_COMPOSE + G_NORMALIZE_ALL* = 2 + G_NORMALIZE_NFKD* = G_NORMALIZE_ALL + G_NORMALIZE_ALL_COMPOSE* = 3 + G_NORMALIZE_NFKC* = G_NORMALIZE_ALL_COMPOSE + +proc g_utf8_normalize*(str: cstring, len: gssize, mode: TGNormalizeMode): cstring{. + cdecl, dynlib: gliblib, importc: "g_utf8_normalize".} +proc g_utf8_collate*(str1: cstring, str2: cstring): gint{.cdecl, + dynlib: gliblib, importc: "g_utf8_collate".} +proc g_utf8_collate_key*(str: cstring, len: gssize): cstring{.cdecl, + dynlib: gliblib, importc: "g_utf8_collate_key".} +type + PGString* = ptr TGString + TGString*{.final.} = object + str*: cstring + len*: gsize + allocated_len*: gsize + + PGStringChunk* = pointer + +proc g_string_chunk_new*(size: gsize): PGStringChunk{.cdecl, dynlib: gliblib, + importc: "g_string_chunk_new".} +proc g_string_chunk_free*(chunk: PGStringChunk){.cdecl, dynlib: gliblib, + importc: "g_string_chunk_free".} +proc g_string_chunk_insert*(chunk: PGStringChunk, str: cstring): cstring{.cdecl, + dynlib: gliblib, importc: "g_string_chunk_insert".} +proc g_string_chunk_insert_const*(chunk: PGStringChunk, str: cstring): cstring{. + cdecl, dynlib: gliblib, importc: "g_string_chunk_insert_const".} +proc g_string_new*(init: cstring): PGString{.cdecl, dynlib: gliblib, + importc: "g_string_new".} +proc g_string_new_len*(init: cstring, len: gssize): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_new_len".} +proc g_string_sized_new*(dfl_size: gsize): PGString{.cdecl, dynlib: gliblib, + importc: "g_string_sized_new".} +proc g_string_free*(str: PGString, free_segment: gboolean): cstring{.cdecl, + dynlib: gliblib, importc: "g_string_free".} +proc g_string_equal*(v: PGString, v2: PGString): gboolean{.cdecl, + dynlib: gliblib, importc: "g_string_equal".} +proc g_string_hash*(str: PGString): guint{.cdecl, dynlib: gliblib, + importc: "g_string_hash".} +proc g_string_assign*(str: PGString, rval: cstring): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_assign".} +proc g_string_truncate*(str: PGString, len: gsize): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_truncate".} +proc g_string_set_size*(str: PGString, len: gsize): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_set_size".} +proc g_string_insert_len*(str: PGString, pos: gssize, val: cstring, len: gssize): PGString{. + cdecl, dynlib: gliblib, importc: "g_string_insert_len".} +proc g_string_append*(str: PGString, val: cstring): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_append".} +proc g_string_append_len*(str: PGString, val: cstring, len: gssize): PGString{. + cdecl, dynlib: gliblib, importc: "g_string_append_len".} +proc g_string_append_c*(str: PGString, c: gchar): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_append_c".} +proc g_string_append_unichar*(str: PGString, wc: gunichar): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_append_unichar".} +proc g_string_prepend*(str: PGString, val: cstring): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_prepend".} +proc g_string_prepend_c*(str: PGString, c: gchar): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_prepend_c".} +proc g_string_prepend_unichar*(str: PGString, wc: gunichar): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_prepend_unichar".} +proc g_string_prepend_len*(str: PGString, val: cstring, len: gssize): PGString{. + cdecl, dynlib: gliblib, importc: "g_string_prepend_len".} +proc g_string_insert*(str: PGString, pos: gssize, val: cstring): PGString{. + cdecl, dynlib: gliblib, importc: "g_string_insert".} +proc g_string_insert_c*(str: PGString, pos: gssize, c: gchar): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_insert_c".} +proc g_string_insert_unichar*(str: PGString, pos: gssize, wc: gunichar): PGString{. + cdecl, dynlib: gliblib, importc: "g_string_insert_unichar".} +proc g_string_erase*(str: PGString, pos: gssize, len: gssize): PGString{.cdecl, + dynlib: gliblib, importc: "g_string_erase".} +proc g_string_ascii_down*(str: PGString): PGString{.cdecl, dynlib: gliblib, + importc: "g_string_ascii_down".} +proc g_string_ascii_up*(str: PGString): PGString{.cdecl, dynlib: gliblib, + importc: "g_string_ascii_up".} +proc g_string_down*(str: PGString): PGString{.cdecl, dynlib: gliblib, + importc: "g_string_down".} +proc g_string_up*(str: PGString): PGString{.cdecl, dynlib: gliblib, + importc: "g_string_up".} +type + PGIOError* = ptr TGIOError + TGIOError* = enum + G_IO_ERROR_NONE, G_IO_ERROR_AGAIN, G_IO_ERROR_INVAL, G_IO_ERROR_UNKNOWN + +proc G_IO_CHANNEL_ERROR*(): TGQuark +type + PGIOChannelError* = ptr TGIOChannelError + TGIOChannelError* = enum + G_IO_CHANNEL_ERROR_FBIG, G_IO_CHANNEL_ERROR_INVAL, G_IO_CHANNEL_ERROR_IO, + G_IO_CHANNEL_ERROR_ISDIR, G_IO_CHANNEL_ERROR_NOSPC, G_IO_CHANNEL_ERROR_NXIO, + G_IO_CHANNEL_ERROR_OVERFLOW, G_IO_CHANNEL_ERROR_PIPE, + G_IO_CHANNEL_ERROR_FAILED + PGIOStatus* = ptr TGIOStatus + TGIOStatus* = enum + G_IO_STATUS_ERROR, G_IO_STATUS_NORMAL, G_IO_STATUS_EOF, G_IO_STATUS_AGAIN + PGSeekType* = ptr TGSeekType + TGSeekType* = enum + G_SEEK_CUR, G_SEEK_SET, G_SEEK_END + PGIOCondition* = ptr TGIOCondition + TGIOCondition* = gint + +const + G_IO_IN* = GLIB_SYSDEF_POLLIN + G_IO_OUT* = GLIB_SYSDEF_POLLOUT + G_IO_PRI* = GLIB_SYSDEF_POLLPRI + G_IO_ERR* = GLIB_SYSDEF_POLLERR + G_IO_HUP* = GLIB_SYSDEF_POLLHUP + G_IO_NVAL* = GLIB_SYSDEF_POLLNVAL + +type + PGIOFlags* = ptr TGIOFlags + TGIOFlags* = gint + +const + G_IO_FLAG_APPEND* = 1 shl 0 + G_IO_FLAG_NONBLOCK* = 1 shl 1 + G_IO_FLAG_IS_READABLE* = 1 shl 2 + G_IO_FLAG_IS_WRITEABLE* = 1 shl 3 + G_IO_FLAG_IS_SEEKABLE* = 1 shl 4 + G_IO_FLAG_MASK* = (1 shl 5) - 1 + G_IO_FLAG_GET_MASK* = G_IO_FLAG_MASK + G_IO_FLAG_SET_MASK* = G_IO_FLAG_APPEND or G_IO_FLAG_NONBLOCK + +type + PGIOChannel* = ptr TGIOChannel + TGIOFunc* = proc (source: PGIOChannel, condition: TGIOCondition, + data: gpointer): gboolean{.cdecl.} + PGIOFuncs* = ptr TGIOFuncs + TGIOFuncs*{.final.} = object + io_read*: proc (channel: PGIOChannel, buf: cstring, count: gsize, + bytes_read: Pgsize, err: pointer): TGIOStatus{.cdecl.} + io_write*: proc (channel: PGIOChannel, buf: cstring, count: gsize, + bytes_written: Pgsize, err: pointer): TGIOStatus{.cdecl.} + io_seek*: proc (channel: PGIOChannel, offset: gint64, theType: TGSeekType, + err: pointer): TGIOStatus{.cdecl.} + io_close*: proc (channel: PGIOChannel, err: pointer): TGIOStatus{.cdecl.} + io_create_watch*: proc (channel: PGIOChannel, condition: TGIOCondition): PGSource{. + cdecl.} + io_free*: proc (channel: PGIOChannel){.cdecl.} + io_set_flags*: proc (channel: PGIOChannel, flags: TGIOFlags, err: pointer): TGIOStatus{. + cdecl.} + io_get_flags*: proc (channel: PGIOChannel): TGIOFlags{.cdecl.} + + TGIOChannel*{.final.} = object + ref_count*: guint + funcs*: PGIOFuncs + encoding*: cstring + read_cd*: TGIConv + write_cd*: TGIConv + line_term*: cstring + line_term_len*: guint + buf_size*: gsize + read_buf*: PGString + encoded_read_buf*: PGString + write_buf*: PGString + partial_write_buf*: array[0..5, gchar] + flag0*: guint16 + reserved1*: gpointer + reserved2*: gpointer + + +const + bm_TGIOChannel_use_buffer* = 0x0001'i16 + bp_TGIOChannel_use_buffer* = 0'i16 + bm_TGIOChannel_do_encode* = 0x0002'i16 + bp_TGIOChannel_do_encode* = 1'i16 + bm_TGIOChannel_close_on_unref* = 0x0004'i16 + bp_TGIOChannel_close_on_unref* = 2'i16 + bm_TGIOChannel_is_readable* = 0x0008'i16 + bp_TGIOChannel_is_readable* = 3'i16 + bm_TGIOChannel_is_writeable* = 0x0010'i16 + bp_TGIOChannel_is_writeable* = 4'i16 + bm_TGIOChannel_is_seekable* = 0x0020'i16 + bp_TGIOChannel_is_seekable* = 5'i16 + +proc TGIOChannel_use_buffer*(a: var TGIOChannel): guint +proc TGIOChannel_set_use_buffer*(a: var TGIOChannel, `use_buffer`: guint) +proc TGIOChannel_do_encode*(a: var TGIOChannel): guint +proc TGIOChannel_set_do_encode*(a: var TGIOChannel, `do_encode`: guint) +proc TGIOChannel_close_on_unref*(a: var TGIOChannel): guint +proc TGIOChannel_set_close_on_unref*(a: var TGIOChannel, `close_on_unref`: guint) +proc TGIOChannel_is_readable*(a: var TGIOChannel): guint +proc TGIOChannel_set_is_readable*(a: var TGIOChannel, `is_readable`: guint) +proc TGIOChannel_is_writeable*(a: var TGIOChannel): guint +proc TGIOChannel_set_is_writeable*(a: var TGIOChannel, `is_writeable`: guint) +proc TGIOChannel_is_seekable*(a: var TGIOChannel): guint +proc TGIOChannel_set_is_seekable*(a: var TGIOChannel, `is_seekable`: guint) +proc g_io_channel_init*(channel: PGIOChannel){.cdecl, dynlib: gliblib, + importc: "g_io_channel_init".} +proc g_io_channel_ref*(channel: PGIOChannel){.cdecl, dynlib: gliblib, + importc: "g_io_channel_ref".} +proc g_io_channel_unref*(channel: PGIOChannel){.cdecl, dynlib: gliblib, + importc: "g_io_channel_unref".} +proc g_io_channel_read*(channel: PGIOChannel, buf: cstring, count: gsize, + bytes_read: Pgsize): TGIOError{.cdecl, dynlib: gliblib, + importc: "g_io_channel_read".} +proc g_io_channel_write*(channel: PGIOChannel, buf: cstring, count: gsize, + bytes_written: Pgsize): TGIOError{.cdecl, + dynlib: gliblib, importc: "g_io_channel_write".} +proc g_io_channel_seek*(channel: PGIOChannel, offset: gint64, + theType: TGSeekType): TGIOError{.cdecl, dynlib: gliblib, + importc: "g_io_channel_seek".} +proc g_io_channel_close*(channel: PGIOChannel){.cdecl, dynlib: gliblib, + importc: "g_io_channel_close".} +proc g_io_channel_shutdown*(channel: PGIOChannel, flush: gboolean, err: pointer): TGIOStatus{. + cdecl, dynlib: gliblib, importc: "g_io_channel_shutdown".} +proc g_io_add_watch_full*(channel: PGIOChannel, priority: gint, + condition: TGIOCondition, func: TGIOFunc, + user_data: gpointer, notify: TGDestroyNotify): guint{. + cdecl, dynlib: gliblib, importc: "g_io_add_watch_full".} +proc g_io_create_watch*(channel: PGIOChannel, condition: TGIOCondition): PGSource{. + cdecl, dynlib: gliblib, importc: "g_io_create_watch".} +proc g_io_add_watch*(channel: PGIOChannel, condition: TGIOCondition, + func: TGIOFunc, user_data: gpointer): guint{.cdecl, + dynlib: gliblib, importc: "g_io_add_watch".} +proc g_io_channel_set_buffer_size*(channel: PGIOChannel, size: gsize){.cdecl, + dynlib: gliblib, importc: "g_io_channel_set_buffer_size".} +proc g_io_channel_get_buffer_size*(channel: PGIOChannel): gsize{.cdecl, + dynlib: gliblib, importc: "g_io_channel_get_buffer_size".} +proc g_io_channel_get_buffer_condition*(channel: PGIOChannel): TGIOCondition{. + cdecl, dynlib: gliblib, importc: "g_io_channel_get_buffer_condition".} +proc g_io_channel_set_flags*(channel: PGIOChannel, flags: TGIOFlags, + error: pointer): TGIOStatus{.cdecl, + dynlib: gliblib, importc: "g_io_channel_set_flags".} +proc g_io_channel_get_flags*(channel: PGIOChannel): TGIOFlags{.cdecl, + dynlib: gliblib, importc: "g_io_channel_get_flags".} +proc g_io_channel_set_line_term*(channel: PGIOChannel, line_term: cstring, + length: gint){.cdecl, dynlib: gliblib, + importc: "g_io_channel_set_line_term".} +proc g_io_channel_get_line_term*(channel: PGIOChannel, length: Pgint): cstring{. + cdecl, dynlib: gliblib, importc: "g_io_channel_get_line_term".} +proc g_io_channel_set_buffered*(channel: PGIOChannel, buffered: gboolean){. + cdecl, dynlib: gliblib, importc: "g_io_channel_set_buffered".} +proc g_io_channel_get_buffered*(channel: PGIOChannel): gboolean{.cdecl, + dynlib: gliblib, importc: "g_io_channel_get_buffered".} +proc g_io_channel_set_encoding*(channel: PGIOChannel, encoding: cstring, + error: pointer): TGIOStatus{.cdecl, + dynlib: gliblib, importc: "g_io_channel_set_encoding".} +proc g_io_channel_get_encoding*(channel: PGIOChannel): cstring{.cdecl, + dynlib: gliblib, importc: "g_io_channel_get_encoding".} +proc g_io_channel_set_close_on_unref*(channel: PGIOChannel, do_close: gboolean){. + cdecl, dynlib: gliblib, importc: "g_io_channel_set_close_on_unref".} +proc g_io_channel_get_close_on_unref*(channel: PGIOChannel): gboolean{.cdecl, + dynlib: gliblib, importc: "g_io_channel_get_close_on_unref".} +proc g_io_channel_flush*(channel: PGIOChannel, error: pointer): TGIOStatus{. + cdecl, dynlib: gliblib, importc: "g_io_channel_flush".} +proc g_io_channel_read_line*(channel: PGIOChannel, str_return: PPgchar, + length: Pgsize, terminator_pos: Pgsize, + error: pointer): TGIOStatus{.cdecl, + dynlib: gliblib, importc: "g_io_channel_read_line".} +proc g_io_channel_read_line_string*(channel: PGIOChannel, buffer: PGString, + terminator_pos: Pgsize, error: pointer): TGIOStatus{. + cdecl, dynlib: gliblib, importc: "g_io_channel_read_line_string".} +proc g_io_channel_read_to_end*(channel: PGIOChannel, str_return: PPgchar, + length: Pgsize, error: pointer): TGIOStatus{. + cdecl, dynlib: gliblib, importc: "g_io_channel_read_to_end".} +proc g_io_channel_read_chars*(channel: PGIOChannel, buf: cstring, count: gsize, + bytes_read: Pgsize, error: pointer): TGIOStatus{. + cdecl, dynlib: gliblib, importc: "g_io_channel_read_chars".} +proc g_io_channel_read_unichar*(channel: PGIOChannel, thechar: Pgunichar, + error: pointer): TGIOStatus{.cdecl, + dynlib: gliblib, importc: "g_io_channel_read_unichar".} +proc g_io_channel_write_chars*(channel: PGIOChannel, buf: cstring, + count: gssize, bytes_written: Pgsize, + error: pointer): TGIOStatus{.cdecl, + dynlib: gliblib, importc: "g_io_channel_write_chars".} +proc g_io_channel_write_unichar*(channel: PGIOChannel, thechar: gunichar, + error: pointer): TGIOStatus{.cdecl, + dynlib: gliblib, importc: "g_io_channel_write_unichar".} +proc g_io_channel_seek_position*(channel: PGIOChannel, offset: gint64, + theType: TGSeekType, error: pointer): TGIOStatus{. + cdecl, dynlib: gliblib, importc: "g_io_channel_seek_position".} +proc g_io_channel_new_file*(filename: cstring, mode: cstring, error: pointer): PGIOChannel{. + cdecl, dynlib: gliblib, importc: "g_io_channel_new_file".} +proc g_io_channel_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, + importc: "g_io_channel_error_quark".} +proc g_io_channel_error_from_errno*(en: gint): TGIOChannelError{.cdecl, + dynlib: gliblib, importc: "g_io_channel_error_from_errno".} +proc g_io_channel_unix_new*(fd: int32): PGIOChannel{.cdecl, dynlib: gliblib, + importc: "g_io_channel_unix_new".} +proc g_io_channel_unix_get_fd*(channel: PGIOChannel): gint{.cdecl, + dynlib: gliblib, importc: "g_io_channel_unix_get_fd".} +const + G_LOG_LEVEL_USER_SHIFT* = 8 + +type + PGLogLevelFlags* = ptr TGLogLevelFlags + TGLogLevelFlags* = int32 + +const + G_LOG_FLAG_RECURSION* = 1 shl 0 + G_LOG_FLAG_FATAL* = 1 shl 1 + G_LOG_LEVEL_ERROR* = 1 shl 2 + G_LOG_LEVEL_CRITICAL* = 1 shl 3 + G_LOG_LEVEL_WARNING* = 1 shl 4 + G_LOG_LEVEL_MESSAGE* = 1 shl 5 + G_LOG_LEVEL_INFO* = 1 shl 6 + G_LOG_LEVEL_DEBUG* = 1 shl 7 + G_LOG_LEVEL_MASK* = not 3 + +const + G_LOG_FATAL_MASK* = 5 + +type + TGLogFunc* = proc (log_domain: cstring, log_level: TGLogLevelFlags, + TheMessage: cstring, user_data: gpointer){.cdecl.} + +proc g_log_set_handler*(log_domain: cstring, log_levels: TGLogLevelFlags, + log_func: TGLogFunc, user_data: gpointer): guint{.cdecl, + dynlib: gliblib, importc: "g_log_set_handler".} +proc g_log_remove_handler*(log_domain: cstring, handler_id: guint){.cdecl, + dynlib: gliblib, importc: "g_log_remove_handler".} +proc g_log_default_handler*(log_domain: cstring, log_level: TGLogLevelFlags, + TheMessage: cstring, unused_data: gpointer){.cdecl, + dynlib: gliblib, importc: "g_log_default_handler".} +proc g_log_set_fatal_mask*(log_domain: cstring, fatal_mask: TGLogLevelFlags): TGLogLevelFlags{. + cdecl, dynlib: gliblib, importc: "g_log_set_fatal_mask".} +proc g_log_set_always_fatal*(fatal_mask: TGLogLevelFlags): TGLogLevelFlags{. + cdecl, dynlib: gliblib, importc: "g_log_set_always_fatal".} +proc `g_log_fallback_handler`*(log_domain: cstring, log_level: TGLogLevelFlags, + message: cstring, unused_data: gpointer){.cdecl, + dynlib: gliblib, importc: "g_log_fallback_handler".} +const + G_LOG_DOMAIN* = nil + +when false: + proc g_error*(format: cstring){.varargs.} + proc g_message*(format: cstring){.varargs.} + proc g_critical*(format: cstring){.varargs.} + proc g_warning*(format: cstring){.varargs.} +type + TGPrintFunc* = proc (str: cstring) + +proc g_set_print_handler*(func: TGPrintFunc): TGPrintFunc{.cdecl, + dynlib: gliblib, importc: "g_set_print_handler".} +proc g_set_printerr_handler*(func: TGPrintFunc): TGPrintFunc{.cdecl, + dynlib: gliblib, importc: "g_set_printerr_handler".} +type + PGMarkupError* = ptr TGMarkupError + TGMarkupError* = enum + G_MARKUP_ERROR_BAD_UTF8, G_MARKUP_ERROR_EMPTY, G_MARKUP_ERROR_PARSE, + G_MARKUP_ERROR_UNKNOWN_ELEMENT, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, + G_MARKUP_ERROR_INVALID_CONTENT + +proc G_MARKUP_ERROR*(): TGQuark +proc g_markup_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, + importc: "g_markup_error_quark".} +type + PGMarkupParseFlags* = ptr TGMarkupParseFlags + TGMarkupParseFlags* = int + +const + G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG* = 1 shl 0 + +type + PGMarkupParseContext* = ptr TGMarkupParseContext + TGMarkupParseContext* = pointer + PGMarkupParser* = ptr TGMarkupParser + TGMarkupParser*{.final.} = object + start_element*: proc (context: PGMarkupParseContext, element_name: cstring, + attribute_names: PPgchar, attribute_values: PPgchar, + user_data: gpointer, error: pointer){.cdecl.} + end_element*: proc (context: PGMarkupParseContext, element_name: cstring, + user_data: gpointer, error: pointer){.cdecl.} + text*: proc (context: PGMarkupParseContext, text: cstring, text_len: gsize, + user_data: gpointer, error: pointer){.cdecl.} + passthrough*: proc (context: PGMarkupParseContext, + passthrough_text: cstring, text_len: gsize, + user_data: gpointer, error: pointer){.cdecl.} + error*: proc (context: PGMarkupParseContext, error: pointer, + user_data: gpointer){.cdecl.} + + +proc g_markup_parse_context_new*(parser: PGMarkupParser, + flags: TGMarkupParseFlags, user_data: gpointer, + user_data_dnotify: TGDestroyNotify): PGMarkupParseContext{. + cdecl, dynlib: gliblib, importc: "g_markup_parse_context_new".} +proc g_markup_parse_context_free*(context: PGMarkupParseContext){.cdecl, + dynlib: gliblib, importc: "g_markup_parse_context_free".} +proc g_markup_parse_context_parse*(context: PGMarkupParseContext, text: cstring, + text_len: gssize, error: pointer): gboolean{. + cdecl, dynlib: gliblib, importc: "g_markup_parse_context_parse".} +proc g_markup_parse_context_end_parse*(context: PGMarkupParseContext, + error: pointer): gboolean{.cdecl, + dynlib: gliblib, importc: "g_markup_parse_context_end_parse".} +proc g_markup_parse_context_get_position*(context: PGMarkupParseContext, + line_number: Pgint, char_number: Pgint){.cdecl, dynlib: gliblib, + importc: "g_markup_parse_context_get_position".} +proc g_markup_escape_text*(text: cstring, length: gssize): cstring{.cdecl, + dynlib: gliblib, importc: "g_markup_escape_text".} +type + PGNode* = ptr TGNode + TGNode*{.final.} = object + data*: gpointer + next*: PGNode + prev*: PGNode + parent*: PGNode + children*: PGNode + + PGTraverseFlags* = ptr TGTraverseFlags + TGTraverseFlags* = gint + +const + G_TRAVERSE_LEAFS* = 1 shl 0 + G_TRAVERSE_NON_LEAFS* = 1 shl 1 + G_TRAVERSE_ALL* = G_TRAVERSE_LEAFS or G_TRAVERSE_NON_LEAFS + G_TRAVERSE_MASK* = 0x00000003 + +type + PGTraverseType* = ptr TGTraverseType + TGTraverseType* = enum + G_IN_ORDER, G_PRE_ORDER, G_POST_ORDER, G_LEVEL_ORDER + TGNodeTraverseFunc* = proc (node: PGNode, data: gpointer): gboolean{.cdecl.} + TGNodeForeachFunc* = proc (node: PGNode, data: gpointer){.cdecl.} + +proc G_NODE_IS_ROOT*(node: PGNode): bool +proc G_NODE_IS_LEAF*(node: PGNode): bool +proc g_node_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: gliblib, + importc: "g_node_push_allocator".} +proc g_node_pop_allocator*(){.cdecl, dynlib: gliblib, + importc: "g_node_pop_allocator".} +proc g_node_new*(data: gpointer): PGNode{.cdecl, dynlib: gliblib, + importc: "g_node_new".} +proc g_node_destroy*(root: PGNode){.cdecl, dynlib: gliblib, + importc: "g_node_destroy".} +proc g_node_unlink*(node: PGNode){.cdecl, dynlib: gliblib, + importc: "g_node_unlink".} +proc g_node_copy*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, + importc: "g_node_copy".} +proc g_node_insert*(parent: PGNode, position: gint, node: PGNode): PGNode{. + cdecl, dynlib: gliblib, importc: "g_node_insert".} +proc g_node_insert_before*(parent: PGNode, sibling: PGNode, node: PGNode): PGNode{. + cdecl, dynlib: gliblib, importc: "g_node_insert_before".} +proc g_node_insert_after*(parent: PGNode, sibling: PGNode, node: PGNode): PGNode{. + cdecl, dynlib: gliblib, importc: "g_node_insert_after".} +proc g_node_prepend*(parent: PGNode, node: PGNode): PGNode{.cdecl, + dynlib: gliblib, importc: "g_node_prepend".} +proc g_node_n_nodes*(root: PGNode, flags: TGTraverseFlags): guint{.cdecl, + dynlib: gliblib, importc: "g_node_n_nodes".} +proc g_node_get_root*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, + importc: "g_node_get_root".} +proc g_node_is_ancestor*(node: PGNode, descendant: PGNode): gboolean{.cdecl, + dynlib: gliblib, importc: "g_node_is_ancestor".} +proc g_node_depth*(node: PGNode): guint{.cdecl, dynlib: gliblib, + importc: "g_node_depth".} +proc g_node_find*(root: PGNode, order: TGTraverseType, flags: TGTraverseFlags, + data: gpointer): PGNode{.cdecl, dynlib: gliblib, + importc: "g_node_find".} +proc g_node_append*(parent: PGNode, node: PGNode): PGNode +proc g_node_insert_data*(parent: PGNode, position: gint, data: gpointer): PGNode +proc g_node_insert_data_before*(parent: PGNode, sibling: PGNode, data: gpointer): PGNode +proc g_node_prepend_data*(parent: PGNode, data: gpointer): PGNode +proc g_node_append_data*(parent: PGNode, data: gpointer): PGNode +proc g_node_traverse*(root: PGNode, order: TGTraverseType, + flags: TGTraverseFlags, max_depth: gint, + func: TGNodeTraverseFunc, data: gpointer): guint{.cdecl, + dynlib: gliblib, importc: "g_node_traverse".} +proc g_node_max_height*(root: PGNode): guint{.cdecl, dynlib: gliblib, + importc: "g_node_max_height".} +proc g_node_children_foreach*(node: PGNode, flags: TGTraverseFlags, + func: TGNodeForeachFunc, data: gpointer){.cdecl, + dynlib: gliblib, importc: "g_node_children_foreach".} +proc g_node_reverse_children*(node: PGNode){.cdecl, dynlib: gliblib, + importc: "g_node_reverse_children".} +proc g_node_n_children*(node: PGNode): guint{.cdecl, dynlib: gliblib, + importc: "g_node_n_children".} +proc g_node_nth_child*(node: PGNode, n: guint): PGNode{.cdecl, dynlib: gliblib, + importc: "g_node_nth_child".} +proc g_node_last_child*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, + importc: "g_node_last_child".} +proc g_node_find_child*(node: PGNode, flags: TGTraverseFlags, data: gpointer): PGNode{. + cdecl, dynlib: gliblib, importc: "g_node_find_child".} +proc g_node_child_position*(node: PGNode, child: PGNode): gint{.cdecl, + dynlib: gliblib, importc: "g_node_child_position".} +proc g_node_child_index*(node: PGNode, data: gpointer): gint{.cdecl, + dynlib: gliblib, importc: "g_node_child_index".} +proc g_node_first_sibling*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, + importc: "g_node_first_sibling".} +proc g_node_last_sibling*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, + importc: "g_node_last_sibling".} +proc g_node_prev_sibling*(node: PGNode): PGNode +proc g_node_next_sibling*(node: PGNode): PGNode +proc g_node_first_child*(node: PGNode): PGNode +type + PGTree* = pointer + TGTraverseFunc* = proc (key: gpointer, value: gpointer, data: gpointer): gboolean{. + cdecl.} + +proc g_tree_new*(key_compare_func: TGCompareFunc): PGTree{.cdecl, + dynlib: gliblib, importc: "g_tree_new".} +proc g_tree_new_with_data*(key_compare_func: TGCompareDataFunc, + key_compare_data: gpointer): PGTree{.cdecl, + dynlib: gliblib, importc: "g_tree_new_with_data".} +proc g_tree_new_full*(key_compare_func: TGCompareDataFunc, + key_compare_data: gpointer, + key_destroy_func: TGDestroyNotify, + value_destroy_func: TGDestroyNotify): PGTree{.cdecl, + dynlib: gliblib, importc: "g_tree_new_full".} +proc g_tree_destroy*(tree: PGTree){.cdecl, dynlib: gliblib, + importc: "g_tree_destroy".} +proc g_tree_insert*(tree: PGTree, key: gpointer, value: gpointer){.cdecl, + dynlib: gliblib, importc: "g_tree_insert".} +proc g_tree_replace*(tree: PGTree, key: gpointer, value: gpointer){.cdecl, + dynlib: gliblib, importc: "g_tree_replace".} +proc g_tree_remove*(tree: PGTree, key: gconstpointer){.cdecl, dynlib: gliblib, + importc: "g_tree_remove".} +proc g_tree_steal*(tree: PGTree, key: gconstpointer){.cdecl, dynlib: gliblib, + importc: "g_tree_steal".} +proc g_tree_lookup*(tree: PGTree, key: gconstpointer): gpointer{.cdecl, + dynlib: gliblib, importc: "g_tree_lookup".} +proc g_tree_lookup_extended*(tree: PGTree, lookup_key: gconstpointer, + orig_key: Pgpointer, value: Pgpointer): gboolean{. + cdecl, dynlib: gliblib, importc: "g_tree_lookup_extended".} +proc g_tree_foreach*(tree: PGTree, func: TGTraverseFunc, user_data: gpointer){. + cdecl, dynlib: gliblib, importc: "g_tree_foreach".} +proc g_tree_search*(tree: PGTree, search_func: TGCompareFunc, + user_data: gconstpointer): gpointer{.cdecl, dynlib: gliblib, + importc: "g_tree_search".} +proc g_tree_height*(tree: PGTree): gint{.cdecl, dynlib: gliblib, + importc: "g_tree_height".} +proc g_tree_nnodes*(tree: PGTree): gint{.cdecl, dynlib: gliblib, + importc: "g_tree_nnodes".} +type + PGPatternSpec* = pointer + +proc g_pattern_spec_new*(pattern: cstring): PGPatternSpec{.cdecl, + dynlib: gliblib, importc: "g_pattern_spec_new".} +proc g_pattern_spec_free*(pspec: PGPatternSpec){.cdecl, dynlib: gliblib, + importc: "g_pattern_spec_free".} +proc g_pattern_spec_equal*(pspec1: PGPatternSpec, pspec2: PGPatternSpec): gboolean{. + cdecl, dynlib: gliblib, importc: "g_pattern_spec_equal".} +proc g_pattern_match*(pspec: PGPatternSpec, string_length: guint, str: cstring, + string_reversed: cstring): gboolean{.cdecl, + dynlib: gliblib, importc: "g_pattern_match".} +proc g_pattern_match_string*(pspec: PGPatternSpec, str: cstring): gboolean{. + cdecl, dynlib: gliblib, importc: "g_pattern_match_string".} +proc g_pattern_match_simple*(pattern: cstring, str: cstring): gboolean{.cdecl, + dynlib: gliblib, importc: "g_pattern_match_simple".} +proc g_spaced_primes_closest*(num: guint): guint{.cdecl, dynlib: gliblib, + importc: "g_spaced_primes_closest".} +proc g_qsort_with_data*(pbase: gconstpointer, total_elems: gint, size: gsize, + compare_func: TGCompareDataFunc, user_data: gpointer){. + cdecl, dynlib: gliblib, importc: "g_qsort_with_data".} +type + PGQueue* = ptr TGQueue + TGQueue*{.final.} = object + head*: PGList + tail*: PGList + length*: guint + + +proc g_queue_new*(): PGQueue{.cdecl, dynlib: gliblib, importc: "g_queue_new".} +proc g_queue_free*(queue: PGQueue){.cdecl, dynlib: gliblib, + importc: "g_queue_free".} +proc g_queue_push_head*(queue: PGQueue, data: gpointer){.cdecl, dynlib: gliblib, + importc: "g_queue_push_head".} +proc g_queue_push_tail*(queue: PGQueue, data: gpointer){.cdecl, dynlib: gliblib, + importc: "g_queue_push_tail".} +proc g_queue_pop_head*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib, + importc: "g_queue_pop_head".} +proc g_queue_pop_tail*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib, + importc: "g_queue_pop_tail".} +proc g_queue_is_empty*(queue: PGQueue): gboolean{.cdecl, dynlib: gliblib, + importc: "g_queue_is_empty".} +proc g_queue_peek_head*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib, + importc: "g_queue_peek_head".} +proc g_queue_peek_tail*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib, + importc: "g_queue_peek_tail".} +proc g_queue_push_head_link*(queue: PGQueue, link: PGList){.cdecl, + dynlib: gliblib, importc: "g_queue_push_head_link".} +proc g_queue_push_tail_link*(queue: PGQueue, link: PGList){.cdecl, + dynlib: gliblib, importc: "g_queue_push_tail_link".} +proc g_queue_pop_head_link*(queue: PGQueue): PGList{.cdecl, dynlib: gliblib, + importc: "g_queue_pop_head_link".} +proc g_queue_pop_tail_link*(queue: PGQueue): PGList{.cdecl, dynlib: gliblib, + importc: "g_queue_pop_tail_link".} +type + PGRand* = pointer + +proc g_rand_new_with_seed*(seed: guint32): PGRand{.cdecl, dynlib: gliblib, + importc: "g_rand_new_with_seed".} +proc g_rand_new*(): PGRand{.cdecl, dynlib: gliblib, importc: "g_rand_new".} +proc g_rand_free*(rand: PGRand){.cdecl, dynlib: gliblib, importc: "g_rand_free".} +proc g_rand_set_seed*(rand: PGRand, seed: guint32){.cdecl, dynlib: gliblib, + importc: "g_rand_set_seed".} +proc g_rand_boolean*(rand: PGRand): gboolean +proc g_rand_int*(rand: PGRand): guint32{.cdecl, dynlib: gliblib, + importc: "g_rand_int".} +proc g_rand_int_range*(rand: PGRand, `begin`: gint32, `end`: gint32): gint32{. + cdecl, dynlib: gliblib, importc: "g_rand_int_range".} +proc g_rand_double*(rand: PGRand): gdouble{.cdecl, dynlib: gliblib, + importc: "g_rand_double".} +proc g_rand_double_range*(rand: PGRand, `begin`: gdouble, `end`: gdouble): gdouble{. + cdecl, dynlib: gliblib, importc: "g_rand_double_range".} +proc g_random_set_seed*(seed: guint32){.cdecl, dynlib: gliblib, + importc: "g_random_set_seed".} +proc g_random_boolean*(): gboolean +proc g_random_int*(): guint32{.cdecl, dynlib: gliblib, importc: "g_random_int".} +proc g_random_int_range*(`begin`: gint32, `end`: gint32): gint32{.cdecl, + dynlib: gliblib, importc: "g_random_int_range".} +proc g_random_double*(): gdouble{.cdecl, dynlib: gliblib, + importc: "g_random_double".} +proc g_random_double_range*(`begin`: gdouble, `end`: gdouble): gdouble{.cdecl, + dynlib: gliblib, importc: "g_random_double_range".} +type + PGTuples* = ptr TGTuples + TGTuples*{.final.} = object + len*: guint + + PGRelation* = pointer + +proc g_relation_new*(fields: gint): PGRelation{.cdecl, dynlib: gliblib, + importc: "g_relation_new".} +proc g_relation_destroy*(relation: PGRelation){.cdecl, dynlib: gliblib, + importc: "g_relation_destroy".} +proc g_relation_index*(relation: PGRelation, field: gint, hash_func: TGHashFunc, + key_equal_func: TGEqualFunc){.cdecl, dynlib: gliblib, + importc: "g_relation_index".} +proc g_relation_delete*(relation: PGRelation, key: gconstpointer, field: gint): gint{. + cdecl, dynlib: gliblib, importc: "g_relation_delete".} +proc g_relation_select*(relation: PGRelation, key: gconstpointer, field: gint): PGTuples{. + cdecl, dynlib: gliblib, importc: "g_relation_select".} +proc g_relation_count*(relation: PGRelation, key: gconstpointer, field: gint): gint{. + cdecl, dynlib: gliblib, importc: "g_relation_count".} +proc g_relation_print*(relation: PGRelation){.cdecl, dynlib: gliblib, + importc: "g_relation_print".} +proc g_tuples_destroy*(tuples: PGTuples){.cdecl, dynlib: gliblib, + importc: "g_tuples_destroy".} +proc g_tuples_index*(tuples: PGTuples, index: gint, field: gint): gpointer{. + cdecl, dynlib: gliblib, importc: "g_tuples_index".} +type + PGTokenType* = ptr TGTokenType + TGTokenType* = gint + +const + G_TOKEN_LEFT_PAREN* = 40 + G_TOKEN_RIGHT_PAREN* = 41 + G_TOKEN_LEFT_CURLY* = 123 + G_TOKEN_RIGHT_CURLY* = 125 + G_TOKEN_LEFT_BRACE* = 91 + G_TOKEN_RIGHT_BRACE* = 93 + G_TOKEN_EQUAL_SIGN* = 61 + G_TOKEN_COMMA* = 44 + G_TOKEN_NONE* = 256 + G_TOKEN_ERROR* = 257 + G_TOKEN_CHAR* = 258 + G_TOKEN_OCTAL* = 260 + G_TOKEN_INT* = 261 + G_TOKEN_HEX* = 262 + G_TOKEN_FLOAT* = 263 + G_TOKEN_STRING* = 264 + G_TOKEN_SYMBOL* = 265 + G_TOKEN_IDENTIFIER* = 266 + G_TOKEN_IDENTIFIER_NULL* = 267 + G_TOKEN_COMMENT_SINGLE* = 268 + G_TOKEN_COMMENT_MULTI* = 269 + G_TOKEN_LAST* = 270 + +type + PGScanner* = ptr TGScanner + PGScannerConfig* = ptr TGScannerConfig + PGTokenValue* = ptr TGTokenValue + TGTokenValue*{.final.} = object + v_float*: gdouble + + TGScannerMsgFunc* = proc (scanner: PGScanner, message: cstring, + error: gboolean){.cdecl.} + TGScanner*{.final.} = object + user_data*: gpointer + max_parse_errors*: guint + parse_errors*: guint + input_name*: cstring + qdata*: PGData + config*: PGScannerConfig + token*: TGTokenType + value*: TGTokenValue + line*: guint + position*: guint + next_token*: TGTokenType + next_value*: TGTokenValue + next_line*: guint + next_position*: guint + symbol_table*: PGHashTable + input_fd*: gint + text*: cstring + text_end*: cstring + buffer*: cstring + scope_id*: guint + msg_handler*: TGScannerMsgFunc + + TGScannerConfig*{.final.} = object + cset_skip_characters*: cstring + cset_identifier_first*: cstring + cset_identifier_nth*: cstring + cpair_comment_single*: cstring + flag0*: int32 + padding_dummy*: guint + + +const + G_CSET_A_2_Z_UCASE* = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + G_CSET_a_2_z_lcase* = "abcdefghijklmnopqrstuvwxyz" + G_CSET_DIGITS* = "0123456789" + +const + bm_TGScannerConfig_case_sensitive* = 0x00000001'i32 + bp_TGScannerConfig_case_sensitive* = 0'i32 + bm_TGScannerConfig_skip_comment_multi* = 0x00000002'i32 + bp_TGScannerConfig_skip_comment_multi* = 1'i32 + bm_TGScannerConfig_skip_comment_single* = 0x00000004'i32 + bp_TGScannerConfig_skip_comment_single* = 2'i32 + bm_TGScannerConfig_scan_comment_multi* = 0x00000008'i32 + bp_TGScannerConfig_scan_comment_multi* = 3'i32 + bm_TGScannerConfig_scan_identifier* = 0x00000010'i32 + bp_TGScannerConfig_scan_identifier* = 4'i32 + bm_TGScannerConfig_scan_identifier_1char* = 0x00000020'i32 + bp_TGScannerConfig_scan_identifier_1char* = 5'i32 + bm_TGScannerConfig_scan_identifier_NULL* = 0x00000040'i32 + bp_TGScannerConfig_scan_identifier_NULL* = 6'i32 + bm_TGScannerConfig_scan_symbols* = 0x00000080'i32 + bp_TGScannerConfig_scan_symbols* = 7'i32 + bm_TGScannerConfig_scan_binary* = 0x00000100'i32 + bp_TGScannerConfig_scan_binary* = 8'i32 + bm_TGScannerConfig_scan_octal* = 0x00000200'i32 + bp_TGScannerConfig_scan_octal* = 9'i32 + bm_TGScannerConfig_scan_float* = 0x00000400'i32 + bp_TGScannerConfig_scan_float* = 10'i32 + bm_TGScannerConfig_scan_hex* = 0x00000800'i32 + bp_TGScannerConfig_scan_hex* = 11'i32 + bm_TGScannerConfig_scan_hex_dollar* = 0x00001000'i32 + bp_TGScannerConfig_scan_hex_dollar* = 12'i32 + bm_TGScannerConfig_scan_string_sq* = 0x00002000'i32 + bp_TGScannerConfig_scan_string_sq* = 13'i32 + bm_TGScannerConfig_scan_string_dq* = 0x00004000'i32 + bp_TGScannerConfig_scan_string_dq* = 14'i32 + bm_TGScannerConfig_numbers_2_int* = 0x00008000'i32 + bp_TGScannerConfig_numbers_2_int* = 15'i32 + bm_TGScannerConfig_int_2_float* = 0x00010000'i32 + bp_TGScannerConfig_int_2_float* = 16'i32 + bm_TGScannerConfig_identifier_2_string* = 0x00020000'i32 + bp_TGScannerConfig_identifier_2_string* = 17'i32 + bm_TGScannerConfig_char_2_token* = 0x00040000'i32 + bp_TGScannerConfig_char_2_token* = 18'i32 + bm_TGScannerConfig_symbol_2_token* = 0x00080000'i32 + bp_TGScannerConfig_symbol_2_token* = 19'i32 + bm_TGScannerConfig_scope_0_fallback* = 0x00100000'i32 + bp_TGScannerConfig_scope_0_fallback* = 20'i32 + +proc TGScannerConfig_case_sensitive*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_case_sensitive*(a: var TGScannerConfig, + `case_sensitive`: guint) +proc TGScannerConfig_skip_comment_multi*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_skip_comment_multi*(a: var TGScannerConfig, + `skip_comment_multi`: guint) +proc TGScannerConfig_skip_comment_single*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_skip_comment_single*(a: var TGScannerConfig, + `skip_comment_single`: guint) +proc TGScannerConfig_scan_comment_multi*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_comment_multi*(a: var TGScannerConfig, + `scan_comment_multi`: guint) +proc TGScannerConfig_scan_identifier*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_identifier*(a: var TGScannerConfig, + `scan_identifier`: guint) +proc TGScannerConfig_scan_identifier_1char*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_identifier_1char*(a: var TGScannerConfig, + `scan_identifier_1char`: guint) +proc TGScannerConfig_scan_identifier_NULL*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_identifier_NULL*(a: var TGScannerConfig, + `scan_identifier_NULL`: guint) +proc TGScannerConfig_scan_symbols*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_symbols*(a: var TGScannerConfig, + `scan_symbols`: guint) +proc TGScannerConfig_scan_binary*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_binary*(a: var TGScannerConfig, + `scan_binary`: guint) +proc TGScannerConfig_scan_octal*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_octal*(a: var TGScannerConfig, `scan_octal`: guint) +proc TGScannerConfig_scan_float*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_float*(a: var TGScannerConfig, `scan_float`: guint) +proc TGScannerConfig_scan_hex*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_hex*(a: var TGScannerConfig, `scan_hex`: guint) +proc TGScannerConfig_scan_hex_dollar*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_hex_dollar*(a: var TGScannerConfig, + `scan_hex_dollar`: guint) +proc TGScannerConfig_scan_string_sq*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_string_sq*(a: var TGScannerConfig, + `scan_string_sq`: guint) +proc TGScannerConfig_scan_string_dq*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scan_string_dq*(a: var TGScannerConfig, + `scan_string_dq`: guint) +proc TGScannerConfig_numbers_2_int*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_numbers_2_int*(a: var TGScannerConfig, + `numbers_2_int`: guint) +proc TGScannerConfig_int_2_float*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_int_2_float*(a: var TGScannerConfig, + `int_2_float`: guint) +proc TGScannerConfig_identifier_2_string*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_identifier_2_string*(a: var TGScannerConfig, + `identifier_2_string`: guint) +proc TGScannerConfig_char_2_token*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_char_2_token*(a: var TGScannerConfig, + `char_2_token`: guint) +proc TGScannerConfig_symbol_2_token*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_symbol_2_token*(a: var TGScannerConfig, + `symbol_2_token`: guint) +proc TGScannerConfig_scope_0_fallback*(a: var TGScannerConfig): guint +proc TGScannerConfig_set_scope_0_fallback*(a: var TGScannerConfig, + `scope_0_fallback`: guint) +proc g_scanner_new*(config_templ: PGScannerConfig): PGScanner{.cdecl, + dynlib: gliblib, importc: "g_scanner_new".} +proc g_scanner_destroy*(scanner: PGScanner){.cdecl, dynlib: gliblib, + importc: "g_scanner_destroy".} +proc g_scanner_input_file*(scanner: PGScanner, input_fd: gint){.cdecl, + dynlib: gliblib, importc: "g_scanner_input_file".} +proc g_scanner_sync_file_offset*(scanner: PGScanner){.cdecl, dynlib: gliblib, + importc: "g_scanner_sync_file_offset".} +proc g_scanner_input_text*(scanner: PGScanner, text: cstring, text_len: guint){. + cdecl, dynlib: gliblib, importc: "g_scanner_input_text".} +proc g_scanner_get_next_token*(scanner: PGScanner): TGTokenType{.cdecl, + dynlib: gliblib, importc: "g_scanner_get_next_token".} +proc g_scanner_peek_next_token*(scanner: PGScanner): TGTokenType{.cdecl, + dynlib: gliblib, importc: "g_scanner_peek_next_token".} +proc g_scanner_cur_token*(scanner: PGScanner): TGTokenType{.cdecl, + dynlib: gliblib, importc: "g_scanner_cur_token".} +proc g_scanner_cur_value*(scanner: PGScanner): TGTokenValue{.cdecl, + dynlib: gliblib, importc: "g_scanner_cur_value".} +proc g_scanner_cur_line*(scanner: PGScanner): guint{.cdecl, dynlib: gliblib, + importc: "g_scanner_cur_line".} +proc g_scanner_cur_position*(scanner: PGScanner): guint{.cdecl, dynlib: gliblib, + importc: "g_scanner_cur_position".} +proc g_scanner_eof*(scanner: PGScanner): gboolean{.cdecl, dynlib: gliblib, + importc: "g_scanner_eof".} +proc g_scanner_set_scope*(scanner: PGScanner, scope_id: guint): guint{.cdecl, + dynlib: gliblib, importc: "g_scanner_set_scope".} +proc g_scanner_scope_add_symbol*(scanner: PGScanner, scope_id: guint, + symbol: cstring, value: gpointer){.cdecl, + dynlib: gliblib, importc: "g_scanner_scope_add_symbol".} +proc g_scanner_scope_remove_symbol*(scanner: PGScanner, scope_id: guint, + symbol: cstring){.cdecl, dynlib: gliblib, + importc: "g_scanner_scope_remove_symbol".} +proc g_scanner_scope_lookup_symbol*(scanner: PGScanner, scope_id: guint, + symbol: cstring): gpointer{.cdecl, + dynlib: gliblib, importc: "g_scanner_scope_lookup_symbol".} +proc g_scanner_scope_foreach_symbol*(scanner: PGScanner, scope_id: guint, + func: TGHFunc, user_data: gpointer){.cdecl, + dynlib: gliblib, importc: "g_scanner_scope_foreach_symbol".} +proc g_scanner_lookup_symbol*(scanner: PGScanner, symbol: cstring): gpointer{. + cdecl, dynlib: gliblib, importc: "g_scanner_lookup_symbol".} +proc g_scanner_unexp_token*(scanner: PGScanner, expected_token: TGTokenType, + identifier_spec: cstring, symbol_spec: cstring, + symbol_name: cstring, `message`: cstring, + is_error: gint){.cdecl, dynlib: gliblib, + importc: "g_scanner_unexp_token".} +proc G_SHELL_ERROR*(): TGQuark +type + PGShellError* = ptr TGShellError + TGShellError* = enum + G_SHELL_ERROR_BAD_QUOTING, G_SHELL_ERROR_EMPTY_STRING, G_SHELL_ERROR_FAILED + +proc g_shell_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, + importc: "g_shell_error_quark".} +proc g_shell_quote*(unquoted_string: cstring): cstring{.cdecl, dynlib: gliblib, + importc: "g_shell_quote".} +proc g_shell_unquote*(quoted_string: cstring, error: pointer): cstring{.cdecl, + dynlib: gliblib, importc: "g_shell_unquote".} +proc g_shell_parse_argv*(command_line: cstring, argcp: Pgint, argvp: PPPgchar, + error: pointer): gboolean{.cdecl, dynlib: gliblib, + importc: "g_shell_parse_argv".} +proc G_SPAWN_ERROR*(): TGQuark +type + PGSpawnError* = ptr TGSpawnError + TGSpawnError* = enum + G_SPAWN_ERROR_FORK, G_SPAWN_ERROR_READ, G_SPAWN_ERROR_CHDIR, + G_SPAWN_ERROR_ACCES, G_SPAWN_ERROR_PERM, G_SPAWN_ERROR_2BIG, + G_SPAWN_ERROR_NOEXEC, G_SPAWN_ERROR_NAMETOOLONG, G_SPAWN_ERROR_NOENT, + G_SPAWN_ERROR_NOMEM, G_SPAWN_ERROR_NOTDIR, G_SPAWN_ERROR_LOOP, + G_SPAWN_ERROR_TXTBUSY, G_SPAWN_ERROR_IO, G_SPAWN_ERROR_NFILE, + G_SPAWN_ERROR_MFILE, G_SPAWN_ERROR_INVAL, G_SPAWN_ERROR_ISDIR, + G_SPAWN_ERROR_LIBBAD, G_SPAWN_ERROR_FAILED + TGSpawnChildSetupFunc* = proc (user_data: gpointer){.cdecl.} + PGSpawnFlags* = ptr TGSpawnFlags + TGSpawnFlags* = int + +const + G_SPAWN_LEAVE_DESCRIPTORS_OPEN* = 1 shl 0 + G_SPAWN_DO_NOT_REAP_CHILD* = 1 shl 1 + G_SPAWN_SEARCH_PATH* = 1 shl 2 + G_SPAWN_STDOUT_TO_DEV_NULL* = 1 shl 3 + G_SPAWN_STDERR_TO_DEV_NULL* = 1 shl 4 + G_SPAWN_CHILD_INHERITS_STDIN* = 1 shl 5 + G_SPAWN_FILE_AND_ARGV_ZERO* = 1 shl 6 + +proc g_spawn_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, + importc: "g_spawn_error_quark".} +proc g_spawn_async*(working_directory: cstring, argv: PPgchar, envp: PPgchar, + flags: TGSpawnFlags, child_setup: TGSpawnChildSetupFunc, + user_data: gpointer, child_pid: Pgint, error: pointer): gboolean{. + cdecl, dynlib: gliblib, importc: "g_spawn_async".} +proc g_spawn_async_with_pipes*(working_directory: cstring, argv: PPgchar, + envp: PPgchar, flags: TGSpawnFlags, + child_setup: TGSpawnChildSetupFunc, + user_data: gpointer, child_pid: Pgint, + standard_input: Pgint, standard_output: Pgint, + standard_error: Pgint, error: pointer): gboolean{. + cdecl, dynlib: gliblib, importc: "g_spawn_async_with_pipes".} +proc g_spawn_sync*(working_directory: cstring, argv: PPgchar, envp: PPgchar, + flags: TGSpawnFlags, child_setup: TGSpawnChildSetupFunc, + user_data: gpointer, standard_output: PPgchar, + standard_error: PPgchar, exit_status: Pgint, error: pointer): gboolean{. + cdecl, dynlib: gliblib, importc: "g_spawn_sync".} +proc g_spawn_command_line_sync*(command_line: cstring, standard_output: PPgchar, + standard_error: PPgchar, exit_status: Pgint, + error: pointer): gboolean{.cdecl, + dynlib: gliblib, importc: "g_spawn_command_line_sync".} +proc g_spawn_command_line_async*(command_line: cstring, error: pointer): gboolean{. + cdecl, dynlib: gliblib, importc: "g_spawn_command_line_async".} +proc G_TYPE_IS_BOXED*(theType: GType): gboolean +proc G_VALUE_HOLDS_BOXED*(value: PGValue): gboolean +proc G_TYPE_CLOSURE*(): GType +proc G_TYPE_VALUE*(): GType +proc G_TYPE_VALUE_ARRAY*(): GType +proc G_TYPE_GSTRING*(): GType +proc g_boxed_copy*(boxed_type: GType, src_boxed: gconstpointer): gpointer{. + cdecl, dynlib: gobjectlib, importc: "g_boxed_copy".} +proc g_boxed_free*(boxed_type: GType, boxed: gpointer){.cdecl, + dynlib: gobjectlib, importc: "g_boxed_free".} +proc g_value_set_boxed*(value: PGValue, v_boxed: gconstpointer){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_boxed".} +proc g_value_set_static_boxed*(value: PGValue, v_boxed: gconstpointer){.cdecl, + dynlib: gobjectlib, importc: "g_value_set_static_boxed".} +proc g_value_get_boxed*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_boxed".} +proc g_value_dup_boxed*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, + importc: "g_value_dup_boxed".} +proc g_boxed_type_register_static*(name: cstring, boxed_copy: TGBoxedCopyFunc, + boxed_free: TGBoxedFreeFunc): GType{.cdecl, + dynlib: gobjectlib, importc: "g_boxed_type_register_static".} +proc g_value_set_boxed_take_ownership*(value: PGValue, v_boxed: gconstpointer){. + cdecl, dynlib: gobjectlib, importc: "g_value_set_boxed_take_ownership".} +proc g_closure_get_type*(): GType{.cdecl, dynlib: gobjectlib, + importc: "g_closure_get_type".} +proc g_value_get_type*(): GType{.cdecl, dynlib: gobjectlib, + importc: "g_value_get_type".} +proc g_value_array_get_type*(): GType{.cdecl, dynlib: gobjectlib, + importc: "g_value_array_get_type".} +proc g_gstring_get_type*(): GType{.cdecl, dynlib: gobjectlib, + importc: "g_gstring_get_type".} +type + PGModule* = pointer + TGModuleFlags* = int32 + TGModuleCheckInit* = proc (module: PGModule): cstring{.cdecl.} + TGModuleUnload* = proc (module: PGModule){.cdecl.} + +const + G_MODULE_BIND_LAZY* = 1 shl 0 + G_MODULE_BIND_MASK* = 1 + +proc g_module_supported*(): gboolean{.cdecl, dynlib: gmodulelib, + importc: "g_module_supported".} +proc g_module_open*(file_name: cstring, flags: TGModuleFlags): PGModule{.cdecl, + dynlib: gmodulelib, importc: "g_module_open".} +proc g_module_close*(module: PGModule): gboolean{.cdecl, dynlib: gmodulelib, + importc: "g_module_close".} +proc g_module_make_resident*(module: PGModule){.cdecl, dynlib: gmodulelib, + importc: "g_module_make_resident".} +proc g_module_error*(): cstring{.cdecl, dynlib: gmodulelib, + importc: "g_module_error".} +proc g_module_symbol*(module: PGModule, symbol_name: cstring, symbol: Pgpointer): gboolean{. + cdecl, dynlib: gmodulelib, importc: "g_module_symbol".} +proc g_module_name*(module: PGModule): cstring{.cdecl, dynlib: gmodulelib, + importc: "g_module_name".} +proc g_module_build_path*(directory: cstring, module_name: cstring): cstring{. + cdecl, dynlib: gmodulelib, importc: "g_module_build_path".} +proc g_cclosure_marshal_VOID__VOID*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__VOID".} +proc g_cclosure_marshal_VOID__BOOLEAN*(closure: PGClosure, + return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__BOOLEAN".} +proc g_cclosure_marshal_VOID__CHAR*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__CHAR".} +proc g_cclosure_marshal_VOID__UCHAR*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__UCHAR".} +proc g_cclosure_marshal_VOID__INT*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__INT".} +proc g_cclosure_marshal_VOID__UINT*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__UINT".} +proc g_cclosure_marshal_VOID__LONG*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__LONG".} +proc g_cclosure_marshal_VOID__ULONG*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__ULONG".} +proc g_cclosure_marshal_VOID__ENUM*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__ENUM".} +proc g_cclosure_marshal_VOID__FLAGS*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__FLAGS".} +proc g_cclosure_marshal_VOID__FLOAT*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__FLOAT".} +proc g_cclosure_marshal_VOID__DOUBLE*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__DOUBLE".} +proc g_cclosure_marshal_VOID__STRING*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__STRING".} +proc g_cclosure_marshal_VOID__PARAM*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__PARAM".} +proc g_cclosure_marshal_VOID__BOXED*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__BOXED".} +proc g_cclosure_marshal_VOID__POINTER*(closure: PGClosure, + return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__POINTER".} +proc g_cclosure_marshal_VOID__OBJECT*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__OBJECT".} +proc g_cclosure_marshal_STRING__OBJECT_POINTER*(closure: PGClosure, + return_value: PGValue, n_param_values: GUInt, param_values: PGValue, + invocation_hint: GPointer, marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_STRING__OBJECT_POINTER".} +proc g_cclosure_marshal_VOID__UINT_POINTER*(closure: PGClosure, + return_value: PGValue, n_param_values: GUInt, param_values: PGValue, + invocation_hint: GPointer, marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__UINT_POINTER".} +proc g_cclosure_marshal_BOOLEAN__FLAGS*(closure: PGClosure, + return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gobjectlib, importc: "g_cclosure_marshal_BOOLEAN__FLAGS".} +proc g_cclosure_marshal_BOOL__FLAGS*(closure: PGClosure, return_value: PGValue, + n_param_values: GUInt, + param_values: PGValue, + invocation_hint: GPointer, + marshal_data: GPointer){.cdecl, + dynlib: gliblib, importc: "g_cclosure_marshal_BOOLEAN__FLAGS".} +proc GUINT16_SWAP_LE_BE_CONSTANT*(val: guint16): guint16 = + Result = ((val and 0x00FF'i16) shl 8'i16) or + ((val and 0xFF00'i16) shr 8'i16) + +proc GUINT32_SWAP_LE_BE_CONSTANT*(val: guint32): guint32 = + Result = ((val and 0x000000FF'i32) shl 24'i32) or + ((val and 0x0000FF00'i32) shl 8'i32) or + ((val and 0x00FF0000'i32) shr 8'i32) or + ((val and 0xFF000000'i32) shr 24'i32) + +proc GUINT_TO_POINTER*(i: guint): pointer = + Result = cast[Pointer](TAddress(i)) + +when false: + type + PGArray* = pointer + proc g_array_append_val*(a: PGArray, v: gpointer): PGArray = + result = g_array_append_vals(a, addr(v), 1) + + proc g_array_prepend_val*(a: PGArray, v: gpointer): PGArray = + result = g_array_prepend_vals(a, addr(v), 1) + + proc g_array_insert_val*(a: PGArray, i: guint, v: gpointer): PGArray = + result = g_array_insert_vals(a, i, addr(v), 1) + + proc g_ptr_array_index*(parray: PGPtrArray, index: guint): gpointer = + result = cast[PGPointer](cast[int](parray ^. pdata) + + index * SizeOf(GPointer))^ + + proc G_THREAD_ERROR*(): TGQuark = + result = g_thread_error_quark() + + proc g_mutex_lock*(mutex: PGMutex) = + if g_threads_got_initialized: + g_thread_functions_for_glib_use.mutex_lock(mutex) + + proc g_mutex_trylock*(mutex: PGMutex): gboolean = + if g_threads_got_initialized: + result = g_thread_functions_for_glib_use.mutex_trylock(mutex) + else: + result = true + + proc g_mutex_unlock*(mutex: PGMutex) = + if g_threads_got_initialized: + g_thread_functions_for_glib_use.mutex_unlock(mutex) + + proc g_mutex_free*(mutex: PGMutex) = + if g_threads_got_initialized: + g_thread_functions_for_glib_use.mutex_free(mutex) + + proc g_cond_wait*(cond: PGCond, mutex: PGMutex) = + if g_threads_got_initialized: + g_thread_functions_for_glib_use.cond_wait(cond, mutex) + + proc g_cond_timed_wait*(cond: PGCond, mutex: PGMutex, end_time: PGTimeVal): gboolean = + if g_threads_got_initialized: + result = g_thread_functions_for_glib_use.cond_timed_wait(cond, mutex, + end_time) + else: + result = true + + proc g_thread_supported*(): gboolean = + result = g_threads_got_initialized + + proc g_mutex_new*(): PGMutex = + result = g_thread_functions_for_glib_use.mutex_new() + + proc g_cond_new*(): PGCond = + result = g_thread_functions_for_glib_use.cond_new() + + proc g_cond_signal*(cond: PGCond) = + if g_threads_got_initialized: + g_thread_functions_for_glib_use.cond_signal(cond) + + proc g_cond_broadcast*(cond: PGCond) = + if g_threads_got_initialized: + g_thread_functions_for_glib_use.cond_broadcast(cond) + + proc g_cond_free*(cond: PGCond) = + if g_threads_got_initialized: + g_thread_functions_for_glib_use.cond_free(cond) + + proc g_private_new*(dest: TGDestroyNotify): PGPrivate = + result = g_thread_functions_for_glib_use.private_new(dest) + + proc g_private_get*(private_key: PGPrivate): gpointer = + if g_threads_got_initialized: + result = g_thread_functions_for_glib_use.private_get(private_key) + else: + result = private_key + + proc g_private_set*(private_key: var PGPrivate, data: gpointer) = + if g_threads_got_initialized: + nil + else: + private_key = data + + proc g_thread_yield*() = + if g_threads_got_initialized: + g_thread_functions_for_glib_use.thread_yield + + proc g_thread_create*(func: TGThreadFunc, data: gpointer, joinable: gboolean, + error: pointer): PGThread = + result = g_thread_create_full(func, data, 0, joinable, false, + G_THREAD_PRIORITY_NORMAL, error) + + proc g_static_mutex_get_mutex*(mutex: PPGMutex): PGMutex = + result = g_static_mutex_get_mutex_impl(mutex) + + proc g_static_mutex_lock*(mutex: PGStaticMutex) = + g_mutex_lock(g_static_mutex_get_mutex_impl(PPGMutex(mutex))) + + proc g_static_mutex_trylock*(mutex: PGStaticMutex): gboolean = + result = g_mutex_trylock(g_static_mutex_get_mutex(PPGMutex(mutex))) + + proc g_static_mutex_unlock*(mutex: PGStaticMutex) = + g_mutex_unlock(g_static_mutex_get_mutex_impl(PPGMutex(mutex))) + + proc g_main_new*(is_running: gboolean): PGMainLoop = + result = g_main_loop_new(nil, is_running) + + proc g_main_iteration*(may_block: gboolean): gboolean = + result = g_main_context_iteration(nil, may_block) + + proc g_main_pending*(): gboolean = + result = g_main_context_pending(nil) + + proc g_main_set_poll_func*(func: TGPollFunc) = + g_main_context_set_poll_func(nil, func) + +proc g_slist_next*(slist: PGSList): PGSList = + if slist != nil: + result = slist.next + else: + result = nil + +proc g_new*(bytes_per_struct, n_structs: int): gpointer = + result = g_malloc(n_structs * bytes_per_struct) + +proc g_new0*(bytes_per_struct, n_structs: int): gpointer = + result = g_malloc0(n_structs * bytes_per_struct) + +proc g_renew*(struct_size: int, OldMem: gpointer, n_structs: int): gpointer = + result = g_realloc(OldMem, struct_size * n_structs) + +proc g_chunk_new*(chunk: Pointer): Pointer = + result = g_mem_chunk_alloc(chunk) + +proc g_chunk_new0*(chunk: Pointer): Pointer = + result = g_mem_chunk_alloc0(chunk) + +proc g_chunk_free*(mem_chunk: PGMemChunk, mem: gpointer) = + g_mem_chunk_free(mem_chunk, mem) + +proc g_list_previous*(list: PGList): PGList = + if list != nil: + result = list.prev + else: + result = nil + +proc g_list_next*(list: PGList): PGList = + if list != nil: + result = list.next + else: + result = nil + +proc G_CONVERT_ERROR*(): TGQuark = + result = g_convert_error_quark() + +proc g_datalist_id_set_data*(datalist: PPGData, key_id: TGQuark, data: gpointer) = + g_datalist_id_set_data_full(datalist, key_id, data, TGDestroyNotify(nil)) + +proc g_datalist_id_remove_data*(datalist: PPGData, key_id: TGQuark) = + g_datalist_id_set_data(datalist, key_id, nil) + +proc g_datalist_get_data*(datalist: PPGData, key_str: cstring): PPGData = + result = cast[PPGData](g_datalist_id_get_data(datalist, + g_quark_try_string(key_str))) + +proc g_datalist_set_data_full*(datalist: PPGData, key_str: cstring, + data: gpointer, destroy_func: TGDestroyNotify) = + g_datalist_id_set_data_full(datalist, g_quark_from_string(key_str), data, + destroy_func) + +proc g_datalist_set_data*(datalist: PPGData, key_str: cstring, data: gpointer) = + g_datalist_set_data_full(datalist, key_str, data, nil) + +proc g_datalist_remove_no_notify*(datalist: PPGData, key_str: cstring) = + discard g_datalist_id_remove_no_notify(datalist, g_quark_try_string(key_str)) + +proc g_datalist_remove_data*(datalist: PPGData, key_str: cstring) = + g_datalist_id_set_data(datalist, g_quark_try_string(key_str), nil) + +proc g_dataset_id_set_data*(location: gconstpointer, key_id: TGQuark, + data: gpointer) = + g_dataset_id_set_data_full(location, key_id, data, nil) + +proc g_dataset_id_remove_data*(location: gconstpointer, key_id: TGQuark) = + g_dataset_id_set_data(location, key_id, nil) + +proc g_dataset_get_data*(location: gconstpointer, key_str: cstring): gpointer = + result = g_dataset_id_get_data(location, g_quark_try_string(key_str)) + +proc g_dataset_set_data_full*(location: gconstpointer, key_str: cstring, + data: gpointer, destroy_func: TGDestroyNotify) = + g_dataset_id_set_data_full(location, g_quark_from_string(key_str), data, + destroy_func) + +proc g_dataset_remove_no_notify*(location: gconstpointer, key_str: cstring) = + discard g_dataset_id_remove_no_notify(location, g_quark_try_string(key_str)) + +proc g_dataset_set_data*(location: gconstpointer, key_str: cstring, + data: gpointer) = + g_dataset_set_data_full(location, key_str, data, nil) + +proc g_dataset_remove_data*(location: gconstpointer, key_str: cstring) = + g_dataset_id_set_data(location, g_quark_try_string(key_str), nil) + +proc G_FILE_ERROR*(): TGQuark = + result = g_file_error_quark() + +proc TGHookList_hook_size*(a: var TGHookList): guint = + result = (a.flag0 and bm_TGHookList_hook_size) shr bp_TGHookList_hook_size + +proc TGHookList_set_hook_size*(a: var TGHookList, `hook_size`: guint) = + a.flag0 = a.flag0 or + ((`hook_size` shl bp_TGHookList_hook_size) and bm_TGHookList_hook_size) + +proc TGHookList_is_setup*(a: var TGHookList): guint = + result = (a.flag0 and bm_TGHookList_is_setup) shr bp_TGHookList_is_setup + +proc TGHookList_set_is_setup*(a: var TGHookList, `is_setup`: guint) = + a.flag0 = a.flag0 or + ((`is_setup` shl bp_TGHookList_is_setup) and bm_TGHookList_is_setup) + +proc G_HOOK*(hook: pointer): PGHook = + result = cast[PGHook](hook) + +proc G_HOOK_FLAGS*(hook: PGHook): guint = + result = hook.flags + +proc G_HOOK_ACTIVE*(hook: PGHook): bool = + result = (hook.flags and G_HOOK_FLAG_ACTIVE) != 0'i32 + +proc G_HOOK_IN_CALL*(hook: PGHook): bool = + result = (hook.flags and G_HOOK_FLAG_IN_CALL) != 0'i32 + +proc G_HOOK_IS_VALID*(hook: PGHook): bool = + result = (hook.hook_id != 0) and G_HOOK_ACTIVE(hook) + +proc G_HOOK_IS_UNLINKED*(hook: PGHook): bool = + result = (hook.next == nil) and (hook.prev == nil) and (hook.hook_id == 0) and + (hook.ref_count == 0'i32) + +proc g_hook_append*(hook_list: PGHookList, hook: PGHook) = + g_hook_insert_before(hook_list, nil, hook) + +proc G_IO_CHANNEL_ERROR*(): TGQuark = + result = g_io_channel_error_quark() + +proc TGIOChannel_use_buffer*(a: var TGIOChannel): guint = + result = (a.flag0 and bm_TGIOChannel_use_buffer) shr + bp_TGIOChannel_use_buffer + +proc TGIOChannel_set_use_buffer*(a: var TGIOChannel, `use_buffer`: guint) = + a.flag0 = a.flag0 or + (int16(`use_buffer` shl bp_TGIOChannel_use_buffer) and + bm_TGIOChannel_use_buffer) + +proc TGIOChannel_do_encode*(a: var TGIOChannel): guint = + result = (a.flag0 and bm_TGIOChannel_do_encode) shr + bp_TGIOChannel_do_encode + +proc TGIOChannel_set_do_encode*(a: var TGIOChannel, `do_encode`: guint) = + a.flag0 = a.flag0 or + (int16(`do_encode` shl bp_TGIOChannel_do_encode) and + bm_TGIOChannel_do_encode) + +proc TGIOChannel_close_on_unref*(a: var TGIOChannel): guint = + result = (a.flag0 and bm_TGIOChannel_close_on_unref) shr + bp_TGIOChannel_close_on_unref + +proc TGIOChannel_set_close_on_unref*(a: var TGIOChannel, `close_on_unref`: guint) = + a.flag0 = a.flag0 or + (int16(`close_on_unref` shl bp_TGIOChannel_close_on_unref) and + bm_TGIOChannel_close_on_unref) + +proc TGIOChannel_is_readable*(a: var TGIOChannel): guint = + result = (a.flag0 and bm_TGIOChannel_is_readable) shr + bp_TGIOChannel_is_readable + +proc TGIOChannel_set_is_readable*(a: var TGIOChannel, `is_readable`: guint) = + a.flag0 = a.flag0 or + (int16(`is_readable` shl bp_TGIOChannel_is_readable) and + bm_TGIOChannel_is_readable) + +proc TGIOChannel_is_writeable*(a: var TGIOChannel): guint = + result = (a.flag0 and bm_TGIOChannel_is_writeable) shr + bp_TGIOChannel_is_writeable + +proc TGIOChannel_set_is_writeable*(a: var TGIOChannel, `is_writeable`: guint) = + a.flag0 = a.flag0 or + (int16(`is_writeable` shl bp_TGIOChannel_is_writeable) and + bm_TGIOChannel_is_writeable) + +proc TGIOChannel_is_seekable*(a: var TGIOChannel): guint = + result = (a.flag0 and bm_TGIOChannel_is_seekable) shr + bp_TGIOChannel_is_seekable + +proc TGIOChannel_set_is_seekable*(a: var TGIOChannel, `is_seekable`: guint) = + a.flag0 = a.flag0 or + (int16(`is_seekable` shl bp_TGIOChannel_is_seekable) and + bm_TGIOChannel_is_seekable) + +proc g_utf8_next_char*(p: pguchar): pguchar = + result = cast[pguchar](cast[TAddress](p) + 1) # p + ord((g_utf8_skip + p^ )^ ) + +when false: + proc GLIB_CHECK_VERSION*(major, minor, micro: guint): bool = + result = ((GLIB_MAJOR_VERSION > major) or + ((GLIB_MAJOR_VERSION == major) and (GLIB_MINOR_VERSION > minor)) or + ((GLIB_MAJOR_VERSION == major) and (GLIB_MINOR_VERSION == minor) and + (GLIB_MICRO_VERSION >= micro))) + + proc g_error*(format: cstring) = + g_log(G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, format) + + proc g_message*(format: cstring) = + g_log(G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, format) + + proc g_critical*(format: cstring) = + g_log(G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, format) + + proc g_warning*(format: cstring) = + g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, format) + +proc G_MARKUP_ERROR*(): TGQuark = + result = g_markup_error_quark() + +proc G_NODE_IS_ROOT*(node: PGNode): bool = + result = (node.parent == nil) and (node.next == nil) and (node.prev == nil) + +proc G_NODE_IS_LEAF*(node: PGNode): bool = + result = node.children == nil + +proc g_node_append*(parent: PGNode, node: PGNode): PGNode = + result = g_node_insert_before(parent, nil, node) + +proc g_node_insert_data*(parent: PGNode, position: gint, data: gpointer): PGNode = + result = g_node_insert(parent, position, g_node_new(data)) + +proc g_node_insert_data_before*(parent: PGNode, sibling: PGNode, data: gpointer): PGNode = + result = g_node_insert_before(parent, sibling, g_node_new(data)) + +proc g_node_prepend_data*(parent: PGNode, data: gpointer): PGNode = + result = g_node_prepend(parent, g_node_new(data)) + +proc g_node_append_data*(parent: PGNode, data: gpointer): PGNode = + result = g_node_insert_before(parent, nil, g_node_new(data)) + +proc g_node_prev_sibling*(node: PGNode): PGNode = + if node != nil: + result = node.prev + else: + result = nil + +proc g_node_next_sibling*(node: PGNode): PGNode = + if node != nil: + result = node.next + else: + result = nil + +proc g_node_first_child*(node: PGNode): PGNode = + if node != nil: + result = node.children + else: + result = nil + +proc g_rand_boolean*(rand: PGRand): gboolean = + result = (int(g_rand_int(rand)) and (1 shl 15)) != 0 + +proc g_random_boolean*(): gboolean = + result = (int(g_random_int()) and (1 shl 15)) != 0 + +proc TGScannerConfig_case_sensitive*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_case_sensitive) shr + bp_TGScannerConfig_case_sensitive + +proc TGScannerConfig_set_case_sensitive*(a: var TGScannerConfig, + `case_sensitive`: guint) = + a.flag0 = a.flag0 or + ((`case_sensitive` shl bp_TGScannerConfig_case_sensitive) and + bm_TGScannerConfig_case_sensitive) + +proc TGScannerConfig_skip_comment_multi*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_skip_comment_multi) shr + bp_TGScannerConfig_skip_comment_multi + +proc TGScannerConfig_set_skip_comment_multi*(a: var TGScannerConfig, + `skip_comment_multi`: guint) = + a.flag0 = a.flag0 or + ((`skip_comment_multi` shl bp_TGScannerConfig_skip_comment_multi) and + bm_TGScannerConfig_skip_comment_multi) + +proc TGScannerConfig_skip_comment_single*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_skip_comment_single) shr + bp_TGScannerConfig_skip_comment_single + +proc TGScannerConfig_set_skip_comment_single*(a: var TGScannerConfig, + `skip_comment_single`: guint) = + a.flag0 = a.flag0 or + ((`skip_comment_single` shl bp_TGScannerConfig_skip_comment_single) and + bm_TGScannerConfig_skip_comment_single) + +proc TGScannerConfig_scan_comment_multi*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_comment_multi) shr + bp_TGScannerConfig_scan_comment_multi + +proc TGScannerConfig_set_scan_comment_multi*(a: var TGScannerConfig, + `scan_comment_multi`: guint) = + a.flag0 = a.flag0 or + ((`scan_comment_multi` shl bp_TGScannerConfig_scan_comment_multi) and + bm_TGScannerConfig_scan_comment_multi) + +proc TGScannerConfig_scan_identifier*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_identifier) shr + bp_TGScannerConfig_scan_identifier + +proc TGScannerConfig_set_scan_identifier*(a: var TGScannerConfig, + `scan_identifier`: guint) = + a.flag0 = a.flag0 or + ((`scan_identifier` shl bp_TGScannerConfig_scan_identifier) and + bm_TGScannerConfig_scan_identifier) + +proc TGScannerConfig_scan_identifier_1char*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_identifier_1char) shr + bp_TGScannerConfig_scan_identifier_1char + +proc TGScannerConfig_set_scan_identifier_1char*(a: var TGScannerConfig, + `scan_identifier_1char`: guint) = + a.flag0 = a.flag0 or + ((`scan_identifier_1char` shl bp_TGScannerConfig_scan_identifier_1char) and + bm_TGScannerConfig_scan_identifier_1char) + +proc TGScannerConfig_scan_identifier_NULL*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_identifier_NULL) shr + bp_TGScannerConfig_scan_identifier_NULL + +proc TGScannerConfig_set_scan_identifier_NULL*(a: var TGScannerConfig, + `scan_identifier_NULL`: guint) = + a.flag0 = a.flag0 or + ((`scan_identifier_NULL` shl bp_TGScannerConfig_scan_identifier_NULL) and + bm_TGScannerConfig_scan_identifier_NULL) + +proc TGScannerConfig_scan_symbols*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_symbols) shr + bp_TGScannerConfig_scan_symbols + +proc TGScannerConfig_set_scan_symbols*(a: var TGScannerConfig, + `scan_symbols`: guint) = + a.flag0 = a.flag0 or + ((`scan_symbols` shl bp_TGScannerConfig_scan_symbols) and + bm_TGScannerConfig_scan_symbols) + +proc TGScannerConfig_scan_binary*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_binary) shr + bp_TGScannerConfig_scan_binary + +proc TGScannerConfig_set_scan_binary*(a: var TGScannerConfig, + `scan_binary`: guint) = + a.flag0 = a.flag0 or + ((`scan_binary` shl bp_TGScannerConfig_scan_binary) and + bm_TGScannerConfig_scan_binary) + +proc TGScannerConfig_scan_octal*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_octal) shr + bp_TGScannerConfig_scan_octal + +proc TGScannerConfig_set_scan_octal*(a: var TGScannerConfig, `scan_octal`: guint) = + a.flag0 = a.flag0 or + ((`scan_octal` shl bp_TGScannerConfig_scan_octal) and + bm_TGScannerConfig_scan_octal) + +proc TGScannerConfig_scan_float*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_float) shr + bp_TGScannerConfig_scan_float + +proc TGScannerConfig_set_scan_float*(a: var TGScannerConfig, `scan_float`: guint) = + a.flag0 = a.flag0 or + ((`scan_float` shl bp_TGScannerConfig_scan_float) and + bm_TGScannerConfig_scan_float) + +proc TGScannerConfig_scan_hex*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_hex) shr + bp_TGScannerConfig_scan_hex + +proc TGScannerConfig_set_scan_hex*(a: var TGScannerConfig, `scan_hex`: guint) = + a.flag0 = a.flag0 or + ((`scan_hex` shl bp_TGScannerConfig_scan_hex) and + bm_TGScannerConfig_scan_hex) + +proc TGScannerConfig_scan_hex_dollar*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_hex_dollar) shr + bp_TGScannerConfig_scan_hex_dollar + +proc TGScannerConfig_set_scan_hex_dollar*(a: var TGScannerConfig, + `scan_hex_dollar`: guint) = + a.flag0 = a.flag0 or + ((`scan_hex_dollar` shl bp_TGScannerConfig_scan_hex_dollar) and + bm_TGScannerConfig_scan_hex_dollar) + +proc TGScannerConfig_scan_string_sq*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_string_sq) shr + bp_TGScannerConfig_scan_string_sq + +proc TGScannerConfig_set_scan_string_sq*(a: var TGScannerConfig, + `scan_string_sq`: guint) = + a.flag0 = a.flag0 or + ((`scan_string_sq` shl bp_TGScannerConfig_scan_string_sq) and + bm_TGScannerConfig_scan_string_sq) + +proc TGScannerConfig_scan_string_dq*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scan_string_dq) shr + bp_TGScannerConfig_scan_string_dq + +proc TGScannerConfig_set_scan_string_dq*(a: var TGScannerConfig, + `scan_string_dq`: guint) = + a.flag0 = a.flag0 or + ((`scan_string_dq` shl bp_TGScannerConfig_scan_string_dq) and + bm_TGScannerConfig_scan_string_dq) + +proc TGScannerConfig_numbers_2_int*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_numbers_2_int) shr + bp_TGScannerConfig_numbers_2_int + +proc TGScannerConfig_set_numbers_2_int*(a: var TGScannerConfig, + `numbers_2_int`: guint) = + a.flag0 = a.flag0 or + ((`numbers_2_int` shl bp_TGScannerConfig_numbers_2_int) and + bm_TGScannerConfig_numbers_2_int) + +proc TGScannerConfig_int_2_float*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_int_2_float) shr + bp_TGScannerConfig_int_2_float + +proc TGScannerConfig_set_int_2_float*(a: var TGScannerConfig, + `int_2_float`: guint) = + a.flag0 = a.flag0 or + ((`int_2_float` shl bp_TGScannerConfig_int_2_float) and + bm_TGScannerConfig_int_2_float) + +proc TGScannerConfig_identifier_2_string*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_identifier_2_string) shr + bp_TGScannerConfig_identifier_2_string + +proc TGScannerConfig_set_identifier_2_string*(a: var TGScannerConfig, + `identifier_2_string`: guint) = + a.flag0 = a.flag0 or + ((`identifier_2_string` shl bp_TGScannerConfig_identifier_2_string) and + bm_TGScannerConfig_identifier_2_string) + +proc TGScannerConfig_char_2_token*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_char_2_token) shr + bp_TGScannerConfig_char_2_token + +proc TGScannerConfig_set_char_2_token*(a: var TGScannerConfig, + `char_2_token`: guint) = + a.flag0 = a.flag0 or + ((`char_2_token` shl bp_TGScannerConfig_char_2_token) and + bm_TGScannerConfig_char_2_token) + +proc TGScannerConfig_symbol_2_token*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_symbol_2_token) shr + bp_TGScannerConfig_symbol_2_token + +proc TGScannerConfig_set_symbol_2_token*(a: var TGScannerConfig, + `symbol_2_token`: guint) = + a.flag0 = a.flag0 or + ((`symbol_2_token` shl bp_TGScannerConfig_symbol_2_token) and + bm_TGScannerConfig_symbol_2_token) + +proc TGScannerConfig_scope_0_fallback*(a: var TGScannerConfig): guint = + result = (a.flag0 and bm_TGScannerConfig_scope_0_fallback) shr + bp_TGScannerConfig_scope_0_fallback + +proc TGScannerConfig_set_scope_0_fallback*(a: var TGScannerConfig, + `scope_0_fallback`: guint) = + a.flag0 = a.flag0 or + ((`scope_0_fallback` shl bp_TGScannerConfig_scope_0_fallback) and + bm_TGScannerConfig_scope_0_fallback) + +proc g_scanner_freeze_symbol_table*(scanner: PGScanner) = + if Scanner == nil: nil + +proc g_scanner_thaw_symbol_table*(scanner: PGScanner) = + if Scanner == nil: nil + +proc G_SHELL_ERROR*(): TGQuark = + result = g_shell_error_quark() + +proc G_SPAWN_ERROR*(): TGQuark = + result = g_spawn_error_quark() + +when false: + proc g_ascii_isalnum*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_ALNUM) != 0 + + proc g_ascii_isalpha*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_ALPHA) != 0 + + proc g_ascii_iscntrl*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_CNTRL) != 0 + + proc g_ascii_isdigit*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_DIGIT) != 0 + + proc g_ascii_isgraph*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_GRAPH) != 0 + + proc g_ascii_islower*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_LOWER) != 0 + + proc g_ascii_isprint*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_PRINT) != 0 + + proc g_ascii_ispunct*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_PUNCT) != 0 + + proc g_ascii_isspace*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_SPACE) != 0 + + proc g_ascii_isupper*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_UPPER) != 0 + + proc g_ascii_isxdigit*(c: gchar): bool = + result = ((g_ascii_table[guchar(c)]) and G_ASCII_XDIGIT) != 0 + + proc g_strstrip*(str: cstring): cstring = + result = g_strchomp(g_strchug(str)) + +proc G_TYPE_MAKE_FUNDAMENTAL*(x: int): GType = + result = GType(x shl G_TYPE_FUNDAMENTAL_SHIFT) + +proc G_TYPE_IS_FUNDAMENTAL*(theType: GType): bool = + result = theType <= G_TYPE_FUNDAMENTAL_MAX + +proc G_TYPE_IS_DERIVED*(theType: GType): bool = + result = theType > G_TYPE_FUNDAMENTAL_MAX + +proc G_TYPE_IS_INTERFACE*(theType: GType): bool = + result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_INTERFACE + +proc G_TYPE_IS_CLASSED*(theType: GType): gboolean = + result = private_g_type_test_flags(theType, G_TYPE_FLAG_CLASSED) + +proc G_TYPE_IS_INSTANTIATABLE*(theType: GType): bool = + result = private_g_type_test_flags(theType, G_TYPE_FLAG_INSTANTIATABLE) + +proc G_TYPE_IS_DERIVABLE*(theType: GType): bool = + result = private_g_type_test_flags(theType, G_TYPE_FLAG_DERIVABLE) + +proc G_TYPE_IS_DEEP_DERIVABLE*(theType: GType): bool = + result = private_g_type_test_flags(theType, G_TYPE_FLAG_DEEP_DERIVABLE) + +proc G_TYPE_IS_ABSTRACT*(theType: GType): bool = + result = private_g_type_test_flags(theType, G_TYPE_FLAG_ABSTRACT) + +proc G_TYPE_IS_VALUE_ABSTRACT*(theType: GType): bool = + result = private_g_type_test_flags(theType, G_TYPE_FLAG_VALUE_ABSTRACT) + +proc G_TYPE_IS_VALUE_TYPE*(theType: GType): bool = + result = private_g_type_check_is_value_type(theType) + +proc G_TYPE_HAS_VALUE_TABLE*(theType: GType): bool = + result = (g_type_value_table_peek(theType)) != nil + +proc G_TYPE_CHECK_INSTANCE*(instance: Pointer): gboolean = + result = private_g_type_check_instance(cast[PGTypeInstance](instance)) + +proc G_TYPE_CHECK_INSTANCE_CAST*(instance: Pointer, g_type: GType): PGTypeInstance = + result = cast[PGTypeInstance](private_g_type_check_instance_cast( + cast[PGTypeInstance](instance), g_type)) + +proc G_TYPE_CHECK_INSTANCE_TYPE*(instance: Pointer, g_type: GType): bool = + result = private_g_type_check_instance_is_a(cast[PGTypeInstance](instance), + g_type) + +proc G_TYPE_INSTANCE_GET_CLASS*(instance: Pointer, g_type: GType): PGTypeClass = + result = cast[PGTypeInstance](Instance).g_class + result = private_g_type_check_class_cast(result, g_type) + +proc G_TYPE_INSTANCE_GET_INTERFACE*(instance: Pointer, g_type: GType): Pointer = + result = g_type_interface_peek((cast[PGTypeInstance](instance)).g_class, + g_type) + +proc G_TYPE_CHECK_CLASS_CAST*(g_class: pointer, g_type: GType): Pointer = + result = private_g_type_check_class_cast(cast[PGTypeClass](g_class), g_type) + +proc G_TYPE_CHECK_CLASS_TYPE*(g_class: pointer, g_type: GType): bool = + result = private_g_type_check_class_is_a(cast[PGTypeClass](g_class), g_type) + +proc G_TYPE_CHECK_VALUE*(value: Pointer): bool = + result = private_g_type_check_value(cast[PGValue](Value)) + +proc G_TYPE_CHECK_VALUE_TYPE*(value: pointer, g_type: GType): bool = + result = private_g_type_check_value_holds(cast[PGValue](value), g_type) + +proc G_TYPE_FROM_INSTANCE*(instance: Pointer): GType = + result = G_TYPE_FROM_CLASS((cast[PGTypeInstance](instance)).g_class) + +proc G_TYPE_FROM_CLASS*(g_class: Pointer): GType = + result = (cast[PGTypeClass](g_class)).g_type + +proc G_TYPE_FROM_INTERFACE*(g_iface: Pointer): GType = + result = (cast[PGTypeInterface](g_iface)).g_type + +proc G_TYPE_IS_VALUE*(theType: GType): bool = + result = private_g_type_check_is_value_type(theType) + +proc G_IS_VALUE*(value: Pointer): bool = + result = G_TYPE_CHECK_VALUE(value) + +proc G_VALUE_TYPE*(value: Pointer): GType = + result = (cast[PGValue](value)).g_type + +proc G_VALUE_TYPE_NAME*(value: Pointer): cstring = + result = g_type_name(G_VALUE_TYPE(value)) + +proc G_VALUE_HOLDS*(value: pointer, g_type: GType): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, g_type) + +proc G_TYPE_IS_PARAM*(theType: GType): bool = + result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_PARAM + +proc G_PARAM_SPEC*(pspec: Pointer): PGParamSpec = + result = cast[PGParamSpec](G_TYPE_CHECK_INSTANCE_CAST(pspec, G_TYPE_PARAM)) + +proc G_IS_PARAM_SPEC*(pspec: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(pspec, G_TYPE_PARAM) + +proc G_PARAM_SPEC_CLASS*(pclass: Pointer): PGParamSpecClass = + result = cast[PGParamSpecClass](G_TYPE_CHECK_CLASS_CAST(pclass, G_TYPE_PARAM)) + +proc G_IS_PARAM_SPEC_CLASS*(pclass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(pclass, G_TYPE_PARAM) + +proc G_PARAM_SPEC_GET_CLASS*(pspec: Pointer): PGParamSpecClass = + result = cast[PGParamSpecClass](G_TYPE_INSTANCE_GET_CLASS(pspec, G_TYPE_PARAM)) + +proc G_PARAM_SPEC_TYPE*(pspec: Pointer): GType = + result = G_TYPE_FROM_INSTANCE(pspec) + +proc G_PARAM_SPEC_TYPE_NAME*(pspec: Pointer): cstring = + result = g_type_name(G_PARAM_SPEC_TYPE(pspec)) + +proc G_PARAM_SPEC_VALUE_TYPE*(pspec: Pointer): GType = + result = (G_PARAM_SPEC(pspec)).value_type + +proc G_VALUE_HOLDS_PARAM*(value: Pointer): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_PARAM) + +proc G_CLOSURE_NEEDS_MARSHAL*(closure: Pointer): bool = + result = cast[PGClosure](closure).marshal == nil + +proc G_CLOSURE_N_NOTIFIERS*(cl: PGClosure): int32 = + result = ((meta_marshal(cl) + ((n_guards(cl)) shl 1'i32)) + + (n_fnotifiers(cl))) + (n_inotifiers(cl)) + +proc G_CCLOSURE_SWAP_DATA*(cclosure: PGClosure): int32 = + result = derivative_flag(cclosure) + +proc G_CALLBACK*(f: pointer): TGCallback = + result = cast[TGCallback](f) + +proc ref_count*(a: var TGClosure): guint = + result = (a.flag0 and bm_TGClosure_ref_count) shr bp_TGClosure_ref_count + +proc set_ref_count*(a: var TGClosure, `ref_count`: guint) = + a.flag0 = a.flag0 or + ((`ref_count` shl bp_TGClosure_ref_count) and bm_TGClosure_ref_count) + +proc meta_marshal*(a: PGClosure): guint = + result = (a.flag0 and bm_TGClosure_meta_marshal) shr + bp_TGClosure_meta_marshal + +proc set_meta_marshal*(a: var TGClosure, `meta_marshal`: guint) = + a.flag0 = a.flag0 or + ((`meta_marshal` shl bp_TGClosure_meta_marshal) and + bm_TGClosure_meta_marshal) + +proc n_guards*(a: PGClosure): guint = + result = (a.flag0 and bm_TGClosure_n_guards) shr bp_TGClosure_n_guards + +proc set_n_guards*(a: var TGClosure, `n_guards`: guint) = + a.flag0 = a.flag0 or + ((`n_guards` shl bp_TGClosure_n_guards) and bm_TGClosure_n_guards) + +proc n_fnotifiers*(a: PGClosure): guint = + result = (a.flag0 and bm_TGClosure_n_fnotifiers) shr + bp_TGClosure_n_fnotifiers + +proc set_n_fnotifiers*(a: var TGClosure, `n_fnotifiers`: guint) = + a.flag0 = a.flag0 or + ((`n_fnotifiers` shl bp_TGClosure_n_fnotifiers) and + bm_TGClosure_n_fnotifiers) + +proc n_inotifiers*(a: PGClosure): guint = + result = (a.flag0 and bm_TGClosure_n_inotifiers) shr + bp_TGClosure_n_inotifiers + +proc set_n_inotifiers*(a: var TGClosure, `n_inotifiers`: guint) = + a.flag0 = a.flag0 or + ((`n_inotifiers` shl bp_TGClosure_n_inotifiers) and + bm_TGClosure_n_inotifiers) + +proc in_inotify*(a: var TGClosure): guint = + result = (a.flag0 and bm_TGClosure_in_inotify) shr bp_TGClosure_in_inotify + +proc set_in_inotify*(a: var TGClosure, `in_inotify`: guint) = + a.flag0 = a.flag0 or + ((`in_inotify` shl bp_TGClosure_in_inotify) and bm_TGClosure_in_inotify) + +proc floating*(a: var TGClosure): guint = + result = (a.flag0 and bm_TGClosure_floating) shr bp_TGClosure_floating + +proc set_floating*(a: var TGClosure, `floating`: guint) = + a.flag0 = a.flag0 or + ((`floating` shl bp_TGClosure_floating) and bm_TGClosure_floating) + +proc derivative_flag*(a: PGClosure): guint = + result = (a.flag0 and bm_TGClosure_derivative_flag) shr + bp_TGClosure_derivative_flag + +proc set_derivative_flag*(a: var TGClosure, `derivative_flag`: guint) = + a.flag0 = a.flag0 or + ((`derivative_flag` shl bp_TGClosure_derivative_flag) and + bm_TGClosure_derivative_flag) + +proc in_marshal*(a: var TGClosure): guint = + result = (a.flag0 and bm_TGClosure_in_marshal) shr bp_TGClosure_in_marshal + +proc set_in_marshal*(a: var TGClosure, in_marshal: guint) = + a.flag0 = a.flag0 or + ((in_marshal shl bp_TGClosure_in_marshal) and bm_TGClosure_in_marshal) + +proc is_invalid*(a: var TGClosure): guint = + result = (a.flag0 and bm_TGClosure_is_invalid) shr bp_TGClosure_is_invalid + +proc set_is_invalid*(a: var TGClosure, is_invalid: guint) = + a.flag0 = a.flag0 or + ((is_invalid shl bp_TGClosure_is_invalid) and bm_TGClosure_is_invalid) + +proc g_signal_connect*(instance: gpointer, detailed_signal: cstring, + c_handler: TGCallback, data: gpointer): gulong = + result = g_signal_connect_data(instance, detailed_signal, c_handler, data, + nil, TGConnectFlags(0)) + +proc g_signal_connect_after*(instance: gpointer, detailed_signal: cstring, + c_handler: TGCallback, data: gpointer): gulong = + result = g_signal_connect_data(instance, detailed_signal, c_handler, data, + nil, G_CONNECT_AFTER) + +proc g_signal_connect_swapped*(instance: gpointer, detailed_signal: cstring, + c_handler: TGCallback, data: gpointer): gulong = + result = g_signal_connect_data(instance, detailed_signal, c_handler, data, + nil, G_CONNECT_SWAPPED) + +proc g_signal_handlers_disconnect_by_func*(instance: gpointer, + func, data: gpointer): guint = + result = g_signal_handlers_disconnect_matched(instance, + TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0, 0, nil, + func, data) + +proc g_signal_handlers_block_by_func*(instance: gpointer, func, data: gpointer) = + discard g_signal_handlers_block_matched(instance, + TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0, 0, nil, + func, data) + +proc g_signal_handlers_unblock_by_func*(instance: gpointer, func, data: gpointer) = + discard g_signal_handlers_unblock_matched(instance, + TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0, 0, nil, + func, data) + +proc G_TYPE_IS_OBJECT*(theType: GType): bool = + result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_OBJECT + +proc G_OBJECT*(anObject: pointer): PGObject = + result = cast[PGObject](G_TYPE_CHECK_INSTANCE_CAST(anObject, G_TYPE_OBJECT)) + +proc G_OBJECT_CLASS*(class: Pointer): PGObjectClass = + result = cast[PGObjectClass](G_TYPE_CHECK_CLASS_CAST(class, G_TYPE_OBJECT)) + +proc G_IS_OBJECT*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, G_TYPE_OBJECT) + +proc G_IS_OBJECT_CLASS*(class: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(class, G_TYPE_OBJECT) + +proc G_OBJECT_GET_CLASS*(anObject: pointer): PGObjectClass = + result = cast[PGObjectClass](G_TYPE_INSTANCE_GET_CLASS(anObject, G_TYPE_OBJECT)) + +proc G_OBJECT_TYPE*(anObject: pointer): GType = + result = G_TYPE_FROM_INSTANCE(anObject) + +proc G_OBJECT_TYPE_NAME*(anObject: pointer): cstring = + result = g_type_name(G_OBJECT_TYPE(anObject)) + +proc G_OBJECT_CLASS_TYPE*(class: Pointer): GType = + result = G_TYPE_FROM_CLASS(class) + +proc G_OBJECT_CLASS_NAME*(class: Pointer): cstring = + result = g_type_name(G_OBJECT_CLASS_TYPE(class)) + +proc G_VALUE_HOLDS_OBJECT*(value: Pointer): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_OBJECT) + +proc G_OBJECT_WARN_INVALID_PROPERTY_ID*(anObject: gpointer, property_id: gint, + pspec: gpointer) = + G_OBJECT_WARN_INVALID_PSPEC(anObject, "property", property_id, pspec) + +proc G_OBJECT_WARN_INVALID_PSPEC*(anObject: gpointer, pname: cstring, + property_id: gint, pspec: gpointer) = + var + theObject: PGObject + pspec2: PGParamSpec + property_id: guint + theObject = cast[PGObject](anObject) + pspec2 = cast[PGParamSpec](pspec) + property_id = (property_id) + write(stdout, "invalid thingy\x0A") + #g_warning("%s: invalid %s id %u for \"%s\" of type `%s\' in `%s\'", "", pname, + # `property_id`, `pspec` . name, + # g_type_name(G_PARAM_SPEC_TYPE(`pspec`)), + # G_OBJECT_TYPE_NAME(theobject)) + +proc G_TYPE_TYPE_PLUGIN*(): GType = + result = g_type_plugin_get_type() + +proc G_TYPE_PLUGIN*(inst: Pointer): PGTypePlugin = + result = PGTypePlugin(G_TYPE_CHECK_INSTANCE_CAST(inst, G_TYPE_TYPE_PLUGIN())) + +proc G_TYPE_PLUGIN_CLASS*(vtable: Pointer): PGTypePluginClass = + result = cast[PGTypePluginClass](G_TYPE_CHECK_CLASS_CAST(vtable, + G_TYPE_TYPE_PLUGIN())) + +proc G_IS_TYPE_PLUGIN*(inst: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(inst, G_TYPE_TYPE_PLUGIN()) + +proc G_IS_TYPE_PLUGIN_CLASS*(vtable: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(vtable, G_TYPE_TYPE_PLUGIN()) + +proc G_TYPE_PLUGIN_GET_CLASS*(inst: Pointer): PGTypePluginClass = + result = cast[PGTypePluginClass](G_TYPE_INSTANCE_GET_INTERFACE(inst, + G_TYPE_TYPE_PLUGIN())) + +proc G_TYPE_IS_ENUM*(theType: GType): gboolean = + result = (G_TYPE_FUNDAMENTAL(theType) == G_TYPE_ENUM) + +proc G_ENUM_CLASS*(class: pointer): PGEnumClass = + result = cast[PGEnumClass](G_TYPE_CHECK_CLASS_CAST(class, G_TYPE_ENUM)) + +proc G_IS_ENUM_CLASS*(class: pointer): gboolean = + result = G_TYPE_CHECK_CLASS_TYPE(class, G_TYPE_ENUM) + +proc G_ENUM_CLASS_TYPE*(class: pointer): GType = + result = G_TYPE_FROM_CLASS(class) + +proc G_ENUM_CLASS_TYPE_NAME*(class: pointer): cstring = + result = g_type_name(G_ENUM_CLASS_TYPE(class)) + +proc G_TYPE_IS_FLAGS*(theType: GType): gboolean = + result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_FLAGS + +proc G_FLAGS_CLASS*(class: pointer): PGFlagsClass = + result = cast[PGFlagsClass](G_TYPE_CHECK_CLASS_CAST(class, G_TYPE_FLAGS)) + +proc G_IS_FLAGS_CLASS*(class: pointer): gboolean = + result = G_TYPE_CHECK_CLASS_TYPE(class, G_TYPE_FLAGS) + +proc G_FLAGS_CLASS_TYPE*(class: pointer): GType = + result = G_TYPE_FROM_CLASS(class) + +proc G_FLAGS_CLASS_TYPE_NAME*(class: pointer): cstring = + result = g_type_name(G_FLAGS_TYPE(cast[TAddress](class))) + +proc G_VALUE_HOLDS_ENUM*(value: pointer): gboolean = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_ENUM) + +proc G_VALUE_HOLDS_FLAGS*(value: pointer): gboolean = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_FLAGS) + +proc CLAMP*(x, MinX, MaxX: int): int = + if x < MinX: + result = MinX + elif x > MaxX: + result = MaxX + else: + result = x + +proc GPOINTER_TO_SIZE*(p: GPointer): GSize = + result = GSize(cast[TAddress](p)) + +proc GSIZE_TO_POINTER*(s: GSize): GPointer = + result = cast[GPointer](s) + +proc G_VALUE_HOLDS_CHAR*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_CHAR) + +proc G_VALUE_HOLDS_UCHAR*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_UCHAR) + +proc G_VALUE_HOLDS_BOOLEAN*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_BOOLEAN) + +proc G_VALUE_HOLDS_INT*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_INT) + +proc G_VALUE_HOLDS_UINT*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_UINT) + +proc G_VALUE_HOLDS_LONG*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_LONG) + +proc G_VALUE_HOLDS_ULONG*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_ULONG) + +proc G_VALUE_HOLDS_INT64*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_INT64) + +proc G_VALUE_HOLDS_UINT64*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_UINT64) + +proc G_VALUE_HOLDS_FLOAT*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_FLOAT) + +proc G_VALUE_HOLDS_DOUBLE*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_DOUBLE) + +proc G_VALUE_HOLDS_STRING*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_STRING) + +proc G_VALUE_HOLDS_POINTER*(value: PGValue): bool = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_POINTER) + +proc G_TYPE_IS_BOXED*(theType: GType): gboolean = + result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_BOXED + +proc G_VALUE_HOLDS_BOXED*(value: PGValue): gboolean = + result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_BOXED) + +proc G_TYPE_CLOSURE*(): GType = + result = g_closure_get_type() + +proc G_TYPE_VALUE*(): GType = + result = g_value_get_type() + +proc G_TYPE_VALUE_ARRAY*(): GType = + result = g_value_array_get_type() + +proc G_TYPE_GSTRING*(): GType = + result = g_gstring_get_type() diff --git a/lib/newwrap/gtk/gtk2.nim b/lib/newwrap/gtk/gtk2.nim new file mode 100644 index 000000000..3c1eed666 --- /dev/null +++ b/lib/newwrap/gtk/gtk2.nim @@ -0,0 +1,16883 @@ +{.deadCodeElim: on.} +import + glib2, atk, pango, gdk2pixbuf, gdk2 + +when defined(win32): + const + lib = "libgtk-win32-2.0-0.dll" +elif defined(darwin): + const + lib = "gtk-x11-2.0" + # linklib gtk-x11-2.0 + # linklib gdk-x11-2.0 + # linklib pango-1.0.0 + # linklib glib-2.0.0 + # linklib gobject-2.0.0 + # linklib gdk_pixbuf-2.0.0 + # linklib atk-1.0.0 +else: + const + lib = "libgtk-x11-2.0.so" +type + PPPchar* = PPPgchar + +const + MAX_COMPOSE_LEN* = 7 + +type + PObject* = ptr TObject + PPGtkObject* = ptr PObject + PArg* = ptr TArg + PType* = ptr TType + TType* = GType + PWidget* = ptr TWidget + PMisc* = ptr TMisc + PLabel* = ptr TLabel + PMenu* = ptr TMenu + PAnchorType* = ptr TAnchorType + TAnchorType* = int32 + PArrowType* = ptr TArrowType + TArrowType* = int32 + PAttachOptions* = ptr TAttachOptions + TAttachOptions* = int32 + PButtonBoxStyle* = ptr TButtonBoxStyle + TButtonBoxStyle* = int32 + PCurveType* = ptr TCurveType + TCurveType* = int32 + PDeleteType* = ptr TDeleteType + TDeleteType* = int32 + PDirectionType* = ptr TDirectionType + TDirectionType* = int32 + PExpanderStyle* = ptr TExpanderStyle + TExpanderStyle* = int32 + PPGtkIconSize* = ptr PIconSize + PIconSize* = ptr TIconSize + TIconSize* = int32 + PTextDirection* = ptr TTextDirection + TTextDirection* = int32 + PJustification* = ptr TJustification + TJustification* = int32 + PMenuDirectionType* = ptr TMenuDirectionType + TMenuDirectionType* = int32 + PMetricType* = ptr TMetricType + TMetricType* = int32 + PMovementStep* = ptr TMovementStep + TMovementStep* = int32 + POrientation* = ptr TOrientation + TOrientation* = int32 + PCornerType* = ptr TCornerType + TCornerType* = int32 + PPackType* = ptr TPackType + TPackType* = int32 + PPathPriorityType* = ptr TPathPriorityType + TPathPriorityType* = int32 + PPathType* = ptr TPathType + TPathType* = int32 + PPolicyType* = ptr TPolicyType + TPolicyType* = int32 + PPositionType* = ptr TPositionType + TPositionType* = int32 + PReliefStyle* = ptr TReliefStyle + TReliefStyle* = int32 + PResizeMode* = ptr TResizeMode + TResizeMode* = int32 + PScrollType* = ptr TScrollType + TScrollType* = int32 + PSelectionMode* = ptr TSelectionMode + TSelectionMode* = int32 + PShadowType* = ptr TShadowType + TShadowType* = int32 + PStateType* = ptr TStateType + TStateType* = int32 + PSubmenuDirection* = ptr TSubmenuDirection + TSubmenuDirection* = int32 + PSubmenuPlacement* = ptr TSubmenuPlacement + TSubmenuPlacement* = int32 + PToolbarStyle* = ptr TToolbarStyle + TToolbarStyle* = int32 + PUpdateType* = ptr TUpdateType + TUpdateType* = int32 + PVisibility* = ptr TVisibility + TVisibility* = int32 + PWindowPosition* = ptr TWindowPosition + TWindowPosition* = int32 + PWindowType* = ptr TWindowType + TWindowType* = int32 + PWrapMode* = ptr TWrapMode + TWrapMode* = int32 + PSortType* = ptr TSortType + TSortType* = int32 + PStyle* = ptr TStyle + PPGtkTreeModel* = ptr PTreeModel + PTreeModel* = pointer + PTreePath* = pointer + PTreeIter* = ptr TTreeIter + PSelectionData* = ptr TSelectionData + PTextTagTable* = ptr TTextTagTable + PTextBTreeNode* = pointer + PTextBTree* = pointer + PTextLine* = ptr TTextLine + PTreeViewColumn* = ptr TTreeViewColumn + PTreeView* = ptr TTreeView + TTreeViewColumnDropFunc* = proc (tree_view: PTreeView, + column: PTreeViewColumn, + prev_column: PTreeViewColumn, + next_column: PTreeViewColumn, data: gpointer): gboolean{. + cdecl.} + TTreeViewMappingFunc* = proc (tree_view: PTreeView, path: PTreePath, + user_data: gpointer){.cdecl.} + TTreeViewSearchEqualFunc* = proc (model: PTreeModel, column: gint, + key: cstring, iter: PTreeIter, + search_data: gpointer): gboolean{.cdecl.} + TTreeDestroyCountFunc* = proc (tree_view: PTreeView, path: PTreePath, + children: gint, user_data: gpointer){.cdecl.} + PTreeViewDropPosition* = ptr TTreeViewDropPosition + TTreeViewDropPosition* = enum + TREE_VIEW_DROP_BEFORE, TREE_VIEW_DROP_AFTER, TREE_VIEW_DROP_INTO_OR_BEFORE, + TREE_VIEW_DROP_INTO_OR_AFTER + PObjectFlags* = ptr TObjectFlags + TObjectFlags* = int32 + TObject* = object of TGObject + flags*: guint32 + + PObjectClass* = ptr TObjectClass + TObjectClass* = object of TGObjectClass + set_arg*: proc (anObject: PObject, arg: PArg, arg_id: guint){.cdecl.} + get_arg*: proc (anObject: PObject, arg: PArg, arg_id: guint){.cdecl.} + destroy*: proc (anObject: PObject){.cdecl.} + + PFundamentalType* = ptr TFundamentalType + TFundamentalType* = GType + TFunction* = proc (data: gpointer): gboolean{.cdecl.} + TDestroyNotify* = proc (data: gpointer){.cdecl.} + TCallbackMarshal* = proc (anObject: PObject, data: gpointer, n_args: guint, + args: PArg){.cdecl.} + TSignalFuncProc* = proc () + TSignalFunc* = proc (para1: TSignalFuncProc){.cdecl.} + PSignalMarshaller* = ptr TSignalMarshaller + TSignalMarshaller* = TGSignalCMarshaller + TArgSignalData*{.final, pure.} = object + f*: TSignalFunc + d*: gpointer + + TArg*{.final, pure.} = object + `type`*: TType + name*: cstring + d*: gdouble # was a union type + + PTypeInfo* = ptr TTypeInfo + TTypeInfo*{.final, pure.} = object + type_name*: cstring + object_size*: guint + class_size*: guint + class_init_func*: pointer #TGtkClassInitFunc + object_init_func*: pointer #TGtkObjectInitFunc + reserved_1*: gpointer + reserved_2*: gpointer + base_class_init_func*: pointer #TGtkClassInitFunc + + PEnumValue* = ptr TEnumValue + TEnumValue* = TGEnumValue + PFlagValue* = ptr TFlagValue + TFlagValue* = TGFlagsValue + PWidgetFlags* = ptr TWidgetFlags + TWidgetFlags* = int32 + PWidgetHelpType* = ptr TWidgetHelpType + TWidgetHelpType* = enum + WIDGET_HELP_TOOLTIP, WIDGET_HELP_WHATS_THIS + PAllocation* = ptr TAllocation + TAllocation* = TGdkRectangle + TCallback* = proc (widget: PWidget, data: gpointer){.cdecl.} + PRequisition* = ptr TRequisition + TRequisition*{.final, pure.} = object + width*: gint + height*: gint + + TWidget* = object of TObject + private_flags*: guint16 + state*: guint8 + saved_state*: guint8 + name*: cstring + style*: PStyle + requisition*: TRequisition + allocation*: TAllocation + window*: PGdkWindow + parent*: PWidget + + PWidgetClass* = ptr TWidgetClass + TWidgetClass* = object of TObjectClass + activate_signal*: guint + set_scroll_adjustments_signal*: guint + dispatch_child_properties_changed*: proc (widget: PWidget, n_pspecs: guint, + pspecs: PPGParamSpec){.cdecl.} + show*: proc (widget: PWidget){.cdecl.} + show_all*: proc (widget: PWidget){.cdecl.} + hide*: proc (widget: PWidget){.cdecl.} + hide_all*: proc (widget: PWidget){.cdecl.} + map*: proc (widget: PWidget){.cdecl.} + unmap*: proc (widget: PWidget){.cdecl.} + realize*: proc (widget: PWidget){.cdecl.} + unrealize*: proc (widget: PWidget){.cdecl.} + size_request*: proc (widget: PWidget, requisition: PRequisition){.cdecl.} + size_allocate*: proc (widget: PWidget, allocation: PAllocation){.cdecl.} + state_changed*: proc (widget: PWidget, previous_state: TStateType){.cdecl.} + parent_set*: proc (widget: PWidget, previous_parent: PWidget){.cdecl.} + hierarchy_changed*: proc (widget: PWidget, previous_toplevel: PWidget){. + cdecl.} + style_set*: proc (widget: PWidget, previous_style: PStyle){.cdecl.} + direction_changed*: proc (widget: PWidget, + previous_direction: TTextDirection){.cdecl.} + grab_notify*: proc (widget: PWidget, was_grabbed: gboolean){.cdecl.} + child_notify*: proc (widget: PWidget, pspec: PGParamSpec){.cdecl.} + mnemonic_activate*: proc (widget: PWidget, group_cycling: gboolean): gboolean{. + cdecl.} + grab_focus*: proc (widget: PWidget){.cdecl.} + focus*: proc (widget: PWidget, direction: TDirectionType): gboolean{.cdecl.} + event*: proc (widget: PWidget, event: PGdkEvent): gboolean{.cdecl.} + button_press_event*: proc (widget: PWidget, event: PGdkEventButton): gboolean{. + cdecl.} + button_release_event*: proc (widget: PWidget, event: PGdkEventButton): gboolean{. + cdecl.} + scroll_event*: proc (widget: PWidget, event: PGdkEventScroll): gboolean{. + cdecl.} + motion_notify_event*: proc (widget: PWidget, event: PGdkEventMotion): gboolean{. + cdecl.} + delete_event*: proc (widget: PWidget, event: PGdkEventAny): gboolean{.cdecl.} + destroy_event*: proc (widget: PWidget, event: PGdkEventAny): gboolean{.cdecl.} + expose_event*: proc (widget: PWidget, event: PGdkEventExpose): gboolean{. + cdecl.} + key_press_event*: proc (widget: PWidget, event: PGdkEventKey): gboolean{. + cdecl.} + key_release_event*: proc (widget: PWidget, event: PGdkEventKey): gboolean{. + cdecl.} + enter_notify_event*: proc (widget: PWidget, event: PGdkEventCrossing): gboolean{. + cdecl.} + leave_notify_event*: proc (widget: PWidget, event: PGdkEventCrossing): gboolean{. + cdecl.} + configure_event*: proc (widget: PWidget, event: PGdkEventConfigure): gboolean{. + cdecl.} + focus_in_event*: proc (widget: PWidget, event: PGdkEventFocus): gboolean{. + cdecl.} + focus_out_event*: proc (widget: PWidget, event: PGdkEventFocus): gboolean{. + cdecl.} + map_event*: proc (widget: PWidget, event: PGdkEventAny): gboolean{.cdecl.} + unmap_event*: proc (widget: PWidget, event: PGdkEventAny): gboolean{.cdecl.} + property_notify_event*: proc (widget: PWidget, event: PGdkEventProperty): gboolean{. + cdecl.} + selection_clear_event*: proc (widget: PWidget, event: PGdkEventSelection): gboolean{. + cdecl.} + selection_request_event*: proc (widget: PWidget, event: PGdkEventSelection): gboolean{. + cdecl.} + selection_notify_event*: proc (widget: PWidget, event: PGdkEventSelection): gboolean{. + cdecl.} + proximity_in_event*: proc (widget: PWidget, event: PGdkEventProximity): gboolean{. + cdecl.} + proximity_out_event*: proc (widget: PWidget, event: PGdkEventProximity): gboolean{. + cdecl.} + visibility_notify_event*: proc (widget: PWidget, event: PGdkEventVisibility): gboolean{. + cdecl.} + client_event*: proc (widget: PWidget, event: PGdkEventClient): gboolean{. + cdecl.} + no_expose_event*: proc (widget: PWidget, event: PGdkEventAny): gboolean{. + cdecl.} + window_state_event*: proc (widget: PWidget, event: PGdkEventWindowState): gboolean{. + cdecl.} + selection_get*: proc (widget: PWidget, selection_data: PSelectionData, + info: guint, time: guint){.cdecl.} + selection_received*: proc (widget: PWidget, selection_data: PSelectionData, + time: guint){.cdecl.} + drag_begin*: proc (widget: PWidget, context: PGdkDragContext){.cdecl.} + drag_end*: proc (widget: PWidget, context: PGdkDragContext){.cdecl.} + drag_data_get*: proc (widget: PWidget, context: PGdkDragContext, + selection_data: PSelectionData, info: guint, + time: guint){.cdecl.} + drag_data_delete*: proc (widget: PWidget, context: PGdkDragContext){.cdecl.} + drag_leave*: proc (widget: PWidget, context: PGdkDragContext, time: guint){. + cdecl.} + drag_motion*: proc (widget: PWidget, context: PGdkDragContext, x: gint, + y: gint, time: guint): gboolean{.cdecl.} + drag_drop*: proc (widget: PWidget, context: PGdkDragContext, x: gint, + y: gint, time: guint): gboolean{.cdecl.} + drag_data_received*: proc (widget: PWidget, context: PGdkDragContext, + x: gint, y: gint, selection_data: PSelectionData, + info: guint, time: guint){.cdecl.} + popup_menu*: proc (widget: PWidget): gboolean{.cdecl.} + show_help*: proc (widget: PWidget, help_type: TWidgetHelpType): gboolean{. + cdecl.} + get_accessible*: proc (widget: PWidget): PAtkObject{.cdecl.} + reserved1: proc (){.cdecl.} + reserved2: proc (){.cdecl.} + reserved3: proc (){.cdecl.} + reserved4: proc (){.cdecl.} + reserved5*: proc (){.cdecl.} + reserved6*: proc (){.cdecl.} + reserved7*: proc (){.cdecl.} + reserved8*: proc (){.cdecl.} + + PWidgetAuxInfo* = ptr TWidgetAuxInfo + TWidgetAuxInfo*{.final, pure.} = object + x*: gint + y*: gint + width*: gint + height*: gint + flag0*: guint16 + + PWidgetShapeInfo* = ptr TWidgetShapeInfo + TWidgetShapeInfo*{.final, pure.} = object + offset_x*: gint16 + offset_y*: gint16 + shape_mask*: PGdkBitmap + + TMisc* = object of TWidget + xalign*: gfloat + yalign*: gfloat + xpad*: guint16 + ypad*: guint16 + + PMiscClass* = ptr TMiscClass + TMiscClass* = object of TWidgetClass + PAccelFlags* = ptr TAccelFlags + TAccelFlags* = int32 + PAccelGroup* = ptr TAccelGroup + PAccelGroupEntry* = ptr TAccelGroupEntry + TAccelGroupActivate* = proc (accel_group: PAccelGroup, + acceleratable: PGObject, keyval: guint, + modifier: TGdkModifierType): gboolean{.cdecl.} + TAccelGroup* = object of TGObject + lock_count*: guint + modifier_mask*: TGdkModifierType + acceleratables*: PGSList + n_accels*: guint + priv_accels*: PAccelGroupEntry + + PAccelGroupClass* = ptr TAccelGroupClass + TAccelGroupClass* = object of TGObjectClass + accel_changed*: proc (accel_group: PAccelGroup, keyval: guint, + modifier: TGdkModifierType, accel_closure: PGClosure){. + cdecl.} + reserved1: proc (){.cdecl.} + reserved2: proc (){.cdecl.} + reserved3: proc (){.cdecl.} + reserved4: proc (){.cdecl.} + + PAccelKey* = ptr TAccelKey + TAccelKey*{.final, pure.} = object + accel_key*: guint + accel_mods*: TGdkModifierType + flag0*: guint16 + + TAccelGroupEntry*{.final, pure.} = object + key*: TAccelKey + closure*: PGClosure + accel_path_quark*: TGQuark + + Taccel_group_find_func* = proc (key: PAccelKey, closure: PGClosure, + data: gpointer): gboolean{.cdecl.} + PContainer* = ptr TContainer + TContainer* = object of TWidget + focus_child*: PWidget + Container_flag0*: int32 + + PContainerClass* = ptr TContainerClass + TContainerClass* = object of TWidgetClass + add*: proc (container: PContainer, widget: PWidget){.cdecl.} + remove*: proc (container: PContainer, widget: PWidget){.cdecl.} + check_resize*: proc (container: PContainer){.cdecl.} + forall*: proc (container: PContainer, include_internals: gboolean, + callback: TCallback, callback_data: gpointer){.cdecl.} + set_focus_child*: proc (container: PContainer, widget: PWidget){.cdecl.} + child_type*: proc (container: PContainer): TType{.cdecl.} + composite_name*: proc (container: PContainer, child: PWidget): cstring{. + cdecl.} + set_child_property*: proc (container: PContainer, child: PWidget, + property_id: guint, value: PGValue, + pspec: PGParamSpec){.cdecl.} + get_child_property*: proc (container: PContainer, child: PWidget, + property_id: guint, value: PGValue, + pspec: PGParamSpec){.cdecl.} + reserved20: proc (){.cdecl.} + reserved21: proc (){.cdecl.} + reserved23: proc (){.cdecl.} + reserved24: proc (){.cdecl.} + + PBin* = ptr TBin + TBin* = object of TContainer + child*: PWidget + + PBinClass* = ptr TBinClass + TBinClass* = object of TContainerClass + PWindowGeometryInfo* = pointer + PWindowGroup* = ptr TWindowGroup + PWindow* = ptr TWindow + TWindow* = object of TBin + title*: cstring + wmclass_name*: cstring + wmclass_class*: cstring + wm_role*: cstring + focus_widget*: PWidget + default_widget*: PWidget + transient_parent*: PWindow + geometry_info*: PWindowGeometryInfo + frame*: PGdkWindow + group*: PWindowGroup + configure_request_count*: guint16 + window_flag0*: int32 + frame_left*: guint + frame_top*: guint + frame_right*: guint + frame_bottom*: guint + keys_changed_handler*: guint + mnemonic_modifier*: TGdkModifierType + screen*: PGdkScreen + + PWindowClass* = ptr TWindowClass + TWindowClass* = object of TBinClass + set_focus*: proc (window: PWindow, focus: PWidget){.cdecl.} + frame_event*: proc (window: PWindow, event: PGdkEvent): gboolean{.cdecl.} + activate_focus*: proc (window: PWindow){.cdecl.} + activate_default*: proc (window: PWindow){.cdecl.} + move_focus*: proc (window: PWindow, direction: TDirectionType){.cdecl.} + keys_changed*: proc (window: PWindow){.cdecl.} + reserved30: proc (){.cdecl.} + reserved31: proc (){.cdecl.} + reserved32: proc (){.cdecl.} + reserved33: proc (){.cdecl.} + + TWindowGroup* = object of TGObject + grabs*: PGSList + + PWindowGroupClass* = ptr TWindowGroupClass + TWindowGroupClass* = object of TGObjectClass + reserved40: proc (){.cdecl.} + reserved41: proc (){.cdecl.} + reserved42: proc (){.cdecl.} + reserved43: proc (){.cdecl.} + + TWindowKeysForeachFunc* = proc (window: PWindow, keyval: guint, + modifiers: TGdkModifierType, + is_mnemonic: gboolean, data: gpointer){.cdecl.} + PLabelSelectionInfo* = pointer + TLabel* = object of TMisc + `label`*: cstring + Label_flag0*: guint16 + mnemonic_keyval*: guint + text*: cstring + attrs*: PPangoAttrList + effective_attrs*: PPangoAttrList + layout*: PPangoLayout + mnemonic_widget*: PWidget + mnemonic_window*: PWindow + select_info*: PLabelSelectionInfo + + PLabelClass* = ptr TLabelClass + TLabelClass* = object of TMiscClass + move_cursor*: proc (`label`: PLabel, step: TMovementStep, count: gint, + extend_selection: gboolean){.cdecl.} + copy_clipboard*: proc (`label`: PLabel){.cdecl.} + populate_popup*: proc (`label`: PLabel, menu: PMenu){.cdecl.} + reserved50: proc (){.cdecl.} + reserved51: proc (){.cdecl.} + reserved52: proc (){.cdecl.} + reserved53: proc (){.cdecl.} + + PAccelLabel* = ptr TAccelLabel + TAccelLabel* = object of TLabel + queue_id*: guint + accel_padding*: guint + accel_widget*: PWidget + accel_closure*: PGClosure + accel_group*: PAccelGroup + accel_string*: cstring + accel_string_width*: guint16 + + PAccelLabelClass* = ptr TAccelLabelClass + TAccelLabelClass* = object of TLabelClass + signal_quote1*: cstring + signal_quote2*: cstring + mod_name_shift*: cstring + mod_name_control*: cstring + mod_name_alt*: cstring + mod_separator*: cstring + accel_seperator*: cstring + AccelLabelClass_flag0*: guint16 + reserved61: proc (){.cdecl.} + reserved62: proc (){.cdecl.} + reserved63: proc (){.cdecl.} + reserved64: proc (){.cdecl.} + + TAccelMapForeach* = proc (data: gpointer, accel_path: cstring, + accel_key: guint, accel_mods: TGdkModifierType, + changed: gboolean){.cdecl.} + PAccessible* = ptr TAccessible + TAccessible* = object of TAtkObject + widget*: PWidget + + PAccessibleClass* = ptr TAccessibleClass + TAccessibleClass* = object of TAtkObjectClass + connect_widget_destroyed*: proc (accessible: PAccessible){.cdecl.} + reserved71: proc (){.cdecl.} + reserved72: proc (){.cdecl.} + reserved73: proc (){.cdecl.} + reserved74: proc (){.cdecl.} + + PAdjustment* = ptr TAdjustment + TAdjustment* = object of TObject + lower*: gdouble + upper*: gdouble + value*: gdouble + step_increment*: gdouble + page_increment*: gdouble + page_size*: gdouble + + PAdjustmentClass* = ptr TAdjustmentClass + TAdjustmentClass* = object of TObjectClass + changed*: proc (adjustment: PAdjustment){.cdecl.} + value_changed*: proc (adjustment: PAdjustment){.cdecl.} + reserved81: proc (){.cdecl.} + reserved82: proc (){.cdecl.} + reserved83: proc (){.cdecl.} + reserved84: proc (){.cdecl.} + + PAlignment* = ptr TAlignment + TAlignment* = object of TBin + xalign*: gfloat + yalign*: gfloat + xscale*: gfloat + yscale*: gfloat + + PAlignmentClass* = ptr TAlignmentClass + TAlignmentClass* = object of TBinClass + PFrame* = ptr TFrame + TFrame* = object of TBin + label_widget*: PWidget + shadow_type*: gint16 + label_xalign*: gfloat + label_yalign*: gfloat + child_allocation*: TAllocation + + PFrameClass* = ptr TFrameClass + TFrameClass* = object of TBinClass + compute_child_allocation*: proc (frame: PFrame, allocation: PAllocation){. + cdecl.} + + PAspectFrame* = ptr TAspectFrame + TAspectFrame* = object of TFrame + xalign*: gfloat + yalign*: gfloat + ratio*: gfloat + obey_child*: gboolean + center_allocation*: TAllocation + + PAspectFrameClass* = ptr TAspectFrameClass + TAspectFrameClass* = object of TFrameClass + PArrow* = ptr TArrow + TArrow* = object of TMisc + arrow_type*: gint16 + shadow_type*: gint16 + + PArrowClass* = ptr TArrowClass + TArrowClass* = object of TMiscClass + PBindingEntry* = ptr TBindingEntry + PBindingSignal* = ptr TBindingSignal + PBindingArg* = ptr TBindingArg + PBindingSet* = ptr TBindingSet + TBindingSet*{.final, pure.} = object + set_name*: cstring + priority*: gint + widget_path_pspecs*: PGSList + widget_class_pspecs*: PGSList + class_branch_pspecs*: PGSList + entries*: PBindingEntry + current*: PBindingEntry + flag0*: guint16 + + TBindingEntry*{.final, pure.} = object + keyval*: guint + modifiers*: TGdkModifierType + binding_set*: PBindingSet + flag0*: guint16 + set_next*: PBindingEntry + hash_next*: PBindingEntry + signals*: PBindingSignal + + TBindingSignal*{.final, pure.} = object + next*: PBindingSignal + signal_name*: cstring + n_args*: guint + args*: PBindingArg + + TBindingArg*{.final, pure.} = object + arg_type*: TType + d*: gdouble + + PBox* = ptr TBox + TBox* = object of TContainer + children*: PGList + spacing*: gint16 + box_flag0*: guint16 + + PBoxClass* = ptr TBoxClass + TBoxClass* = object of TContainerClass + PBoxChild* = ptr TBoxChild + TBoxChild*{.final, pure.} = object + widget*: PWidget + padding*: guint16 + flag0*: guint16 + + PButtonBox* = ptr TButtonBox + TButtonBox* = object of TBox + child_min_width*: gint + child_min_height*: gint + child_ipad_x*: gint + child_ipad_y*: gint + layout_style*: TButtonBoxStyle + + PButtonBoxClass* = ptr TButtonBoxClass + TButtonBoxClass* = object of TBoxClass + PButton* = ptr TButton + TButton* = object of TBin + event_window*: PGdkWindow + label_text*: cstring + activate_timeout*: guint + button_flag0*: guint16 + + PButtonClass* = ptr TButtonClass + TButtonClass* = object of TBinClass + pressed*: proc (button: PButton){.cdecl.} + released*: proc (button: PButton){.cdecl.} + clicked*: proc (button: PButton){.cdecl.} + enter*: proc (button: PButton){.cdecl.} + leave*: proc (button: PButton){.cdecl.} + activate*: proc (button: PButton){.cdecl.} + reserved101: proc (){.cdecl.} + reserved102: proc (){.cdecl.} + reserved103: proc (){.cdecl.} + reserved104: proc (){.cdecl.} + + PCalendarDisplayOptions* = ptr TCalendarDisplayOptions + TCalendarDisplayOptions* = int32 + PCalendar* = ptr TCalendar + TCalendar* = object of TWidget + header_style*: PStyle + label_style*: PStyle + month*: gint + year*: gint + selected_day*: gint + day_month*: array[0..5, array[0..6, gint]] + day*: array[0..5, array[0..6, gint]] + num_marked_dates*: gint + marked_date*: array[0..30, gint] + display_flags*: TCalendarDisplayOptions + marked_date_color*: array[0..30, TGdkColor] + gc*: PGdkGC + xor_gc*: PGdkGC + focus_row*: gint + focus_col*: gint + highlight_row*: gint + highlight_col*: gint + private_data*: gpointer + grow_space*: array[0..31, gchar] + reserved111: proc (){.cdecl.} + reserved112: proc (){.cdecl.} + reserved113: proc (){.cdecl.} + reserved114: proc (){.cdecl.} + + PCalendarClass* = ptr TCalendarClass + TCalendarClass* = object of TWidgetClass + month_changed*: proc (calendar: PCalendar){.cdecl.} + day_selected*: proc (calendar: PCalendar){.cdecl.} + day_selected_double_click*: proc (calendar: PCalendar){.cdecl.} + prev_month*: proc (calendar: PCalendar){.cdecl.} + next_month*: proc (calendar: PCalendar){.cdecl.} + prev_year*: proc (calendar: PCalendar){.cdecl.} + next_year*: proc (calendar: PCalendar){.cdecl.} + + PCellEditable* = pointer + PCellEditableIface* = ptr TCellEditableIface + TCellEditableIface* = object of TGTypeInterface + editing_done*: proc (cell_editable: PCellEditable){.cdecl.} + remove_widget*: proc (cell_editable: PCellEditable){.cdecl.} + start_editing*: proc (cell_editable: PCellEditable, event: PGdkEvent){.cdecl.} + + PCellRendererState* = ptr TCellRendererState + TCellRendererState* = int32 + PCellRendererMode* = ptr TCellRendererMode + TCellRendererMode* = enum + CELL_RENDERER_MODE_INERT, CELL_RENDERER_MODE_ACTIVATABLE, + CELL_RENDERER_MODE_EDITABLE + PCellRenderer* = ptr TCellRenderer + TCellRenderer* = object of TObject + xalign*: gfloat + yalign*: gfloat + width*: gint + height*: gint + xpad*: guint16 + ypad*: guint16 + CellRenderer_flag0*: guint16 + + PCellRendererClass* = ptr TCellRendererClass + TCellRendererClass* = object of TObjectClass + get_size*: proc (cell: PCellRenderer, widget: PWidget, + cell_area: PGdkRectangle, x_offset: Pgint, y_offset: Pgint, + width: Pgint, height: Pgint){.cdecl.} + render*: proc (cell: PCellRenderer, window: PGdkWindow, widget: PWidget, + background_area: PGdkRectangle, cell_area: PGdkRectangle, + expose_area: PGdkRectangle, flags: TCellRendererState){.cdecl.} + activate*: proc (cell: PCellRenderer, event: PGdkEvent, widget: PWidget, + path: cstring, background_area: PGdkRectangle, + cell_area: PGdkRectangle, flags: TCellRendererState): gboolean{. + cdecl.} + start_editing*: proc (cell: PCellRenderer, event: PGdkEvent, + widget: PWidget, path: cstring, + background_area: PGdkRectangle, + cell_area: PGdkRectangle, flags: TCellRendererState): PCellEditable{. + cdecl.} + reserved121: proc (){.cdecl.} + reserved122: proc (){.cdecl.} + reserved123: proc (){.cdecl.} + reserved124: proc (){.cdecl.} + + PCellRendererText* = ptr TCellRendererText + TCellRendererText* = object of TCellRenderer + text*: cstring + font*: PPangoFontDescription + font_scale*: gdouble + foreground*: TPangoColor + background*: TPangoColor + extra_attrs*: PPangoAttrList + underline_style*: TPangoUnderline + rise*: gint + fixed_height_rows*: gint + CellRendererText_flag0*: guint16 + + PCellRendererTextClass* = ptr TCellRendererTextClass + TCellRendererTextClass* = object of TCellRendererClass + edited*: proc (cell_renderer_text: PCellRendererText, path: cstring, + new_text: cstring){.cdecl.} + reserved131: proc (){.cdecl.} + reserved132: proc (){.cdecl.} + reserved133: proc (){.cdecl.} + reserved134: proc (){.cdecl.} + + PCellRendererToggle* = ptr TCellRendererToggle + TCellRendererToggle* = object of TCellRenderer + CellRendererToggle_flag0*: guint16 + + PCellRendererToggleClass* = ptr TCellRendererToggleClass + TCellRendererToggleClass* = object of TCellRendererClass + toggled*: proc (cell_renderer_toggle: PCellRendererToggle, path: cstring){. + cdecl.} + reserved141: proc (){.cdecl.} + reserved142: proc (){.cdecl.} + reserved143: proc (){.cdecl.} + reserved144: proc (){.cdecl.} + + PCellRendererPixbuf* = ptr TCellRendererPixbuf + TCellRendererPixbuf* = object of TCellRenderer + pixbuf*: PGdkPixbuf + pixbuf_expander_open*: PGdkPixbuf + pixbuf_expander_closed*: PGdkPixbuf + + PCellRendererPixbufClass* = ptr TCellRendererPixbufClass + TCellRendererPixbufClass* = object of TCellRendererClass + reserved151: proc (){.cdecl.} + reserved152: proc (){.cdecl.} + reserved153: proc (){.cdecl.} + reserved154: proc (){.cdecl.} + + PItem* = ptr TItem + TItem* = object of TBin + PItemClass* = ptr TItemClass + TItemClass* = object of TBinClass + select*: proc (item: PItem){.cdecl.} + deselect*: proc (item: PItem){.cdecl.} + toggle*: proc (item: PItem){.cdecl.} + reserved161: proc (){.cdecl.} + reserved162: proc (){.cdecl.} + reserved163: proc (){.cdecl.} + reserved164: proc (){.cdecl.} + + PMenuItem* = ptr TMenuItem + TMenuItem* = object of TItem + submenu*: PWidget + event_window*: PGdkWindow + toggle_size*: guint16 + accelerator_width*: guint16 + accel_path*: cstring + MenuItem_flag0*: guint16 + timer*: guint + + PMenuItemClass* = ptr TMenuItemClass + TMenuItemClass* = object of TItemClass + MenuItemClass_flag0*: guint16 + activate*: proc (menu_item: PMenuItem){.cdecl.} + activate_item*: proc (menu_item: PMenuItem){.cdecl.} + toggle_size_request*: proc (menu_item: PMenuItem, requisition: Pgint){.cdecl.} + toggle_size_allocate*: proc (menu_item: PMenuItem, allocation: gint){.cdecl.} + reserved171: proc (){.cdecl.} + reserved172: proc (){.cdecl.} + reserved173: proc (){.cdecl.} + reserved174: proc (){.cdecl.} + + PToggleButton* = ptr TToggleButton + TToggleButton* = object of TButton + ToggleButton_flag0*: guint16 + + PToggleButtonClass* = ptr TToggleButtonClass + TToggleButtonClass* = object of TButtonClass + toggled*: proc (toggle_button: PToggleButton){.cdecl.} + reserved171: proc (){.cdecl.} + reserved172: proc (){.cdecl.} + reserved173: proc (){.cdecl.} + reserved174: proc (){.cdecl.} + + PCheckButton* = ptr TCheckButton + TCheckButton* = object of TToggleButton + PCheckButtonClass* = ptr TCheckButtonClass + TCheckButtonClass* = object of TToggleButtonClass + draw_indicator*: proc (check_button: PCheckButton, area: PGdkRectangle){. + cdecl.} + reserved181: proc (){.cdecl.} + reserved182: proc (){.cdecl.} + reserved183: proc (){.cdecl.} + reserved184: proc (){.cdecl.} + + PCheckMenuItem* = ptr TCheckMenuItem + TCheckMenuItem* = object of TMenuItem + CheckMenuItem_flag0*: guint16 + + PCheckMenuItemClass* = ptr TCheckMenuItemClass + TCheckMenuItemClass* = object of TMenuItemClass + toggled*: proc (check_menu_item: PCheckMenuItem){.cdecl.} + draw_indicator*: proc (check_menu_item: PCheckMenuItem, area: PGdkRectangle){. + cdecl.} + reserved191: proc (){.cdecl.} + reserved192: proc (){.cdecl.} + reserved193: proc (){.cdecl.} + reserved194: proc (){.cdecl.} + + PClipboard* = pointer + TClipboardReceivedFunc* = proc (clipboard: PClipboard, + selection_data: PSelectionData, data: gpointer){. + cdecl.} + TClipboardTextReceivedFunc* = proc (clipboard: PClipboard, text: cstring, + data: gpointer){.cdecl.} + TClipboardGetFunc* = proc (clipboard: PClipboard, + selection_data: PSelectionData, info: guint, + user_data_or_owner: gpointer){.cdecl.} + TClipboardClearFunc* = proc (clipboard: PClipboard, + user_data_or_owner: gpointer){.cdecl.} + PCList* = ptr TCList + PCListColumn* = ptr TCListColumn + PCListRow* = ptr TCListRow + PCell* = ptr TCell + PCellType* = ptr TCellType + TCellType* = enum + CELL_EMPTY, CELL_TEXT, CELL_PIXMAP, CELL_PIXTEXT, CELL_WIDGET + PCListDragPos* = ptr TCListDragPos + TCListDragPos* = enum + CLIST_DRAG_NONE, CLIST_DRAG_BEFORE, CLIST_DRAG_INTO, CLIST_DRAG_AFTER + PButtonAction* = ptr TButtonAction + TButtonAction* = int32 + TCListCompareFunc* = proc (clist: PCList, ptr1: gconstpointer, + ptr2: gconstpointer): gint{.cdecl.} + PCListCellInfo* = ptr TCListCellInfo + TCListCellInfo*{.final, pure.} = object + row*: gint + column*: gint + + PCListDestInfo* = ptr TCListDestInfo + TCListDestInfo*{.final, pure.} = object + cell*: TCListCellInfo + insert_pos*: TCListDragPos + + TCList* = object of TContainer + CList_flags*: guint16 + row_mem_chunk*: PGMemChunk + cell_mem_chunk*: PGMemChunk + freeze_count*: guint + internal_allocation*: TGdkRectangle + rows*: gint + row_height*: gint + row_list*: PGList + row_list_end*: PGList + columns*: gint + column_title_area*: TGdkRectangle + title_window*: PGdkWindow + column*: PCListColumn + clist_window*: PGdkWindow + clist_window_width*: gint + clist_window_height*: gint + hoffset*: gint + voffset*: gint + shadow_type*: TShadowType + selection_mode*: TSelectionMode + selection*: PGList + selection_end*: PGList + undo_selection*: PGList + undo_unselection*: PGList + undo_anchor*: gint + button_actions*: array[0..4, guint8] + drag_button*: guint8 + click_cell*: TCListCellInfo + hadjustment*: PAdjustment + vadjustment*: PAdjustment + xor_gc*: PGdkGC + fg_gc*: PGdkGC + bg_gc*: PGdkGC + cursor_drag*: PGdkCursor + x_drag*: gint + focus_row*: gint + focus_header_column*: gint + anchor*: gint + anchor_state*: TStateType + drag_pos*: gint + htimer*: gint + vtimer*: gint + sort_type*: TSortType + compare*: TCListCompareFunc + sort_column*: gint + drag_highlight_row*: gint + drag_highlight_pos*: TCListDragPos + + PCListClass* = ptr TCListClass + TCListClass* = object of TContainerClass + set_scroll_adjustments*: proc (clist: PCList, hadjustment: PAdjustment, + vadjustment: PAdjustment){.cdecl.} + refresh*: proc (clist: PCList){.cdecl.} + select_row*: proc (clist: PCList, row: gint, column: gint, event: PGdkEvent){. + cdecl.} + unselect_row*: proc (clist: PCList, row: gint, column: gint, + event: PGdkEvent){.cdecl.} + row_move*: proc (clist: PCList, source_row: gint, dest_row: gint){.cdecl.} + click_column*: proc (clist: PCList, column: gint){.cdecl.} + resize_column*: proc (clist: PCList, column: gint, width: gint){.cdecl.} + toggle_focus_row*: proc (clist: PCList){.cdecl.} + select_all*: proc (clist: PCList){.cdecl.} + unselect_all*: proc (clist: PCList){.cdecl.} + undo_selection*: proc (clist: PCList){.cdecl.} + start_selection*: proc (clist: PCList){.cdecl.} + end_selection*: proc (clist: PCList){.cdecl.} + extend_selection*: proc (clist: PCList, scroll_type: TScrollType, + position: gfloat, auto_start_selection: gboolean){. + cdecl.} + scroll_horizontal*: proc (clist: PCList, scroll_type: TScrollType, + position: gfloat){.cdecl.} + scroll_vertical*: proc (clist: PCList, scroll_type: TScrollType, + position: gfloat){.cdecl.} + toggle_add_mode*: proc (clist: PCList){.cdecl.} + abort_column_resize*: proc (clist: PCList){.cdecl.} + resync_selection*: proc (clist: PCList, event: PGdkEvent){.cdecl.} + selection_find*: proc (clist: PCList, row_number: gint, + row_list_element: PGList): PGList{.cdecl.} + draw_row*: proc (clist: PCList, area: PGdkRectangle, row: gint, + clist_row: PCListRow){.cdecl.} + draw_drag_highlight*: proc (clist: PCList, target_row: PCListRow, + target_row_number: gint, drag_pos: TCListDragPos){. + cdecl.} + clear*: proc (clist: PCList){.cdecl.} + fake_unselect_all*: proc (clist: PCList, row: gint){.cdecl.} + sort_list*: proc (clist: PCList){.cdecl.} + insert_row*: proc (clist: PCList, row: gint): gint{.cdecl, varargs.} + remove_row*: proc (clist: PCList, row: gint){.cdecl.} + set_cell_contents*: proc (clist: PCList, clist_row: PCListRow, column: gint, + thetype: TCellType, text: cstring, + spacing: guint8, pixmap: PGdkPixmap, + mask: PGdkBitmap){.cdecl.} + cell_size_request*: proc (clist: PCList, clist_row: PCListRow, column: gint, + requisition: PRequisition){.cdecl.} + + PGPtrArray = pointer + PGArray = pointer + TCListColumn*{.final, pure.} = object + title*: cstring + area*: TGdkRectangle + button*: PWidget + window*: PGdkWindow + width*: gint + min_width*: gint + max_width*: gint + justification*: TJustification + flag0*: guint16 + + TCListRow*{.final, pure.} = object + cell*: PCell + state*: TStateType + foreground*: TGdkColor + background*: TGdkColor + style*: PStyle + data*: gpointer + destroy*: TDestroyNotify + flag0*: guint16 + + PCellText* = ptr TCellText + TCellText*{.final, pure.} = object + `type`*: TCellType + vertical*: gint16 + horizontal*: gint16 + style*: PStyle + text*: cstring + + PCellPixmap* = ptr TCellPixmap + TCellPixmap*{.final, pure.} = object + `type`*: TCellType + vertical*: gint16 + horizontal*: gint16 + style*: PStyle + pixmap*: PGdkPixmap + mask*: PGdkBitmap + + PCellPixText* = ptr TCellPixText + TCellPixText*{.final, pure.} = object + `type`*: TCellType + vertical*: gint16 + horizontal*: gint16 + style*: PStyle + text*: cstring + spacing*: guint8 + pixmap*: PGdkPixmap + mask*: PGdkBitmap + + PCellWidget* = ptr TCellWidget + TCellWidget*{.final, pure.} = object + `type`*: TCellType + vertical*: gint16 + horizontal*: gint16 + style*: PStyle + widget*: PWidget + + TCell*{.final, pure.} = object + `type`*: TCellType + vertical*: gint16 + horizontal*: gint16 + style*: PStyle + text*: cstring + spacing*: guint8 + pixmap*: PGdkPixmap + mask*: PGdkBitmap + + PDialogFlags* = ptr TDialogFlags + TDialogFlags* = int32 + PResponseType* = ptr TResponseType + TResponseType* = int32 + PDialog* = ptr TDialog + TDialog* = object of TWindow + vbox*: PWidget + action_area*: PWidget + separator*: PWidget + + PDialogClass* = ptr TDialogClass + TDialogClass* = object of TWindowClass + response*: proc (dialog: PDialog, response_id: gint){.cdecl.} + closeFile*: proc (dialog: PDialog){.cdecl.} + reserved201: proc (){.cdecl.} + reserved202: proc (){.cdecl.} + reserved203: proc (){.cdecl.} + reserved204: proc (){.cdecl.} + + PVBox* = ptr TVBox + TVBox* = object of TBox + PVBoxClass* = ptr TVBoxClass + TVBoxClass* = object of TBoxClass + TColorSelectionChangePaletteFunc* = proc (colors: PGdkColor, n_colors: gint){. + cdecl.} + TColorSelectionChangePaletteWithScreenFunc* = proc (screen: PGdkScreen, + colors: PGdkColor, n_colors: gint){.cdecl.} + PColorSelection* = ptr TColorSelection + TColorSelection* = object of TVBox + private_data*: gpointer + + PColorSelectionClass* = ptr TColorSelectionClass + TColorSelectionClass* = object of TVBoxClass + color_changed*: proc (color_selection: PColorSelection){.cdecl.} + reserved211: proc (){.cdecl.} + reserved212: proc (){.cdecl.} + reserved213: proc (){.cdecl.} + reserved214: proc (){.cdecl.} + + PColorSelectionDialog* = ptr TColorSelectionDialog + TColorSelectionDialog* = object of TDialog + colorsel*: PWidget + ok_button*: PWidget + cancel_button*: PWidget + help_button*: PWidget + + PColorSelectionDialogClass* = ptr TColorSelectionDialogClass + TColorSelectionDialogClass* = object of TDialogClass + reserved221: proc (){.cdecl.} + reserved222: proc (){.cdecl.} + reserved223: proc (){.cdecl.} + reserved224: proc (){.cdecl.} + + PHBox* = ptr THBox + THBox* = object of TBox + PHBoxClass* = ptr THBoxClass + THBoxClass* = object of TBoxClass + PCombo* = ptr TCombo + TCombo* = object of THBox + entry*: PWidget + button*: PWidget + popup*: PWidget + popwin*: PWidget + list*: PWidget + entry_change_id*: guint + list_change_id*: guint + Combo_flag0*: guint16 + current_button*: guint16 + activate_id*: guint + + PComboClass* = ptr TComboClass + TComboClass* = object of THBoxClass + reserved231: proc (){.cdecl.} + reserved232: proc (){.cdecl.} + reserved233: proc (){.cdecl.} + reserved234: proc (){.cdecl.} + + PCTreePos* = ptr TCTreePos + TCTreePos* = enum + CTREE_POS_BEFORE, CTREE_POS_AS_CHILD, CTREE_POS_AFTER + PCTreeLineStyle* = ptr TCTreeLineStyle + TCTreeLineStyle* = enum + CTREE_LINES_NONE, CTREE_LINES_SOLID, CTREE_LINES_DOTTED, CTREE_LINES_TABBED + PCTreeExpanderStyle* = ptr TCTreeExpanderStyle + TCTreeExpanderStyle* = enum + CTREE_EXPANDER_NONE, CTREE_EXPANDER_SQUARE, CTREE_EXPANDER_TRIANGLE, + CTREE_EXPANDER_CIRCULAR + PCTreeExpansionType* = ptr TCTreeExpansionType + TCTreeExpansionType* = enum + CTREE_EXPANSION_EXPAND, CTREE_EXPANSION_EXPAND_RECURSIVE, + CTREE_EXPANSION_COLLAPSE, CTREE_EXPANSION_COLLAPSE_RECURSIVE, + CTREE_EXPANSION_TOGGLE, CTREE_EXPANSION_TOGGLE_RECURSIVE + PCTree* = ptr TCTree + PCTreeNode* = ptr TCTreeNode + TCTreeFunc* = proc (ctree: PCTree, node: PCTreeNode, data: gpointer){.cdecl.} + TCTreeGNodeFunc* = proc (ctree: PCTree, depth: guint, gnode: PGNode, + cnode: PCTreeNode, data: gpointer): gboolean{.cdecl.} + TCTreeCompareDragFunc* = proc (ctree: PCTree, source_node: PCTreeNode, + new_parent: PCTreeNode, new_sibling: PCTreeNode): gboolean{. + cdecl.} + TCTree* = object of TCList + lines_gc*: PGdkGC + tree_indent*: gint + tree_spacing*: gint + tree_column*: gint + CTree_flag0*: guint16 + drag_compare*: TCTreeCompareDragFunc + + PCTreeClass* = ptr TCTreeClass + TCTreeClass* = object of TCListClass + tree_select_row*: proc (ctree: PCTree, row: PCTreeNode, column: gint){.cdecl.} + tree_unselect_row*: proc (ctree: PCTree, row: PCTreeNode, column: gint){. + cdecl.} + tree_expand*: proc (ctree: PCTree, node: PCTreeNode){.cdecl.} + tree_collapse*: proc (ctree: PCTree, node: PCTreeNode){.cdecl.} + tree_move*: proc (ctree: PCTree, node: PCTreeNode, new_parent: PCTreeNode, + new_sibling: PCTreeNode){.cdecl.} + change_focus_row_expansion*: proc (ctree: PCTree, + action: TCTreeExpansionType){.cdecl.} + + PCTreeRow* = ptr TCTreeRow + TCTreeRow*{.final, pure.} = object + row*: TCListRow + parent*: PCTreeNode + sibling*: PCTreeNode + children*: PCTreeNode + pixmap_closed*: PGdkPixmap + mask_closed*: PGdkBitmap + pixmap_opened*: PGdkPixmap + mask_opened*: PGdkBitmap + level*: guint16 + CTreeRow_flag0*: guint16 + + TCTreeNode*{.final, pure.} = object + list*: TGList + + PDrawingArea* = ptr TDrawingArea + TDrawingArea* = object of TWidget + draw_data*: gpointer + + PDrawingAreaClass* = ptr TDrawingAreaClass + TDrawingAreaClass* = object of TWidgetClass + reserved241: proc (){.cdecl.} + reserved242: proc (){.cdecl.} + reserved243: proc (){.cdecl.} + reserved244: proc (){.cdecl.} + + Tctlpoint* = array[0..1, gfloat] + Pctlpoint* = ptr Tctlpoint + PCurve* = ptr TCurve + TCurve* = object of TDrawingArea + cursor_type*: gint + min_x*: gfloat + max_x*: gfloat + min_y*: gfloat + max_y*: gfloat + pixmap*: PGdkPixmap + curve_type*: TCurveType + height*: gint + grab_point*: gint + last*: gint + num_points*: gint + point*: PGdkPoint + num_ctlpoints*: gint + ctlpoint*: Pctlpoint + + PCurveClass* = ptr TCurveClass + TCurveClass* = object of TDrawingAreaClass + curve_type_changed*: proc (curve: PCurve){.cdecl.} + reserved251: proc (){.cdecl.} + reserved252: proc (){.cdecl.} + reserved253: proc (){.cdecl.} + reserved254: proc (){.cdecl.} + + PDestDefaults* = ptr TDestDefaults + TDestDefaults* = int32 + PTargetFlags* = ptr TTargetFlags + TTargetFlags* = int32 + PEditable* = pointer + PEditableClass* = ptr TEditableClass + TEditableClass* = object of TGTypeInterface + insert_text*: proc (editable: PEditable, text: cstring, length: gint, + position: Pgint){.cdecl.} + delete_text*: proc (editable: PEditable, start_pos: gint, end_pos: gint){. + cdecl.} + changed*: proc (editable: PEditable){.cdecl.} + do_insert_text*: proc (editable: PEditable, text: cstring, length: gint, + position: Pgint){.cdecl.} + do_delete_text*: proc (editable: PEditable, start_pos: gint, end_pos: gint){. + cdecl.} + get_chars*: proc (editable: PEditable, start_pos: gint, end_pos: gint): cstring{. + cdecl.} + set_selection_bounds*: proc (editable: PEditable, start_pos: gint, + end_pos: gint){.cdecl.} + get_selection_bounds*: proc (editable: PEditable, start_pos: Pgint, + end_pos: Pgint): gboolean{.cdecl.} + set_position*: proc (editable: PEditable, position: gint){.cdecl.} + get_position*: proc (editable: PEditable): gint{.cdecl.} + + PIMContext* = ptr TIMContext + TIMContext* = object of TGObject + PIMContextClass* = ptr TIMContextClass + TIMContextClass* = object of TObjectClass + preedit_start*: proc (context: PIMContext){.cdecl.} + preedit_end*: proc (context: PIMContext){.cdecl.} + preedit_changed*: proc (context: PIMContext){.cdecl.} + commit*: proc (context: PIMContext, str: cstring){.cdecl.} + retrieve_surrounding*: proc (context: PIMContext): gboolean{.cdecl.} + delete_surrounding*: proc (context: PIMContext, offset: gint, n_chars: gint): gboolean{. + cdecl.} + set_client_window*: proc (context: PIMContext, window: PGdkWindow){.cdecl.} + get_preedit_string*: proc (context: PIMContext, str: PPgchar, + attrs: var PPangoAttrList, cursor_pos: Pgint){. + cdecl.} + filter_keypress*: proc (context: PIMContext, event: PGdkEventKey): gboolean{. + cdecl.} + focus_in*: proc (context: PIMContext){.cdecl.} + focus_out*: proc (context: PIMContext){.cdecl.} + reset*: proc (context: PIMContext){.cdecl.} + set_cursor_location*: proc (context: PIMContext, area: PGdkRectangle){.cdecl.} + set_use_preedit*: proc (context: PIMContext, use_preedit: gboolean){.cdecl.} + set_surrounding*: proc (context: PIMContext, text: cstring, len: gint, + cursor_index: gint){.cdecl.} + get_surrounding*: proc (context: PIMContext, text: PPgchar, + cursor_index: Pgint): gboolean{.cdecl.} + reserved261: proc (){.cdecl.} + reserved262: proc (){.cdecl.} + reserved263: proc (){.cdecl.} + reserved264: proc (){.cdecl.} + reserved265: proc (){.cdecl.} + reserved266: proc (){.cdecl.} + + PMenuShell* = ptr TMenuShell + TMenuShell* = object of TContainer + children*: PGList + active_menu_item*: PWidget + parent_menu_shell*: PWidget + button*: guint + activate_time*: guint32 + MenuShell_flag0*: guint16 + + PMenuShellClass* = ptr TMenuShellClass + TMenuShellClass* = object of TContainerClass + MenuShellClass_flag0*: guint16 + deactivate*: proc (menu_shell: PMenuShell){.cdecl.} + selection_done*: proc (menu_shell: PMenuShell){.cdecl.} + move_current*: proc (menu_shell: PMenuShell, direction: TMenuDirectionType){. + cdecl.} + activate_current*: proc (menu_shell: PMenuShell, force_hide: gboolean){. + cdecl.} + cancel*: proc (menu_shell: PMenuShell){.cdecl.} + select_item*: proc (menu_shell: PMenuShell, menu_item: PWidget){.cdecl.} + insert*: proc (menu_shell: PMenuShell, child: PWidget, position: gint){. + cdecl.} + reserved271: proc (){.cdecl.} + reserved272: proc (){.cdecl.} + reserved273: proc (){.cdecl.} + reserved274: proc (){.cdecl.} + + TMenuPositionFunc* = proc (menu: PMenu, x: Pgint, y: Pgint, + push_in: Pgboolean, user_data: gpointer){.cdecl.} + TMenuDetachFunc* = proc (attach_widget: PWidget, menu: PMenu){.cdecl.} + TMenu* = object of TMenuShell + parent_menu_item*: PWidget + old_active_menu_item*: PWidget + accel_group*: PAccelGroup + accel_path*: cstring + position_func*: TMenuPositionFunc + position_func_data*: gpointer + toggle_size*: guint + toplevel*: PWidget + tearoff_window*: PWidget + tearoff_hbox*: PWidget + tearoff_scrollbar*: PWidget + tearoff_adjustment*: PAdjustment + view_window*: PGdkWindow + bin_window*: PGdkWindow + scroll_offset*: gint + saved_scroll_offset*: gint + scroll_step*: gint + timeout_id*: guint + navigation_region*: PGdkRegion + navigation_timeout*: guint + Menu_flag0*: guint16 + + PMenuClass* = ptr TMenuClass + TMenuClass* = object of TMenuShellClass + reserved281: proc (){.cdecl.} + reserved282: proc (){.cdecl.} + reserved283: proc (){.cdecl.} + reserved284: proc (){.cdecl.} + + PEntry* = ptr TEntry + TEntry* = object of TWidget + text*: cstring + Entry_flag0*: guint16 + text_length*: guint16 + text_max_length*: guint16 + text_area*: PGdkWindow + im_context*: PIMContext + popup_menu*: PWidget + current_pos*: gint + selection_bound*: gint + cached_layout*: PPangoLayout + flag1*: guint16 + button*: guint + blink_timeout*: guint + recompute_idle*: guint + scroll_offset*: gint + ascent*: gint + descent*: gint + text_size*: guint16 + n_bytes*: guint16 + preedit_length*: guint16 + preedit_cursor*: guint16 + dnd_position*: gint + drag_start_x*: gint + drag_start_y*: gint + invisible_char*: gunichar + width_chars*: gint + + PEntryClass* = ptr TEntryClass + TEntryClass* = object of TWidgetClass + populate_popup*: proc (entry: PEntry, menu: PMenu){.cdecl.} + activate*: proc (entry: PEntry){.cdecl.} + move_cursor*: proc (entry: PEntry, step: TMovementStep, count: gint, + extend_selection: gboolean){.cdecl.} + insert_at_cursor*: proc (entry: PEntry, str: cstring){.cdecl.} + delete_from_cursor*: proc (entry: PEntry, thetype: TDeleteType, count: gint){. + cdecl.} + cut_clipboard*: proc (entry: PEntry){.cdecl.} + copy_clipboard*: proc (entry: PEntry){.cdecl.} + paste_clipboard*: proc (entry: PEntry){.cdecl.} + toggle_overwrite*: proc (entry: PEntry){.cdecl.} + reserved291: proc (){.cdecl.} + reserved292: proc (){.cdecl.} + reserved293: proc (){.cdecl.} + reserved294: proc (){.cdecl.} + + PEventBox* = ptr TEventBox + TEventBox* = object of TBin + PEventBoxClass* = ptr TEventBoxClass + TEventBoxClass* = object of TBinClass + PFileSelection* = ptr TFileSelection + TFileSelection* = object of TDialog + dir_list*: PWidget + file_list*: PWidget + selection_entry*: PWidget + selection_text*: PWidget + main_vbox*: PWidget + ok_button*: PWidget + cancel_button*: PWidget + help_button*: PWidget + history_pulldown*: PWidget + history_menu*: PWidget + history_list*: PGList + fileop_dialog*: PWidget + fileop_entry*: PWidget + fileop_file*: cstring + cmpl_state*: gpointer + fileop_c_dir*: PWidget + fileop_del_file*: PWidget + fileop_ren_file*: PWidget + button_area*: PWidget + FileSelection_action_area*: PWidget + selected_names*: PGPtrArray + last_selected*: cstring + + PFileSelectionClass* = ptr TFileSelectionClass + TFileSelectionClass* = object of TDialogClass + reserved301: proc (){.cdecl.} + reserved302: proc (){.cdecl.} + reserved303: proc (){.cdecl.} + reserved304: proc (){.cdecl.} + + PFixed* = ptr TFixed + TFixed* = object of TContainer + children*: PGList + + PFixedClass* = ptr TFixedClass + TFixedClass* = object of TContainerClass + PFixedChild* = ptr TFixedChild + TFixedChild*{.final, pure.} = object + widget*: PWidget + x*: gint + y*: gint + + PFontSelection* = ptr TFontSelection + TFontSelection* = object of TVBox + font_entry*: PWidget + family_list*: PWidget + font_style_entry*: PWidget + face_list*: PWidget + size_entry*: PWidget + size_list*: PWidget + pixels_button*: PWidget + points_button*: PWidget + filter_button*: PWidget + preview_entry*: PWidget + family*: PPangoFontFamily + face*: PPangoFontFace + size*: gint + font*: PGdkFont + + PFontSelectionClass* = ptr TFontSelectionClass + TFontSelectionClass* = object of TVBoxClass + reserved311: proc (){.cdecl.} + reserved312: proc (){.cdecl.} + reserved313: proc (){.cdecl.} + reserved314: proc (){.cdecl.} + + PFontSelectionDialog* = ptr TFontSelectionDialog + TFontSelectionDialog* = object of TDialog + fontsel*: PWidget + main_vbox*: PWidget + FontSelectionDialog_action_area*: PWidget + ok_button*: PWidget + apply_button*: PWidget + cancel_button*: PWidget + dialog_width*: gint + auto_resize*: gboolean + + PFontSelectionDialogClass* = ptr TFontSelectionDialogClass + TFontSelectionDialogClass* = object of TDialogClass + reserved321: proc (){.cdecl.} + reserved322: proc (){.cdecl.} + reserved323: proc (){.cdecl.} + reserved324: proc (){.cdecl.} + + PGammaCurve* = ptr TGammaCurve + TGammaCurve* = object of TVBox + table*: PWidget + curve*: PWidget + button*: array[0..4, PWidget] + gamma*: gfloat + gamma_dialog*: PWidget + gamma_text*: PWidget + + PGammaCurveClass* = ptr TGammaCurveClass + TGammaCurveClass* = object of TVBoxClass + reserved331: proc (){.cdecl.} + reserved332: proc (){.cdecl.} + reserved333: proc (){.cdecl.} + reserved334: proc (){.cdecl.} + + PHandleBox* = ptr THandleBox + THandleBox* = object of TBin + bin_window*: PGdkWindow + float_window*: PGdkWindow + shadow_type*: TShadowType + HandleBox_flag0*: guint16 + deskoff_x*: gint + deskoff_y*: gint + attach_allocation*: TAllocation + float_allocation*: TAllocation + + PHandleBoxClass* = ptr THandleBoxClass + THandleBoxClass* = object of TBinClass + child_attached*: proc (handle_box: PHandleBox, child: PWidget){.cdecl.} + child_detached*: proc (handle_box: PHandleBox, child: PWidget){.cdecl.} + reserved341: proc (){.cdecl.} + reserved342: proc (){.cdecl.} + reserved343: proc (){.cdecl.} + reserved344: proc (){.cdecl.} + + PPaned* = ptr TPaned + TPaned* = object of TContainer + child1*: PWidget + child2*: PWidget + handle*: PGdkWindow + xor_gc*: PGdkGC + cursor_type*: TGdkCursorType + handle_pos*: TGdkRectangle + child1_size*: gint + last_allocation*: gint + min_position*: gint + max_position*: gint + Paned_flag0*: guint16 + last_child1_focus*: PWidget + last_child2_focus*: PWidget + saved_focus*: PWidget + drag_pos*: gint + original_position*: gint + + PPanedClass* = ptr TPanedClass + TPanedClass* = object of TContainerClass + cycle_child_focus*: proc (paned: PPaned, reverse: gboolean): gboolean{.cdecl.} + toggle_handle_focus*: proc (paned: PPaned): gboolean{.cdecl.} + move_handle*: proc (paned: PPaned, scroll: TScrollType): gboolean{.cdecl.} + cycle_handle_focus*: proc (paned: PPaned, reverse: gboolean): gboolean{. + cdecl.} + accept_position*: proc (paned: PPaned): gboolean{.cdecl.} + cancel_position*: proc (paned: PPaned): gboolean{.cdecl.} + reserved351: proc (){.cdecl.} + reserved352: proc (){.cdecl.} + reserved353: proc (){.cdecl.} + reserved354: proc (){.cdecl.} + + PHButtonBox* = ptr THButtonBox + THButtonBox* = object of TButtonBox + PHButtonBoxClass* = ptr THButtonBoxClass + THButtonBoxClass* = object of TButtonBoxClass + PHPaned* = ptr THPaned + THPaned* = object of TPaned + PHPanedClass* = ptr THPanedClass + THPanedClass* = object of TPanedClass + PRulerMetric* = ptr TRulerMetric + PRuler* = ptr TRuler + TRuler* = object of TWidget + backing_store*: PGdkPixmap + non_gr_exp_gc*: PGdkGC + metric*: PRulerMetric + xsrc*: gint + ysrc*: gint + slider_size*: gint + lower*: gdouble + upper*: gdouble + position*: gdouble + max_size*: gdouble + + PRulerClass* = ptr TRulerClass + TRulerClass* = object of TWidgetClass + draw_ticks*: proc (ruler: PRuler){.cdecl.} + draw_pos*: proc (ruler: PRuler){.cdecl.} + reserved361: proc (){.cdecl.} + reserved362: proc (){.cdecl.} + reserved363: proc (){.cdecl.} + reserved364: proc (){.cdecl.} + + TRulerMetric*{.final, pure.} = object + metric_name*: cstring + abbrev*: cstring + pixels_per_unit*: gdouble + ruler_scale*: array[0..9, gdouble] + subdivide*: array[0..4, gint] + + PHRuler* = ptr THRuler + THRuler* = object of TRuler + PHRulerClass* = ptr THRulerClass + THRulerClass* = object of TRulerClass + PRcContext* = pointer + PSettings* = ptr TSettings + TSettings* = object of TGObject + queued_settings*: PGData + property_values*: PGValue + rc_context*: PRcContext + screen*: PGdkScreen + + PSettingsClass* = ptr TSettingsClass + TSettingsClass* = object of TGObjectClass + PSettingsValue* = ptr TSettingsValue + TSettingsValue*{.final, pure.} = object + origin*: cstring + value*: TGValue + + PRcFlags* = ptr TRcFlags + TRcFlags* = int32 + PRcStyle* = ptr TRcStyle + TRcStyle* = object of TGObject + name*: cstring + bg_pixmap_name*: array[0..4, cstring] + font_desc*: PPangoFontDescription + color_flags*: array[0..4, TRcFlags] + fg*: array[0..4, TGdkColor] + bg*: array[0..4, TGdkColor] + text*: array[0..4, TGdkColor] + base*: array[0..4, TGdkColor] + xthickness*: gint + ythickness*: gint + rc_properties*: PGArray + rc_style_lists*: PGSList + icon_factories*: PGSList + RcStyle_flag0*: guint16 + + PRcStyleClass* = ptr TRcStyleClass + TRcStyleClass* = object of TGObjectClass + create_rc_style*: proc (rc_style: PRcStyle): PRcStyle{.cdecl.} + parse*: proc (rc_style: PRcStyle, settings: PSettings, scanner: PGScanner): guint{. + cdecl.} + merge*: proc (dest: PRcStyle, src: PRcStyle){.cdecl.} + create_style*: proc (rc_style: PRcStyle): PStyle{.cdecl.} + reserved371: proc (){.cdecl.} + reserved372: proc (){.cdecl.} + reserved373: proc (){.cdecl.} + reserved374: proc (){.cdecl.} + + PRcTokenType* = ptr TRcTokenType + TRcTokenType* = enum + RC_TOKEN_INVALID, RC_TOKEN_INCLUDE, RC_TOKEN_NORMAL, RC_TOKEN_ACTIVE, + RC_TOKEN_PRELIGHT, RC_TOKEN_SELECTED, RC_TOKEN_INSENSITIVE, RC_TOKEN_FG, + RC_TOKEN_BG, RC_TOKEN_TEXT, RC_TOKEN_BASE, RC_TOKEN_XTHICKNESS, + RC_TOKEN_YTHICKNESS, RC_TOKEN_FONT, RC_TOKEN_FONTSET, RC_TOKEN_FONT_NAME, + RC_TOKEN_BG_PIXMAP, RC_TOKEN_PIXMAP_PATH, RC_TOKEN_STYLE, RC_TOKEN_BINDING, + RC_TOKEN_BIND, RC_TOKEN_WIDGET, RC_TOKEN_WIDGET_CLASS, RC_TOKEN_CLASS, + RC_TOKEN_LOWEST, RC_TOKEN_GTK, RC_TOKEN_APPLICATION, RC_TOKEN_THEME, + RC_TOKEN_RC, RC_TOKEN_HIGHEST, RC_TOKEN_ENGINE, RC_TOKEN_MODULE_PATH, + RC_TOKEN_IM_MODULE_PATH, RC_TOKEN_IM_MODULE_FILE, RC_TOKEN_STOCK, + RC_TOKEN_LTR, RC_TOKEN_RTL, RC_TOKEN_LAST + PRcProperty* = ptr TRcProperty + TRcProperty*{.final, pure.} = object + type_name*: TGQuark + property_name*: TGQuark + origin*: cstring + value*: TGValue + + PIconSource* = pointer + TRcPropertyParser* = proc (pspec: PGParamSpec, rc_string: PGString, + property_value: PGValue): gboolean{.cdecl.} + TStyle* = object of TGObject + fg*: array[0..4, TGdkColor] + bg*: array[0..4, TGdkColor] + light*: array[0..4, TGdkColor] + dark*: array[0..4, TGdkColor] + mid*: array[0..4, TGdkColor] + text*: array[0..4, TGdkColor] + base*: array[0..4, TGdkColor] + text_aa*: array[0..4, TGdkColor] + black*: TGdkColor + white*: TGdkColor + font_desc*: PPangoFontDescription + xthickness*: gint + ythickness*: gint + fg_gc*: array[0..4, PGdkGC] + bg_gc*: array[0..4, PGdkGC] + light_gc*: array[0..4, PGdkGC] + dark_gc*: array[0..4, PGdkGC] + mid_gc*: array[0..4, PGdkGC] + text_gc*: array[0..4, PGdkGC] + base_gc*: array[0..4, PGdkGC] + text_aa_gc*: array[0..4, PGdkGC] + black_gc*: PGdkGC + white_gc*: PGdkGC + bg_pixmap*: array[0..4, PGdkPixmap] + attach_count*: gint + depth*: gint + colormap*: PGdkColormap + private_font*: PGdkFont + private_font_desc*: PPangoFontDescription + rc_style*: PRcStyle + styles*: PGSList + property_cache*: PGArray + icon_factories*: PGSList + + PStyleClass* = ptr TStyleClass + TStyleClass* = object of TGObjectClass + realize*: proc (style: PStyle){.cdecl.} + unrealize*: proc (style: PStyle){.cdecl.} + copy*: proc (style: PStyle, src: PStyle){.cdecl.} + clone*: proc (style: PStyle): PStyle{.cdecl.} + init_from_rc*: proc (style: PStyle, rc_style: PRcStyle){.cdecl.} + set_background*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType){.cdecl.} + render_icon*: proc (style: PStyle, source: PIconSource, + direction: TTextDirection, state: TStateType, + size: TIconSize, widget: PWidget, detail: cstring): PGdkPixbuf{. + cdecl.} + draw_hline*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x1: gint, x2: gint, + y: gint){.cdecl.} + draw_vline*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, area: PGdkRectangle, + widget: PWidget, detail: cstring, y1: gint, y2: gint, + x: gint){.cdecl.} + draw_shadow*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint){.cdecl.} + draw_polygon*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + point: PGdkPoint, npoints: gint, fill: gboolean){.cdecl.} + draw_arrow*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + arrow_type: TArrowType, fill: gboolean, x: gint, y: gint, + width: gint, height: gint){.cdecl.} + draw_diamond*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint){.cdecl.} + draw_string*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + `string`: cstring){.cdecl.} + draw_box*: proc (style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint){.cdecl.} + draw_flat_box*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint){.cdecl.} + draw_check*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint){.cdecl.} + draw_option*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint){.cdecl.} + draw_tab*: proc (style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint){.cdecl.} + draw_shadow_gap*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, + detail: cstring, x: gint, y: gint, width: gint, + height: gint, gap_side: TPositionType, gap_x: gint, + gap_width: gint){.cdecl.} + draw_box_gap*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint, + gap_side: TPositionType, gap_x: gint, gap_width: gint){. + cdecl.} + draw_extension*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, + detail: cstring, x: gint, y: gint, width: gint, + height: gint, gap_side: TPositionType){.cdecl.} + draw_focus*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint){.cdecl.} + draw_slider*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint, + orientation: TOrientation){.cdecl.} + draw_handle*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint, + orientation: TOrientation){.cdecl.} + draw_expander*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + expander_style: TExpanderStyle){.cdecl.} + draw_layout*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, use_text: gboolean, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, layout: PPangoLayout){.cdecl.} + draw_resize_grip*: proc (style: PStyle, window: PGdkWindow, + state_type: TStateType, area: PGdkRectangle, + widget: PWidget, detail: cstring, + edge: TGdkWindowEdge, x: gint, y: gint, + width: gint, height: gint){.cdecl.} + reserved381: proc (){.cdecl.} + reserved382: proc (){.cdecl.} + reserved383: proc (){.cdecl.} + reserved384: proc (){.cdecl.} + reserved385: proc (){.cdecl.} + reserved386: proc (){.cdecl.} + reserved387: proc (){.cdecl.} + reserved388: proc (){.cdecl.} + reserved389: proc (){.cdecl.} + reserved3810: proc (){.cdecl.} + reserved3811: proc (){.cdecl.} + reserved3812: proc (){.cdecl.} + + PBorder* = ptr TBorder + TBorder*{.final, pure.} = object + left*: gint + right*: gint + top*: gint + bottom*: gint + + PRangeLayout* = pointer + PRangeStepTimer* = pointer + PRange* = ptr TRange + TRange* = object of TWidget + adjustment*: PAdjustment + update_policy*: TUpdateType + Range_flag0*: guint16 + min_slider_size*: gint + orientation*: TOrientation + range_rect*: TGdkRectangle + slider_start*: gint + slider_end*: gint + round_digits*: gint + flag1*: guint16 + layout*: PRangeLayout + timer*: PRangeStepTimer + slide_initial_slider_position*: gint + slide_initial_coordinate*: gint + update_timeout_id*: guint + event_window*: PGdkWindow + + PRangeClass* = ptr TRangeClass + TRangeClass* = object of TWidgetClass + slider_detail*: cstring + stepper_detail*: cstring + value_changed*: proc (range: PRange){.cdecl.} + adjust_bounds*: proc (range: PRange, new_value: gdouble){.cdecl.} + move_slider*: proc (range: PRange, scroll: TScrollType){.cdecl.} + get_range_border*: proc (range: PRange, border: PBorder){.cdecl.} + reserved401: proc (){.cdecl.} + reserved402: proc (){.cdecl.} + reserved403: proc (){.cdecl.} + reserved404: proc (){.cdecl.} + + PScale* = ptr TScale + TScale* = object of TRange + digits*: gint + Scale_flag0*: guint16 + + PScaleClass* = ptr TScaleClass + TScaleClass* = object of TRangeClass + format_value*: proc (scale: PScale, value: gdouble): cstring{.cdecl.} + draw_value*: proc (scale: PScale){.cdecl.} + reserved411: proc (){.cdecl.} + reserved412: proc (){.cdecl.} + reserved413: proc (){.cdecl.} + reserved414: proc (){.cdecl.} + + PHScale* = ptr THScale + THScale* = object of TScale + PHScaleClass* = ptr THScaleClass + THScaleClass* = object of TScaleClass + PScrollbar* = ptr TScrollbar + TScrollbar* = object of TRange + PScrollbarClass* = ptr TScrollbarClass + TScrollbarClass* = object of TRangeClass + reserved421: proc (){.cdecl.} + reserved422: proc (){.cdecl.} + reserved423: proc (){.cdecl.} + reserved424: proc (){.cdecl.} + + PHScrollbar* = ptr THScrollbar + THScrollbar* = object of TScrollbar + PHScrollbarClass* = ptr THScrollbarClass + THScrollbarClass* = object of TScrollbarClass + PSeparator* = ptr TSeparator + TSeparator* = object of TWidget + PSeparatorClass* = ptr TSeparatorClass + TSeparatorClass* = object of TWidgetClass + PHSeparator* = ptr THSeparator + THSeparator* = object of TSeparator + PHSeparatorClass* = ptr THSeparatorClass + THSeparatorClass* = object of TSeparatorClass + PIconFactory* = ptr TIconFactory + TIconFactory* = object of TGObject + icons*: PGHashTable + + PIconFactoryClass* = ptr TIconFactoryClass + TIconFactoryClass* = object of TGObjectClass + reserved431: proc (){.cdecl.} + reserved432: proc (){.cdecl.} + reserved433: proc (){.cdecl.} + reserved434: proc (){.cdecl.} + + PIconSet* = pointer + PImagePixmapData* = ptr TImagePixmapData + TImagePixmapData*{.final, pure.} = object + pixmap*: PGdkPixmap + + PImageImageData* = ptr TImageImageData + TImageImageData*{.final, pure.} = object + image*: PGdkImage + + PImagePixbufData* = ptr TImagePixbufData + TImagePixbufData*{.final, pure.} = object + pixbuf*: PGdkPixbuf + + PImageStockData* = ptr TImageStockData + TImageStockData*{.final, pure.} = object + stock_id*: cstring + + PImageIconSetData* = ptr TImageIconSetData + TImageIconSetData*{.final, pure.} = object + icon_set*: PIconSet + + PImageAnimationData* = ptr TImageAnimationData + TImageAnimationData*{.final, pure.} = object + anim*: PGdkPixbufAnimation + iter*: PGdkPixbufAnimationIter + frame_timeout*: guint + + PImageType* = ptr TImageType + TImageType* = enum + IMAGE_EMPTY, IMAGE_PIXMAP, IMAGE_IMAGE, IMAGE_PIXBUF, IMAGE_STOCK, + IMAGE_ICON_SET, IMAGE_ANIMATION + PImage* = ptr TImage + TImage* = object of TMisc + storage_type*: TImageType + pixmap*: TImagePixmapData + mask*: PGdkBitmap + icon_size*: TIconSize + + PImageClass* = ptr TImageClass + TImageClass* = object of TMiscClass + reserved441: proc (){.cdecl.} + reserved442: proc (){.cdecl.} + reserved443: proc (){.cdecl.} + reserved444: proc (){.cdecl.} + + PImageMenuItem* = ptr TImageMenuItem + TImageMenuItem* = object of TMenuItem + image*: PWidget + + PImageMenuItemClass* = ptr TImageMenuItemClass + TImageMenuItemClass* = object of TMenuItemClass + PIMContextSimple* = ptr TIMContextSimple + TIMContextSimple* = object of TIMContext + tables*: PGSList + compose_buffer*: array[0..(MAX_COMPOSE_LEN + 1) - 1, guint] + tentative_match*: gunichar + tentative_match_len*: gint + IMContextSimple_flag0*: guint16 + + PIMContextSimpleClass* = ptr TIMContextSimpleClass + TIMContextSimpleClass* = object of TIMContextClass + PIMMulticontext* = ptr TIMMulticontext + TIMMulticontext* = object of TIMContext + slave*: PIMContext + client_window*: PGdkWindow + context_id*: cstring + + PIMMulticontextClass* = ptr TIMMulticontextClass + TIMMulticontextClass* = object of TIMContextClass + reserved451: proc (){.cdecl.} + reserved452: proc (){.cdecl.} + reserved453: proc (){.cdecl.} + reserved454: proc (){.cdecl.} + + PInputDialog* = ptr TInputDialog + TInputDialog* = object of TDialog + axis_list*: PWidget + axis_listbox*: PWidget + mode_optionmenu*: PWidget + close_button*: PWidget + save_button*: PWidget + axis_items*: array[0..(GDK_AXIS_LAST) - 1, PWidget] + current_device*: PGdkDevice + keys_list*: PWidget + keys_listbox*: PWidget + + PInputDialogClass* = ptr TInputDialogClass + TInputDialogClass* = object of TDialogClass + enable_device*: proc (inputd: PInputDialog, device: PGdkDevice){.cdecl.} + disable_device*: proc (inputd: PInputDialog, device: PGdkDevice){.cdecl.} + reserved461: proc (){.cdecl.} + reserved462: proc (){.cdecl.} + reserved463: proc (){.cdecl.} + reserved464: proc (){.cdecl.} + + PInvisible* = ptr TInvisible + TInvisible* = object of TWidget + has_user_ref_count*: gboolean + screen*: PGdkScreen + + PInvisibleClass* = ptr TInvisibleClass + TInvisibleClass* = object of TWidgetClass + reserved701: proc (){.cdecl.} + reserved702: proc (){.cdecl.} + reserved703: proc (){.cdecl.} + reserved704: proc (){.cdecl.} + + TPrintFunc* = proc (func_data: gpointer, str: cstring){.cdecl.} + PTranslateFunc* = ptr TTranslateFunc + TTranslateFunc* = gchar + TItemFactoryCallback* = proc (){.cdecl.} + TItemFactoryCallback1* = proc (callback_data: gpointer, + callback_action: guint, widget: PWidget){.cdecl.} + PItemFactory* = ptr TItemFactory + TItemFactory* = object of TObject + path*: cstring + accel_group*: PAccelGroup + widget*: PWidget + items*: PGSList + translate_func*: TTranslateFunc + translate_data*: gpointer + translate_notify*: TDestroyNotify + + PItemFactoryClass* = ptr TItemFactoryClass + TItemFactoryClass* = object of TObjectClass + item_ht*: PGHashTable + reserved471: proc (){.cdecl.} + reserved472: proc (){.cdecl.} + reserved473: proc (){.cdecl.} + reserved474: proc (){.cdecl.} + + PItemFactoryEntry* = ptr TItemFactoryEntry + TItemFactoryEntry*{.final, pure.} = object + path*: cstring + accelerator*: cstring + callback*: TItemFactoryCallback + callback_action*: guint + item_type*: cstring + extra_data*: gconstpointer + + PItemFactoryItem* = ptr TItemFactoryItem + TItemFactoryItem*{.final, pure.} = object + path*: cstring + widgets*: PGSList + + PLayout* = ptr TLayout + TLayout* = object of TContainer + children*: PGList + width*: guint + height*: guint + hadjustment*: PAdjustment + vadjustment*: PAdjustment + bin_window*: PGdkWindow + visibility*: TGdkVisibilityState + scroll_x*: gint + scroll_y*: gint + freeze_count*: guint + + PLayoutClass* = ptr TLayoutClass + TLayoutClass* = object of TContainerClass + set_scroll_adjustments*: proc (layout: PLayout, hadjustment: PAdjustment, + vadjustment: PAdjustment){.cdecl.} + reserved481: proc (){.cdecl.} + reserved482: proc (){.cdecl.} + reserved483: proc (){.cdecl.} + reserved484: proc (){.cdecl.} + + PList* = ptr TList + TList* = object of TContainer + children*: PGList + selection*: PGList + undo_selection*: PGList + undo_unselection*: PGList + last_focus_child*: PWidget + undo_focus_child*: PWidget + htimer*: guint + vtimer*: guint + anchor*: gint + drag_pos*: gint + anchor_state*: TStateType + List_flag0*: guint16 + + PListClass* = ptr TListClass + TListClass* = object of TContainerClass + selection_changed*: proc (list: PList){.cdecl.} + select_child*: proc (list: PList, child: PWidget){.cdecl.} + unselect_child*: proc (list: PList, child: PWidget){.cdecl.} + + TTreeModelForeachFunc* = proc (model: PTreeModel, path: PTreePath, + iter: PTreeIter, data: gpointer): gboolean{. + cdecl.} + PTreeModelFlags* = ptr TTreeModelFlags + TTreeModelFlags* = int32 + TTreeIter*{.final, pure.} = object + stamp*: gint + user_data*: gpointer + user_data2*: gpointer + user_data3*: gpointer + + PTreeModelIface* = ptr TTreeModelIface + TTreeModelIface* = object of TGTypeInterface + row_changed*: proc (tree_model: PTreeModel, path: PTreePath, iter: PTreeIter){. + cdecl.} + row_inserted*: proc (tree_model: PTreeModel, path: PTreePath, + iter: PTreeIter){.cdecl.} + row_has_child_toggled*: proc (tree_model: PTreeModel, path: PTreePath, + iter: PTreeIter){.cdecl.} + row_deleted*: proc (tree_model: PTreeModel, path: PTreePath){.cdecl.} + rows_reordered*: proc (tree_model: PTreeModel, path: PTreePath, + iter: PTreeIter, new_order: Pgint){.cdecl.} + get_flags*: proc (tree_model: PTreeModel): TTreeModelFlags{.cdecl.} + get_n_columns*: proc (tree_model: PTreeModel): gint{.cdecl.} + get_column_type*: proc (tree_model: PTreeModel, index: gint): GType{.cdecl.} + get_iter*: proc (tree_model: PTreeModel, iter: PTreeIter, path: PTreePath): gboolean{. + cdecl.} + get_path*: proc (tree_model: PTreeModel, iter: PTreeIter): PTreePath{.cdecl.} + get_value*: proc (tree_model: PTreeModel, iter: PTreeIter, column: gint, + value: PGValue){.cdecl.} + iter_next*: proc (tree_model: PTreeModel, iter: PTreeIter): gboolean{.cdecl.} + iter_children*: proc (tree_model: PTreeModel, iter: PTreeIter, + parent: PTreeIter): gboolean{.cdecl.} + iter_has_child*: proc (tree_model: PTreeModel, iter: PTreeIter): gboolean{. + cdecl.} + iter_n_children*: proc (tree_model: PTreeModel, iter: PTreeIter): gint{. + cdecl.} + iter_nth_child*: proc (tree_model: PTreeModel, iter: PTreeIter, + parent: PTreeIter, n: gint): gboolean{.cdecl.} + iter_parent*: proc (tree_model: PTreeModel, iter: PTreeIter, + child: PTreeIter): gboolean{.cdecl.} + ref_node*: proc (tree_model: PTreeModel, iter: PTreeIter){.cdecl.} + unref_node*: proc (tree_model: PTreeModel, iter: PTreeIter){.cdecl.} + + PTreeSortable* = pointer + TTreeIterCompareFunc* = proc (model: PTreeModel, a: PTreeIter, b: PTreeIter, + user_data: gpointer): gint{.cdecl.} + PTreeSortableIface* = ptr TTreeSortableIface + TTreeSortableIface* = object of TGTypeInterface + sort_column_changed*: proc (sortable: PTreeSortable){.cdecl.} + get_sort_column_id*: proc (sortable: PTreeSortable, sort_column_id: Pgint, + order: PSortType): gboolean{.cdecl.} + set_sort_column_id*: proc (sortable: PTreeSortable, sort_column_id: gint, + order: TSortType){.cdecl.} + set_sort_func*: proc (sortable: PTreeSortable, sort_column_id: gint, + func: TTreeIterCompareFunc, data: gpointer, + destroy: TDestroyNotify){.cdecl.} + set_default_sort_func*: proc (sortable: PTreeSortable, + func: TTreeIterCompareFunc, data: gpointer, + destroy: TDestroyNotify){.cdecl.} + has_default_sort_func*: proc (sortable: PTreeSortable): gboolean{.cdecl.} + + PTreeModelSort* = ptr TTreeModelSort + TTreeModelSort* = object of TGObject + root*: gpointer + stamp*: gint + child_flags*: guint + child_model*: PTreeModel + zero_ref_count*: gint + sort_list*: PGList + sort_column_id*: gint + order*: TSortType + default_sort_func*: TTreeIterCompareFunc + default_sort_data*: gpointer + default_sort_destroy*: TDestroyNotify + changed_id*: guint + inserted_id*: guint + has_child_toggled_id*: guint + deleted_id*: guint + reordered_id*: guint + + PTreeModelSortClass* = ptr TTreeModelSortClass + TTreeModelSortClass* = object of TGObjectClass + reserved491: proc (){.cdecl.} + reserved492: proc (){.cdecl.} + reserved493: proc (){.cdecl.} + reserved494: proc (){.cdecl.} + + PListStore* = ptr TListStore + TListStore* = object of TGObject + stamp*: gint + root*: gpointer + tail*: gpointer + sort_list*: PGList + n_columns*: gint + sort_column_id*: gint + order*: TSortType + column_headers*: PGType + length*: gint + default_sort_func*: TTreeIterCompareFunc + default_sort_data*: gpointer + default_sort_destroy*: TDestroyNotify + ListStore_flag0*: guint16 + + PListStoreClass* = ptr TListStoreClass + TListStoreClass* = object of TGObjectClass + reserved501: proc (){.cdecl.} + reserved502: proc (){.cdecl.} + reserved503: proc (){.cdecl.} + reserved504: proc (){.cdecl.} + + TModuleInitFunc* = proc (argc: Pgint, argv: PPPgchar){.cdecl.} + TKeySnoopFunc* = proc (grab_widget: PWidget, event: PGdkEventKey, + func_data: gpointer): gint{.cdecl.} + PMenuBar* = ptr TMenuBar + TMenuBar* = object of TMenuShell + PMenuBarClass* = ptr TMenuBarClass + TMenuBarClass* = object of TMenuShellClass + reserved511: proc (){.cdecl.} + reserved512: proc (){.cdecl.} + reserved513: proc (){.cdecl.} + reserved514: proc (){.cdecl.} + + PMessageType* = ptr TMessageType + TMessageType* = enum + MESSAGE_INFO, MESSAGE_WARNING, MESSAGE_QUESTION, MESSAGE_ERROR + PButtonsType* = ptr TButtonsType + TButtonsType* = enum + BUTTONS_NONE, BUTTONS_OK, BUTTONS_CLOSE, BUTTONS_CANCEL, BUTTONS_YES_NO, + BUTTONS_OK_CANCEL + PMessageDialog* = ptr TMessageDialog + TMessageDialog* = object of TDialog + image*: PWidget + label*: PWidget + + PMessageDialogClass* = ptr TMessageDialogClass + TMessageDialogClass* = object of TDialogClass + reserved521: proc (){.cdecl.} + reserved522: proc (){.cdecl.} + reserved523: proc (){.cdecl.} + reserved524: proc (){.cdecl.} + + PNotebookPage* = pointer + PNotebookTab* = ptr TNotebookTab + TNotebookTab* = enum + NOTEBOOK_TAB_FIRST, NOTEBOOK_TAB_LAST + PNotebook* = ptr TNotebook + TNotebook* = object of TContainer + cur_page*: PNotebookPage + children*: PGList + first_tab*: PGList + focus_tab*: PGList + menu*: PWidget + event_window*: PGdkWindow + timer*: guint32 + tab_hborder*: guint16 + tab_vborder*: guint16 + Notebook_flag0*: guint16 + + PNotebookClass* = ptr TNotebookClass + TNotebookClass* = object of TContainerClass + switch_page*: proc (notebook: PNotebook, page: PNotebookPage, + page_num: guint){.cdecl.} + select_page*: proc (notebook: PNotebook, move_focus: gboolean): gboolean{. + cdecl.} + focus_tab*: proc (notebook: PNotebook, thetype: TNotebookTab): gboolean{. + cdecl.} + change_current_page*: proc (notebook: PNotebook, offset: gint){.cdecl.} + move_focus_out*: proc (notebook: PNotebook, direction: TDirectionType){. + cdecl.} + reserved531: proc (){.cdecl.} + reserved532: proc (){.cdecl.} + reserved533: proc (){.cdecl.} + reserved534: proc (){.cdecl.} + + POldEditable* = ptr TOldEditable + TOldEditable* = object of TWidget + current_pos*: guint + selection_start_pos*: guint + selection_end_pos*: guint + OldEditable_flag0*: guint16 + clipboard_text*: cstring + + TTextFunction* = proc (editable: POldEditable, time: guint32){.cdecl.} + POldEditableClass* = ptr TOldEditableClass + TOldEditableClass* = object of TWidgetClass + activate*: proc (editable: POldEditable){.cdecl.} + set_editable*: proc (editable: POldEditable, is_editable: gboolean){.cdecl.} + move_cursor*: proc (editable: POldEditable, x: gint, y: gint){.cdecl.} + move_word*: proc (editable: POldEditable, n: gint){.cdecl.} + move_page*: proc (editable: POldEditable, x: gint, y: gint){.cdecl.} + move_to_row*: proc (editable: POldEditable, row: gint){.cdecl.} + move_to_column*: proc (editable: POldEditable, row: gint){.cdecl.} + kill_char*: proc (editable: POldEditable, direction: gint){.cdecl.} + kill_word*: proc (editable: POldEditable, direction: gint){.cdecl.} + kill_line*: proc (editable: POldEditable, direction: gint){.cdecl.} + cut_clipboard*: proc (editable: POldEditable){.cdecl.} + copy_clipboard*: proc (editable: POldEditable){.cdecl.} + paste_clipboard*: proc (editable: POldEditable){.cdecl.} + update_text*: proc (editable: POldEditable, start_pos: gint, end_pos: gint){. + cdecl.} + get_chars*: proc (editable: POldEditable, start_pos: gint, end_pos: gint): cstring{. + cdecl.} + set_selection*: proc (editable: POldEditable, start_pos: gint, end_pos: gint){. + cdecl.} + set_position*: proc (editable: POldEditable, position: gint){.cdecl.} + + POptionMenu* = ptr TOptionMenu + TOptionMenu* = object of TButton + menu*: PWidget + menu_item*: PWidget + width*: guint16 + height*: guint16 + + POptionMenuClass* = ptr TOptionMenuClass + TOptionMenuClass* = object of TButtonClass + changed*: proc (option_menu: POptionMenu){.cdecl.} + reserved541: proc (){.cdecl.} + reserved542: proc (){.cdecl.} + reserved543: proc (){.cdecl.} + reserved544: proc (){.cdecl.} + + PPixmap* = ptr TPixmap + TPixmap* = object of TMisc + pixmap*: PGdkPixmap + mask*: PGdkBitmap + pixmap_insensitive*: PGdkPixmap + Pixmap_flag0*: guint16 + + PPixmapClass* = ptr TPixmapClass + TPixmapClass* = object of TMiscClass + PPlug* = ptr TPlug + TPlug* = object of TWindow + socket_window*: PGdkWindow + modality_window*: PWidget + modality_group*: PWindowGroup + grabbed_keys*: PGHashTable + Plug_flag0*: guint16 + + PPlugClass* = ptr TPlugClass + TPlugClass* = object of TWindowClass + embedded*: proc (plug: PPlug){.cdecl.} + reserved551: proc (){.cdecl.} + reserved552: proc (){.cdecl.} + reserved553: proc (){.cdecl.} + reserved554: proc (){.cdecl.} + + PPreview* = ptr TPreview + TPreview* = object of TWidget + buffer*: Pguchar + buffer_width*: guint16 + buffer_height*: guint16 + bpp*: guint16 + rowstride*: guint16 + dither*: TGdkRgbDither + Preview_flag0*: guint16 + + PPreviewInfo* = ptr TPreviewInfo + TPreviewInfo*{.final, pure.} = object + lookup*: Pguchar + gamma*: gdouble + + PDitherInfo* = ptr TDitherInfo + TDitherInfo*{.final, pure.} = object + c*: array[0..3, guchar] + + PPreviewClass* = ptr TPreviewClass + TPreviewClass* = object of TWidgetClass + info*: TPreviewInfo + + PProgress* = ptr TProgress + TProgress* = object of TWidget + adjustment*: PAdjustment + offscreen_pixmap*: PGdkPixmap + format*: cstring + x_align*: gfloat + y_align*: gfloat + Progress_flag0*: guint16 + + PProgressClass* = ptr TProgressClass + TProgressClass* = object of TWidgetClass + paint*: proc (progress: PProgress){.cdecl.} + update*: proc (progress: PProgress){.cdecl.} + act_mode_enter*: proc (progress: PProgress){.cdecl.} + reserved561: proc (){.cdecl.} + reserved562: proc (){.cdecl.} + reserved563: proc (){.cdecl.} + reserved564: proc (){.cdecl.} + + PProgressBarStyle* = ptr TProgressBarStyle + TProgressBarStyle* = enum + PROGRESS_CONTINUOUS, PROGRESS_DISCRETE + PProgressBarOrientation* = ptr TProgressBarOrientation + TProgressBarOrientation* = enum + PROGRESS_LEFT_TO_RIGHT, PROGRESS_RIGHT_TO_LEFT, PROGRESS_BOTTOM_TO_TOP, + PROGRESS_TOP_TO_BOTTOM + PProgressBar* = ptr TProgressBar + TProgressBar* = object of TProgress + bar_style*: TProgressBarStyle + orientation*: TProgressBarOrientation + blocks*: guint + in_block*: gint + activity_pos*: gint + activity_step*: guint + activity_blocks*: guint + pulse_fraction*: gdouble + ProgressBar_flag0*: guint16 + + PProgressBarClass* = ptr TProgressBarClass + TProgressBarClass* = object of TProgressClass + reserved571: proc (){.cdecl.} + reserved572: proc (){.cdecl.} + reserved573: proc (){.cdecl.} + reserved574: proc (){.cdecl.} + + PRadioButton* = ptr TRadioButton + TRadioButton* = object of TCheckButton + group*: PGSList + + PRadioButtonClass* = ptr TRadioButtonClass + TRadioButtonClass* = object of TCheckButtonClass + reserved581: proc (){.cdecl.} + reserved582: proc (){.cdecl.} + reserved583: proc (){.cdecl.} + reserved584: proc (){.cdecl.} + + PRadioMenuItem* = ptr TRadioMenuItem + TRadioMenuItem* = object of TCheckMenuItem + group*: PGSList + + PRadioMenuItemClass* = ptr TRadioMenuItemClass + TRadioMenuItemClass* = object of TCheckMenuItemClass + reserved591: proc (){.cdecl.} + reserved592: proc (){.cdecl.} + reserved593: proc (){.cdecl.} + reserved594: proc (){.cdecl.} + + PScrolledWindow* = ptr TScrolledWindow + TScrolledWindow* = object of TBin + hscrollbar*: PWidget + vscrollbar*: PWidget + ScrolledWindow_flag0*: guint16 + shadow_type*: guint16 + + PScrolledWindowClass* = ptr TScrolledWindowClass + TScrolledWindowClass* = object of TBinClass + scrollbar_spacing*: gint + scroll_child*: proc (scrolled_window: PScrolledWindow, scroll: TScrollType, + horizontal: gboolean){.cdecl.} + move_focus_out*: proc (scrolled_window: PScrolledWindow, + direction: TDirectionType){.cdecl.} + reserved601: proc (){.cdecl.} + reserved602: proc (){.cdecl.} + reserved603: proc (){.cdecl.} + reserved604: proc (){.cdecl.} + + TSelectionData*{.final, pure.} = object + selection*: TGdkAtom + target*: TGdkAtom + thetype*: TGdkAtom + format*: gint + data*: Pguchar + length*: gint + display*: PGdkDisplay + + PTargetEntry* = ptr TTargetEntry + TTargetEntry*{.final, pure.} = object + target*: cstring + flags*: guint + info*: guint + + PTargetList* = ptr TTargetList + TTargetList*{.final, pure.} = object + list*: PGList + ref_count*: guint + + PTargetPair* = ptr TTargetPair + TTargetPair*{.final, pure.} = object + target*: TGdkAtom + flags*: guint + info*: guint + + PSeparatorMenuItem* = ptr TSeparatorMenuItem + TSeparatorMenuItem* = object of TMenuItem + PSeparatorMenuItemClass* = ptr TSeparatorMenuItemClass + TSeparatorMenuItemClass* = object of TMenuItemClass + PSizeGroup* = ptr TSizeGroup + TSizeGroup* = object of TGObject + widgets*: PGSList + mode*: guint8 + SizeGroup_flag0*: guint16 + requisition*: TRequisition + + PSizeGroupClass* = ptr TSizeGroupClass + TSizeGroupClass* = object of TGObjectClass + reserved611: proc (){.cdecl.} + reserved612: proc (){.cdecl.} + reserved613: proc (){.cdecl.} + reserved614: proc (){.cdecl.} + + PSizeGroupMode* = ptr TSizeGroupMode + TSizeGroupMode* = enum + SIZE_GROUP_NONE, SIZE_GROUP_HORIZONTAL, SIZE_GROUP_VERTICAL, SIZE_GROUP_BOTH + PSocket* = ptr TSocket + TSocket* = object of TContainer + request_width*: guint16 + request_height*: guint16 + current_width*: guint16 + current_height*: guint16 + plug_window*: PGdkWindow + plug_widget*: PWidget + xembed_version*: gshort + Socket_flag0*: guint16 + accel_group*: PAccelGroup + toplevel*: PWidget + + PSocketClass* = ptr TSocketClass + TSocketClass* = object of TContainerClass + plug_added*: proc (socket: PSocket){.cdecl.} + plug_removed*: proc (socket: PSocket): gboolean{.cdecl.} + reserved621: proc (){.cdecl.} + reserved622: proc (){.cdecl.} + reserved623: proc (){.cdecl.} + reserved624: proc (){.cdecl.} + + PSpinButtonUpdatePolicy* = ptr TSpinButtonUpdatePolicy + TSpinButtonUpdatePolicy* = enum + UPDATE_ALWAYS, UPDATE_IF_VALID + PSpinType* = ptr TSpinType + TSpinType* = enum + SPIN_STEP_FORWARD, SPIN_STEP_BACKWARD, SPIN_PAGE_FORWARD, + SPIN_PAGE_BACKWARD, SPIN_HOME, SPIN_END, SPIN_USER_DEFINED + PSpinButton* = ptr TSpinButton + TSpinButton* = object of TEntry + adjustment*: PAdjustment + panel*: PGdkWindow + timer*: guint32 + climb_rate*: gdouble + timer_step*: gdouble + update_policy*: TSpinButtonUpdatePolicy + SpinButton_flag0*: int32 + + PSpinButtonClass* = ptr TSpinButtonClass + TSpinButtonClass* = object of TEntryClass + input*: proc (spin_button: PSpinButton, new_value: Pgdouble): gint{.cdecl.} + output*: proc (spin_button: PSpinButton): gint{.cdecl.} + value_changed*: proc (spin_button: PSpinButton){.cdecl.} + change_value*: proc (spin_button: PSpinButton, scroll: TScrollType){.cdecl.} + reserved631: proc (){.cdecl.} + reserved632: proc (){.cdecl.} + reserved633: proc (){.cdecl.} + reserved634: proc (){.cdecl.} + + PStockItem* = ptr TStockItem + TStockItem*{.final, pure.} = object + stock_id*: cstring + label*: cstring + modifier*: TGdkModifierType + keyval*: guint + translation_domain*: cstring + + PStatusbar* = ptr TStatusbar + TStatusbar* = object of THBox + frame*: PWidget + `label`*: PWidget + messages*: PGSList + keys*: PGSList + seq_context_id*: guint + seq_message_id*: guint + grip_window*: PGdkWindow + Statusbar_flag0*: guint16 + + PStatusbarClass* = ptr TStatusbarClass + TStatusbarClass* = object of THBoxClass + messages_mem_chunk*: PGMemChunk + text_pushed*: proc (statusbar: PStatusbar, context_id: guint, text: cstring){. + cdecl.} + text_popped*: proc (statusbar: PStatusbar, context_id: guint, text: cstring){. + cdecl.} + reserved641: proc (){.cdecl.} + reserved642: proc (){.cdecl.} + reserved643: proc (){.cdecl.} + reserved644: proc (){.cdecl.} + + PTableRowCol* = ptr TTableRowCol + PTable* = ptr TTable + TTable* = object of TContainer + children*: PGList + rows*: PTableRowCol + cols*: PTableRowCol + nrows*: guint16 + ncols*: guint16 + column_spacing*: guint16 + row_spacing*: guint16 + Table_flag0*: guint16 + + PTableClass* = ptr TTableClass + TTableClass* = object of TContainerClass + PTableChild* = ptr TTableChild + TTableChild*{.final, pure.} = object + widget*: PWidget + left_attach*: guint16 + right_attach*: guint16 + top_attach*: guint16 + bottom_attach*: guint16 + xpadding*: guint16 + ypadding*: guint16 + TableChild_flag0*: guint16 + + TTableRowCol*{.final, pure.} = object + requisition*: guint16 + allocation*: guint16 + spacing*: guint16 + flag0*: guint16 + + PTearoffMenuItem* = ptr TTearoffMenuItem + TTearoffMenuItem* = object of TMenuItem + TearoffMenuItem_flag0*: guint16 + + PTearoffMenuItemClass* = ptr TTearoffMenuItemClass + TTearoffMenuItemClass* = object of TMenuItemClass + reserved651: proc (){.cdecl.} + reserved652: proc (){.cdecl.} + reserved653: proc (){.cdecl.} + reserved654: proc (){.cdecl.} + + PTextFont* = pointer + PPropertyMark* = ptr TPropertyMark + TPropertyMark*{.final, pure.} = object + `property`*: PGList + offset*: guint + index*: guint + + PText* = ptr TText + TText* = object of TOldEditable + text_area*: PGdkWindow + hadj*: PAdjustment + vadj*: PAdjustment + gc*: PGdkGC + line_wrap_bitmap*: PGdkPixmap + line_arrow_bitmap*: PGdkPixmap + text*: Pguchar + text_len*: guint + gap_position*: guint + gap_size*: guint + text_end*: guint + line_start_cache*: PGList + first_line_start_index*: guint + first_cut_pixels*: guint + first_onscreen_hor_pixel*: guint + first_onscreen_ver_pixel*: guint + Text_flag0*: guint16 + freeze_count*: guint + text_properties*: PGList + text_properties_end*: PGList + point*: TPropertyMark + scratch_buffer*: Pguchar + scratch_buffer_len*: guint + last_ver_value*: gint + cursor_pos_x*: gint + cursor_pos_y*: gint + cursor_mark*: TPropertyMark + cursor_char*: TGdkWChar + cursor_char_offset*: gchar + cursor_virtual_x*: gint + cursor_drawn_level*: gint + current_line*: PGList + tab_stops*: PGList + default_tab_width*: gint + current_font*: PTextFont + timer*: gint + button*: guint + bg_gc*: PGdkGC + + PTextClass* = ptr TTextClass + TTextClass* = object of TOldEditableClass + set_scroll_adjustments*: proc (text: PText, hadjustment: PAdjustment, + vadjustment: PAdjustment){.cdecl.} + + PTextSearchFlags* = ptr TTextSearchFlags + TTextSearchFlags* = int32 + PTextIter* = ptr TTextIter + TTextIter*{.final, pure.} = object + dummy1*: gpointer + dummy2*: gpointer + dummy3*: gint + dummy4*: gint + dummy5*: gint + dummy6*: gint + dummy7*: gint + dummy8*: gint + dummy9*: gpointer + dummy10*: gpointer + dummy11*: gint + dummy12*: gint + dummy13*: gint + dummy14*: gpointer + + TTextCharPredicate* = proc (ch: gunichar, user_data: gpointer): gboolean{. + cdecl.} + PTextTagClass* = ptr TTextTagClass + PTextAttributes* = ptr TTextAttributes + PTextTag* = ptr TTextTag + PPGtkTextTag* = ptr PTextTag + TTextTag* = object of TGObject + table*: PTextTagTable + name*: cstring + priority*: int32 + values*: PTextAttributes + TextTag_flag0*: int32 + + TTextTagClass* = object of TGObjectClass + event*: proc (tag: PTextTag, event_object: PGObject, event: PGdkEvent, + iter: PTextIter): gboolean{.cdecl.} + reserved661: proc (){.cdecl.} + reserved662: proc (){.cdecl.} + reserved663: proc (){.cdecl.} + reserved664: proc (){.cdecl.} + + PTextAppearance* = ptr TTextAppearance + TTextAppearance*{.final, pure.} = object + bg_color*: TGdkColor + fg_color*: TGdkColor + bg_stipple*: PGdkBitmap + fg_stipple*: PGdkBitmap + rise*: gint + padding1*: gpointer + flag0*: guint16 + + TTextAttributes*{.final, pure.} = object + refcount*: guint + appearance*: TTextAppearance + justification*: TJustification + direction*: TTextDirection + font*: PPangoFontDescription + font_scale*: gdouble + left_margin*: gint + indent*: gint + right_margin*: gint + pixels_above_lines*: gint + pixels_below_lines*: gint + pixels_inside_wrap*: gint + tabs*: PPangoTabArray + wrap_mode*: TWrapMode + language*: PPangoLanguage + padding1*: gpointer + flag0*: guint16 + + TTextTagTableForeach* = proc (tag: PTextTag, data: gpointer){.cdecl.} + TTextTagTable* = object of TGObject + hash*: PGHashTable + anonymous*: PGSList + anon_count*: gint + buffers*: PGSList + + PTextTagTableClass* = ptr TTextTagTableClass + TTextTagTableClass* = object of TGObjectClass + tag_changed*: proc (table: PTextTagTable, tag: PTextTag, + size_changed: gboolean){.cdecl.} + tag_added*: proc (table: PTextTagTable, tag: PTextTag){.cdecl.} + tag_removed*: proc (table: PTextTagTable, tag: PTextTag){.cdecl.} + reserved1: proc (){.cdecl.} + reserved2: proc (){.cdecl.} + reserved3: proc (){.cdecl.} + reserved4: proc (){.cdecl.} + + PTextMark* = ptr TTextMark + TTextMark* = object of TGObject + segment*: gpointer + + PTextMarkClass* = ptr TTextMarkClass + TTextMarkClass* = object of TGObjectClass + reserved1: proc (){.cdecl.} + reserved2: proc (){.cdecl.} + reserved3: proc (){.cdecl.} + reserved4: proc (){.cdecl.} + + PTextMarkBody* = ptr TTextMarkBody + TTextMarkBody*{.final, pure.} = object + obj*: PTextMark + name*: cstring + tree*: PTextBTree + line*: PTextLine + flag0*: guint16 + + PTextChildAnchor* = ptr TTextChildAnchor + TTextChildAnchor* = object of TGObject + segment*: gpointer + + PTextChildAnchorClass* = ptr TTextChildAnchorClass + TTextChildAnchorClass* = object of TGObjectClass + reserved1: proc (){.cdecl.} + reserved2: proc (){.cdecl.} + reserved3: proc (){.cdecl.} + reserved4: proc (){.cdecl.} + + PTextPixbuf* = ptr TTextPixbuf + TTextPixbuf*{.final, pure.} = object + pixbuf*: PGdkPixbuf + + PTextChildBody* = ptr TTextChildBody + TTextChildBody*{.final, pure.} = object + obj*: PTextChildAnchor + widgets*: PGSList + tree*: PTextBTree + line*: PTextLine + + PTextLineSegment* = ptr TTextLineSegment + PTextLineSegmentClass* = ptr TTextLineSegmentClass + PTextTagInfo* = ptr TTextTagInfo + TTextTagInfo*{.final, pure.} = object + tag*: PTextTag + tag_root*: PTextBTreeNode + toggle_count*: gint + + PTextToggleBody* = ptr TTextToggleBody + TTextToggleBody*{.final, pure.} = object + info*: PTextTagInfo + inNodeCounts*: gboolean + + TTextLineSegment*{.final, pure.} = object + `type`*: PTextLineSegmentClass + next*: PTextLineSegment + char_count*: int32 + byte_count*: int32 + body*: TTextChildBody + + PTextSegSplitFunc* = ptr TTextSegSplitFunc + TTextSegSplitFunc* = TTextLineSegment + TTextSegDeleteFunc* = proc (seg: PTextLineSegment, line: PTextLine, + tree_gone: gboolean): gboolean{.cdecl.} + PTextSegCleanupFunc* = ptr TTextSegCleanupFunc + TTextSegCleanupFunc* = TTextLineSegment + TTextSegLineChangeFunc* = proc (seg: PTextLineSegment, line: PTextLine){.cdecl.} + TTextSegCheckFunc* = proc (seg: PTextLineSegment, line: PTextLine){.cdecl.} + TTextLineSegmentClass*{.final, pure.} = object + name*: cstring + leftGravity*: gboolean + splitFunc*: TTextSegSplitFunc + deleteFunc*: TTextSegDeleteFunc + cleanupFunc*: TTextSegCleanupFunc + lineChangeFunc*: TTextSegLineChangeFunc + checkFunc*: TTextSegCheckFunc + + PTextLineData* = ptr TTextLineData + TTextLineData*{.final, pure.} = object + view_id*: gpointer + next*: PTextLineData + height*: gint + flag0*: int32 + + TTextLine*{.final, pure.} = object + parent*: PTextBTreeNode + next*: PTextLine + segments*: PTextLineSegment + views*: PTextLineData + + PTextLogAttrCache* = pointer + PTextBuffer* = ptr TTextBuffer + TTextBuffer* = object of TGObject + tag_table*: PTextTagTable + btree*: PTextBTree + clipboard_contents_buffers*: PGSList + selection_clipboards*: PGSList + log_attr_cache*: PTextLogAttrCache + user_action_count*: guint + TextBuffer_flag0*: guint16 + + PTextBufferClass* = ptr TTextBufferClass + TTextBufferClass* = object of TGObjectClass + insert_text*: proc (buffer: PTextBuffer, pos: PTextIter, text: cstring, + length: gint){.cdecl.} + insert_pixbuf*: proc (buffer: PTextBuffer, pos: PTextIter, + pixbuf: PGdkPixbuf){.cdecl.} + insert_child_anchor*: proc (buffer: PTextBuffer, pos: PTextIter, + anchor: PTextChildAnchor){.cdecl.} + delete_range*: proc (buffer: PTextBuffer, start: PTextIter, + theEnd: PTextIter){.cdecl.} + changed*: proc (buffer: PTextBuffer){.cdecl.} + modified_changed*: proc (buffer: PTextBuffer){.cdecl.} + mark_set*: proc (buffer: PTextBuffer, location: PTextIter, mark: PTextMark){. + cdecl.} + mark_deleted*: proc (buffer: PTextBuffer, mark: PTextMark){.cdecl.} + apply_tag*: proc (buffer: PTextBuffer, tag: PTextTag, start_char: PTextIter, + end_char: PTextIter){.cdecl.} + remove_tag*: proc (buffer: PTextBuffer, tag: PTextTag, + start_char: PTextIter, end_char: PTextIter){.cdecl.} + begin_user_action*: proc (buffer: PTextBuffer){.cdecl.} + end_user_action*: proc (buffer: PTextBuffer){.cdecl.} + reserved1: proc (){.cdecl.} + reserved2: proc (){.cdecl.} + reserved3: proc (){.cdecl.} + reserved4: proc (){.cdecl.} + reserved5: proc (){.cdecl.} + reserved6: proc (){.cdecl.} + + PTextLineDisplay* = ptr TTextLineDisplay + PTextLayout* = ptr TTextLayout + TTextLayout* = object of TGObject + screen_width*: gint + width*: gint + height*: gint + buffer*: PTextBuffer + default_style*: PTextAttributes + ltr_context*: PPangoContext + rtl_context*: PPangoContext + one_style_cache*: PTextAttributes + one_display_cache*: PTextLineDisplay + wrap_loop_count*: gint + TextLayout_flag0*: guint16 + preedit_string*: cstring + preedit_attrs*: PPangoAttrList + preedit_len*: gint + preedit_cursor*: gint + + PTextLayoutClass* = ptr TTextLayoutClass + TTextLayoutClass* = object of TGObjectClass + invalidated*: proc (layout: PTextLayout){.cdecl.} + changed*: proc (layout: PTextLayout, y: gint, old_height: gint, + new_height: gint){.cdecl.} + wrap*: proc (layout: PTextLayout, line: PTextLine, line_data: PTextLineData): PTextLineData{. + cdecl.} + get_log_attrs*: proc (layout: PTextLayout, line: PTextLine, + attrs: var PPangoLogAttr, n_attrs: Pgint){.cdecl.} + invalidate*: proc (layout: PTextLayout, start: PTextIter, theEnd: PTextIter){. + cdecl.} + free_line_data*: proc (layout: PTextLayout, line: PTextLine, + line_data: PTextLineData){.cdecl.} + allocate_child*: proc (layout: PTextLayout, child: PWidget, x: gint, y: gint){. + cdecl.} + reserved1: proc (){.cdecl.} + reserved2: proc (){.cdecl.} + reserved3: proc (){.cdecl.} + reserved4: proc (){.cdecl.} + + PTextAttrAppearance* = ptr TTextAttrAppearance + TTextAttrAppearance*{.final, pure.} = object + attr*: TPangoAttribute + appearance*: TTextAppearance + + PTextCursorDisplay* = ptr TTextCursorDisplay + TTextCursorDisplay*{.final, pure.} = object + x*: gint + y*: gint + height*: gint + flag0*: guint16 + + TTextLineDisplay*{.final, pure.} = object + layout*: PPangoLayout + cursors*: PGSList + shaped_objects*: PGSList + direction*: TTextDirection + width*: gint + total_width*: gint + height*: gint + x_offset*: gint + left_margin*: gint + right_margin*: gint + top_margin*: gint + bottom_margin*: gint + insert_index*: gint + size_only*: gboolean + line*: PTextLine + + PTextWindow* = pointer + PTextPendingScroll* = pointer + PTextWindowType* = ptr TTextWindowType + TTextWindowType* = enum + TEXT_WINDOW_PRIVATE, TEXT_WINDOW_WIDGET, TEXT_WINDOW_TEXT, TEXT_WINDOW_LEFT, + TEXT_WINDOW_RIGHT, TEXT_WINDOW_TOP, TEXT_WINDOW_BOTTOM + PTextView* = ptr TTextView + TTextView* = object of TContainer + layout*: PTextLayout + buffer*: PTextBuffer + selection_drag_handler*: guint + scroll_timeout*: guint + pixels_above_lines*: gint + pixels_below_lines*: gint + pixels_inside_wrap*: gint + wrap_mode*: TWrapMode + justify*: TJustification + left_margin*: gint + right_margin*: gint + indent*: gint + tabs*: PPangoTabArray + TextView_flag0*: guint16 + text_window*: PTextWindow + left_window*: PTextWindow + right_window*: PTextWindow + top_window*: PTextWindow + bottom_window*: PTextWindow + hadjustment*: PAdjustment + vadjustment*: PAdjustment + xoffset*: gint + yoffset*: gint + width*: gint + height*: gint + virtual_cursor_x*: gint + virtual_cursor_y*: gint + first_para_mark*: PTextMark + first_para_pixels*: gint + dnd_mark*: PTextMark + blink_timeout*: guint + first_validate_idle*: guint + incremental_validate_idle*: guint + im_context*: PIMContext + popup_menu*: PWidget + drag_start_x*: gint + drag_start_y*: gint + children*: PGSList + pending_scroll*: PTextPendingScroll + pending_place_cursor_button*: gint + + PTextViewClass* = ptr TTextViewClass + TTextViewClass* = object of TContainerClass + set_scroll_adjustments*: proc (text_view: PTextView, + hadjustment: PAdjustment, + vadjustment: PAdjustment){.cdecl.} + populate_popup*: proc (text_view: PTextView, menu: PMenu){.cdecl.} + move_cursor*: proc (text_view: PTextView, step: TMovementStep, count: gint, + extend_selection: gboolean){.cdecl.} + page_horizontally*: proc (text_view: PTextView, count: gint, + extend_selection: gboolean){.cdecl.} + set_anchor*: proc (text_view: PTextView){.cdecl.} + insert_at_cursor*: proc (text_view: PTextView, str: cstring){.cdecl.} + delete_from_cursor*: proc (text_view: PTextView, thetype: TDeleteType, + count: gint){.cdecl.} + cut_clipboard*: proc (text_view: PTextView){.cdecl.} + copy_clipboard*: proc (text_view: PTextView){.cdecl.} + paste_clipboard*: proc (text_view: PTextView){.cdecl.} + toggle_overwrite*: proc (text_view: PTextView){.cdecl.} + move_focus*: proc (text_view: PTextView, direction: TDirectionType){.cdecl.} + reserved711: proc (){.cdecl.} + reserved712: proc (){.cdecl.} + reserved713: proc (){.cdecl.} + reserved714: proc (){.cdecl.} + reserved715: proc (){.cdecl.} + reserved716: proc (){.cdecl.} + reserved717: proc (){.cdecl.} + reserved718: proc (){.cdecl.} + + PTipsQuery* = ptr TTipsQuery + TTipsQuery* = object of TLabel + TipsQuery_flag0*: guint16 + label_inactive*: cstring + label_no_tip*: cstring + caller*: PWidget + last_crossed*: PWidget + query_cursor*: PGdkCursor + + PTipsQueryClass* = ptr TTipsQueryClass + TTipsQueryClass* = object of TLabelClass + start_query*: proc (tips_query: PTipsQuery){.cdecl.} + stop_query*: proc (tips_query: PTipsQuery){.cdecl.} + widget_entered*: proc (tips_query: PTipsQuery, widget: PWidget, + tip_text: cstring, tip_private: cstring){.cdecl.} + widget_selected*: proc (tips_query: PTipsQuery, widget: PWidget, + tip_text: cstring, tip_private: cstring, + event: PGdkEventButton): gint{.cdecl.} + reserved721: proc (){.cdecl.} + reserved722: proc (){.cdecl.} + reserved723: proc (){.cdecl.} + reserved724: proc (){.cdecl.} + + PTooltips* = ptr TTooltips + PTooltipsData* = ptr TTooltipsData + TTooltipsData*{.final, pure.} = object + tooltips*: PTooltips + widget*: PWidget + tip_text*: cstring + tip_private*: cstring + + TTooltips* = object of TObject + tip_window*: PWidget + tip_label*: PWidget + active_tips_data*: PTooltipsData + tips_data_list*: PGList + Tooltips_flag0*: int32 + flag1*: guint16 + timer_tag*: gint + last_popdown*: TGTimeVal + + PTooltipsClass* = ptr TTooltipsClass + TTooltipsClass* = object of TObjectClass + reserved1: proc (){.cdecl.} + reserved2: proc (){.cdecl.} + reserved3: proc (){.cdecl.} + reserved4: proc (){.cdecl.} + + PToolbarChildType* = ptr TToolbarChildType + TToolbarChildType* = enum + TOOLBAR_CHILD_SPACE, TOOLBAR_CHILD_BUTTON, TOOLBAR_CHILD_TOGGLEBUTTON, + TOOLBAR_CHILD_RADIOBUTTON, TOOLBAR_CHILD_WIDGET + PToolbarSpaceStyle* = ptr TToolbarSpaceStyle + TToolbarSpaceStyle* = enum + TOOLBAR_SPACE_EMPTY, TOOLBAR_SPACE_LINE + PToolbarChild* = ptr TToolbarChild + TToolbarChild*{.final, pure.} = object + `type`*: TToolbarChildType + widget*: PWidget + icon*: PWidget + label*: PWidget + + PToolbar* = ptr TToolbar + TToolbar* = object of TContainer + num_children*: gint + children*: PGList + orientation*: TOrientation + Toolbar_style*: TToolbarStyle + icon_size*: TIconSize + tooltips*: PTooltips + button_maxw*: gint + button_maxh*: gint + style_set_connection*: guint + icon_size_connection*: guint + Toolbar_flag0*: guint16 + + PToolbarClass* = ptr TToolbarClass + TToolbarClass* = object of TContainerClass + orientation_changed*: proc (toolbar: PToolbar, orientation: TOrientation){. + cdecl.} + style_changed*: proc (toolbar: PToolbar, style: TToolbarStyle){.cdecl.} + reserved731: proc (){.cdecl.} + reserved732: proc (){.cdecl.} + reserved733: proc (){.cdecl.} + reserved734: proc (){.cdecl.} + + PTreeViewMode* = ptr TTreeViewMode + TTreeViewMode* = enum + TREE_VIEW_LINE, TREE_VIEW_ITEM + PTree* = ptr TTree + TTree* = object of TContainer + children*: PGList + root_tree*: PTree + tree_owner*: PWidget + selection*: PGList + level*: guint + indent_value*: guint + current_indent*: guint + Tree_flag0*: guint16 + + PTreeClass* = ptr TTreeClass + TTreeClass* = object of TContainerClass + selection_changed*: proc (tree: PTree){.cdecl.} + select_child*: proc (tree: PTree, child: PWidget){.cdecl.} + unselect_child*: proc (tree: PTree, child: PWidget){.cdecl.} + + PTreeDragSource* = pointer + PTreeDragDest* = pointer + PTreeDragSourceIface* = ptr TTreeDragSourceIface + TTreeDragSourceIface* = object of TGTypeInterface + row_draggable*: proc (drag_source: PTreeDragSource, path: PTreePath): gboolean{. + cdecl.} + drag_data_get*: proc (drag_source: PTreeDragSource, path: PTreePath, + selection_data: PSelectionData): gboolean{.cdecl.} + drag_data_delete*: proc (drag_source: PTreeDragSource, path: PTreePath): gboolean{. + cdecl.} + + PTreeDragDestIface* = ptr TTreeDragDestIface + TTreeDragDestIface* = object of TGTypeInterface + drag_data_received*: proc (drag_dest: PTreeDragDest, dest: PTreePath, + selection_data: PSelectionData): gboolean{.cdecl.} + row_drop_possible*: proc (drag_dest: PTreeDragDest, dest_path: PTreePath, + selection_data: PSelectionData): gboolean{.cdecl.} + + PTreeItem* = ptr TTreeItem + TTreeItem* = object of TItem + subtree*: PWidget + pixmaps_box*: PWidget + plus_pix_widget*: PWidget + minus_pix_widget*: PWidget + pixmaps*: PGList + TreeItem_flag0*: guint16 + + PTreeItemClass* = ptr TTreeItemClass + TTreeItemClass* = object of TItemClass + expand*: proc (tree_item: PTreeItem){.cdecl.} + collapse*: proc (tree_item: PTreeItem){.cdecl.} + + PTreeSelection* = ptr TTreeSelection + TTreeSelectionFunc* = proc (selection: PTreeSelection, model: PTreeModel, + path: PTreePath, + path_currently_selected: gboolean, data: gpointer): gboolean{. + cdecl.} + TTreeSelectionForeachFunc* = proc (model: PTreeModel, path: PTreePath, + iter: PTreeIter, data: gpointer){.cdecl.} + TTreeSelection* = object of TGObject + tree_view*: PTreeView + thetype*: TSelectionMode + user_func*: TTreeSelectionFunc + user_data*: gpointer + destroy*: TDestroyNotify + + PTreeSelectionClass* = ptr TTreeSelectionClass + TTreeSelectionClass* = object of TGObjectClass + changed*: proc (selection: PTreeSelection){.cdecl.} + reserved741: proc (){.cdecl.} + reserved742: proc (){.cdecl.} + reserved743: proc (){.cdecl.} + reserved744: proc (){.cdecl.} + + PTreeStore* = ptr TTreeStore + TTreeStore* = object of TGObject + stamp*: gint + root*: gpointer + last*: gpointer + n_columns*: gint + sort_column_id*: gint + sort_list*: PGList + order*: TSortType + column_headers*: PGType + default_sort_func*: TTreeIterCompareFunc + default_sort_data*: gpointer + default_sort_destroy*: TDestroyNotify + TreeStore_flag0*: guint16 + + PTreeStoreClass* = ptr TTreeStoreClass + TTreeStoreClass* = object of TGObjectClass + reserved751: proc (){.cdecl.} + reserved752: proc (){.cdecl.} + reserved753: proc (){.cdecl.} + reserved754: proc (){.cdecl.} + + PTreeViewColumnSizing* = ptr TTreeViewColumnSizing + TTreeViewColumnSizing* = enum + TREE_VIEW_COLUMN_GROW_ONLY, TREE_VIEW_COLUMN_AUTOSIZE, + TREE_VIEW_COLUMN_FIXED + TTreeCellDataFunc* = proc (tree_column: PTreeViewColumn, cell: PCellRenderer, + tree_model: PTreeModel, iter: PTreeIter, + data: gpointer){.cdecl.} + TTreeViewColumn* = object of TObject + tree_view*: PWidget + button*: PWidget + child*: PWidget + arrow*: PWidget + alignment*: PWidget + window*: PGdkWindow + editable_widget*: PCellEditable + xalign*: gfloat + property_changed_signal*: guint + spacing*: gint + column_type*: TTreeViewColumnSizing + requested_width*: gint + button_request*: gint + resized_width*: gint + width*: gint + fixed_width*: gint + min_width*: gint + max_width*: gint + drag_x*: gint + drag_y*: gint + title*: cstring + cell_list*: PGList + sort_clicked_signal*: guint + sort_column_changed_signal*: guint + sort_column_id*: gint + sort_order*: TSortType + TreeViewColumn_flag0*: guint16 + + PTreeViewColumnClass* = ptr TTreeViewColumnClass + TTreeViewColumnClass* = object of TObjectClass + clicked*: proc (tree_column: PTreeViewColumn){.cdecl.} + reserved751: proc (){.cdecl.} + reserved752: proc (){.cdecl.} + reserved753: proc (){.cdecl.} + reserved754: proc (){.cdecl.} + + PRBNodeColor* = ptr TRBNodeColor + TRBNodeColor* = int32 + PRBTree* = ptr TRBTree + PRBNode* = ptr TRBNode + TRBTreeTraverseFunc* = proc (tree: PRBTree, node: PRBNode, data: gpointer){. + cdecl.} + TRBTree*{.final, pure.} = object + root*: PRBNode + `nil`*: PRBNode + parent_tree*: PRBTree + parent_node*: PRBNode + + TRBNode*{.final, pure.} = object + flag0*: guint16 + left*: PRBNode + right*: PRBNode + parent*: PRBNode + count*: gint + offset*: gint + children*: PRBTree + + PTreeRowReference* = pointer + PTreeViewFlags* = ptr TTreeViewFlags + TTreeViewFlags* = int32 + TTreeViewSearchDialogPositionFunc* = proc (tree_view: PTreeView, + search_dialog: PWidget){.cdecl.} + PTreeViewColumnReorder* = ptr TTreeViewColumnReorder + TTreeViewColumnReorder*{.final, pure.} = object + left_align*: gint + right_align*: gint + left_column*: PTreeViewColumn + right_column*: PTreeViewColumn + + PTreeViewPrivate* = ptr TTreeViewPrivate + TTreeViewPrivate*{.final, pure.} = object + model*: PTreeModel + flags*: guint + tree*: PRBTree + button_pressed_node*: PRBNode + button_pressed_tree*: PRBTree + children*: PGList + width*: gint + height*: gint + expander_size*: gint + hadjustment*: PAdjustment + vadjustment*: PAdjustment + bin_window*: PGdkWindow + header_window*: PGdkWindow + drag_window*: PGdkWindow + drag_highlight_window*: PGdkWindow + drag_column*: PTreeViewColumn + last_button_press*: PTreeRowReference + last_button_press_2*: PTreeRowReference + top_row*: PTreeRowReference + top_row_dy*: gint + dy*: gint + drag_column_x*: gint + expander_column*: PTreeViewColumn + edited_column*: PTreeViewColumn + presize_handler_timer*: guint + validate_rows_timer*: guint + scroll_sync_timer*: guint + focus_column*: PTreeViewColumn + anchor*: PTreeRowReference + cursor*: PTreeRowReference + drag_pos*: gint + x_drag*: gint + prelight_node*: PRBNode + prelight_tree*: PRBTree + expanded_collapsed_node*: PRBNode + expanded_collapsed_tree*: PRBTree + expand_collapse_timeout*: guint + selection*: PTreeSelection + n_columns*: gint + columns*: PGList + header_height*: gint + column_drop_func*: TTreeViewColumnDropFunc + column_drop_func_data*: gpointer + column_drop_func_data_destroy*: TDestroyNotify + column_drag_info*: PGList + cur_reorder*: PTreeViewColumnReorder + destroy_count_func*: TTreeDestroyCountFunc + destroy_count_data*: gpointer + destroy_count_destroy*: TDestroyNotify + scroll_timeout*: guint + drag_dest_row*: PTreeRowReference + drag_dest_pos*: TTreeViewDropPosition + open_dest_timeout*: guint + pressed_button*: gint + press_start_x*: gint + press_start_y*: gint + scroll_to_path*: PTreeRowReference + scroll_to_column*: PTreeViewColumn + scroll_to_row_align*: gfloat + scroll_to_col_align*: gfloat + flag0*: guint16 + search_column*: gint + search_dialog_position_func*: TTreeViewSearchDialogPositionFunc + search_equal_func*: TTreeViewSearchEqualFunc + search_user_data*: gpointer + search_destroy*: TDestroyNotify + + TTreeView* = object of TContainer + priv*: PTreeViewPrivate + + PTreeViewClass* = ptr TTreeViewClass + TTreeViewClass* = object of TContainerClass + set_scroll_adjustments*: proc (tree_view: PTreeView, + hadjustment: PAdjustment, + vadjustment: PAdjustment){.cdecl.} + row_activated*: proc (tree_view: PTreeView, path: PTreePath, + column: PTreeViewColumn){.cdecl.} + test_expand_row*: proc (tree_view: PTreeView, iter: PTreeIter, + path: PTreePath): gboolean{.cdecl.} + test_collapse_row*: proc (tree_view: PTreeView, iter: PTreeIter, + path: PTreePath): gboolean{.cdecl.} + row_expanded*: proc (tree_view: PTreeView, iter: PTreeIter, path: PTreePath){. + cdecl.} + row_collapsed*: proc (tree_view: PTreeView, iter: PTreeIter, path: PTreePath){. + cdecl.} + columns_changed*: proc (tree_view: PTreeView){.cdecl.} + cursor_changed*: proc (tree_view: PTreeView){.cdecl.} + move_cursor*: proc (tree_view: PTreeView, step: TMovementStep, count: gint): gboolean{. + cdecl.} + select_all*: proc (tree_view: PTreeView){.cdecl.} + unselect_all*: proc (tree_view: PTreeView){.cdecl.} + select_cursor_row*: proc (tree_view: PTreeView, start_editing: gboolean){. + cdecl.} + toggle_cursor_row*: proc (tree_view: PTreeView){.cdecl.} + expand_collapse_cursor_row*: proc (tree_view: PTreeView, logical: gboolean, + expand: gboolean, open_all: gboolean){. + cdecl.} + select_cursor_parent*: proc (tree_view: PTreeView){.cdecl.} + start_interactive_search*: proc (tree_view: PTreeView){.cdecl.} + reserved760: proc (){.cdecl.} + reserved761: proc (){.cdecl.} + reserved762: proc (){.cdecl.} + reserved763: proc (){.cdecl.} + reserved764: proc (){.cdecl.} + + PVButtonBox* = ptr TVButtonBox + TVButtonBox* = object of TButtonBox + PVButtonBoxClass* = ptr TVButtonBoxClass + TVButtonBoxClass* = object of TButtonBoxClass + PViewport* = ptr TViewport + TViewport* = object of TBin + shadow_type*: TShadowType + view_window*: PGdkWindow + bin_window*: PGdkWindow + hadjustment*: PAdjustment + vadjustment*: PAdjustment + + PViewportClass* = ptr TViewportClass + TViewportClass* = object of TBinClass + set_scroll_adjustments*: proc (viewport: PViewport, + hadjustment: PAdjustment, + vadjustment: PAdjustment){.cdecl.} + + PVPaned* = ptr TVPaned + TVPaned* = object of TPaned + PVPanedClass* = ptr TVPanedClass + TVPanedClass* = object of TPanedClass + PVRuler* = ptr TVRuler + TVRuler* = object of TRuler + PVRulerClass* = ptr TVRulerClass + TVRulerClass* = object of TRulerClass + PVScale* = ptr TVScale + TVScale* = object of TScale + PVScaleClass* = ptr TVScaleClass + TVScaleClass* = object of TScaleClass + PVScrollbar* = ptr TVScrollbar + TVScrollbar* = object of TScrollbar + PVScrollbarClass* = ptr TVScrollbarClass + TVScrollbarClass* = object of TScrollbarClass + PVSeparator* = ptr TVSeparator + TVSeparator* = object of TSeparator + PVSeparatorClass* = ptr TVSeparatorClass + TVSeparatorClass* = object of TSeparatorClass + +const + IN_DESTRUCTION* = 1 shl 0 + FLOATING* = 1 shl 1 + RESERVED_1* = 1 shl 2 + RESERVED_2* = 1 shl 3 + ARG_READABLE* = G_PARAM_READABLE + ARG_WRITABLE* = G_PARAM_WRITABLE + ARG_CONSTRUCT* = G_PARAM_CONSTRUCT + ARG_CONSTRUCT_ONLY* = G_PARAM_CONSTRUCT_ONLY + ARG_CHILD_ARG* = 1 shl 4 + +proc TYPE_OBJECT*(): GType +proc OBJECT*(anObject: pointer): PObject +proc OBJECT_CLASS*(klass: pointer): PObjectClass +proc IS_OBJECT*(anObject: pointer): bool +proc IS_OBJECT_CLASS*(klass: pointer): bool +proc OBJECT_GET_CLASS*(anObject: pointer): PObjectClass +proc OBJECT_TYPE*(anObject: pointer): GType +proc OBJECT_TYPE_NAME*(anObject: pointer): cstring +proc OBJECT_FLAGS*(obj: pointer): guint32 +proc OBJECT_FLOATING*(obj: pointer): gboolean +proc OBJECT_SET_FLAGS*(obj: pointer, flag: guint32) +proc OBJECT_UNSET_FLAGS*(obj: pointer, flag: guint32) +proc object_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_object_get_type".} +proc object_new*(thetype: TType, first_property_name: cstring): PObject{.cdecl, + varargs, dynlib: lib, importc: "gtk_object_new".} +proc object_sink*(anObject: PObject){.cdecl, dynlib: lib, + importc: "gtk_object_sink".} +proc object_destroy*(anObject: PObject){.cdecl, dynlib: lib, + importc: "gtk_object_destroy".} +const + TYPE_INVALID* = G_TYPE_INVALID + TYPE_NONE* = G_TYPE_NONE + TYPE_ENUM* = G_TYPE_ENUM + TYPE_FLAGS* = G_TYPE_FLAGS + TYPE_CHAR* = G_TYPE_CHAR + TYPE_UCHAR* = G_TYPE_UCHAR + TYPE_BOOL* = G_TYPE_BOOLEAN + TYPE_INT* = G_TYPE_INT + TYPE_UINT* = G_TYPE_UINT + TYPE_LONG* = G_TYPE_LONG + TYPE_ULONG* = G_TYPE_ULONG + TYPE_FLOAT* = G_TYPE_FLOAT + TYPE_DOUBLE* = G_TYPE_DOUBLE + TYPE_STRING* = G_TYPE_STRING + TYPE_BOXED* = G_TYPE_BOXED + TYPE_POINTER* = G_TYPE_POINTER + +proc TYPE_IDENTIFIER*(): GType +proc identifier_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_identifier_get_type".} +proc SIGNAL_FUNC*(f: pointer): TSignalFunc +proc type_class*(thetype: TType): gpointer{.cdecl, dynlib: lib, + importc: "gtk_type_class".} +const + TOPLEVEL* = 1 shl 4 + NO_WINDOW* = 1 shl 5 + REALIZED* = 1 shl 6 + MAPPED* = 1 shl 7 + VISIBLE* = 1 shl 8 + SENSITIVE* = 1 shl 9 + PARENT_SENSITIVE* = 1 shl 10 + CAN_FOCUS* = 1 shl 11 + HAS_FOCUS* = 1 shl 12 + CAN_DEFAULT* = 1 shl 13 + HAS_DEFAULT* = 1 shl 14 + HAS_GRAB* = 1 shl 15 + RC_STYLE* = 1 shl 16 + COMPOSITE_CHILD* = 1 shl 17 + NO_REPARENT* = 1 shl 18 + APP_PAINTABLE* = 1 shl 19 + RECEIVES_DEFAULT* = 1 shl 20 + DOUBLE_BUFFERED* = 1 shl 21 + +const + bm_TGtkWidgetAuxInfo_x_set* = 0x0001'i16 + bp_TGtkWidgetAuxInfo_x_set* = 0'i16 + bm_TGtkWidgetAuxInfo_y_set* = 0x0002'i16 + bp_TGtkWidgetAuxInfo_y_set* = 1'i16 + +proc TYPE_WIDGET*(): GType +proc WIDGET*(widget: pointer): PWidget +proc WIDGET_CLASS*(klass: pointer): PWidgetClass +proc IS_WIDGET*(widget: pointer): bool +proc IS_WIDGET_CLASS*(klass: pointer): bool +proc WIDGET_GET_CLASS*(obj: pointer): PWidgetClass +proc WIDGET_TYPE*(wid: pointer): GType +proc WIDGET_STATE*(wid: pointer): int32 +proc WIDGET_SAVED_STATE*(wid: pointer): int32 +proc WIDGET_FLAGS*(wid: pointer): guint32 +proc WIDGET_TOPLEVEL*(wid: pointer): gboolean +proc WIDGET_NO_WINDOW*(wid: pointer): gboolean +proc WIDGET_REALIZED*(wid: pointer): gboolean +proc WIDGET_MAPPED*(wid: pointer): gboolean +proc WIDGET_VISIBLE*(wid: pointer): gboolean +proc WIDGET_DRAWABLE*(wid: pointer): gboolean +proc WIDGET_SENSITIVE*(wid: pointer): gboolean +proc WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean +proc WIDGET_IS_SENSITIVE*(wid: pointer): gboolean +proc WIDGET_CAN_FOCUS*(wid: pointer): gboolean +proc WIDGET_HAS_FOCUS*(wid: pointer): gboolean +proc WIDGET_CAN_DEFAULT*(wid: pointer): gboolean +proc WIDGET_HAS_DEFAULT*(wid: pointer): gboolean +proc WIDGET_HAS_GRAB*(wid: pointer): gboolean +proc WIDGET_RC_STYLE*(wid: pointer): gboolean +proc WIDGET_COMPOSITE_CHILD*(wid: pointer): gboolean +proc WIDGET_APP_PAINTABLE*(wid: pointer): gboolean +proc WIDGET_RECEIVES_DEFAULT*(wid: pointer): gboolean +proc WIDGET_DOUBLE_BUFFERED*(wid: pointer): gboolean +proc WIDGET_SET_FLAGS*(wid: PWidget, flags: TWidgetFlags): TWidgetFlags +proc WIDGET_UNSET_FLAGS*(wid: PWidget, flags: TWidgetFlags): TWidgetFlags +proc TYPE_REQUISITION*(): GType +proc x_set*(a: var TWidgetAuxInfo): guint +proc set_x_set*(a: var TWidgetAuxInfo, x_set: guint) +proc y_set*(a: var TWidgetAuxInfo): guint +proc set_y_set*(a: var TWidgetAuxInfo, y_set: guint) +proc widget_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_widget_get_type".} +proc widget_ref*(widget: PWidget): PWidget{.cdecl, dynlib: lib, + importc: "gtk_widget_ref".} +proc widget_unref*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_unref".} +proc widget_destroy*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_destroy".} +proc widget_destroyed*(widget: PWidget, r: var PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_destroyed".} +proc widget_unparent*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_unparent".} +proc widget_show*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_show".} +proc widget_show_now*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_show_now".} +proc widget_hide*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_hide".} +proc widget_show_all*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_show_all".} +proc widget_hide_all*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_hide_all".} +proc widget_map*(widget: PWidget){.cdecl, dynlib: lib, importc: "gtk_widget_map".} +proc widget_unmap*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_unmap".} +proc widget_realize*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_realize".} +proc widget_unrealize*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_unrealize".} +proc widget_queue_draw*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_queue_draw".} +proc widget_queue_draw_area*(widget: PWidget, x: gint, y: gint, width: gint, + height: gint){.cdecl, dynlib: lib, + importc: "gtk_widget_queue_draw_area".} +proc widget_queue_resize*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_queue_resize".} +proc widget_size_request*(widget: PWidget, requisition: PRequisition){.cdecl, + dynlib: lib, importc: "gtk_widget_size_request".} +proc widget_size_allocate*(widget: PWidget, allocation: PAllocation){.cdecl, + dynlib: lib, importc: "gtk_widget_size_allocate".} +proc widget_get_child_requisition*(widget: PWidget, requisition: PRequisition){. + cdecl, dynlib: lib, importc: "gtk_widget_get_child_requisition".} +proc widget_add_accelerator*(widget: PWidget, accel_signal: cstring, + accel_group: PAccelGroup, accel_key: guint, + accel_mods: TGdkModifierType, + accel_flags: TAccelFlags){.cdecl, dynlib: lib, + importc: "gtk_widget_add_accelerator".} +proc widget_remove_accelerator*(widget: PWidget, accel_group: PAccelGroup, + accel_key: guint, accel_mods: TGdkModifierType): gboolean{. + cdecl, dynlib: lib, importc: "gtk_widget_remove_accelerator".} +proc widget_set_accel_path*(widget: PWidget, accel_path: cstring, + accel_group: PAccelGroup){.cdecl, dynlib: lib, + importc: "gtk_widget_set_accel_path".} +proc widget_get_accel_path*(widget: PWidget, locked: Pgboolean): cstring{.cdecl, + dynlib: lib, importc: "_gtk_widget_get_accel_path".} +proc widget_list_accel_closures*(widget: PWidget): PGList{.cdecl, dynlib: lib, + importc: "gtk_widget_list_accel_closures".} +proc widget_mnemonic_activate*(widget: PWidget, group_cycling: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gtk_widget_mnemonic_activate".} +proc widget_event*(widget: PWidget, event: PGdkEvent): gboolean{.cdecl, + dynlib: lib, importc: "gtk_widget_event".} +proc widget_send_expose*(widget: PWidget, event: PGdkEvent): gint{.cdecl, + dynlib: lib, importc: "gtk_widget_send_expose".} +proc widget_activate*(widget: PWidget): gboolean{.cdecl, dynlib: lib, + importc: "gtk_widget_activate".} +proc widget_set_scroll_adjustments*(widget: PWidget, hadjustment: PAdjustment, + vadjustment: PAdjustment): gboolean{.cdecl, + dynlib: lib, importc: "gtk_widget_set_scroll_adjustments".} +proc widget_reparent*(widget: PWidget, new_parent: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_reparent".} +proc widget_intersect*(widget: PWidget, area: PGdkRectangle, + intersection: PGdkRectangle): gboolean{.cdecl, + dynlib: lib, importc: "gtk_widget_intersect".} +proc widget_region_intersect*(widget: PWidget, region: PGdkRegion): PGdkRegion{. + cdecl, dynlib: lib, importc: "gtk_widget_region_intersect".} +proc widget_freeze_child_notify*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_freeze_child_notify".} +proc widget_child_notify*(widget: PWidget, child_property: cstring){.cdecl, + dynlib: lib, importc: "gtk_widget_child_notify".} +proc widget_thaw_child_notify*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_thaw_child_notify".} +proc widget_is_focus*(widget: PWidget): gboolean{.cdecl, dynlib: lib, + importc: "gtk_widget_is_focus".} +proc widget_grab_focus*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_grab_focus".} +proc widget_grab_default*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_grab_default".} +proc widget_set_name*(widget: PWidget, name: cstring){.cdecl, dynlib: lib, + importc: "gtk_widget_set_name".} +proc widget_get_name*(widget: PWidget): cstring{.cdecl, dynlib: lib, + importc: "gtk_widget_get_name".} +proc widget_set_state*(widget: PWidget, state: TStateType){.cdecl, dynlib: lib, + importc: "gtk_widget_set_state".} +proc widget_set_sensitive*(widget: PWidget, sensitive: gboolean){.cdecl, + dynlib: lib, importc: "gtk_widget_set_sensitive".} +proc widget_set_app_paintable*(widget: PWidget, app_paintable: gboolean){.cdecl, + dynlib: lib, importc: "gtk_widget_set_app_paintable".} +proc widget_set_double_buffered*(widget: PWidget, double_buffered: gboolean){. + cdecl, dynlib: lib, importc: "gtk_widget_set_double_buffered".} +proc widget_set_redraw_on_allocate*(widget: PWidget, + redraw_on_allocate: gboolean){.cdecl, + dynlib: lib, importc: "gtk_widget_set_redraw_on_allocate".} +proc widget_set_parent*(widget: PWidget, parent: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_set_parent".} +proc widget_set_parent_window*(widget: PWidget, parent_window: PGdkWindow){. + cdecl, dynlib: lib, importc: "gtk_widget_set_parent_window".} +proc widget_set_child_visible*(widget: PWidget, is_visible: gboolean){.cdecl, + dynlib: lib, importc: "gtk_widget_set_child_visible".} +proc widget_get_child_visible*(widget: PWidget): gboolean{.cdecl, dynlib: lib, + importc: "gtk_widget_get_child_visible".} +proc widget_get_parent*(widget: PWidget): PWidget{.cdecl, dynlib: lib, + importc: "gtk_widget_get_parent".} +proc widget_get_parent_window*(widget: PWidget): PGdkWindow{.cdecl, dynlib: lib, + importc: "gtk_widget_get_parent_window".} +proc widget_child_focus*(widget: PWidget, direction: TDirectionType): gboolean{. + cdecl, dynlib: lib, importc: "gtk_widget_child_focus".} +proc widget_set_size_request*(widget: PWidget, width: gint, height: gint){. + cdecl, dynlib: lib, importc: "gtk_widget_set_size_request".} +proc widget_get_size_request*(widget: PWidget, width: Pgint, height: Pgint){. + cdecl, dynlib: lib, importc: "gtk_widget_get_size_request".} +proc widget_set_events*(widget: PWidget, events: gint){.cdecl, dynlib: lib, + importc: "gtk_widget_set_events".} +proc widget_add_events*(widget: PWidget, events: gint){.cdecl, dynlib: lib, + importc: "gtk_widget_add_events".} +proc widget_set_extension_events*(widget: PWidget, mode: TGdkExtensionMode){. + cdecl, dynlib: lib, importc: "gtk_widget_set_extension_events".} +proc widget_get_extension_events*(widget: PWidget): TGdkExtensionMode{.cdecl, + dynlib: lib, importc: "gtk_widget_get_extension_events".} +proc widget_get_toplevel*(widget: PWidget): PWidget{.cdecl, dynlib: lib, + importc: "gtk_widget_get_toplevel".} +proc widget_get_ancestor*(widget: PWidget, widget_type: TType): PWidget{.cdecl, + dynlib: lib, importc: "gtk_widget_get_ancestor".} +proc widget_get_colormap*(widget: PWidget): PGdkColormap{.cdecl, dynlib: lib, + importc: "gtk_widget_get_colormap".} +proc widget_get_visual*(widget: PWidget): PGdkVisual{.cdecl, dynlib: lib, + importc: "gtk_widget_get_visual".} +proc widget_get_screen*(widget: PWidget): PGdkScreen{.cdecl, dynlib: lib, + importc: "gtk_widget_get_screen".} +proc widget_has_screen*(widget: PWidget): gboolean{.cdecl, dynlib: lib, + importc: "gtk_widget_has_screen".} +proc widget_get_display*(widget: PWidget): PGdkDisplay{.cdecl, dynlib: lib, + importc: "gtk_widget_get_display".} +proc widget_get_root_window*(widget: PWidget): PGdkWindow{.cdecl, dynlib: lib, + importc: "gtk_widget_get_root_window".} +proc widget_get_settings*(widget: PWidget): PSettings{.cdecl, dynlib: lib, + importc: "gtk_widget_get_settings".} +proc widget_get_clipboard*(widget: PWidget, selection: TGdkAtom): PClipboard{. + cdecl, dynlib: lib, importc: "gtk_widget_get_clipboard".} +proc widget_get_accessible*(widget: PWidget): PAtkObject{.cdecl, dynlib: lib, + importc: "gtk_widget_get_accessible".} +proc widget_set_colormap*(widget: PWidget, colormap: PGdkColormap){.cdecl, + dynlib: lib, importc: "gtk_widget_set_colormap".} +proc widget_get_events*(widget: PWidget): gint{.cdecl, dynlib: lib, + importc: "gtk_widget_get_events".} +proc widget_get_pointer*(widget: PWidget, x: Pgint, y: Pgint){.cdecl, + dynlib: lib, importc: "gtk_widget_get_pointer".} +proc widget_is_ancestor*(widget: PWidget, ancestor: PWidget): gboolean{.cdecl, + dynlib: lib, importc: "gtk_widget_is_ancestor".} +proc widget_translate_coordinates*(src_widget: PWidget, dest_widget: PWidget, + src_x: gint, src_y: gint, dest_x: Pgint, + dest_y: Pgint): gboolean{.cdecl, dynlib: lib, + importc: "gtk_widget_translate_coordinates".} +proc widget_hide_on_delete*(widget: PWidget): gboolean{.cdecl, dynlib: lib, + importc: "gtk_widget_hide_on_delete".} +proc widget_set_style*(widget: PWidget, style: PStyle){.cdecl, dynlib: lib, + importc: "gtk_widget_set_style".} +proc widget_ensure_style*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_ensure_style".} +proc widget_get_style*(widget: PWidget): PStyle{.cdecl, dynlib: lib, + importc: "gtk_widget_get_style".} +proc widget_modify_style*(widget: PWidget, style: PRcStyle){.cdecl, dynlib: lib, + importc: "gtk_widget_modify_style".} +proc widget_get_modifier_style*(widget: PWidget): PRcStyle{.cdecl, dynlib: lib, + importc: "gtk_widget_get_modifier_style".} +proc widget_modify_fg*(widget: PWidget, state: TStateType, color: PGdkColor){. + cdecl, dynlib: lib, importc: "gtk_widget_modify_fg".} +proc widget_modify_bg*(widget: PWidget, state: TStateType, color: PGdkColor){. + cdecl, dynlib: lib, importc: "gtk_widget_modify_bg".} +proc widget_modify_text*(widget: PWidget, state: TStateType, color: PGdkColor){. + cdecl, dynlib: lib, importc: "gtk_widget_modify_text".} +proc widget_modify_base*(widget: PWidget, state: TStateType, color: PGdkColor){. + cdecl, dynlib: lib, importc: "gtk_widget_modify_base".} +proc widget_modify_font*(widget: PWidget, font_desc: PPangoFontDescription){. + cdecl, dynlib: lib, importc: "gtk_widget_modify_font".} +proc widget_create_pango_context*(widget: PWidget): PPangoContext{.cdecl, + dynlib: lib, importc: "gtk_widget_create_pango_context".} +proc widget_get_pango_context*(widget: PWidget): PPangoContext{.cdecl, + dynlib: lib, importc: "gtk_widget_get_pango_context".} +proc widget_create_pango_layout*(widget: PWidget, text: cstring): PPangoLayout{. + cdecl, dynlib: lib, importc: "gtk_widget_create_pango_layout".} +proc widget_render_icon*(widget: PWidget, stock_id: cstring, size: TIconSize, + detail: cstring): PGdkPixbuf{.cdecl, dynlib: lib, + importc: "gtk_widget_render_icon".} +proc widget_set_composite_name*(widget: PWidget, name: cstring){.cdecl, + dynlib: lib, importc: "gtk_widget_set_composite_name".} +proc widget_get_composite_name*(widget: PWidget): cstring{.cdecl, dynlib: lib, + importc: "gtk_widget_get_composite_name".} +proc widget_reset_rc_styles*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_reset_rc_styles".} +proc widget_push_colormap*(cmap: PGdkColormap){.cdecl, dynlib: lib, + importc: "gtk_widget_push_colormap".} +proc widget_push_composite_child*(){.cdecl, dynlib: lib, + importc: "gtk_widget_push_composite_child".} +proc widget_pop_composite_child*(){.cdecl, dynlib: lib, + importc: "gtk_widget_pop_composite_child".} +proc widget_pop_colormap*(){.cdecl, dynlib: lib, + importc: "gtk_widget_pop_colormap".} +proc widget_class_install_style_property*(klass: PWidgetClass, + pspec: PGParamSpec){.cdecl, dynlib: lib, + importc: "gtk_widget_class_install_style_property".} +proc widget_class_install_style_property_parser*(klass: PWidgetClass, + pspec: PGParamSpec, parser: TRcPropertyParser){.cdecl, dynlib: lib, + importc: "gtk_widget_class_install_style_property_parser".} +proc widget_class_find_style_property*(klass: PWidgetClass, + property_name: cstring): PGParamSpec{. + cdecl, dynlib: lib, importc: "gtk_widget_class_find_style_property".} +proc widget_class_list_style_properties*(klass: PWidgetClass, + n_properties: Pguint): PPGParamSpec{.cdecl, dynlib: lib, + importc: "gtk_widget_class_list_style_properties".} +proc widget_style_get_property*(widget: PWidget, property_name: cstring, + value: PGValue){.cdecl, dynlib: lib, + importc: "gtk_widget_style_get_property".} +proc widget_set_default_colormap*(colormap: PGdkColormap){.cdecl, dynlib: lib, + importc: "gtk_widget_set_default_colormap".} +proc widget_get_default_style*(): PStyle{.cdecl, dynlib: lib, + importc: "gtk_widget_get_default_style".} +proc widget_set_direction*(widget: PWidget, dir: TTextDirection){.cdecl, + dynlib: lib, importc: "gtk_widget_set_direction".} +proc widget_get_direction*(widget: PWidget): TTextDirection{.cdecl, dynlib: lib, + importc: "gtk_widget_get_direction".} +proc widget_set_default_direction*(dir: TTextDirection){.cdecl, dynlib: lib, + importc: "gtk_widget_set_default_direction".} +proc widget_get_default_direction*(): TTextDirection{.cdecl, dynlib: lib, + importc: "gtk_widget_get_default_direction".} +proc widget_shape_combine_mask*(widget: PWidget, shape_mask: PGdkBitmap, + offset_x: gint, offset_y: gint){.cdecl, + dynlib: lib, importc: "gtk_widget_shape_combine_mask".} +proc widget_reset_shapes*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_widget_reset_shapes".} +proc widget_path*(widget: PWidget, path_length: Pguint, path: PPgchar, + path_reversed: PPgchar){.cdecl, dynlib: lib, + importc: "gtk_widget_path".} +proc widget_class_path*(widget: PWidget, path_length: Pguint, path: PPgchar, + path_reversed: PPgchar){.cdecl, dynlib: lib, + importc: "gtk_widget_class_path".} +proc requisition_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_requisition_get_type".} +proc requisition_copy*(requisition: PRequisition): PRequisition{.cdecl, + dynlib: lib, importc: "gtk_requisition_copy".} +proc requisition_free*(requisition: PRequisition){.cdecl, dynlib: lib, + importc: "gtk_requisition_free".} +proc widget_get_aux_info*(widget: PWidget, create: gboolean): PWidgetAuxInfo{. + cdecl, dynlib: lib, importc: "gtk_widget_get_aux_info".} +proc widget_propagate_hierarchy_changed*(widget: PWidget, + previous_toplevel: PWidget){.cdecl, dynlib: lib, importc: "_gtk_widget_propagate_hierarchy_changed".} +proc widget_peek_colormap*(): PGdkColormap{.cdecl, dynlib: lib, + importc: "_gtk_widget_peek_colormap".} +proc TYPE_MISC*(): GType +proc MISC*(obj: pointer): PMisc +proc MISC_CLASS*(klass: pointer): PMiscClass +proc IS_MISC*(obj: pointer): bool +proc IS_MISC_CLASS*(klass: pointer): bool +proc MISC_GET_CLASS*(obj: pointer): PMiscClass +proc misc_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_misc_get_type".} +proc misc_set_alignment*(misc: PMisc, xalign: gfloat, yalign: gfloat){.cdecl, + dynlib: lib, importc: "gtk_misc_set_alignment".} +proc misc_get_alignment*(misc: PMisc, xalign, yalign: var Pgfloat){.cdecl, + dynlib: lib, importc: "gtk_misc_get_alignment".} +proc misc_set_padding*(misc: PMisc, xpad: gint, ypad: gint){.cdecl, dynlib: lib, + importc: "gtk_misc_set_padding".} +proc misc_get_padding*(misc: PMisc, xpad, ypad: var Pgint){.cdecl, dynlib: lib, + importc: "gtk_misc_get_padding".} +const + ACCEL_VISIBLE* = 1 shl 0 + ACCEL_LOCKED* = 1 shl 1 + ACCEL_MASK* = 0x00000007 + bm_TGtkAccelKey_accel_flags* = 0xFFFF'i16 + bp_TGtkAccelKey_accel_flags* = 0'i16 + +proc TYPE_ACCEL_GROUP*(): GType +proc ACCEL_GROUP*(anObject: pointer): PAccelGroup +proc ACCEL_GROUP_CLASS*(klass: pointer): PAccelGroupClass +proc IS_ACCEL_GROUP*(anObject: pointer): bool +proc IS_ACCEL_GROUP_CLASS*(klass: pointer): bool +proc ACCEL_GROUP_GET_CLASS*(obj: pointer): PAccelGroupClass +proc accel_flags*(a: var TAccelKey): guint +proc set_accel_flags*(a: var TAccelKey, `accel_flags`: guint) +proc accel_group_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_accel_group_get_type".} +proc accel_group_new*(): PAccelGroup{.cdecl, dynlib: lib, + importc: "gtk_accel_group_new".} +proc accel_group_lock*(accel_group: PAccelGroup){.cdecl, dynlib: lib, + importc: "gtk_accel_group_lock".} +proc accel_group_unlock*(accel_group: PAccelGroup){.cdecl, dynlib: lib, + importc: "gtk_accel_group_unlock".} +proc accel_group_connect*(accel_group: PAccelGroup, accel_key: guint, + accel_mods: TGdkModifierType, + accel_flags: TAccelFlags, closure: PGClosure){.cdecl, + dynlib: lib, importc: "gtk_accel_group_connect".} +proc accel_group_connect_by_path*(accel_group: PAccelGroup, accel_path: cstring, + closure: PGClosure){.cdecl, dynlib: lib, + importc: "gtk_accel_group_connect_by_path".} +proc accel_group_disconnect*(accel_group: PAccelGroup, closure: PGClosure): gboolean{. + cdecl, dynlib: lib, importc: "gtk_accel_group_disconnect".} +proc accel_group_disconnect_key*(accel_group: PAccelGroup, accel_key: guint, + accel_mods: TGdkModifierType): gboolean{.cdecl, + dynlib: lib, importc: "gtk_accel_group_disconnect_key".} +proc accel_group_attach*(accel_group: PAccelGroup, anObject: PGObject){.cdecl, + dynlib: lib, importc: "_gtk_accel_group_attach".} +proc accel_group_detach*(accel_group: PAccelGroup, anObject: PGObject){.cdecl, + dynlib: lib, importc: "_gtk_accel_group_detach".} +proc accel_groups_activate*(anObject: PGObject, accel_key: guint, + accel_mods: TGdkModifierType): gboolean{.cdecl, + dynlib: lib, importc: "gtk_accel_groups_activate".} +proc accel_groups_from_object*(anObject: PGObject): PGSList{.cdecl, dynlib: lib, + importc: "gtk_accel_groups_from_object".} +proc accel_group_find*(accel_group: PAccelGroup, + find_func: Taccel_group_find_func, data: gpointer): PAccelKey{. + cdecl, dynlib: lib, importc: "gtk_accel_group_find".} +proc accel_group_from_accel_closure*(closure: PGClosure): PAccelGroup{.cdecl, + dynlib: lib, importc: "gtk_accel_group_from_accel_closure".} +proc accelerator_valid*(keyval: guint, modifiers: TGdkModifierType): gboolean{. + cdecl, dynlib: lib, importc: "gtk_accelerator_valid".} +proc accelerator_parse*(accelerator: cstring, accelerator_key: Pguint, + accelerator_mods: PGdkModifierType){.cdecl, dynlib: lib, + importc: "gtk_accelerator_parse".} +proc accelerator_name*(accelerator_key: guint, + accelerator_mods: TGdkModifierType): cstring{.cdecl, + dynlib: lib, importc: "gtk_accelerator_name".} +proc accelerator_set_default_mod_mask*(default_mod_mask: TGdkModifierType){. + cdecl, dynlib: lib, importc: "gtk_accelerator_set_default_mod_mask".} +proc accelerator_get_default_mod_mask*(): guint{.cdecl, dynlib: lib, + importc: "gtk_accelerator_get_default_mod_mask".} +proc accel_group_query*(accel_group: PAccelGroup, accel_key: guint, + accel_mods: TGdkModifierType, n_entries: Pguint): PAccelGroupEntry{. + cdecl, dynlib: lib, importc: "gtk_accel_group_query".} +proc accel_group_reconnect*(accel_group: PAccelGroup, accel_path_quark: TGQuark){. + cdecl, dynlib: lib, importc: "_gtk_accel_group_reconnect".} +const + bm_TGtkContainer_border_width* = 0x0000FFFF'i32 + bp_TGtkContainer_border_width* = 0'i32 + bm_TGtkContainer_need_resize* = 0x00010000'i32 + bp_TGtkContainer_need_resize* = 16'i32 + bm_TGtkContainer_resize_mode* = 0x00060000'i32 + bp_TGtkContainer_resize_mode* = 17'i32 + bm_TGtkContainer_reallocate_redraws* = 0x00080000'i32 + bp_TGtkContainer_reallocate_redraws* = 19'i32 + bm_TGtkContainer_has_focus_chain* = 0x00100000'i32 + bp_TGtkContainer_has_focus_chain* = 20'i32 + +proc TYPE_CONTAINER*(): GType +proc CONTAINER*(obj: pointer): PContainer +proc CONTAINER_CLASS*(klass: pointer): PContainerClass +proc IS_CONTAINER*(obj: pointer): bool +proc IS_CONTAINER_CLASS*(klass: pointer): bool +proc CONTAINER_GET_CLASS*(obj: pointer): PContainerClass +proc IS_RESIZE_CONTAINER*(widget: pointer): bool +proc border_width*(a: var TContainer): guint +proc set_border_width*(a: var TContainer, `border_width`: guint) +proc need_resize*(a: var TContainer): guint +proc set_need_resize*(a: var TContainer, `need_resize`: guint) +proc resize_mode*(a: PContainer): guint +proc set_resize_mode*(a: var TContainer, `resize_mode`: guint) +proc reallocate_redraws*(a: var TContainer): guint +proc set_reallocate_redraws*(a: var TContainer, `reallocate_redraws`: guint) +proc has_focus_chain*(a: var TContainer): guint +proc set_has_focus_chain*(a: var TContainer, `has_focus_chain`: guint) +proc container_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_container_get_type".} +proc container_set_border_width*(container: PContainer, border_width: guint){. + cdecl, dynlib: lib, importc: "gtk_container_set_border_width".} +proc container_get_border_width*(container: PContainer): guint{.cdecl, + dynlib: lib, importc: "gtk_container_get_border_width".} +proc container_add*(container: PContainer, widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_container_add".} +proc container_remove*(container: PContainer, widget: PWidget){.cdecl, + dynlib: lib, importc: "gtk_container_remove".} +proc container_set_resize_mode*(container: PContainer, resize_mode: TResizeMode){. + cdecl, dynlib: lib, importc: "gtk_container_set_resize_mode".} +proc container_get_resize_mode*(container: PContainer): TResizeMode{.cdecl, + dynlib: lib, importc: "gtk_container_get_resize_mode".} +proc container_check_resize*(container: PContainer){.cdecl, dynlib: lib, + importc: "gtk_container_check_resize".} +proc container_foreach*(container: PContainer, callback: TCallback, + callback_data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_container_foreach".} +proc container_get_children*(container: PContainer): PGList{.cdecl, dynlib: lib, + importc: "gtk_container_get_children".} +proc container_propagate_expose*(container: PContainer, child: PWidget, + event: PGdkEventExpose){.cdecl, dynlib: lib, + importc: "gtk_container_propagate_expose".} +proc container_set_focus_chain*(container: PContainer, focusable_widgets: PGList){. + cdecl, dynlib: lib, importc: "gtk_container_set_focus_chain".} +proc container_get_focus_chain*(container: PContainer, s: var PGList): gboolean{. + cdecl, dynlib: lib, importc: "gtk_container_get_focus_chain".} +proc container_unset_focus_chain*(container: PContainer){.cdecl, dynlib: lib, + importc: "gtk_container_unset_focus_chain".} +proc container_set_reallocate_redraws*(container: PContainer, + needs_redraws: gboolean){.cdecl, + dynlib: lib, importc: "gtk_container_set_reallocate_redraws".} +proc container_set_focus_child*(container: PContainer, child: PWidget){.cdecl, + dynlib: lib, importc: "gtk_container_set_focus_child".} +proc container_set_focus_vadjustment*(container: PContainer, + adjustment: PAdjustment){.cdecl, + dynlib: lib, importc: "gtk_container_set_focus_vadjustment".} +proc container_get_focus_vadjustment*(container: PContainer): PAdjustment{. + cdecl, dynlib: lib, importc: "gtk_container_get_focus_vadjustment".} +proc container_set_focus_hadjustment*(container: PContainer, + adjustment: PAdjustment){.cdecl, + dynlib: lib, importc: "gtk_container_set_focus_hadjustment".} +proc container_get_focus_hadjustment*(container: PContainer): PAdjustment{. + cdecl, dynlib: lib, importc: "gtk_container_get_focus_hadjustment".} +proc container_resize_children*(container: PContainer){.cdecl, dynlib: lib, + importc: "gtk_container_resize_children".} +proc container_child_type*(container: PContainer): TType{.cdecl, dynlib: lib, + importc: "gtk_container_child_type".} +proc container_class_install_child_property*(cclass: PContainerClass, + property_id: guint, pspec: PGParamSpec){.cdecl, dynlib: lib, + importc: "gtk_container_class_install_child_property".} +proc container_class_find_child_property*(cclass: PGObjectClass, + property_name: cstring): PGParamSpec{.cdecl, dynlib: lib, + importc: "gtk_container_class_find_child_property".} +proc container_class_list_child_properties*(cclass: PGObjectClass, + n_properties: Pguint): PPGParamSpec{.cdecl, dynlib: lib, + importc: "gtk_container_class_list_child_properties".} +proc container_child_set_property*(container: PContainer, child: PWidget, + property_name: cstring, value: PGValue){. + cdecl, dynlib: lib, importc: "gtk_container_child_set_property".} +proc container_child_get_property*(container: PContainer, child: PWidget, + property_name: cstring, value: PGValue){. + cdecl, dynlib: lib, importc: "gtk_container_child_get_property".} +proc CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID*(anObject: pointer, + property_id: guint, pspec: pointer) +proc container_forall*(container: PContainer, callback: TCallback, + callback_data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_container_forall".} +proc container_queue_resize*(container: PContainer){.cdecl, dynlib: lib, + importc: "_gtk_container_queue_resize".} +proc container_clear_resize_widgets*(container: PContainer){.cdecl, dynlib: lib, + importc: "_gtk_container_clear_resize_widgets".} +proc container_child_composite_name*(container: PContainer, child: PWidget): cstring{. + cdecl, dynlib: lib, importc: "_gtk_container_child_composite_name".} +proc container_dequeue_resize_handler*(container: PContainer){.cdecl, + dynlib: lib, importc: "_gtk_container_dequeue_resize_handler".} +proc container_focus_sort*(container: PContainer, children: PGList, + direction: TDirectionType, old_focus: PWidget): PGList{. + cdecl, dynlib: lib, importc: "_gtk_container_focus_sort".} +proc TYPE_BIN*(): GType +proc BIN*(obj: pointer): PBin +proc BIN_CLASS*(klass: pointer): PBinClass +proc IS_BIN*(obj: pointer): bool +proc IS_BIN_CLASS*(klass: pointer): bool +proc BIN_GET_CLASS*(obj: pointer): PBinClass +proc bin_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_bin_get_type".} +proc bin_get_child*(bin: PBin): PWidget{.cdecl, dynlib: lib, + importc: "gtk_bin_get_child".} +const + bm_TGtkWindow_allow_shrink* = 0x00000001'i32 + bp_TGtkWindow_allow_shrink* = 0'i32 + bm_TGtkWindow_allow_grow* = 0x00000002'i32 + bp_TGtkWindow_allow_grow* = 1'i32 + bm_TGtkWindow_configure_notify_received* = 0x00000004'i32 + bp_TGtkWindow_configure_notify_received* = 2'i32 + bm_TGtkWindow_need_default_position* = 0x00000008'i32 + bp_TGtkWindow_need_default_position* = 3'i32 + bm_TGtkWindow_need_default_size* = 0x00000010'i32 + bp_TGtkWindow_need_default_size* = 4'i32 + bm_TGtkWindow_position* = 0x000000E0'i32 + bp_TGtkWindow_position* = 5'i32 + bm_TGtkWindow_type* = 0x00000F00'i32 + bp_TGtkWindow_type* = 8'i32 + bm_TGtkWindow_has_user_ref_count* = 0x00001000'i32 + bp_TGtkWindow_has_user_ref_count* = 12'i32 + bm_TGtkWindow_has_focus* = 0x00002000'i32 + bp_TGtkWindow_has_focus* = 13'i32 + bm_TGtkWindow_modal* = 0x00004000'i32 + bp_TGtkWindow_modal* = 14'i32 + bm_TGtkWindow_destroy_with_parent* = 0x00008000'i32 + bp_TGtkWindow_destroy_with_parent* = 15'i32 + bm_TGtkWindow_has_frame* = 0x00010000'i32 + bp_TGtkWindow_has_frame* = 16'i32 + bm_TGtkWindow_iconify_initially* = 0x00020000'i32 + bp_TGtkWindow_iconify_initially* = 17'i32 + bm_TGtkWindow_stick_initially* = 0x00040000'i32 + bp_TGtkWindow_stick_initially* = 18'i32 + bm_TGtkWindow_maximize_initially* = 0x00080000'i32 + bp_TGtkWindow_maximize_initially* = 19'i32 + bm_TGtkWindow_decorated* = 0x00100000'i32 + bp_TGtkWindow_decorated* = 20'i32 + bm_TGtkWindow_type_hint* = 0x00E00000'i32 + bp_TGtkWindow_type_hint* = 21'i32 + bm_TGtkWindow_gravity* = 0x1F000000'i32 + bp_TGtkWindow_gravity* = 24'i32 + +proc TYPE_WINDOW*(): GType +proc WINDOW*(obj: pointer): PWindow +proc WINDOW_CLASS*(klass: pointer): PWindowClass +proc IS_WINDOW*(obj: pointer): bool +proc IS_WINDOW_CLASS*(klass: pointer): bool +proc WINDOW_GET_CLASS*(obj: pointer): PWindowClass +proc allow_shrink*(a: var TWindow): guint +proc set_allow_shrink*(a: var TWindow, `allow_shrink`: guint) +proc allow_grow*(a: var TWindow): guint +proc set_allow_grow*(a: var TWindow, `allow_grow`: guint) +proc configure_notify_received*(a: var TWindow): guint +proc set_configure_notify_received*(a: var TWindow, + `configure_notify_received`: guint) +proc need_default_position*(a: var TWindow): guint +proc set_need_default_position*(a: var TWindow, `need_default_position`: guint) +proc need_default_size*(a: var TWindow): guint +proc set_need_default_size*(a: var TWindow, `need_default_size`: guint) +proc position*(a: var TWindow): guint +proc set_position*(a: var TWindow, `position`: guint) +proc get_type*(a: var TWindow): guint +proc set_type*(a: var TWindow, `type`: guint) +proc has_user_ref_count*(a: var TWindow): guint +proc set_has_user_ref_count*(a: var TWindow, `has_user_ref_count`: guint) +proc has_focus*(a: var TWindow): guint +proc set_has_focus*(a: var TWindow, `has_focus`: guint) +proc modal*(a: var TWindow): guint +proc set_modal*(a: var TWindow, `modal`: guint) +proc destroy_with_parent*(a: var TWindow): guint +proc set_destroy_with_parent*(a: var TWindow, `destroy_with_parent`: guint) +proc has_frame*(a: var TWindow): guint +proc set_has_frame*(a: var TWindow, `has_frame`: guint) +proc iconify_initially*(a: var TWindow): guint +proc set_iconify_initially*(a: var TWindow, `iconify_initially`: guint) +proc stick_initially*(a: var TWindow): guint +proc set_stick_initially*(a: var TWindow, `stick_initially`: guint) +proc maximize_initially*(a: var TWindow): guint +proc set_maximize_initially*(a: var TWindow, `maximize_initially`: guint) +proc decorated*(a: var TWindow): guint +proc set_decorated*(a: var TWindow, `decorated`: guint) +proc type_hint*(a: var TWindow): guint +proc set_type_hint*(a: var TWindow, `type_hint`: guint) +proc gravity*(a: var TWindow): guint +proc set_gravity*(a: var TWindow, `gravity`: guint) +proc TYPE_WINDOW_GROUP*(): GType +proc WINDOW_GROUP*(anObject: pointer): PWindowGroup +proc WINDOW_GROUP_CLASS*(klass: pointer): PWindowGroupClass +proc IS_WINDOW_GROUP*(anObject: pointer): bool +proc IS_WINDOW_GROUP_CLASS*(klass: pointer): bool +proc WINDOW_GROUP_GET_CLASS*(obj: pointer): PWindowGroupClass +proc window_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_window_get_type".} +proc window_new*(thetype: TWindowType): PWindow{.cdecl, dynlib: lib, + importc: "gtk_window_new".} +proc window_set_title*(window: PWindow, title: cstring){.cdecl, dynlib: lib, + importc: "gtk_window_set_title".} +proc window_get_title*(window: PWindow): cstring{.cdecl, dynlib: lib, + importc: "gtk_window_get_title".} +proc window_set_wmclass*(window: PWindow, wmclass_name: cstring, + wmclass_class: cstring){.cdecl, dynlib: lib, + importc: "gtk_window_set_wmclass".} +proc window_set_role*(window: PWindow, role: cstring){.cdecl, dynlib: lib, + importc: "gtk_window_set_role".} +proc window_get_role*(window: PWindow): cstring{.cdecl, dynlib: lib, + importc: "gtk_window_get_role".} +proc window_add_accel_group*(window: PWindow, accel_group: PAccelGroup){.cdecl, + dynlib: lib, importc: "gtk_window_add_accel_group".} +proc window_remove_accel_group*(window: PWindow, accel_group: PAccelGroup){. + cdecl, dynlib: lib, importc: "gtk_window_remove_accel_group".} +proc window_set_position*(window: PWindow, position: TWindowPosition){.cdecl, + dynlib: lib, importc: "gtk_window_set_position".} +proc window_activate_focus*(window: PWindow): gboolean{.cdecl, dynlib: lib, + importc: "gtk_window_activate_focus".} +proc window_set_focus*(window: PWindow, focus: PWidget){.cdecl, dynlib: lib, + importc: "gtk_window_set_focus".} +proc window_get_focus*(window: PWindow): PWidget{.cdecl, dynlib: lib, + importc: "gtk_window_get_focus".} +proc window_set_default*(window: PWindow, default_widget: PWidget){.cdecl, + dynlib: lib, importc: "gtk_window_set_default".} +proc window_activate_default*(window: PWindow): gboolean{.cdecl, dynlib: lib, + importc: "gtk_window_activate_default".} +proc window_set_transient_for*(window: PWindow, parent: PWindow){.cdecl, + dynlib: lib, importc: "gtk_window_set_transient_for".} +proc window_get_transient_for*(window: PWindow): PWindow{.cdecl, dynlib: lib, + importc: "gtk_window_get_transient_for".} +proc window_set_type_hint*(window: PWindow, hint: TGdkWindowTypeHint){.cdecl, + dynlib: lib, importc: "gtk_window_set_type_hint".} +proc window_get_type_hint*(window: PWindow): TGdkWindowTypeHint{.cdecl, + dynlib: lib, importc: "gtk_window_get_type_hint".} +proc window_set_destroy_with_parent*(window: PWindow, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_window_set_destroy_with_parent".} +proc window_get_destroy_with_parent*(window: PWindow): gboolean{.cdecl, + dynlib: lib, importc: "gtk_window_get_destroy_with_parent".} +proc window_set_resizable*(window: PWindow, resizable: gboolean){.cdecl, + dynlib: lib, importc: "gtk_window_set_resizable".} +proc window_get_resizable*(window: PWindow): gboolean{.cdecl, dynlib: lib, + importc: "gtk_window_get_resizable".} +proc window_set_gravity*(window: PWindow, gravity: TGdkGravity){.cdecl, + dynlib: lib, importc: "gtk_window_set_gravity".} +proc window_get_gravity*(window: PWindow): TGdkGravity{.cdecl, dynlib: lib, + importc: "gtk_window_get_gravity".} +proc window_set_geometry_hints*(window: PWindow, geometry_widget: PWidget, + geometry: PGdkGeometry, + geom_mask: TGdkWindowHints){.cdecl, dynlib: lib, + importc: "gtk_window_set_geometry_hints".} +proc window_set_screen*(window: PWindow, screen: PGdkScreen){.cdecl, + dynlib: lib, importc: "gtk_window_set_screen".} +proc window_get_screen*(window: PWindow): PGdkScreen{.cdecl, dynlib: lib, + importc: "gtk_window_get_screen".} +proc window_set_has_frame*(window: PWindow, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_window_set_has_frame".} +proc window_get_has_frame*(window: PWindow): gboolean{.cdecl, dynlib: lib, + importc: "gtk_window_get_has_frame".} +proc window_set_frame_dimensions*(window: PWindow, left: gint, top: gint, + right: gint, bottom: gint){.cdecl, + dynlib: lib, importc: "gtk_window_set_frame_dimensions".} +proc window_get_frame_dimensions*(window: PWindow, left: Pgint, top: Pgint, + right: Pgint, bottom: Pgint){.cdecl, + dynlib: lib, importc: "gtk_window_get_frame_dimensions".} +proc window_set_decorated*(window: PWindow, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_window_set_decorated".} +proc window_get_decorated*(window: PWindow): gboolean{.cdecl, dynlib: lib, + importc: "gtk_window_get_decorated".} +proc window_set_icon_list*(window: PWindow, list: PGList){.cdecl, dynlib: lib, + importc: "gtk_window_set_icon_list".} +proc window_get_icon_list*(window: PWindow): PGList{.cdecl, dynlib: lib, + importc: "gtk_window_get_icon_list".} +proc window_set_icon*(window: PWindow, icon: PGdkPixbuf){.cdecl, dynlib: lib, + importc: "gtk_window_set_icon".} +proc window_get_icon*(window: PWindow): PGdkPixbuf{.cdecl, dynlib: lib, + importc: "gtk_window_get_icon".} +proc window_set_default_icon_list*(list: PGList){.cdecl, dynlib: lib, + importc: "gtk_window_set_default_icon_list".} +proc window_get_default_icon_list*(): PGList{.cdecl, dynlib: lib, + importc: "gtk_window_get_default_icon_list".} +proc window_set_modal*(window: PWindow, modal: gboolean){.cdecl, dynlib: lib, + importc: "gtk_window_set_modal".} +proc window_get_modal*(window: PWindow): gboolean{.cdecl, dynlib: lib, + importc: "gtk_window_get_modal".} +proc window_list_toplevels*(): PGList{.cdecl, dynlib: lib, + importc: "gtk_window_list_toplevels".} +proc window_add_mnemonic*(window: PWindow, keyval: guint, target: PWidget){. + cdecl, dynlib: lib, importc: "gtk_window_add_mnemonic".} +proc window_remove_mnemonic*(window: PWindow, keyval: guint, target: PWidget){. + cdecl, dynlib: lib, importc: "gtk_window_remove_mnemonic".} +proc window_mnemonic_activate*(window: PWindow, keyval: guint, + modifier: TGdkModifierType): gboolean{.cdecl, + dynlib: lib, importc: "gtk_window_mnemonic_activate".} +proc window_set_mnemonic_modifier*(window: PWindow, modifier: TGdkModifierType){. + cdecl, dynlib: lib, importc: "gtk_window_set_mnemonic_modifier".} +proc window_get_mnemonic_modifier*(window: PWindow): TGdkModifierType{.cdecl, + dynlib: lib, importc: "gtk_window_get_mnemonic_modifier".} +proc window_present*(window: PWindow){.cdecl, dynlib: lib, + importc: "gtk_window_present".} +proc window_iconify*(window: PWindow){.cdecl, dynlib: lib, + importc: "gtk_window_iconify".} +proc window_deiconify*(window: PWindow){.cdecl, dynlib: lib, + importc: "gtk_window_deiconify".} +proc window_stick*(window: PWindow){.cdecl, dynlib: lib, + importc: "gtk_window_stick".} +proc window_unstick*(window: PWindow){.cdecl, dynlib: lib, + importc: "gtk_window_unstick".} +proc window_maximize*(window: PWindow){.cdecl, dynlib: lib, + importc: "gtk_window_maximize".} +proc window_unmaximize*(window: PWindow){.cdecl, dynlib: lib, + importc: "gtk_window_unmaximize".} +proc window_begin_resize_drag*(window: PWindow, edge: TGdkWindowEdge, + button: gint, root_x: gint, root_y: gint, + timestamp: guint32){.cdecl, dynlib: lib, + importc: "gtk_window_begin_resize_drag".} +proc window_begin_move_drag*(window: PWindow, button: gint, root_x: gint, + root_y: gint, timestamp: guint32){.cdecl, + dynlib: lib, importc: "gtk_window_begin_move_drag".} +proc window_set_default_size*(window: PWindow, width: gint, height: gint){. + cdecl, dynlib: lib, importc: "gtk_window_set_default_size".} +proc window_get_default_size*(window: PWindow, width: Pgint, height: Pgint){. + cdecl, dynlib: lib, importc: "gtk_window_get_default_size".} +proc window_resize*(window: PWindow, width: gint, height: gint){.cdecl, + dynlib: lib, importc: "gtk_window_resize".} +proc window_get_size*(window: PWindow, width: Pgint, height: Pgint){.cdecl, + dynlib: lib, importc: "gtk_window_get_size".} +proc window_move*(window: PWindow, x: gint, y: gint){.cdecl, dynlib: lib, + importc: "gtk_window_move".} +proc window_get_position*(window: PWindow, root_x: Pgint, root_y: Pgint){.cdecl, + dynlib: lib, importc: "gtk_window_get_position".} +proc window_parse_geometry*(window: PWindow, geometry: cstring): gboolean{. + cdecl, dynlib: lib, importc: "gtk_window_parse_geometry".} +proc window_reshow_with_initial_size*(window: PWindow){.cdecl, dynlib: lib, + importc: "gtk_window_reshow_with_initial_size".} +proc window_group_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_window_group_get_type".} +proc window_group_new*(): PWindowGroup{.cdecl, dynlib: lib, + importc: "gtk_window_group_new".} +proc window_group_add_window*(window_group: PWindowGroup, window: PWindow){. + cdecl, dynlib: lib, importc: "gtk_window_group_add_window".} +proc window_group_remove_window*(window_group: PWindowGroup, window: PWindow){. + cdecl, dynlib: lib, importc: "gtk_window_group_remove_window".} +proc window_set_default_icon_name*(name: cstring){.cdecl, dynlib: lib, + importc: "gtk_window_set_default_icon_name".} +proc window_internal_set_focus*(window: PWindow, focus: PWidget){.cdecl, + dynlib: lib, importc: "_gtk_window_internal_set_focus".} +proc window_remove_embedded_xid*(window: PWindow, xid: guint){.cdecl, + dynlib: lib, importc: "gtk_window_remove_embedded_xid".} +proc window_add_embedded_xid*(window: PWindow, xid: guint){.cdecl, dynlib: lib, + importc: "gtk_window_add_embedded_xid".} +proc window_reposition*(window: PWindow, x: gint, y: gint){.cdecl, dynlib: lib, + importc: "_gtk_window_reposition".} +proc window_constrain_size*(window: PWindow, width: gint, height: gint, + new_width: Pgint, new_height: Pgint){.cdecl, + dynlib: lib, importc: "_gtk_window_constrain_size".} +proc window_get_group*(window: PWindow): PWindowGroup{.cdecl, dynlib: lib, + importc: "_gtk_window_get_group".} +proc window_activate_key*(window: PWindow, event: PGdkEventKey): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_window_activate_key".} +proc window_keys_foreach*(window: PWindow, func: TWindowKeysForeachFunc, + func_data: gpointer){.cdecl, dynlib: lib, + importc: "_gtk_window_keys_foreach".} +proc window_query_nonaccels*(window: PWindow, accel_key: guint, + accel_mods: TGdkModifierType): gboolean{.cdecl, + dynlib: lib, importc: "_gtk_window_query_nonaccels".} +const + bm_TGtkLabel_jtype* = 0x0003'i16 + bp_TGtkLabel_jtype* = 0'i16 + bm_TGtkLabel_wrap* = 0x0004'i16 + bp_TGtkLabel_wrap* = 2'i16 + bm_TGtkLabel_use_underline* = 0x0008'i16 + bp_TGtkLabel_use_underline* = 3'i16 + bm_TGtkLabel_use_markup* = 0x0010'i16 + bp_TGtkLabel_use_markup* = 4'i16 + +proc TYPE_LABEL*(): GType +proc LABEL*(obj: pointer): PLabel +proc LABEL_CLASS*(klass: pointer): PLabelClass +proc IS_LABEL*(obj: pointer): bool +proc IS_LABEL_CLASS*(klass: pointer): bool +proc LABEL_GET_CLASS*(obj: pointer): PLabelClass +proc jtype*(a: var TLabel): guint +proc set_jtype*(a: var TLabel, `jtype`: guint) +proc wrap*(a: var TLabel): guint +proc set_wrap*(a: var TLabel, `wrap`: guint) +proc use_underline*(a: var TLabel): guint +proc set_use_underline*(a: var TLabel, `use_underline`: guint) +proc use_markup*(a: var TLabel): guint +proc set_use_markup*(a: var TLabel, `use_markup`: guint) +proc label_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_label_get_type".} +proc label_new*(str: cstring): PLabel{.cdecl, dynlib: lib, + importc: "gtk_label_new".} +proc label_new_with_mnemonic*(str: cstring): PLabel{.cdecl, dynlib: lib, + importc: "gtk_label_new_with_mnemonic".} +proc label_set_text*(`label`: PLabel, str: cstring){.cdecl, dynlib: lib, + importc: "gtk_label_set_text".} +proc label_get_text*(`label`: PLabel): cstring{.cdecl, dynlib: lib, + importc: "gtk_label_get_text".} +proc label_set_attributes*(`label`: PLabel, attrs: PPangoAttrList){.cdecl, + dynlib: lib, importc: "gtk_label_set_attributes".} +proc label_get_attributes*(`label`: PLabel): PPangoAttrList{.cdecl, dynlib: lib, + importc: "gtk_label_get_attributes".} +proc label_set_label*(`label`: PLabel, str: cstring){.cdecl, dynlib: lib, + importc: "gtk_label_set_label".} +proc label_get_label*(`label`: PLabel): cstring{.cdecl, dynlib: lib, + importc: "gtk_label_get_label".} +proc label_set_markup*(`label`: PLabel, str: cstring){.cdecl, dynlib: lib, + importc: "gtk_label_set_markup".} +proc label_set_use_markup*(`label`: PLabel, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_label_set_use_markup".} +proc label_get_use_markup*(`label`: PLabel): gboolean{.cdecl, dynlib: lib, + importc: "gtk_label_get_use_markup".} +proc label_set_use_underline*(`label`: PLabel, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_label_set_use_underline".} +proc label_get_use_underline*(`label`: PLabel): gboolean{.cdecl, dynlib: lib, + importc: "gtk_label_get_use_underline".} +proc label_set_markup_with_mnemonic*(`label`: PLabel, str: cstring){.cdecl, + dynlib: lib, importc: "gtk_label_set_markup_with_mnemonic".} +proc label_get_mnemonic_keyval*(`label`: PLabel): guint{.cdecl, dynlib: lib, + importc: "gtk_label_get_mnemonic_keyval".} +proc label_set_mnemonic_widget*(`label`: PLabel, widget: PWidget){.cdecl, + dynlib: lib, importc: "gtk_label_set_mnemonic_widget".} +proc label_get_mnemonic_widget*(`label`: PLabel): PWidget{.cdecl, dynlib: lib, + importc: "gtk_label_get_mnemonic_widget".} +proc label_set_text_with_mnemonic*(`label`: PLabel, str: cstring){.cdecl, + dynlib: lib, importc: "gtk_label_set_text_with_mnemonic".} +proc label_set_justify*(`label`: PLabel, jtype: TJustification){.cdecl, + dynlib: lib, importc: "gtk_label_set_justify".} +proc label_get_justify*(`label`: PLabel): TJustification{.cdecl, dynlib: lib, + importc: "gtk_label_get_justify".} +proc label_set_pattern*(`label`: PLabel, pattern: cstring){.cdecl, dynlib: lib, + importc: "gtk_label_set_pattern".} +proc label_set_line_wrap*(`label`: PLabel, wrap: gboolean){.cdecl, dynlib: lib, + importc: "gtk_label_set_line_wrap".} +proc label_get_line_wrap*(`label`: PLabel): gboolean{.cdecl, dynlib: lib, + importc: "gtk_label_get_line_wrap".} +proc label_set_selectable*(`label`: PLabel, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_label_set_selectable".} +proc label_get_selectable*(`label`: PLabel): gboolean{.cdecl, dynlib: lib, + importc: "gtk_label_get_selectable".} +proc label_select_region*(`label`: PLabel, start_offset: gint, end_offset: gint){. + cdecl, dynlib: lib, importc: "gtk_label_select_region".} +proc label_get_selection_bounds*(`label`: PLabel, start: Pgint, theEnd: Pgint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_label_get_selection_bounds".} +proc label_get_layout*(`label`: PLabel): PPangoLayout{.cdecl, dynlib: lib, + importc: "gtk_label_get_layout".} +proc label_get_layout_offsets*(`label`: PLabel, x: Pgint, y: Pgint){.cdecl, + dynlib: lib, importc: "gtk_label_get_layout_offsets".} +const + bm_TGtkAccelLabelClass_latin1_to_char* = 0x0001'i16 + bp_TGtkAccelLabelClass_latin1_to_char* = 0'i16 + +proc TYPE_ACCEL_LABEL*(): GType +proc ACCEL_LABEL*(obj: pointer): PAccelLabel +proc ACCEL_LABEL_CLASS*(klass: pointer): PAccelLabelClass +proc IS_ACCEL_LABEL*(obj: pointer): bool +proc IS_ACCEL_LABEL_CLASS*(klass: pointer): bool +proc ACCEL_LABEL_GET_CLASS*(obj: pointer): PAccelLabelClass +proc latin1_to_char*(a: var TAccelLabelClass): guint +proc set_latin1_to_char*(a: var TAccelLabelClass, `latin1_to_char`: guint) +proc accel_label_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_accel_label_get_type".} +proc accel_label_new*(`string`: cstring): PAccelLabel{.cdecl, dynlib: lib, + importc: "gtk_accel_label_new".} +proc accel_label_get_accel_widget*(accel_label: PAccelLabel): PWidget{.cdecl, + dynlib: lib, importc: "gtk_accel_label_get_accel_widget".} +proc accel_label_get_accel_width*(accel_label: PAccelLabel): guint{.cdecl, + dynlib: lib, importc: "gtk_accel_label_get_accel_width".} +proc accel_label_set_accel_widget*(accel_label: PAccelLabel, + accel_widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_accel_label_set_accel_widget".} +proc accel_label_set_accel_closure*(accel_label: PAccelLabel, + accel_closure: PGClosure){.cdecl, + dynlib: lib, importc: "gtk_accel_label_set_accel_closure".} +proc accel_label_refetch*(accel_label: PAccelLabel): gboolean{.cdecl, + dynlib: lib, importc: "gtk_accel_label_refetch".} +proc accel_map_add_entry*(accel_path: cstring, accel_key: guint, + accel_mods: TGdkModifierType){.cdecl, dynlib: lib, + importc: "gtk_accel_map_add_entry".} +proc accel_map_lookup_entry*(accel_path: cstring, key: PAccelKey): gboolean{. + cdecl, dynlib: lib, importc: "gtk_accel_map_lookup_entry".} +proc accel_map_change_entry*(accel_path: cstring, accel_key: guint, + accel_mods: TGdkModifierType, replace: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gtk_accel_map_change_entry".} +proc accel_map_load*(file_name: cstring){.cdecl, dynlib: lib, + importc: "gtk_accel_map_load".} +proc accel_map_save*(file_name: cstring){.cdecl, dynlib: lib, + importc: "gtk_accel_map_save".} +proc accel_map_foreach*(data: gpointer, foreach_func: TAccelMapForeach){.cdecl, + dynlib: lib, importc: "gtk_accel_map_foreach".} +proc accel_map_load_fd*(fd: gint){.cdecl, dynlib: lib, + importc: "gtk_accel_map_load_fd".} +proc accel_map_load_scanner*(scanner: PGScanner){.cdecl, dynlib: lib, + importc: "gtk_accel_map_load_scanner".} +proc accel_map_save_fd*(fd: gint){.cdecl, dynlib: lib, + importc: "gtk_accel_map_save_fd".} +proc accel_map_add_filter*(filter_pattern: cstring){.cdecl, dynlib: lib, + importc: "gtk_accel_map_add_filter".} +proc accel_map_foreach_unfiltered*(data: gpointer, + foreach_func: TAccelMapForeach){.cdecl, + dynlib: lib, importc: "gtk_accel_map_foreach_unfiltered".} +proc accel_map_init*(){.cdecl, dynlib: lib, importc: "_gtk_accel_map_init".} +proc accel_map_add_group*(accel_path: cstring, accel_group: PAccelGroup){.cdecl, + dynlib: lib, importc: "_gtk_accel_map_add_group".} +proc accel_map_remove_group*(accel_path: cstring, accel_group: PAccelGroup){. + cdecl, dynlib: lib, importc: "_gtk_accel_map_remove_group".} +proc accel_path_is_valid*(accel_path: cstring): gboolean{.cdecl, dynlib: lib, + importc: "_gtk_accel_path_is_valid".} +proc TYPE_ACCESSIBLE*(): GType +proc ACCESSIBLE*(obj: pointer): PAccessible +proc ACCESSIBLE_CLASS*(klass: pointer): PAccessibleClass +proc IS_ACCESSIBLE*(obj: pointer): bool +proc IS_ACCESSIBLE_CLASS*(klass: pointer): bool +proc ACCESSIBLE_GET_CLASS*(obj: pointer): PAccessibleClass +proc accessible_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_accessible_get_type".} +proc accessible_connect_widget_destroyed*(accessible: PAccessible){.cdecl, + dynlib: lib, importc: "gtk_accessible_connect_widget_destroyed".} +proc TYPE_ADJUSTMENT*(): GType +proc ADJUSTMENT*(obj: pointer): PAdjustment +proc ADJUSTMENT_CLASS*(klass: pointer): PAdjustmentClass +proc IS_ADJUSTMENT*(obj: pointer): bool +proc IS_ADJUSTMENT_CLASS*(klass: pointer): bool +proc ADJUSTMENT_GET_CLASS*(obj: pointer): PAdjustmentClass +proc adjustment_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_adjustment_get_type".} +proc adjustment_new*(value: gdouble, lower: gdouble, upper: gdouble, + step_increment: gdouble, page_increment: gdouble, + page_size: gdouble): PAdjustment{.cdecl, dynlib: lib, + importc: "gtk_adjustment_new".} +proc adjustment_changed*(adjustment: PAdjustment){.cdecl, dynlib: lib, + importc: "gtk_adjustment_changed".} +proc adjustment_value_changed*(adjustment: PAdjustment){.cdecl, dynlib: lib, + importc: "gtk_adjustment_value_changed".} +proc adjustment_clamp_page*(adjustment: PAdjustment, lower: gdouble, + upper: gdouble){.cdecl, dynlib: lib, + importc: "gtk_adjustment_clamp_page".} +proc adjustment_get_value*(adjustment: PAdjustment): gdouble{.cdecl, + dynlib: lib, importc: "gtk_adjustment_get_value".} +proc adjustment_set_value*(adjustment: PAdjustment, value: gdouble){.cdecl, + dynlib: lib, importc: "gtk_adjustment_set_value".} +proc TYPE_ALIGNMENT*(): GType +proc ALIGNMENT*(obj: pointer): PAlignment +proc ALIGNMENT_CLASS*(klass: pointer): PAlignmentClass +proc IS_ALIGNMENT*(obj: pointer): bool +proc IS_ALIGNMENT_CLASS*(klass: pointer): bool +proc ALIGNMENT_GET_CLASS*(obj: pointer): PAlignmentClass +proc alignment_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_alignment_get_type".} +proc alignment_new*(xalign: gfloat, yalign: gfloat, xscale: gfloat, + yscale: gfloat): PAlignment{.cdecl, dynlib: lib, + importc: "gtk_alignment_new".} +proc alignment_set*(alignment: PAlignment, xalign: gfloat, yalign: gfloat, + xscale: gfloat, yscale: gfloat){.cdecl, dynlib: lib, + importc: "gtk_alignment_set".} +proc TYPE_FRAME*(): GType +proc FRAME*(obj: pointer): PFrame +proc FRAME_CLASS*(klass: pointer): PFrameClass +proc IS_FRAME*(obj: pointer): bool +proc IS_FRAME_CLASS*(klass: pointer): bool +proc FRAME_GET_CLASS*(obj: pointer): PFrameClass +proc frame_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_frame_get_type".} +proc frame_new*(`label`: cstring): PFrame{.cdecl, dynlib: lib, + importc: "gtk_frame_new".} +proc frame_set_label*(frame: PFrame, `label`: cstring){.cdecl, dynlib: lib, + importc: "gtk_frame_set_label".} +proc frame_get_label*(frame: PFrame): cstring{.cdecl, dynlib: lib, + importc: "gtk_frame_get_label".} +proc frame_set_label_widget*(frame: PFrame, label_widget: PWidget){.cdecl, + dynlib: lib, importc: "gtk_frame_set_label_widget".} +proc frame_get_label_widget*(frame: PFrame): PWidget{.cdecl, dynlib: lib, + importc: "gtk_frame_get_label_widget".} +proc frame_set_label_align*(frame: PFrame, xalign: gfloat, yalign: gfloat){. + cdecl, dynlib: lib, importc: "gtk_frame_set_label_align".} +proc frame_get_label_align*(frame: PFrame, xalign: Pgfloat, yalign: Pgfloat){. + cdecl, dynlib: lib, importc: "gtk_frame_get_label_align".} +proc frame_set_shadow_type*(frame: PFrame, thetype: TShadowType){.cdecl, + dynlib: lib, importc: "gtk_frame_set_shadow_type".} +proc frame_get_shadow_type*(frame: PFrame): TShadowType{.cdecl, dynlib: lib, + importc: "gtk_frame_get_shadow_type".} +proc TYPE_ASPECT_FRAME*(): GType +proc ASPECT_FRAME*(obj: pointer): PAspectFrame +proc ASPECT_FRAME_CLASS*(klass: pointer): PAspectFrameClass +proc IS_ASPECT_FRAME*(obj: pointer): bool +proc IS_ASPECT_FRAME_CLASS*(klass: pointer): bool +proc ASPECT_FRAME_GET_CLASS*(obj: pointer): PAspectFrameClass +proc aspect_frame_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_aspect_frame_get_type".} +proc aspect_frame_new*(`label`: cstring, xalign: gfloat, yalign: gfloat, + ratio: gfloat, obey_child: gboolean): PAspectFrame{. + cdecl, dynlib: lib, importc: "gtk_aspect_frame_new".} +proc aspect_frame_set*(aspect_frame: PAspectFrame, xalign: gfloat, + yalign: gfloat, ratio: gfloat, obey_child: gboolean){. + cdecl, dynlib: lib, importc: "gtk_aspect_frame_set".} +proc TYPE_ARROW*(): GType +proc ARROW*(obj: pointer): PArrow +proc ARROW_CLASS*(klass: pointer): PArrowClass +proc IS_ARROW*(obj: pointer): bool +proc IS_ARROW_CLASS*(klass: pointer): bool +proc ARROW_GET_CLASS*(obj: pointer): PArrowClass +proc arrow_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_arrow_get_type".} +proc arrow_new*(arrow_type: TArrowType, shadow_type: TShadowType): PArrow{. + cdecl, dynlib: lib, importc: "gtk_arrow_new".} +proc arrow_set*(arrow: PArrow, arrow_type: TArrowType, shadow_type: TShadowType){. + cdecl, dynlib: lib, importc: "gtk_arrow_set".} +const + bm_TGtkBindingSet_parsed* = 0x0001'i16 + bp_TGtkBindingSet_parsed* = 0'i16 + bm_TGtkBindingEntry_destroyed* = 0x0001'i16 + bp_TGtkBindingEntry_destroyed* = 0'i16 + bm_TGtkBindingEntry_in_emission* = 0x0002'i16 + bp_TGtkBindingEntry_in_emission* = 1'i16 + +proc binding_entry_add*(binding_set: PBindingSet, keyval: guint, + modifiers: TGdkModifierType) +proc parsed*(a: var TBindingSet): guint +proc set_parsed*(a: var TBindingSet, `parsed`: guint) +proc destroyed*(a: var TBindingEntry): guint +proc set_destroyed*(a: var TBindingEntry, `destroyed`: guint) +proc in_emission*(a: var TBindingEntry): guint +proc set_in_emission*(a: var TBindingEntry, `in_emission`: guint) +proc binding_set_new*(set_name: cstring): PBindingSet{.cdecl, dynlib: lib, + importc: "gtk_binding_set_new".} +proc binding_set_by_class*(object_class: gpointer): PBindingSet{.cdecl, + dynlib: lib, importc: "gtk_binding_set_by_class".} +proc binding_set_find*(set_name: cstring): PBindingSet{.cdecl, dynlib: lib, + importc: "gtk_binding_set_find".} +proc bindings_activate*(anObject: PObject, keyval: guint, + modifiers: TGdkModifierType): gboolean{.cdecl, + dynlib: lib, importc: "gtk_bindings_activate".} +proc binding_set_activate*(binding_set: PBindingSet, keyval: guint, + modifiers: TGdkModifierType, anObject: PObject): gboolean{. + cdecl, dynlib: lib, importc: "gtk_binding_set_activate".} +proc binding_entry_clear*(binding_set: PBindingSet, keyval: guint, + modifiers: TGdkModifierType){.cdecl, dynlib: lib, + importc: "gtk_binding_entry_clear".} +proc binding_set_add_path*(binding_set: PBindingSet, path_type: TPathType, + path_pattern: cstring, priority: TPathPriorityType){. + cdecl, dynlib: lib, importc: "gtk_binding_set_add_path".} +proc binding_entry_remove*(binding_set: PBindingSet, keyval: guint, + modifiers: TGdkModifierType){.cdecl, dynlib: lib, + importc: "gtk_binding_entry_remove".} +proc binding_entry_add_signall*(binding_set: PBindingSet, keyval: guint, + modifiers: TGdkModifierType, + signal_name: cstring, binding_args: PGSList){. + cdecl, dynlib: lib, importc: "gtk_binding_entry_add_signall".} +proc binding_parse_binding*(scanner: PGScanner): guint{.cdecl, dynlib: lib, + importc: "gtk_binding_parse_binding".} +proc bindings_activate_event*(anObject: PObject, event: PGdkEventKey): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_bindings_activate_event".} +proc binding_reset_parsed*(){.cdecl, dynlib: lib, + importc: "_gtk_binding_reset_parsed".} +const + bm_TGtkBox_homogeneous* = 0x0001'i16 + bp_TGtkBox_homogeneous* = 0'i16 + bm_TGtkBoxChild_expand* = 0x0001'i16 + bp_TGtkBoxChild_expand* = 0'i16 + bm_TGtkBoxChild_fill* = 0x0002'i16 + bp_TGtkBoxChild_fill* = 1'i16 + bm_TGtkBoxChild_pack* = 0x0004'i16 + bp_TGtkBoxChild_pack* = 2'i16 + bm_TGtkBoxChild_is_secondary* = 0x0008'i16 + bp_TGtkBoxChild_is_secondary* = 3'i16 + +proc TYPE_BOX*(): GType +proc BOX*(obj: pointer): PBox +proc BOX_CLASS*(klass: pointer): PBoxClass +proc IS_BOX*(obj: pointer): bool +proc IS_BOX_CLASS*(klass: pointer): bool +proc BOX_GET_CLASS*(obj: pointer): PBoxClass +proc homogeneous*(a: var TBox): guint +proc set_homogeneous*(a: var TBox, `homogeneous`: guint) +proc expand*(a: var TBoxChild): guint +proc set_expand*(a: var TBoxChild, `expand`: guint) +proc fill*(a: var TBoxChild): guint +proc set_fill*(a: var TBoxChild, `fill`: guint) +proc pack*(a: var TBoxChild): guint +proc set_pack*(a: var TBoxChild, `pack`: guint) +proc is_secondary*(a: var TBoxChild): guint +proc set_is_secondary*(a: var TBoxChild, `is_secondary`: guint) +proc box_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_box_get_type".} +proc box_pack_start*(box: PBox, child: PWidget, expand: gboolean, + fill: gboolean, padding: guint){.cdecl, dynlib: lib, + importc: "gtk_box_pack_start".} +proc box_pack_end*(box: PBox, child: PWidget, expand: gboolean, fill: gboolean, + padding: guint){.cdecl, dynlib: lib, + importc: "gtk_box_pack_end".} +proc box_pack_start_defaults*(box: PBox, widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_box_pack_start_defaults".} +proc box_pack_end_defaults*(box: PBox, widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_box_pack_end_defaults".} +proc box_set_homogeneous*(box: PBox, homogeneous: gboolean){.cdecl, dynlib: lib, + importc: "gtk_box_set_homogeneous".} +proc box_get_homogeneous*(box: PBox): gboolean{.cdecl, dynlib: lib, + importc: "gtk_box_get_homogeneous".} +proc box_set_spacing*(box: PBox, spacing: gint){.cdecl, dynlib: lib, + importc: "gtk_box_set_spacing".} +proc box_get_spacing*(box: PBox): gint{.cdecl, dynlib: lib, + importc: "gtk_box_get_spacing".} +proc box_reorder_child*(box: PBox, child: PWidget, position: gint){.cdecl, + dynlib: lib, importc: "gtk_box_reorder_child".} +proc box_query_child_packing*(box: PBox, child: PWidget, expand: Pgboolean, + fill: Pgboolean, padding: Pguint, + pack_type: PPackType){.cdecl, dynlib: lib, + importc: "gtk_box_query_child_packing".} +proc box_set_child_packing*(box: PBox, child: PWidget, expand: gboolean, + fill: gboolean, padding: guint, pack_type: TPackType){. + cdecl, dynlib: lib, importc: "gtk_box_set_child_packing".} +const + BUTTONBOX_DEFAULT* = - (1) + +proc TYPE_BUTTON_BOX*(): GType +proc BUTTON_BOX*(obj: pointer): PButtonBox +proc BUTTON_BOX_CLASS*(klass: pointer): PButtonBoxClass +proc IS_BUTTON_BOX*(obj: pointer): bool +proc IS_BUTTON_BOX_CLASS*(klass: pointer): bool +proc BUTTON_BOX_GET_CLASS*(obj: pointer): PButtonBoxClass +proc button_box_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_button_box_get_type".} +proc button_box_get_layout*(widget: PButtonBox): TButtonBoxStyle{.cdecl, + dynlib: lib, importc: "gtk_button_box_get_layout".} +proc button_box_set_layout*(widget: PButtonBox, layout_style: TButtonBoxStyle){. + cdecl, dynlib: lib, importc: "gtk_button_box_set_layout".} +proc button_box_set_child_secondary*(widget: PButtonBox, child: PWidget, + is_secondary: gboolean){.cdecl, + dynlib: lib, importc: "gtk_button_box_set_child_secondary".} +proc button_box_child_requisition*(widget: PWidget, nvis_children: var int32, + nvis_secondaries: var int32, + width: var int32, height: var int32){.cdecl, + dynlib: lib, importc: "_gtk_button_box_child_requisition".} +const + bm_TGtkButton_constructed* = 0x0001'i16 + bp_TGtkButton_constructed* = 0'i16 + bm_TGtkButton_in_button* = 0x0002'i16 + bp_TGtkButton_in_button* = 1'i16 + bm_TGtkButton_button_down* = 0x0004'i16 + bp_TGtkButton_button_down* = 2'i16 + bm_TGtkButton_relief* = 0x0018'i16 + bp_TGtkButton_relief* = 3'i16 + bm_TGtkButton_use_underline* = 0x0020'i16 + bp_TGtkButton_use_underline* = 5'i16 + bm_TGtkButton_use_stock* = 0x0040'i16 + bp_TGtkButton_use_stock* = 6'i16 + bm_TGtkButton_depressed* = 0x0080'i16 + bp_TGtkButton_depressed* = 7'i16 + bm_TGtkButton_depress_on_activate* = 0x0100'i16 + bp_TGtkButton_depress_on_activate* = 8'i16 + +proc TYPE_BUTTON*(): GType +proc BUTTON*(obj: pointer): PButton +proc BUTTON_CLASS*(klass: pointer): PButtonClass +proc IS_BUTTON*(obj: pointer): bool +proc IS_BUTTON_CLASS*(klass: pointer): bool +proc BUTTON_GET_CLASS*(obj: pointer): PButtonClass +proc constructed*(a: var TButton): guint +proc set_constructed*(a: var TButton, `constructed`: guint) +proc in_button*(a: var TButton): guint +proc set_in_button*(a: var TButton, `in_button`: guint) +proc button_down*(a: var TButton): guint +proc set_button_down*(a: var TButton, `button_down`: guint) +proc relief*(a: var TButton): guint +proc set_relief*(a: var TButton, `relief`: guint) +proc use_underline*(a: var TButton): guint +proc set_use_underline*(a: var TButton, `use_underline`: guint) +proc use_stock*(a: var TButton): guint +proc set_use_stock*(a: var TButton, `use_stock`: guint) +proc depressed*(a: var TButton): guint +proc set_depressed*(a: var TButton, `depressed`: guint) +proc depress_on_activate*(a: var TButton): guint +proc set_depress_on_activate*(a: var TButton, `depress_on_activate`: guint) +proc button_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_button_get_type".} +proc button_new*(): PButton{.cdecl, dynlib: lib, importc: "gtk_button_new".} +proc button_new_with_label*(`label`: cstring): PButton{.cdecl, dynlib: lib, + importc: "gtk_button_new_with_label".} +proc button_new_from_stock*(stock_id: cstring): PButton{.cdecl, dynlib: lib, + importc: "gtk_button_new_from_stock".} +proc button_new_with_mnemonic*(`label`: cstring): PButton{.cdecl, dynlib: lib, + importc: "gtk_button_new_with_mnemonic".} +proc button_pressed*(button: PButton){.cdecl, dynlib: lib, + importc: "gtk_button_pressed".} +proc button_released*(button: PButton){.cdecl, dynlib: lib, + importc: "gtk_button_released".} +proc button_clicked*(button: PButton){.cdecl, dynlib: lib, + importc: "gtk_button_clicked".} +proc button_enter*(button: PButton){.cdecl, dynlib: lib, + importc: "gtk_button_enter".} +proc button_leave*(button: PButton){.cdecl, dynlib: lib, + importc: "gtk_button_leave".} +proc button_set_relief*(button: PButton, newstyle: TReliefStyle){.cdecl, + dynlib: lib, importc: "gtk_button_set_relief".} +proc button_get_relief*(button: PButton): TReliefStyle{.cdecl, dynlib: lib, + importc: "gtk_button_get_relief".} +proc button_set_label*(button: PButton, `label`: cstring){.cdecl, dynlib: lib, + importc: "gtk_button_set_label".} +proc button_get_label*(button: PButton): cstring{.cdecl, dynlib: lib, + importc: "gtk_button_get_label".} +proc button_set_use_underline*(button: PButton, use_underline: gboolean){.cdecl, + dynlib: lib, importc: "gtk_button_set_use_underline".} +proc button_get_use_underline*(button: PButton): gboolean{.cdecl, dynlib: lib, + importc: "gtk_button_get_use_underline".} +proc button_set_use_stock*(button: PButton, use_stock: gboolean){.cdecl, + dynlib: lib, importc: "gtk_button_set_use_stock".} +proc button_get_use_stock*(button: PButton): gboolean{.cdecl, dynlib: lib, + importc: "gtk_button_get_use_stock".} +proc button_set_depressed*(button: PButton, depressed: gboolean){.cdecl, + dynlib: lib, importc: "_gtk_button_set_depressed".} +proc button_paint*(button: PButton, area: PGdkRectangle, state_type: TStateType, + shadow_type: TShadowType, main_detail: cstring, + default_detail: cstring){.cdecl, dynlib: lib, + importc: "_gtk_button_paint".} +proc button_set_image*(button: PButton, image: PWidget){.cdecl, dynlib: lib, + importc: "gtk_button_set_image".} +proc button_get_image*(button: PButton): PWidget{.cdecl, dynlib: lib, + importc: "gtk_button_get_image".} +const + CALENDAR_SHOW_HEADING* = 1 shl 0 + CALENDAR_SHOW_DAY_NAMES* = 1 shl 1 + CALENDAR_NO_MONTH_CHANGE* = 1 shl 2 + CALENDAR_SHOW_WEEK_NUMBERS* = 1 shl 3 + CALENDAR_WEEK_START_MONDAY* = 1 shl 4 + +proc TYPE_CALENDAR*(): GType +proc CALENDAR*(obj: pointer): PCalendar +proc CALENDAR_CLASS*(klass: pointer): PCalendarClass +proc IS_CALENDAR*(obj: pointer): bool +proc IS_CALENDAR_CLASS*(klass: pointer): bool +proc CALENDAR_GET_CLASS*(obj: pointer): PCalendarClass +proc calendar_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_calendar_get_type".} +proc calendar_new*(): PCalendar{.cdecl, dynlib: lib, importc: "gtk_calendar_new".} +proc calendar_select_month*(calendar: PCalendar, month: guint, year: guint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_calendar_select_month".} +proc calendar_select_day*(calendar: PCalendar, day: guint){.cdecl, dynlib: lib, + importc: "gtk_calendar_select_day".} +proc calendar_mark_day*(calendar: PCalendar, day: guint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_calendar_mark_day".} +proc calendar_unmark_day*(calendar: PCalendar, day: guint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_calendar_unmark_day".} +proc calendar_clear_marks*(calendar: PCalendar){.cdecl, dynlib: lib, + importc: "gtk_calendar_clear_marks".} +proc calendar_display_options*(calendar: PCalendar, + flags: TCalendarDisplayOptions){.cdecl, + dynlib: lib, importc: "gtk_calendar_display_options".} +proc calendar_get_date*(calendar: PCalendar, year: Pguint, month: Pguint, + day: Pguint){.cdecl, dynlib: lib, + importc: "gtk_calendar_get_date".} +proc calendar_freeze*(calendar: PCalendar){.cdecl, dynlib: lib, + importc: "gtk_calendar_freeze".} +proc calendar_thaw*(calendar: PCalendar){.cdecl, dynlib: lib, + importc: "gtk_calendar_thaw".} +proc TYPE_CELL_EDITABLE*(): GType +proc CELL_EDITABLE*(obj: pointer): PCellEditable +proc CELL_EDITABLE_CLASS*(obj: pointer): PCellEditableIface +proc IS_CELL_EDITABLE*(obj: pointer): bool +proc CELL_EDITABLE_GET_IFACE*(obj: pointer): PCellEditableIface +proc cell_editable_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_cell_editable_get_type".} +proc cell_editable_start_editing*(cell_editable: PCellEditable, event: PGdkEvent){. + cdecl, dynlib: lib, importc: "gtk_cell_editable_start_editing".} +proc cell_editable_editing_done*(cell_editable: PCellEditable){.cdecl, + dynlib: lib, importc: "gtk_cell_editable_editing_done".} +proc cell_editable_remove_widget*(cell_editable: PCellEditable){.cdecl, + dynlib: lib, importc: "gtk_cell_editable_remove_widget".} +const + CELL_RENDERER_SELECTED* = 1 shl 0 + CELL_RENDERER_PRELIT* = 1 shl 1 + CELL_RENDERER_INSENSITIVE* = 1 shl 2 + CELL_RENDERER_SORTED* = 1 shl 3 + +const + bm_TGtkCellRenderer_mode* = 0x0003'i16 + bp_TGtkCellRenderer_mode* = 0'i16 + bm_TGtkCellRenderer_visible* = 0x0004'i16 + bp_TGtkCellRenderer_visible* = 2'i16 + bm_TGtkCellRenderer_is_expander* = 0x0008'i16 + bp_TGtkCellRenderer_is_expander* = 3'i16 + bm_TGtkCellRenderer_is_expanded* = 0x0010'i16 + bp_TGtkCellRenderer_is_expanded* = 4'i16 + bm_TGtkCellRenderer_cell_background_set* = 0x0020'i16 + bp_TGtkCellRenderer_cell_background_set* = 5'i16 + +proc TYPE_CELL_RENDERER*(): GType +proc CELL_RENDERER*(obj: pointer): PCellRenderer +proc CELL_RENDERER_CLASS*(klass: pointer): PCellRendererClass +proc IS_CELL_RENDERER*(obj: pointer): bool +proc IS_CELL_RENDERER_CLASS*(klass: pointer): bool +proc CELL_RENDERER_GET_CLASS*(obj: pointer): PCellRendererClass +proc mode*(a: var TCellRenderer): guint +proc set_mode*(a: var TCellRenderer, `mode`: guint) +proc visible*(a: var TCellRenderer): guint +proc set_visible*(a: var TCellRenderer, `visible`: guint) +proc is_expander*(a: var TCellRenderer): guint +proc set_is_expander*(a: var TCellRenderer, `is_expander`: guint) +proc is_expanded*(a: var TCellRenderer): guint +proc set_is_expanded*(a: var TCellRenderer, `is_expanded`: guint) +proc cell_background_set*(a: var TCellRenderer): guint +proc set_cell_background_set*(a: var TCellRenderer, `cell_background_set`: guint) +proc cell_renderer_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_get_type".} +proc cell_renderer_get_size*(cell: PCellRenderer, widget: PWidget, + cell_area: PGdkRectangle, x_offset: Pgint, + y_offset: Pgint, width: Pgint, height: Pgint){. + cdecl, dynlib: lib, importc: "gtk_cell_renderer_get_size".} +proc cell_renderer_render*(cell: PCellRenderer, window: PGdkWindow, + widget: PWidget, background_area: PGdkRectangle, + cell_area: PGdkRectangle, expose_area: PGdkRectangle, + flags: TCellRendererState){.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_render".} +proc cell_renderer_activate*(cell: PCellRenderer, event: PGdkEvent, + widget: PWidget, path: cstring, + background_area: PGdkRectangle, + cell_area: PGdkRectangle, flags: TCellRendererState): gboolean{. + cdecl, dynlib: lib, importc: "gtk_cell_renderer_activate".} +proc cell_renderer_start_editing*(cell: PCellRenderer, event: PGdkEvent, + widget: PWidget, path: cstring, + background_area: PGdkRectangle, + cell_area: PGdkRectangle, + flags: TCellRendererState): PCellEditable{. + cdecl, dynlib: lib, importc: "gtk_cell_renderer_start_editing".} +proc cell_renderer_set_fixed_size*(cell: PCellRenderer, width: gint, + height: gint){.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_set_fixed_size".} +proc cell_renderer_get_fixed_size*(cell: PCellRenderer, width: Pgint, + height: Pgint){.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_get_fixed_size".} +const + bm_TGtkCellRendererText_strikethrough* = 0x0001'i16 + bp_TGtkCellRendererText_strikethrough* = 0'i16 + bm_TGtkCellRendererText_editable* = 0x0002'i16 + bp_TGtkCellRendererText_editable* = 1'i16 + bm_TGtkCellRendererText_scale_set* = 0x0004'i16 + bp_TGtkCellRendererText_scale_set* = 2'i16 + bm_TGtkCellRendererText_foreground_set* = 0x0008'i16 + bp_TGtkCellRendererText_foreground_set* = 3'i16 + bm_TGtkCellRendererText_background_set* = 0x0010'i16 + bp_TGtkCellRendererText_background_set* = 4'i16 + bm_TGtkCellRendererText_underline_set* = 0x0020'i16 + bp_TGtkCellRendererText_underline_set* = 5'i16 + bm_TGtkCellRendererText_rise_set* = 0x0040'i16 + bp_TGtkCellRendererText_rise_set* = 6'i16 + bm_TGtkCellRendererText_strikethrough_set* = 0x0080'i16 + bp_TGtkCellRendererText_strikethrough_set* = 7'i16 + bm_TGtkCellRendererText_editable_set* = 0x0100'i16 + bp_TGtkCellRendererText_editable_set* = 8'i16 + bm_TGtkCellRendererText_calc_fixed_height* = 0x0200'i16 + bp_TGtkCellRendererText_calc_fixed_height* = 9'i16 + +proc TYPE_CELL_RENDERER_TEXT*(): GType +proc CELL_RENDERER_TEXT*(obj: pointer): PCellRendererText +proc CELL_RENDERER_TEXT_CLASS*(klass: pointer): PCellRendererTextClass +proc IS_CELL_RENDERER_TEXT*(obj: pointer): bool +proc IS_CELL_RENDERER_TEXT_CLASS*(klass: pointer): bool +proc CELL_RENDERER_TEXT_GET_CLASS*(obj: pointer): PCellRendererTextClass +proc strikethrough*(a: var TCellRendererText): guint +proc set_strikethrough*(a: var TCellRendererText, `strikethrough`: guint) +proc editable*(a: var TCellRendererText): guint +proc set_editable*(a: var TCellRendererText, `editable`: guint) +proc scale_set*(a: var TCellRendererText): guint +proc set_scale_set*(a: var TCellRendererText, `scale_set`: guint) +proc foreground_set*(a: var TCellRendererText): guint +proc set_foreground_set*(a: var TCellRendererText, `foreground_set`: guint) +proc background_set*(a: var TCellRendererText): guint +proc set_background_set*(a: var TCellRendererText, `background_set`: guint) +proc underline_set*(a: var TCellRendererText): guint +proc set_underline_set*(a: var TCellRendererText, `underline_set`: guint) +proc rise_set*(a: var TCellRendererText): guint +proc set_rise_set*(a: var TCellRendererText, `rise_set`: guint) +proc strikethrough_set*(a: var TCellRendererText): guint +proc set_strikethrough_set*(a: var TCellRendererText, `strikethrough_set`: guint) +proc editable_set*(a: var TCellRendererText): guint +proc set_editable_set*(a: var TCellRendererText, `editable_set`: guint) +proc calc_fixed_height*(a: var TCellRendererText): guint +proc set_calc_fixed_height*(a: var TCellRendererText, `calc_fixed_height`: guint) +proc cell_renderer_text_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_text_get_type".} +proc cell_renderer_text_new*(): PCellRenderer{.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_text_new".} +proc cell_renderer_text_set_fixed_height_from_font*(renderer: PCellRendererText, + number_of_rows: gint){.cdecl, dynlib: lib, importc: "gtk_cell_renderer_text_set_fixed_height_from_font".} +const + bm_TGtkCellRendererToggle_active* = 0x0001'i16 + bp_TGtkCellRendererToggle_active* = 0'i16 + bm_TGtkCellRendererToggle_activatable* = 0x0002'i16 + bp_TGtkCellRendererToggle_activatable* = 1'i16 + bm_TGtkCellRendererToggle_radio* = 0x0004'i16 + bp_TGtkCellRendererToggle_radio* = 2'i16 + +proc TYPE_CELL_RENDERER_TOGGLE*(): GType +proc CELL_RENDERER_TOGGLE*(obj: pointer): PCellRendererToggle +proc CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): PCellRendererToggleClass +proc IS_CELL_RENDERER_TOGGLE*(obj: pointer): bool +proc IS_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): bool +proc CELL_RENDERER_TOGGLE_GET_CLASS*(obj: pointer): PCellRendererToggleClass +proc active*(a: var TCellRendererToggle): guint +proc set_active*(a: var TCellRendererToggle, `active`: guint) +proc activatable*(a: var TCellRendererToggle): guint +proc set_activatable*(a: var TCellRendererToggle, `activatable`: guint) +proc radio*(a: var TCellRendererToggle): guint +proc set_radio*(a: var TCellRendererToggle, `radio`: guint) +proc cell_renderer_toggle_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_toggle_get_type".} +proc cell_renderer_toggle_new*(): PCellRenderer{.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_toggle_new".} +proc cell_renderer_toggle_get_radio*(toggle: PCellRendererToggle): gboolean{. + cdecl, dynlib: lib, importc: "gtk_cell_renderer_toggle_get_radio".} +proc cell_renderer_toggle_set_radio*(toggle: PCellRendererToggle, + radio: gboolean){.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_toggle_set_radio".} +proc cell_renderer_toggle_get_active*(toggle: PCellRendererToggle): gboolean{. + cdecl, dynlib: lib, importc: "gtk_cell_renderer_toggle_get_active".} +proc cell_renderer_toggle_set_active*(toggle: PCellRendererToggle, + setting: gboolean){.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_toggle_set_active".} +proc TYPE_CELL_RENDERER_PIXBUF*(): GType +proc CELL_RENDERER_PIXBUF*(obj: pointer): PCellRendererPixbuf +proc CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): PCellRendererPixbufClass +proc IS_CELL_RENDERER_PIXBUF*(obj: pointer): bool +proc IS_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): bool +proc CELL_RENDERER_PIXBUF_GET_CLASS*(obj: pointer): PCellRendererPixbufClass +proc cell_renderer_pixbuf_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_pixbuf_get_type".} +proc cell_renderer_pixbuf_new*(): PCellRenderer{.cdecl, dynlib: lib, + importc: "gtk_cell_renderer_pixbuf_new".} +proc TYPE_ITEM*(): GType +proc ITEM*(obj: pointer): PItem +proc ITEM_CLASS*(klass: pointer): PItemClass +proc IS_ITEM*(obj: pointer): bool +proc IS_ITEM_CLASS*(klass: pointer): bool +proc ITEM_GET_CLASS*(obj: pointer): PItemClass +proc item_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_item_get_type".} +proc item_select*(item: PItem){.cdecl, dynlib: lib, importc: "gtk_item_select".} +proc item_deselect*(item: PItem){.cdecl, dynlib: lib, + importc: "gtk_item_deselect".} +proc item_toggle*(item: PItem){.cdecl, dynlib: lib, importc: "gtk_item_toggle".} +const + bm_TGtkMenuItem_show_submenu_indicator* = 0x0001'i16 + bp_TGtkMenuItem_show_submenu_indicator* = 0'i16 + bm_TGtkMenuItem_submenu_placement* = 0x0002'i16 + bp_TGtkMenuItem_submenu_placement* = 1'i16 + bm_TGtkMenuItem_submenu_direction* = 0x0004'i16 + bp_TGtkMenuItem_submenu_direction* = 2'i16 + bm_TGtkMenuItem_right_justify* = 0x0008'i16 + bp_TGtkMenuItem_right_justify* = 3'i16 + bm_TGtkMenuItem_timer_from_keypress* = 0x0010'i16 + bp_TGtkMenuItem_timer_from_keypress* = 4'i16 + bm_TGtkMenuItemClass_hide_on_activate* = 0x0001'i16 + bp_TGtkMenuItemClass_hide_on_activate* = 0'i16 + +proc TYPE_MENU_ITEM*(): GType +proc MENU_ITEM*(obj: pointer): PMenuItem +proc MENU_ITEM_CLASS*(klass: pointer): PMenuItemClass +proc IS_MENU_ITEM*(obj: pointer): bool +proc IS_MENU_ITEM_CLASS*(klass: pointer): bool +proc MENU_ITEM_GET_CLASS*(obj: pointer): PMenuItemClass +proc show_submenu_indicator*(a: var TMenuItem): guint +proc set_show_submenu_indicator*(a: var TMenuItem, + `show_submenu_indicator`: guint) +proc submenu_placement*(a: var TMenuItem): guint +proc set_submenu_placement*(a: var TMenuItem, `submenu_placement`: guint) +proc submenu_direction*(a: var TMenuItem): guint +proc set_submenu_direction*(a: var TMenuItem, `submenu_direction`: guint) +proc right_justify*(a: var TMenuItem): guint +proc set_right_justify*(a: var TMenuItem, `right_justify`: guint) +proc timer_from_keypress*(a: var TMenuItem): guint +proc set_timer_from_keypress*(a: var TMenuItem, `timer_from_keypress`: guint) +proc hide_on_activate*(a: var TMenuItemClass): guint +proc set_hide_on_activate*(a: var TMenuItemClass, `hide_on_activate`: guint) +proc menu_item_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_menu_item_get_type".} +proc menu_item_new*(): PMenuItem{.cdecl, dynlib: lib, + importc: "gtk_menu_item_new".} +proc menu_item_new_with_label*(`label`: cstring): PMenuItem{.cdecl, dynlib: lib, + importc: "gtk_menu_item_new_with_label".} +proc menu_item_new_with_mnemonic*(`label`: cstring): PMenuItem{.cdecl, + dynlib: lib, importc: "gtk_menu_item_new_with_mnemonic".} +proc menu_item_set_submenu*(menu_item: PMenuItem, submenu: PWidget){.cdecl, + dynlib: lib, importc: "gtk_menu_item_set_submenu".} +proc menu_item_get_submenu*(menu_item: PMenuItem): PWidget{.cdecl, dynlib: lib, + importc: "gtk_menu_item_get_submenu".} +proc menu_item_remove_submenu*(menu_item: PMenuItem){.cdecl, dynlib: lib, + importc: "gtk_menu_item_remove_submenu".} +proc menu_item_select*(menu_item: PMenuItem){.cdecl, dynlib: lib, + importc: "gtk_menu_item_select".} +proc menu_item_deselect*(menu_item: PMenuItem){.cdecl, dynlib: lib, + importc: "gtk_menu_item_deselect".} +proc menu_item_activate*(menu_item: PMenuItem){.cdecl, dynlib: lib, + importc: "gtk_menu_item_activate".} +proc menu_item_toggle_size_request*(menu_item: PMenuItem, requisition: Pgint){. + cdecl, dynlib: lib, importc: "gtk_menu_item_toggle_size_request".} +proc menu_item_toggle_size_allocate*(menu_item: PMenuItem, allocation: gint){. + cdecl, dynlib: lib, importc: "gtk_menu_item_toggle_size_allocate".} +proc menu_item_set_right_justified*(menu_item: PMenuItem, + right_justified: gboolean){.cdecl, + dynlib: lib, importc: "gtk_menu_item_set_right_justified".} +proc menu_item_get_right_justified*(menu_item: PMenuItem): gboolean{.cdecl, + dynlib: lib, importc: "gtk_menu_item_get_right_justified".} +proc menu_item_set_accel_path*(menu_item: PMenuItem, accel_path: cstring){. + cdecl, dynlib: lib, importc: "gtk_menu_item_set_accel_path".} +proc menu_item_refresh_accel_path*(menu_item: PMenuItem, prefix: cstring, + accel_group: PAccelGroup, + group_changed: gboolean){.cdecl, dynlib: lib, + importc: "_gtk_menu_item_refresh_accel_path".} +proc menu_item_is_selectable*(menu_item: PWidget): gboolean{.cdecl, dynlib: lib, + importc: "_gtk_menu_item_is_selectable".} +const + bm_TGtkToggleButton_active* = 0x0001'i16 + bp_TGtkToggleButton_active* = 0'i16 + bm_TGtkToggleButton_draw_indicator* = 0x0002'i16 + bp_TGtkToggleButton_draw_indicator* = 1'i16 + bm_TGtkToggleButton_inconsistent* = 0x0004'i16 + bp_TGtkToggleButton_inconsistent* = 2'i16 + +proc TYPE_TOGGLE_BUTTON*(): GType +proc TOGGLE_BUTTON*(obj: pointer): PToggleButton +proc TOGGLE_BUTTON_CLASS*(klass: pointer): PToggleButtonClass +proc IS_TOGGLE_BUTTON*(obj: pointer): bool +proc IS_TOGGLE_BUTTON_CLASS*(klass: pointer): bool +proc TOGGLE_BUTTON_GET_CLASS*(obj: pointer): PToggleButtonClass +proc active*(a: var TToggleButton): guint +proc set_active*(a: var TToggleButton, `active`: guint) +proc draw_indicator*(a: var TToggleButton): guint +proc set_draw_indicator*(a: var TToggleButton, `draw_indicator`: guint) +proc inconsistent*(a: var TToggleButton): guint +proc set_inconsistent*(a: var TToggleButton, `inconsistent`: guint) +proc toggle_button_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_toggle_button_get_type".} +proc toggle_button_new*(): PToggleButton{.cdecl, dynlib: lib, + importc: "gtk_toggle_button_new".} +proc toggle_button_new_with_label*(`label`: cstring): PToggleButton{.cdecl, + dynlib: lib, importc: "gtk_toggle_button_new_with_label".} +proc toggle_button_new_with_mnemonic*(`label`: cstring): PToggleButton{.cdecl, + dynlib: lib, importc: "gtk_toggle_button_new_with_mnemonic".} +proc toggle_button_set_mode*(toggle_button: PToggleButton, + draw_indicator: gboolean){.cdecl, dynlib: lib, + importc: "gtk_toggle_button_set_mode".} +proc toggle_button_get_mode*(toggle_button: PToggleButton): gboolean{.cdecl, + dynlib: lib, importc: "gtk_toggle_button_get_mode".} +proc toggle_button_set_active*(toggle_button: PToggleButton, is_active: gboolean){. + cdecl, dynlib: lib, importc: "gtk_toggle_button_set_active".} +proc toggle_button_get_active*(toggle_button: PToggleButton): gboolean{.cdecl, + dynlib: lib, importc: "gtk_toggle_button_get_active".} +proc toggle_button_toggled*(toggle_button: PToggleButton){.cdecl, dynlib: lib, + importc: "gtk_toggle_button_toggled".} +proc toggle_button_set_inconsistent*(toggle_button: PToggleButton, + setting: gboolean){.cdecl, dynlib: lib, + importc: "gtk_toggle_button_set_inconsistent".} +proc toggle_button_get_inconsistent*(toggle_button: PToggleButton): gboolean{. + cdecl, dynlib: lib, importc: "gtk_toggle_button_get_inconsistent".} +proc TYPE_CHECK_BUTTON*(): GType +proc CHECK_BUTTON*(obj: pointer): PCheckButton +proc CHECK_BUTTON_CLASS*(klass: pointer): PCheckButtonClass +proc IS_CHECK_BUTTON*(obj: pointer): bool +proc IS_CHECK_BUTTON_CLASS*(klass: pointer): bool +proc CHECK_BUTTON_GET_CLASS*(obj: pointer): PCheckButtonClass +proc check_button_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_check_button_get_type".} +proc check_button_new*(): PCheckButton{.cdecl, dynlib: lib, + importc: "gtk_check_button_new".} +proc check_button_new_with_label*(`label`: cstring): PCheckButton{.cdecl, + dynlib: lib, importc: "gtk_check_button_new_with_label".} +proc check_button_new_with_mnemonic*(`label`: cstring): PCheckButton{.cdecl, + dynlib: lib, importc: "gtk_check_button_new_with_mnemonic".} +proc check_button_get_props*(check_button: PCheckButton, indicator_size: Pgint, + indicator_spacing: Pgint){.cdecl, dynlib: lib, + importc: "_gtk_check_button_get_props".} +const + bm_TGtkCheckMenuItem_active* = 0x0001'i16 + bp_TGtkCheckMenuItem_active* = 0'i16 + bm_TGtkCheckMenuItem_always_show_toggle* = 0x0002'i16 + bp_TGtkCheckMenuItem_always_show_toggle* = 1'i16 + bm_TGtkCheckMenuItem_inconsistent* = 0x0004'i16 + bp_TGtkCheckMenuItem_inconsistent* = 2'i16 + +proc TYPE_CHECK_MENU_ITEM*(): GType +proc CHECK_MENU_ITEM*(obj: pointer): PCheckMenuItem +proc CHECK_MENU_ITEM_CLASS*(klass: pointer): PCheckMenuItemClass +proc IS_CHECK_MENU_ITEM*(obj: pointer): bool +proc IS_CHECK_MENU_ITEM_CLASS*(klass: pointer): bool +proc CHECK_MENU_ITEM_GET_CLASS*(obj: pointer): PCheckMenuItemClass +proc active*(a: var TCheckMenuItem): guint +proc set_active*(a: var TCheckMenuItem, `active`: guint) +proc always_show_toggle*(a: var TCheckMenuItem): guint +proc set_always_show_toggle*(a: var TCheckMenuItem, `always_show_toggle`: guint) +proc inconsistent*(a: var TCheckMenuItem): guint +proc set_inconsistent*(a: var TCheckMenuItem, `inconsistent`: guint) +proc check_menu_item_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_check_menu_item_get_type".} +proc check_menu_item_new*(): PWidget{.cdecl, dynlib: lib, + importc: "gtk_check_menu_item_new".} +proc check_menu_item_new_with_label*(`label`: cstring): PWidget{.cdecl, + dynlib: lib, importc: "gtk_check_menu_item_new_with_label".} +proc check_menu_item_new_with_mnemonic*(`label`: cstring): PWidget{.cdecl, + dynlib: lib, importc: "gtk_check_menu_item_new_with_mnemonic".} +proc check_menu_item_set_active*(check_menu_item: PCheckMenuItem, + is_active: gboolean){.cdecl, dynlib: lib, + importc: "gtk_check_menu_item_set_active".} +proc check_menu_item_get_active*(check_menu_item: PCheckMenuItem): gboolean{. + cdecl, dynlib: lib, importc: "gtk_check_menu_item_get_active".} +proc check_menu_item_toggled*(check_menu_item: PCheckMenuItem){.cdecl, + dynlib: lib, importc: "gtk_check_menu_item_toggled".} +proc check_menu_item_set_inconsistent*(check_menu_item: PCheckMenuItem, + setting: gboolean){.cdecl, dynlib: lib, + importc: "gtk_check_menu_item_set_inconsistent".} +proc check_menu_item_get_inconsistent*(check_menu_item: PCheckMenuItem): gboolean{. + cdecl, dynlib: lib, importc: "gtk_check_menu_item_get_inconsistent".} +proc clipboard_get_for_display*(display: PGdkDisplay, selection: TGdkAtom): PClipboard{. + cdecl, dynlib: lib, importc: "gtk_clipboard_get_for_display".} +proc clipboard_get_display*(clipboard: PClipboard): PGdkDisplay{.cdecl, + dynlib: lib, importc: "gtk_clipboard_get_display".} +proc clipboard_set_with_data*(clipboard: PClipboard, targets: PTargetEntry, + n_targets: guint, get_func: TClipboardGetFunc, + clear_func: TClipboardClearFunc, + user_data: gpointer): gboolean{.cdecl, + dynlib: lib, importc: "gtk_clipboard_set_with_data".} +proc clipboard_set_with_owner*(clipboard: PClipboard, targets: PTargetEntry, + n_targets: guint, get_func: TClipboardGetFunc, + clear_func: TClipboardClearFunc, owner: PGObject): gboolean{. + cdecl, dynlib: lib, importc: "gtk_clipboard_set_with_owner".} +proc clipboard_get_owner*(clipboard: PClipboard): PGObject{.cdecl, dynlib: lib, + importc: "gtk_clipboard_get_owner".} +proc clipboard_clear*(clipboard: PClipboard){.cdecl, dynlib: lib, + importc: "gtk_clipboard_clear".} +proc clipboard_set_text*(clipboard: PClipboard, text: cstring, len: gint){. + cdecl, dynlib: lib, importc: "gtk_clipboard_set_text".} +proc clipboard_request_contents*(clipboard: PClipboard, target: TGdkAtom, + callback: TClipboardReceivedFunc, + user_data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_clipboard_request_contents".} +proc clipboard_request_text*(clipboard: PClipboard, + callback: TClipboardTextReceivedFunc, + user_data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_clipboard_request_text".} +proc clipboard_wait_for_contents*(clipboard: PClipboard, target: TGdkAtom): PSelectionData{. + cdecl, dynlib: lib, importc: "gtk_clipboard_wait_for_contents".} +proc clipboard_wait_for_text*(clipboard: PClipboard): cstring{.cdecl, + dynlib: lib, importc: "gtk_clipboard_wait_for_text".} +proc clipboard_wait_is_text_available*(clipboard: PClipboard): gboolean{.cdecl, + dynlib: lib, importc: "gtk_clipboard_wait_is_text_available".} +const + CLIST_IN_DRAG* = 1 shl 0 + CLIST_ROW_HEIGHT_SET* = 1 shl 1 + CLIST_SHOW_TITLES* = 1 shl 2 + CLIST_ADD_MODE* = 1 shl 4 + CLIST_AUTO_SORT* = 1 shl 5 + CLIST_AUTO_RESIZE_BLOCKED* = 1 shl 6 + CLIST_REORDERABLE* = 1 shl 7 + CLIST_USE_DRAG_ICONS* = 1 shl 8 + CLIST_DRAW_DRAG_LINE* = 1 shl 9 + CLIST_DRAW_DRAG_RECT* = 1 shl 10 + BUTTON_IGNORED* = 0 + BUTTON_SELECTS* = 1 shl 0 + BUTTON_DRAGS* = 1 shl 1 + BUTTON_EXPANDS* = 1 shl 2 + +const + bm_TGtkCListColumn_visible* = 0x0001'i16 + bp_TGtkCListColumn_visible* = 0'i16 + bm_TGtkCListColumn_width_set* = 0x0002'i16 + bp_TGtkCListColumn_width_set* = 1'i16 + bm_TGtkCListColumn_resizeable* = 0x0004'i16 + bp_TGtkCListColumn_resizeable* = 2'i16 + bm_TGtkCListColumn_auto_resize* = 0x0008'i16 + bp_TGtkCListColumn_auto_resize* = 3'i16 + bm_TGtkCListColumn_button_passive* = 0x0010'i16 + bp_TGtkCListColumn_button_passive* = 4'i16 + bm_TGtkCListRow_fg_set* = 0x0001'i16 + bp_TGtkCListRow_fg_set* = 0'i16 + bm_TGtkCListRow_bg_set* = 0x0002'i16 + bp_TGtkCListRow_bg_set* = 1'i16 + bm_TGtkCListRow_selectable* = 0x0004'i16 + bp_TGtkCListRow_selectable* = 2'i16 + +proc TYPE_CLIST*(): GType +proc CLIST*(obj: pointer): PCList +proc CLIST_CLASS*(klass: pointer): PCListClass +proc IS_CLIST*(obj: pointer): bool +proc IS_CLIST_CLASS*(klass: pointer): bool +proc CLIST_GET_CLASS*(obj: pointer): PCListClass +proc CLIST_FLAGS*(clist: pointer): guint16 +proc CLIST_SET_FLAG*(clist: PCList, flag: guint16) +proc CLIST_UNSET_FLAG*(clist: PCList, flag: guint16) +#proc GTK_CLIST_IN_DRAG_get*(clist: pointer): bool +#proc GTK_CLIST_ROW_HEIGHT_SET_get*(clist: pointer): bool +#proc GTK_CLIST_SHOW_TITLES_get*(clist: pointer): bool +#proc GTK_CLIST_ADD_MODE_get*(clist: pointer): bool +#proc GTK_CLIST_AUTO_SORT_get*(clist: pointer): bool +#proc GTK_CLIST_AUTO_RESIZE_BLOCKED_get*(clist: pointer): bool +#proc GTK_CLIST_REORDERABLE_get*(clist: pointer): bool +#proc GTK_CLIST_USE_DRAG_ICONS_get*(clist: pointer): bool +#proc GTK_CLIST_DRAW_DRAG_LINE_get*(clist: pointer): bool +#proc GTK_CLIST_DRAW_DRAG_RECT_get*(clist: pointer): bool +#proc GTK_CLIST_ROW_get*(`glist_`: PGList): PGtkCListRow +#proc GTK_CELL_TEXT_get*(cell: pointer): PGtkCellText +#proc GTK_CELL_PIXMAP_get*(cell: pointer): PGtkCellPixmap +#proc GTK_CELL_PIXTEXT_get*(cell: pointer): PGtkCellPixText +#proc GTK_CELL_WIDGET_get*(cell: pointer): PGtkCellWidget + +proc visible*(a: var TCListColumn): guint +proc set_visible*(a: var TCListColumn, `visible`: guint) +proc width_set*(a: var TCListColumn): guint +proc set_width_set*(a: var TCListColumn, `width_set`: guint) +proc resizeable*(a: var TCListColumn): guint +proc set_resizeable*(a: var TCListColumn, `resizeable`: guint) +proc auto_resize*(a: var TCListColumn): guint +proc set_auto_resize*(a: var TCListColumn, `auto_resize`: guint) +proc button_passive*(a: var TCListColumn): guint +proc set_button_passive*(a: var TCListColumn, `button_passive`: guint) +proc fg_set*(a: var TCListRow): guint +proc set_fg_set*(a: var TCListRow, `fg_set`: guint) +proc bg_set*(a: var TCListRow): guint +proc set_bg_set*(a: var TCListRow, `bg_set`: guint) +proc selectable*(a: var TCListRow): guint +proc set_selectable*(a: var TCListRow, `selectable`: guint) +proc clist_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_clist_get_type".} +proc clist_new*(columns: gint): PCList{.cdecl, dynlib: lib, + importc: "gtk_clist_new".} +proc clist_set_hadjustment*(clist: PCList, adjustment: PAdjustment){.cdecl, + dynlib: lib, importc: "gtk_clist_set_hadjustment".} +proc clist_set_vadjustment*(clist: PCList, adjustment: PAdjustment){.cdecl, + dynlib: lib, importc: "gtk_clist_set_vadjustment".} +proc clist_get_hadjustment*(clist: PCList): PAdjustment{.cdecl, dynlib: lib, + importc: "gtk_clist_get_hadjustment".} +proc clist_get_vadjustment*(clist: PCList): PAdjustment{.cdecl, dynlib: lib, + importc: "gtk_clist_get_vadjustment".} +proc clist_set_shadow_type*(clist: PCList, thetype: TShadowType){.cdecl, + dynlib: lib, importc: "gtk_clist_set_shadow_type".} +proc clist_set_selection_mode*(clist: PCList, mode: TSelectionMode){.cdecl, + dynlib: lib, importc: "gtk_clist_set_selection_mode".} +proc clist_set_reorderable*(clist: PCList, reorderable: gboolean){.cdecl, + dynlib: lib, importc: "gtk_clist_set_reorderable".} +proc clist_set_use_drag_icons*(clist: PCList, use_icons: gboolean){.cdecl, + dynlib: lib, importc: "gtk_clist_set_use_drag_icons".} +proc clist_set_button_actions*(clist: PCList, button: guint, + button_actions: guint8){.cdecl, dynlib: lib, + importc: "gtk_clist_set_button_actions".} +proc clist_freeze*(clist: PCList){.cdecl, dynlib: lib, + importc: "gtk_clist_freeze".} +proc clist_thaw*(clist: PCList){.cdecl, dynlib: lib, importc: "gtk_clist_thaw".} +proc clist_column_titles_show*(clist: PCList){.cdecl, dynlib: lib, + importc: "gtk_clist_column_titles_show".} +proc clist_column_titles_hide*(clist: PCList){.cdecl, dynlib: lib, + importc: "gtk_clist_column_titles_hide".} +proc clist_column_title_active*(clist: PCList, column: gint){.cdecl, + dynlib: lib, importc: "gtk_clist_column_title_active".} +proc clist_column_title_passive*(clist: PCList, column: gint){.cdecl, + dynlib: lib, importc: "gtk_clist_column_title_passive".} +proc clist_column_titles_active*(clist: PCList){.cdecl, dynlib: lib, + importc: "gtk_clist_column_titles_active".} +proc clist_column_titles_passive*(clist: PCList){.cdecl, dynlib: lib, + importc: "gtk_clist_column_titles_passive".} +proc clist_set_column_title*(clist: PCList, column: gint, title: cstring){. + cdecl, dynlib: lib, importc: "gtk_clist_set_column_title".} +proc clist_get_column_title*(clist: PCList, column: gint): cstring{.cdecl, + dynlib: lib, importc: "gtk_clist_get_column_title".} +proc clist_set_column_widget*(clist: PCList, column: gint, widget: PWidget){. + cdecl, dynlib: lib, importc: "gtk_clist_set_column_widget".} +proc clist_get_column_widget*(clist: PCList, column: gint): PWidget{.cdecl, + dynlib: lib, importc: "gtk_clist_get_column_widget".} +proc clist_set_column_justification*(clist: PCList, column: gint, + justification: TJustification){.cdecl, + dynlib: lib, importc: "gtk_clist_set_column_justification".} +proc clist_set_column_visibility*(clist: PCList, column: gint, visible: gboolean){. + cdecl, dynlib: lib, importc: "gtk_clist_set_column_visibility".} +proc clist_set_column_resizeable*(clist: PCList, column: gint, + resizeable: gboolean){.cdecl, dynlib: lib, + importc: "gtk_clist_set_column_resizeable".} +proc clist_set_column_auto_resize*(clist: PCList, column: gint, + auto_resize: gboolean){.cdecl, dynlib: lib, + importc: "gtk_clist_set_column_auto_resize".} +proc clist_columns_autosize*(clist: PCList): gint{.cdecl, dynlib: lib, + importc: "gtk_clist_columns_autosize".} +proc clist_optimal_column_width*(clist: PCList, column: gint): gint{.cdecl, + dynlib: lib, importc: "gtk_clist_optimal_column_width".} +proc clist_set_column_width*(clist: PCList, column: gint, width: gint){.cdecl, + dynlib: lib, importc: "gtk_clist_set_column_width".} +proc clist_set_column_min_width*(clist: PCList, column: gint, min_width: gint){. + cdecl, dynlib: lib, importc: "gtk_clist_set_column_min_width".} +proc clist_set_column_max_width*(clist: PCList, column: gint, max_width: gint){. + cdecl, dynlib: lib, importc: "gtk_clist_set_column_max_width".} +proc clist_set_row_height*(clist: PCList, height: guint){.cdecl, dynlib: lib, + importc: "gtk_clist_set_row_height".} +proc clist_moveto*(clist: PCList, row: gint, column: gint, row_align: gfloat, + col_align: gfloat){.cdecl, dynlib: lib, + importc: "gtk_clist_moveto".} +proc clist_row_is_visible*(clist: PCList, row: gint): TVisibility{.cdecl, + dynlib: lib, importc: "gtk_clist_row_is_visible".} +proc clist_get_cell_type*(clist: PCList, row: gint, column: gint): TCellType{. + cdecl, dynlib: lib, importc: "gtk_clist_get_cell_type".} +proc clist_set_text*(clist: PCList, row: gint, column: gint, text: cstring){. + cdecl, dynlib: lib, importc: "gtk_clist_set_text".} +proc clist_get_text*(clist: PCList, row: gint, column: gint, text: PPgchar): gint{. + cdecl, dynlib: lib, importc: "gtk_clist_get_text".} +proc clist_set_pixmap*(clist: PCList, row: gint, column: gint, + pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl, + dynlib: lib, importc: "gtk_clist_set_pixmap".} +proc clist_get_pixmap*(clist: PCList, row: gint, column: gint, + pixmap: var PGdkPixmap, mask: var PGdkBitmap): gint{. + cdecl, dynlib: lib, importc: "gtk_clist_get_pixmap".} +proc clist_set_pixtext*(clist: PCList, row: gint, column: gint, text: cstring, + spacing: guint8, pixmap: PGdkPixmap, mask: PGdkBitmap){. + cdecl, dynlib: lib, importc: "gtk_clist_set_pixtext".} +proc clist_set_foreground*(clist: PCList, row: gint, color: PGdkColor){.cdecl, + dynlib: lib, importc: "gtk_clist_set_foreground".} +proc clist_set_background*(clist: PCList, row: gint, color: PGdkColor){.cdecl, + dynlib: lib, importc: "gtk_clist_set_background".} +proc clist_set_cell_style*(clist: PCList, row: gint, column: gint, style: PStyle){. + cdecl, dynlib: lib, importc: "gtk_clist_set_cell_style".} +proc clist_get_cell_style*(clist: PCList, row: gint, column: gint): PStyle{. + cdecl, dynlib: lib, importc: "gtk_clist_get_cell_style".} +proc clist_set_row_style*(clist: PCList, row: gint, style: PStyle){.cdecl, + dynlib: lib, importc: "gtk_clist_set_row_style".} +proc clist_get_row_style*(clist: PCList, row: gint): PStyle{.cdecl, dynlib: lib, + importc: "gtk_clist_get_row_style".} +proc clist_set_shift*(clist: PCList, row: gint, column: gint, vertical: gint, + horizontal: gint){.cdecl, dynlib: lib, + importc: "gtk_clist_set_shift".} +proc clist_set_selectable*(clist: PCList, row: gint, selectable: gboolean){. + cdecl, dynlib: lib, importc: "gtk_clist_set_selectable".} +proc clist_get_selectable*(clist: PCList, row: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_clist_get_selectable".} +proc clist_remove*(clist: PCList, row: gint){.cdecl, dynlib: lib, + importc: "gtk_clist_remove".} +proc clist_set_row_data*(clist: PCList, row: gint, data: gpointer){.cdecl, + dynlib: lib, importc: "gtk_clist_set_row_data".} +proc clist_set_row_data_full*(clist: PCList, row: gint, data: gpointer, + destroy: TDestroyNotify){.cdecl, dynlib: lib, + importc: "gtk_clist_set_row_data_full".} +proc clist_get_row_data*(clist: PCList, row: gint): gpointer{.cdecl, + dynlib: lib, importc: "gtk_clist_get_row_data".} +proc clist_find_row_from_data*(clist: PCList, data: gpointer): gint{.cdecl, + dynlib: lib, importc: "gtk_clist_find_row_from_data".} +proc clist_select_row*(clist: PCList, row: gint, column: gint){.cdecl, + dynlib: lib, importc: "gtk_clist_select_row".} +proc clist_unselect_row*(clist: PCList, row: gint, column: gint){.cdecl, + dynlib: lib, importc: "gtk_clist_unselect_row".} +proc clist_undo_selection*(clist: PCList){.cdecl, dynlib: lib, + importc: "gtk_clist_undo_selection".} +proc clist_clear*(clist: PCList){.cdecl, dynlib: lib, importc: "gtk_clist_clear".} +proc clist_get_selection_info*(clist: PCList, x: gint, y: gint, row: Pgint, + column: Pgint): gint{.cdecl, dynlib: lib, + importc: "gtk_clist_get_selection_info".} +proc clist_select_all*(clist: PCList){.cdecl, dynlib: lib, + importc: "gtk_clist_select_all".} +proc clist_unselect_all*(clist: PCList){.cdecl, dynlib: lib, + importc: "gtk_clist_unselect_all".} +proc clist_swap_rows*(clist: PCList, row1: gint, row2: gint){.cdecl, + dynlib: lib, importc: "gtk_clist_swap_rows".} +proc clist_row_move*(clist: PCList, source_row: gint, dest_row: gint){.cdecl, + dynlib: lib, importc: "gtk_clist_row_move".} +proc clist_set_compare_func*(clist: PCList, cmp_func: TCListCompareFunc){.cdecl, + dynlib: lib, importc: "gtk_clist_set_compare_func".} +proc clist_set_sort_column*(clist: PCList, column: gint){.cdecl, dynlib: lib, + importc: "gtk_clist_set_sort_column".} +proc clist_set_sort_type*(clist: PCList, sort_type: TSortType){.cdecl, + dynlib: lib, importc: "gtk_clist_set_sort_type".} +proc clist_sort*(clist: PCList){.cdecl, dynlib: lib, importc: "gtk_clist_sort".} +proc clist_set_auto_sort*(clist: PCList, auto_sort: gboolean){.cdecl, + dynlib: lib, importc: "gtk_clist_set_auto_sort".} +proc clist_create_cell_layout*(clist: PCList, clist_row: PCListRow, column: gint): PPangoLayout{. + cdecl, dynlib: lib, importc: "_gtk_clist_create_cell_layout".} +const + DIALOG_MODAL* = 1 shl 0 + DIALOG_DESTROY_WITH_PARENT* = 1 shl 1 + DIALOG_NO_SEPARATOR* = 1 shl 2 + RESPONSE_NONE* = - (1) + RESPONSE_REJECT* = - (2) + RESPONSE_ACCEPT* = - (3) + RESPONSE_DELETE_EVENT* = - (4) + RESPONSE_OK* = - (5) + RESPONSE_CANCEL* = - (6) + RESPONSE_CLOSE* = - (7) + RESPONSE_YES* = - (8) + RESPONSE_NO* = - (9) + RESPONSE_APPLY* = - (10) + RESPONSE_HELP* = - (11) + +proc TYPE_DIALOG*(): GType +proc DIALOG*(obj: pointer): PDialog +proc DIALOG_CLASS*(klass: pointer): PDialogClass +proc IS_DIALOG*(obj: pointer): bool +proc IS_DIALOG_CLASS*(klass: pointer): bool +proc DIALOG_GET_CLASS*(obj: pointer): PDialogClass +proc dialog_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_dialog_get_type".} +proc dialog_new*(): PDialog{.cdecl, dynlib: lib, importc: "gtk_dialog_new".} +proc dialog_add_action_widget*(dialog: PDialog, child: PWidget, + response_id: gint){.cdecl, dynlib: lib, + importc: "gtk_dialog_add_action_widget".} +proc dialog_add_button*(dialog: PDialog, button_text: cstring, response_id: gint): PWidget{. + cdecl, dynlib: lib, importc: "gtk_dialog_add_button".} +proc dialog_set_response_sensitive*(dialog: PDialog, response_id: gint, + setting: gboolean){.cdecl, dynlib: lib, + importc: "gtk_dialog_set_response_sensitive".} +proc dialog_set_default_response*(dialog: PDialog, response_id: gint){.cdecl, + dynlib: lib, importc: "gtk_dialog_set_default_response".} +proc dialog_set_has_separator*(dialog: PDialog, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_dialog_set_has_separator".} +proc dialog_get_has_separator*(dialog: PDialog): gboolean{.cdecl, dynlib: lib, + importc: "gtk_dialog_get_has_separator".} +proc dialog_response*(dialog: PDialog, response_id: gint){.cdecl, dynlib: lib, + importc: "gtk_dialog_response".} +proc dialog_run*(dialog: PDialog): gint{.cdecl, dynlib: lib, + importc: "gtk_dialog_run".} +proc show_about_dialog*(parent: PWindow, firstPropertyName: cstring){.cdecl, + dynlib: lib, importc: "gtk_show_about_dialog", varargs.} +proc TYPE_VBOX*(): GType +proc VBOX*(obj: pointer): PVBox +proc VBOX_CLASS*(klass: pointer): PVBoxClass +proc IS_VBOX*(obj: pointer): bool +proc IS_VBOX_CLASS*(klass: pointer): bool +proc VBOX_GET_CLASS*(obj: pointer): PVBoxClass +proc vbox_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_vbox_get_type".} +proc vbox_new*(homogeneous: gboolean, spacing: gint): PVBox{.cdecl, dynlib: lib, + importc: "gtk_vbox_new".} +proc TYPE_COLOR_SELECTION*(): GType +proc COLOR_SELECTION*(obj: pointer): PColorSelection +proc COLOR_SELECTION_CLASS*(klass: pointer): PColorSelectionClass +proc IS_COLOR_SELECTION*(obj: pointer): bool +proc IS_COLOR_SELECTION_CLASS*(klass: pointer): bool +proc COLOR_SELECTION_GET_CLASS*(obj: pointer): PColorSelectionClass +proc color_selection_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_color_selection_get_type".} +proc color_selection_new*(): PColorSelection{.cdecl, dynlib: lib, + importc: "gtk_color_selection_new".} +proc color_selection_get_has_opacity_control*(colorsel: PColorSelection): gboolean{. + cdecl, dynlib: lib, importc: "gtk_color_selection_get_has_opacity_control".} +proc color_selection_set_has_opacity_control*(colorsel: PColorSelection, + has_opacity: gboolean){.cdecl, dynlib: lib, importc: "gtk_color_selection_set_has_opacity_control".} +proc color_selection_get_has_palette*(colorsel: PColorSelection): gboolean{. + cdecl, dynlib: lib, importc: "gtk_color_selection_get_has_palette".} +proc color_selection_set_has_palette*(colorsel: PColorSelection, + has_palette: gboolean){.cdecl, + dynlib: lib, importc: "gtk_color_selection_set_has_palette".} +proc color_selection_set_current_color*(colorsel: PColorSelection, + color: PGdkColor){.cdecl, dynlib: lib, + importc: "gtk_color_selection_set_current_color".} +proc color_selection_set_current_alpha*(colorsel: PColorSelection, + alpha: guint16){.cdecl, dynlib: lib, + importc: "gtk_color_selection_set_current_alpha".} +proc color_selection_get_current_color*(colorsel: PColorSelection, + color: PGdkColor){.cdecl, dynlib: lib, + importc: "gtk_color_selection_get_current_color".} +proc color_selection_get_current_alpha*(colorsel: PColorSelection): guint16{. + cdecl, dynlib: lib, importc: "gtk_color_selection_get_current_alpha".} +proc color_selection_set_previous_color*(colorsel: PColorSelection, + color: PGdkColor){.cdecl, dynlib: lib, + importc: "gtk_color_selection_set_previous_color".} +proc color_selection_set_previous_alpha*(colorsel: PColorSelection, + alpha: guint16){.cdecl, dynlib: lib, + importc: "gtk_color_selection_set_previous_alpha".} +proc color_selection_get_previous_color*(colorsel: PColorSelection, + color: PGdkColor){.cdecl, dynlib: lib, + importc: "gtk_color_selection_get_previous_color".} +proc color_selection_get_previous_alpha*(colorsel: PColorSelection): guint16{. + cdecl, dynlib: lib, importc: "gtk_color_selection_get_previous_alpha".} +proc color_selection_is_adjusting*(colorsel: PColorSelection): gboolean{.cdecl, + dynlib: lib, importc: "gtk_color_selection_is_adjusting".} +proc color_selection_palette_from_string*(str: cstring, colors: var PGdkColor, + n_colors: Pgint): gboolean{.cdecl, dynlib: lib, importc: "gtk_color_selection_palette_from_string".} +proc color_selection_palette_to_string*(colors: PGdkColor, n_colors: gint): cstring{. + cdecl, dynlib: lib, importc: "gtk_color_selection_palette_to_string".} +proc color_selection_set_change_palette_with_screen_hook*( + func: TColorSelectionChangePaletteWithScreenFunc): TColorSelectionChangePaletteWithScreenFunc{. + cdecl, dynlib: lib, + importc: "gtk_color_selection_set_change_palette_with_screen_hook".} +proc TYPE_COLOR_SELECTION_DIALOG*(): GType +proc COLOR_SELECTION_DIALOG*(obj: pointer): PColorSelectionDialog +proc COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): PColorSelectionDialogClass +proc IS_COLOR_SELECTION_DIALOG*(obj: pointer): bool +proc IS_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): bool +proc COLOR_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PColorSelectionDialogClass +proc color_selection_dialog_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_color_selection_dialog_get_type".} +proc color_selection_dialog_new*(title: cstring): PColorSelectionDialog{.cdecl, + dynlib: lib, importc: "gtk_color_selection_dialog_new".} +proc TYPE_HBOX*(): GType +proc HBOX*(obj: pointer): PHBox +proc HBOX_CLASS*(klass: pointer): PHBoxClass +proc IS_HBOX*(obj: pointer): bool +proc IS_HBOX_CLASS*(klass: pointer): bool +proc HBOX_GET_CLASS*(obj: pointer): PHBoxClass +proc hbox_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_hbox_get_type".} +proc hbox_new*(homogeneous: gboolean, spacing: gint): PHBox{.cdecl, dynlib: lib, + importc: "gtk_hbox_new".} +const + bm_TGtkCombo_value_in_list* = 0x0001'i16 + bp_TGtkCombo_value_in_list* = 0'i16 + bm_TGtkCombo_ok_if_empty* = 0x0002'i16 + bp_TGtkCombo_ok_if_empty* = 1'i16 + bm_TGtkCombo_case_sensitive* = 0x0004'i16 + bp_TGtkCombo_case_sensitive* = 2'i16 + bm_TGtkCombo_use_arrows* = 0x0008'i16 + bp_TGtkCombo_use_arrows* = 3'i16 + bm_TGtkCombo_use_arrows_always* = 0x0010'i16 + bp_TGtkCombo_use_arrows_always* = 4'i16 + +proc TYPE_COMBO*(): GType +proc COMBO*(obj: pointer): PCombo +proc COMBO_CLASS*(klass: pointer): PComboClass +proc IS_COMBO*(obj: pointer): bool +proc IS_COMBO_CLASS*(klass: pointer): bool +proc COMBO_GET_CLASS*(obj: pointer): PComboClass +proc value_in_list*(a: var TCombo): guint +proc set_value_in_list*(a: var TCombo, `value_in_list`: guint) +proc ok_if_empty*(a: var TCombo): guint +proc set_ok_if_empty*(a: var TCombo, `ok_if_empty`: guint) +proc case_sensitive*(a: var TCombo): guint +proc set_case_sensitive*(a: var TCombo, `case_sensitive`: guint) +proc use_arrows*(a: var TCombo): guint +proc set_use_arrows*(a: var TCombo, `use_arrows`: guint) +proc use_arrows_always*(a: var TCombo): guint +proc set_use_arrows_always*(a: var TCombo, `use_arrows_always`: guint) +proc combo_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_combo_get_type".} +proc combo_new*(): PCombo{.cdecl, dynlib: lib, importc: "gtk_combo_new".} +proc combo_set_value_in_list*(combo: PCombo, val: gboolean, + ok_if_empty: gboolean){.cdecl, dynlib: lib, + importc: "gtk_combo_set_value_in_list".} +proc combo_set_use_arrows*(combo: PCombo, val: gboolean){.cdecl, dynlib: lib, + importc: "gtk_combo_set_use_arrows".} +proc combo_set_use_arrows_always*(combo: PCombo, val: gboolean){.cdecl, + dynlib: lib, importc: "gtk_combo_set_use_arrows_always".} +proc combo_set_case_sensitive*(combo: PCombo, val: gboolean){.cdecl, + dynlib: lib, importc: "gtk_combo_set_case_sensitive".} +proc combo_set_item_string*(combo: PCombo, item: PItem, item_value: cstring){. + cdecl, dynlib: lib, importc: "gtk_combo_set_item_string".} +proc combo_set_popdown_strings*(combo: PCombo, strings: PGList){.cdecl, + dynlib: lib, importc: "gtk_combo_set_popdown_strings".} +proc combo_disable_activate*(combo: PCombo){.cdecl, dynlib: lib, + importc: "gtk_combo_disable_activate".} +const + bm_TGtkCTree_line_style* = 0x0003'i16 + bp_TGtkCTree_line_style* = 0'i16 + bm_TGtkCTree_expander_style* = 0x000C'i16 + bp_TGtkCTree_expander_style* = 2'i16 + bm_TGtkCTree_show_stub* = 0x0010'i16 + bp_TGtkCTree_show_stub* = 4'i16 + bm_TGtkCTreeRow_is_leaf* = 0x0001'i16 + bp_TGtkCTreeRow_is_leaf* = 0'i16 + bm_TGtkCTreeRow_expanded* = 0x0002'i16 + bp_TGtkCTreeRow_expanded* = 1'i16 + +proc TYPE_CTREE*(): GType +proc CTREE*(obj: pointer): PCTree +proc CTREE_CLASS*(klass: pointer): PCTreeClass +proc IS_CTREE*(obj: pointer): bool +proc IS_CTREE_CLASS*(klass: pointer): bool +proc CTREE_GET_CLASS*(obj: pointer): PCTreeClass +proc CTREE_ROW*(`node_`: TAddress): PCTreeRow +proc CTREE_NODE*(`node_`: TAddress): PCTreeNode +proc CTREE_NODE_NEXT*(`nnode_`: TAddress): PCTreeNode +proc CTREE_NODE_PREV*(`pnode_`: TAddress): PCTreeNode +proc CTREE_FUNC*(`func_`: TAddress): TCTreeFunc +proc TYPE_CTREE_NODE*(): GType +proc line_style*(a: var TCTree): guint +proc set_line_style*(a: var TCTree, `line_style`: guint) +proc expander_style*(a: var TCTree): guint +proc set_expander_style*(a: var TCTree, `expander_style`: guint) +proc show_stub*(a: var TCTree): guint +proc set_show_stub*(a: var TCTree, `show_stub`: guint) +proc is_leaf*(a: var TCTreeRow): guint +proc set_is_leaf*(a: var TCTreeRow, `is_leaf`: guint) +proc expanded*(a: var TCTreeRow): guint +proc set_expanded*(a: var TCTreeRow, `expanded`: guint) +proc ctree_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_ctree_get_type".} +proc ctree_new*(columns: gint, tree_column: gint): PCTree{.cdecl, dynlib: lib, + importc: "gtk_ctree_new".} +proc ctree_insert_node*(ctree: PCTree, parent: PCTreeNode, sibling: PCTreeNode, + text: openarray[cstring], spacing: guint8, + pixmap_closed: PGdkPixmap, mask_closed: PGdkBitmap, + pixmap_opened: PGdkPixmap, mask_opened: PGdkBitmap, + is_leaf: gboolean, expanded: gboolean): PCTreeNode{. + cdecl, dynlib: lib, importc: "gtk_ctree_insert_node".} +proc ctree_remove_node*(ctree: PCTree, node_: PCTreeNode){.cdecl, dynlib: lib, + importc: "gtk_ctree_remove_node".} +proc ctree_insert_gnode*(ctree: PCTree, parent: PCTreeNode, sibling: PCTreeNode, + gnode: PGNode, func_: TCTreeGNodeFunc, data: gpointer): PCTreeNode{. + cdecl, dynlib: lib, importc: "gtk_ctree_insert_gnode".} +proc ctree_export_to_gnode*(ctree: PCTree, parent: PGNode, sibling: PGNode, + node_: PCTreeNode, func_: TCTreeGNodeFunc, + data: gpointer): PGNode{.cdecl, dynlib: lib, + importc: "gtk_ctree_export_to_gnode".} +proc ctree_post_recursive*(ctree: PCTree, node_: PCTreeNode, func_: TCTreeFunc, + data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_ctree_post_recursive".} +proc ctree_post_recursive_to_depth*(ctree: PCTree, node_: PCTreeNode, + depth: gint, func_: TCTreeFunc, + data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_ctree_post_recursive_to_depth".} +proc ctree_pre_recursive*(ctree: PCTree, node_: PCTreeNode, func_: TCTreeFunc, + data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_ctree_pre_recursive".} +proc ctree_pre_recursive_to_depth*(ctree: PCTree, node_: PCTreeNode, + depth: gint, func_: TCTreeFunc, + data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_ctree_pre_recursive_to_depth".} +proc ctree_is_viewable*(ctree: PCTree, node_: PCTreeNode): gboolean{.cdecl, + dynlib: lib, importc: "gtk_ctree_is_viewable".} +proc ctree_last*(ctree: PCTree, node_: PCTreeNode): PCTreeNode{.cdecl, + dynlib: lib, importc: "gtk_ctree_last".} +proc ctree_find_node_ptr*(ctree: PCTree, ctree_row: PCTreeRow): PCTreeNode{. + cdecl, dynlib: lib, importc: "gtk_ctree_find_node_ptr".} +proc ctree_node_nth*(ctree: PCTree, row: guint): PCTreeNode{.cdecl, dynlib: lib, + importc: "gtk_ctree_node_nth".} +proc ctree_find*(ctree: PCTree, node_: PCTreeNode, child: PCTreeNode): gboolean{. + cdecl, dynlib: lib, importc: "gtk_ctree_find".} +proc ctree_is_ancestor*(ctree: PCTree, node_: PCTreeNode, child: PCTreeNode): gboolean{. + cdecl, dynlib: lib, importc: "gtk_ctree_is_ancestor".} +proc ctree_find_by_row_data*(ctree: PCTree, node_: PCTreeNode, data: gpointer): PCTreeNode{. + cdecl, dynlib: lib, importc: "gtk_ctree_find_by_row_data".} +proc ctree_find_all_by_row_data*(ctree: PCTree, node_: PCTreeNode, + data: gpointer): PGList{.cdecl, dynlib: lib, + importc: "gtk_ctree_find_all_by_row_data".} +proc ctree_find_by_row_data_custom*(ctree: PCTree, node_: PCTreeNode, + data: gpointer, func_: TGCompareFunc): PCTreeNode{. + cdecl, dynlib: lib, importc: "gtk_ctree_find_by_row_data_custom".} +proc ctree_find_all_by_row_data_custom*(ctree: PCTree, node_: PCTreeNode, + data: gpointer, func_: TGCompareFunc): PGList{. + cdecl, dynlib: lib, importc: "gtk_ctree_find_all_by_row_data_custom".} +proc ctree_is_hot_spot*(ctree: PCTree, x: gint, y: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_ctree_is_hot_spot".} +proc ctree_move*(ctree: PCTree, node_: PCTreeNode, new_parent: PCTreeNode, + new_sibling: PCTreeNode){.cdecl, dynlib: lib, + importc: "gtk_ctree_move".} +proc ctree_expand*(ctree: PCTree, node_: PCTreeNode){.cdecl, dynlib: lib, + importc: "gtk_ctree_expand".} +proc ctree_expand_recursive*(ctree: PCTree, node_: PCTreeNode){.cdecl, + dynlib: lib, importc: "gtk_ctree_expand_recursive".} +proc ctree_expand_to_depth*(ctree: PCTree, node_: PCTreeNode, depth: gint){. + cdecl, dynlib: lib, importc: "gtk_ctree_expand_to_depth".} +proc ctree_collapse*(ctree: PCTree, node_: PCTreeNode){.cdecl, dynlib: lib, + importc: "gtk_ctree_collapse".} +proc ctree_collapse_recursive*(ctree: PCTree, node_: PCTreeNode){.cdecl, + dynlib: lib, importc: "gtk_ctree_collapse_recursive".} +proc ctree_collapse_to_depth*(ctree: PCTree, node_: PCTreeNode, depth: gint){. + cdecl, dynlib: lib, importc: "gtk_ctree_collapse_to_depth".} +proc ctree_toggle_expansion*(ctree: PCTree, node_: PCTreeNode){.cdecl, + dynlib: lib, importc: "gtk_ctree_toggle_expansion".} +proc ctree_toggle_expansion_recursive*(ctree: PCTree, node_: PCTreeNode){.cdecl, + dynlib: lib, importc: "gtk_ctree_toggle_expansion_recursive".} +proc ctree_select*(ctree: PCTree, node_: PCTreeNode){.cdecl, dynlib: lib, + importc: "gtk_ctree_select".} +proc ctree_select_recursive*(ctree: PCTree, node_: PCTreeNode){.cdecl, + dynlib: lib, importc: "gtk_ctree_select_recursive".} +proc ctree_unselect*(ctree: PCTree, node_: PCTreeNode){.cdecl, dynlib: lib, + importc: "gtk_ctree_unselect".} +proc ctree_unselect_recursive*(ctree: PCTree, node_: PCTreeNode){.cdecl, + dynlib: lib, importc: "gtk_ctree_unselect_recursive".} +proc ctree_real_select_recursive*(ctree: PCTree, node_: PCTreeNode, state: gint){. + cdecl, dynlib: lib, importc: "gtk_ctree_real_select_recursive".} +proc ctree_node_set_text*(ctree: PCTree, node_: PCTreeNode, column: gint, + text: cstring){.cdecl, dynlib: lib, + importc: "gtk_ctree_node_set_text".} +proc ctree_node_set_pixmap*(ctree: PCTree, node_: PCTreeNode, column: gint, + pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl, + dynlib: lib, importc: "gtk_ctree_node_set_pixmap".} +proc ctree_node_set_pixtext*(ctree: PCTree, node_: PCTreeNode, column: gint, + text: cstring, spacing: guint8, pixmap: PGdkPixmap, + mask: PGdkBitmap){.cdecl, dynlib: lib, + importc: "gtk_ctree_node_set_pixtext".} +proc ctree_set_node_info*(ctree: PCTree, node_: PCTreeNode, text: cstring, + spacing: guint8, pixmap_closed: PGdkPixmap, + mask_closed: PGdkBitmap, pixmap_opened: PGdkPixmap, + mask_opened: PGdkBitmap, is_leaf: gboolean, + expanded: gboolean){.cdecl, dynlib: lib, + importc: "gtk_ctree_set_node_info".} +proc ctree_node_set_shift*(ctree: PCTree, node_: PCTreeNode, column: gint, + vertical: gint, horizontal: gint){.cdecl, + dynlib: lib, importc: "gtk_ctree_node_set_shift".} +proc ctree_node_set_selectable*(ctree: PCTree, node_: PCTreeNode, + selectable: gboolean){.cdecl, dynlib: lib, + importc: "gtk_ctree_node_set_selectable".} +proc ctree_node_get_selectable*(ctree: PCTree, node_: PCTreeNode): gboolean{. + cdecl, dynlib: lib, importc: "gtk_ctree_node_get_selectable".} +proc ctree_node_get_cell_type*(ctree: PCTree, node_: PCTreeNode, column: gint): TCellType{. + cdecl, dynlib: lib, importc: "gtk_ctree_node_get_cell_type".} +proc ctree_node_get_text*(ctree: PCTree, node_: PCTreeNode, column: gint, + text: PPgchar): gboolean{.cdecl, dynlib: lib, + importc: "gtk_ctree_node_get_text".} +proc ctree_node_set_row_style*(ctree: PCTree, node_: PCTreeNode, style: PStyle){. + cdecl, dynlib: lib, importc: "gtk_ctree_node_set_row_style".} +proc ctree_node_get_row_style*(ctree: PCTree, node_: PCTreeNode): PStyle{.cdecl, + dynlib: lib, importc: "gtk_ctree_node_get_row_style".} +proc ctree_node_set_cell_style*(ctree: PCTree, node_: PCTreeNode, column: gint, + style: PStyle){.cdecl, dynlib: lib, + importc: "gtk_ctree_node_set_cell_style".} +proc ctree_node_get_cell_style*(ctree: PCTree, node_: PCTreeNode, column: gint): PStyle{. + cdecl, dynlib: lib, importc: "gtk_ctree_node_get_cell_style".} +proc ctree_node_set_foreground*(ctree: PCTree, node_: PCTreeNode, + color: PGdkColor){.cdecl, dynlib: lib, + importc: "gtk_ctree_node_set_foreground".} +proc ctree_node_set_background*(ctree: PCTree, node_: PCTreeNode, + color: PGdkColor){.cdecl, dynlib: lib, + importc: "gtk_ctree_node_set_background".} +proc ctree_node_set_row_data*(ctree: PCTree, node_: PCTreeNode, data: gpointer){. + cdecl, dynlib: lib, importc: "gtk_ctree_node_set_row_data".} +proc ctree_node_set_row_data_full*(ctree: PCTree, node_: PCTreeNode, + data: gpointer, destroy: TDestroyNotify){. + cdecl, dynlib: lib, importc: "gtk_ctree_node_set_row_data_full".} +proc ctree_node_get_row_data*(ctree: PCTree, node_: PCTreeNode): gpointer{. + cdecl, dynlib: lib, importc: "gtk_ctree_node_get_row_data".} +proc ctree_node_moveto*(ctree: PCTree, node_: PCTreeNode, column: gint, + row_align: gfloat, col_align: gfloat){.cdecl, + dynlib: lib, importc: "gtk_ctree_node_moveto".} +proc ctree_node_is_visible*(ctree: PCTree, node_: PCTreeNode): TVisibility{. + cdecl, dynlib: lib, importc: "gtk_ctree_node_is_visible".} +proc ctree_set_indent*(ctree: PCTree, indent: gint){.cdecl, dynlib: lib, + importc: "gtk_ctree_set_indent".} +proc ctree_set_spacing*(ctree: PCTree, spacing: gint){.cdecl, dynlib: lib, + importc: "gtk_ctree_set_spacing".} +proc ctree_set_show_stub*(ctree: PCTree, show_stub: gboolean){.cdecl, + dynlib: lib, importc: "gtk_ctree_set_show_stub".} +proc ctree_set_line_style*(ctree: PCTree, line_style: TCTreeLineStyle){.cdecl, + dynlib: lib, importc: "gtk_ctree_set_line_style".} +proc ctree_set_expander_style*(ctree: PCTree, + expander_style: TCTreeExpanderStyle){.cdecl, + dynlib: lib, importc: "gtk_ctree_set_expander_style".} +proc ctree_set_drag_compare_func*(ctree: PCTree, cmp_func: TCTreeCompareDragFunc){. + cdecl, dynlib: lib, importc: "gtk_ctree_set_drag_compare_func".} +proc ctree_sort_node*(ctree: PCTree, node_: PCTreeNode){.cdecl, dynlib: lib, + importc: "gtk_ctree_sort_node".} +proc ctree_sort_recursive*(ctree: PCTree, node_: PCTreeNode){.cdecl, + dynlib: lib, importc: "gtk_ctree_sort_recursive".} +proc ctree_set_reorderable*(t: pointer, r: bool) +proc ctree_node_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_ctree_node_get_type".} +proc TYPE_DRAWING_AREA*(): GType +proc DRAWING_AREA*(obj: pointer): PDrawingArea +proc DRAWING_AREA_CLASS*(klass: pointer): PDrawingAreaClass +proc IS_DRAWING_AREA*(obj: pointer): bool +proc IS_DRAWING_AREA_CLASS*(klass: pointer): bool +proc DRAWING_AREA_GET_CLASS*(obj: pointer): PDrawingAreaClass +proc drawing_area_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_drawing_area_get_type".} +proc drawing_area_new*(): PDrawingArea{.cdecl, dynlib: lib, + importc: "gtk_drawing_area_new".} +proc TYPE_CURVE*(): GType +proc CURVE*(obj: pointer): PCurve +proc CURVE_CLASS*(klass: pointer): PCurveClass +proc IS_CURVE*(obj: pointer): bool +proc IS_CURVE_CLASS*(klass: pointer): bool +proc CURVE_GET_CLASS*(obj: pointer): PCurveClass +proc curve_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_curve_get_type".} +proc curve_new*(): PCurve{.cdecl, dynlib: lib, importc: "gtk_curve_new".} +proc curve_reset*(curve: PCurve){.cdecl, dynlib: lib, importc: "gtk_curve_reset".} +proc curve_set_gamma*(curve: PCurve, gamma: gfloat){.cdecl, dynlib: lib, + importc: "gtk_curve_set_gamma".} +proc curve_set_range*(curve: PCurve, min_x: gfloat, max_x: gfloat, + min_y: gfloat, max_y: gfloat){.cdecl, dynlib: lib, + importc: "gtk_curve_set_range".} +proc curve_set_curve_type*(curve: PCurve, thetype: TCurveType){.cdecl, + dynlib: lib, importc: "gtk_curve_set_curve_type".} +const + DEST_DEFAULT_MOTION* = 1 shl 0 + DEST_DEFAULT_HIGHLIGHT* = 1 shl 1 + DEST_DEFAULT_DROP* = 1 shl 2 + DEST_DEFAULT_ALL* = 0x00000007 + TARGET_SAME_APP* = 1 shl 0 + TARGET_SAME_WIDGET* = 1 shl 1 + +proc drag_get_data*(widget: PWidget, context: PGdkDragContext, target: TGdkAtom, + time: guint32){.cdecl, dynlib: lib, + importc: "gtk_drag_get_data".} +proc drag_finish*(context: PGdkDragContext, success: gboolean, del: gboolean, + time: guint32){.cdecl, dynlib: lib, importc: "gtk_drag_finish".} +proc drag_get_source_widget*(context: PGdkDragContext): PWidget{.cdecl, + dynlib: lib, importc: "gtk_drag_get_source_widget".} +proc drag_highlight*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_drag_highlight".} +proc drag_unhighlight*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_drag_unhighlight".} +proc drag_dest_set*(widget: PWidget, flags: TDestDefaults, + targets: PTargetEntry, n_targets: gint, + actions: TGdkDragAction){.cdecl, dynlib: lib, + importc: "gtk_drag_dest_set".} +proc drag_dest_set_proxy*(widget: PWidget, proxy_window: PGdkWindow, + protocol: TGdkDragProtocol, use_coordinates: gboolean){. + cdecl, dynlib: lib, importc: "gtk_drag_dest_set_proxy".} +proc drag_dest_unset*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_drag_dest_unset".} +proc drag_dest_find_target*(widget: PWidget, context: PGdkDragContext, + target_list: PTargetList): TGdkAtom{.cdecl, + dynlib: lib, importc: "gtk_drag_dest_find_target".} +proc drag_dest_get_target_list*(widget: PWidget): PTargetList{.cdecl, + dynlib: lib, importc: "gtk_drag_dest_get_target_list".} +proc drag_dest_set_target_list*(widget: PWidget, target_list: PTargetList){. + cdecl, dynlib: lib, importc: "gtk_drag_dest_set_target_list".} +proc drag_source_set*(widget: PWidget, start_button_mask: TGdkModifierType, + targets: PTargetEntry, n_targets: gint, + actions: TGdkDragAction){.cdecl, dynlib: lib, + importc: "gtk_drag_source_set".} +proc drag_source_unset*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_drag_source_unset".} +proc drag_source_set_icon*(widget: PWidget, colormap: PGdkColormap, + pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl, + dynlib: lib, importc: "gtk_drag_source_set_icon".} +proc drag_source_set_icon_pixbuf*(widget: PWidget, pixbuf: PGdkPixbuf){.cdecl, + dynlib: lib, importc: "gtk_drag_source_set_icon_pixbuf".} +proc drag_source_set_icon_stock*(widget: PWidget, stock_id: cstring){.cdecl, + dynlib: lib, importc: "gtk_drag_source_set_icon_stock".} +proc drag_begin*(widget: PWidget, targets: PTargetList, actions: TGdkDragAction, + button: gint, event: PGdkEvent): PGdkDragContext{.cdecl, + dynlib: lib, importc: "gtk_drag_begin".} +proc drag_set_icon_widget*(context: PGdkDragContext, widget: PWidget, + hot_x: gint, hot_y: gint){.cdecl, dynlib: lib, + importc: "gtk_drag_set_icon_widget".} +proc drag_set_icon_pixmap*(context: PGdkDragContext, colormap: PGdkColormap, + pixmap: PGdkPixmap, mask: PGdkBitmap, hot_x: gint, + hot_y: gint){.cdecl, dynlib: lib, + importc: "gtk_drag_set_icon_pixmap".} +proc drag_set_icon_pixbuf*(context: PGdkDragContext, pixbuf: PGdkPixbuf, + hot_x: gint, hot_y: gint){.cdecl, dynlib: lib, + importc: "gtk_drag_set_icon_pixbuf".} +proc drag_set_icon_stock*(context: PGdkDragContext, stock_id: cstring, + hot_x: gint, hot_y: gint){.cdecl, dynlib: lib, + importc: "gtk_drag_set_icon_stock".} +proc drag_set_icon_default*(context: PGdkDragContext){.cdecl, dynlib: lib, + importc: "gtk_drag_set_icon_default".} +proc drag_check_threshold*(widget: PWidget, start_x: gint, start_y: gint, + current_x: gint, current_y: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_drag_check_threshold".} +proc drag_source_handle_event*(widget: PWidget, event: PGdkEvent){.cdecl, + dynlib: lib, importc: "_gtk_drag_source_handle_event".} +proc drag_dest_handle_event*(toplevel: PWidget, event: PGdkEvent){.cdecl, + dynlib: lib, importc: "_gtk_drag_dest_handle_event".} +proc TYPE_EDITABLE*(): GType +proc EDITABLE*(obj: pointer): PEditable +proc EDITABLE_CLASS*(vtable: pointer): PEditableClass +proc IS_EDITABLE*(obj: pointer): bool +proc IS_EDITABLE_CLASS*(vtable: pointer): bool +proc EDITABLE_GET_CLASS*(inst: pointer): PEditableClass +proc editable_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_editable_get_type".} +proc editable_select_region*(editable: PEditable, start: gint, theEnd: gint){. + cdecl, dynlib: lib, importc: "gtk_editable_select_region".} +proc editable_get_selection_bounds*(editable: PEditable, start: Pgint, + theEnd: Pgint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_editable_get_selection_bounds".} +proc editable_insert_text*(editable: PEditable, new_text: cstring, + new_text_length: gint, position: Pgint){.cdecl, + dynlib: lib, importc: "gtk_editable_insert_text".} +proc editable_delete_text*(editable: PEditable, start_pos: gint, end_pos: gint){. + cdecl, dynlib: lib, importc: "gtk_editable_delete_text".} +proc editable_get_chars*(editable: PEditable, start_pos: gint, end_pos: gint): cstring{. + cdecl, dynlib: lib, importc: "gtk_editable_get_chars".} +proc editable_cut_clipboard*(editable: PEditable){.cdecl, dynlib: lib, + importc: "gtk_editable_cut_clipboard".} +proc editable_copy_clipboard*(editable: PEditable){.cdecl, dynlib: lib, + importc: "gtk_editable_copy_clipboard".} +proc editable_paste_clipboard*(editable: PEditable){.cdecl, dynlib: lib, + importc: "gtk_editable_paste_clipboard".} +proc editable_delete_selection*(editable: PEditable){.cdecl, dynlib: lib, + importc: "gtk_editable_delete_selection".} +proc editable_set_position*(editable: PEditable, position: gint){.cdecl, + dynlib: lib, importc: "gtk_editable_set_position".} +proc editable_get_position*(editable: PEditable): gint{.cdecl, dynlib: lib, + importc: "gtk_editable_get_position".} +proc editable_set_editable*(editable: PEditable, is_editable: gboolean){.cdecl, + dynlib: lib, importc: "gtk_editable_set_editable".} +proc editable_get_editable*(editable: PEditable): gboolean{.cdecl, dynlib: lib, + importc: "gtk_editable_get_editable".} +proc TYPE_IM_CONTEXT*(): GType +proc IM_CONTEXT*(obj: pointer): PIMContext +proc IM_CONTEXT_CLASS*(klass: pointer): PIMContextClass +proc IS_IM_CONTEXT*(obj: pointer): bool +proc IS_IM_CONTEXT_CLASS*(klass: pointer): bool +proc IM_CONTEXT_GET_CLASS*(obj: pointer): PIMContextClass +proc im_context_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_im_context_get_type".} +proc im_context_set_client_window*(context: PIMContext, window: PGdkWindow){. + cdecl, dynlib: lib, importc: "gtk_im_context_set_client_window".} +proc im_context_filter_keypress*(context: PIMContext, event: PGdkEventKey): gboolean{. + cdecl, dynlib: lib, importc: "gtk_im_context_filter_keypress".} +proc im_context_focus_in*(context: PIMContext){.cdecl, dynlib: lib, + importc: "gtk_im_context_focus_in".} +proc im_context_focus_out*(context: PIMContext){.cdecl, dynlib: lib, + importc: "gtk_im_context_focus_out".} +proc im_context_reset*(context: PIMContext){.cdecl, dynlib: lib, + importc: "gtk_im_context_reset".} +proc im_context_set_cursor_location*(context: PIMContext, area: PGdkRectangle){. + cdecl, dynlib: lib, importc: "gtk_im_context_set_cursor_location".} +proc im_context_set_use_preedit*(context: PIMContext, use_preedit: gboolean){. + cdecl, dynlib: lib, importc: "gtk_im_context_set_use_preedit".} +proc im_context_set_surrounding*(context: PIMContext, text: cstring, len: gint, + cursor_index: gint){.cdecl, dynlib: lib, + importc: "gtk_im_context_set_surrounding".} +proc im_context_get_surrounding*(context: PIMContext, text: PPgchar, + cursor_index: Pgint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_im_context_get_surrounding".} +proc im_context_delete_surrounding*(context: PIMContext, offset: gint, + n_chars: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_im_context_delete_surrounding".} +const + bm_TGtkMenuShell_active* = 0x0001'i16 + bp_TGtkMenuShell_active* = 0'i16 + bm_TGtkMenuShell_have_grab* = 0x0002'i16 + bp_TGtkMenuShell_have_grab* = 1'i16 + bm_TGtkMenuShell_have_xgrab* = 0x0004'i16 + bp_TGtkMenuShell_have_xgrab* = 2'i16 + bm_TGtkMenuShell_ignore_leave* = 0x0008'i16 + bp_TGtkMenuShell_ignore_leave* = 3'i16 + bm_TGtkMenuShell_menu_flag* = 0x0010'i16 + bp_TGtkMenuShell_menu_flag* = 4'i16 + bm_TGtkMenuShell_ignore_enter* = 0x0020'i16 + bp_TGtkMenuShell_ignore_enter* = 5'i16 + bm_TGtkMenuShellClass_submenu_placement* = 0x0001'i16 + bp_TGtkMenuShellClass_submenu_placement* = 0'i16 + +proc TYPE_MENU_SHELL*(): GType +proc MENU_SHELL*(obj: pointer): PMenuShell +proc MENU_SHELL_CLASS*(klass: pointer): PMenuShellClass +proc IS_MENU_SHELL*(obj: pointer): bool +proc IS_MENU_SHELL_CLASS*(klass: pointer): bool +proc MENU_SHELL_GET_CLASS*(obj: pointer): PMenuShellClass +proc active*(a: var TMenuShell): guint +proc set_active*(a: var TMenuShell, `active`: guint) +proc have_grab*(a: var TMenuShell): guint +proc set_have_grab*(a: var TMenuShell, `have_grab`: guint) +proc have_xgrab*(a: var TMenuShell): guint +proc set_have_xgrab*(a: var TMenuShell, `have_xgrab`: guint) +proc ignore_leave*(a: var TMenuShell): guint +proc set_ignore_leave*(a: var TMenuShell, `ignore_leave`: guint) +proc menu_flag*(a: var TMenuShell): guint +proc set_menu_flag*(a: var TMenuShell, `menu_flag`: guint) +proc ignore_enter*(a: var TMenuShell): guint +proc set_ignore_enter*(a: var TMenuShell, `ignore_enter`: guint) +proc submenu_placement*(a: var TMenuShellClass): guint +proc set_submenu_placement*(a: var TMenuShellClass, `submenu_placement`: guint) +proc menu_shell_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_menu_shell_get_type".} +proc menu_shell_append*(menu_shell: PMenuShell, child: PWidget){.cdecl, + dynlib: lib, importc: "gtk_menu_shell_append".} +proc menu_shell_prepend*(menu_shell: PMenuShell, child: PWidget){.cdecl, + dynlib: lib, importc: "gtk_menu_shell_prepend".} +proc menu_shell_insert*(menu_shell: PMenuShell, child: PWidget, position: gint){. + cdecl, dynlib: lib, importc: "gtk_menu_shell_insert".} +proc menu_shell_deactivate*(menu_shell: PMenuShell){.cdecl, dynlib: lib, + importc: "gtk_menu_shell_deactivate".} +proc menu_shell_select_item*(menu_shell: PMenuShell, menu_item: PWidget){.cdecl, + dynlib: lib, importc: "gtk_menu_shell_select_item".} +proc menu_shell_deselect*(menu_shell: PMenuShell){.cdecl, dynlib: lib, + importc: "gtk_menu_shell_deselect".} +proc menu_shell_activate_item*(menu_shell: PMenuShell, menu_item: PWidget, + force_deactivate: gboolean){.cdecl, dynlib: lib, + importc: "gtk_menu_shell_activate_item".} +proc menu_shell_select_first*(menu_shell: PMenuShell){.cdecl, dynlib: lib, + importc: "_gtk_menu_shell_select_first".} +proc menu_shell_activate*(menu_shell: PMenuShell){.cdecl, dynlib: lib, + importc: "_gtk_menu_shell_activate".} +const + bm_TGtkMenu_needs_destruction_ref_count* = 0x0001'i16 + bp_TGtkMenu_needs_destruction_ref_count* = 0'i16 + bm_TGtkMenu_torn_off* = 0x0002'i16 + bp_TGtkMenu_torn_off* = 1'i16 + bm_TGtkMenu_tearoff_active* = 0x0004'i16 + bp_TGtkMenu_tearoff_active* = 2'i16 + bm_TGtkMenu_scroll_fast* = 0x0008'i16 + bp_TGtkMenu_scroll_fast* = 3'i16 + bm_TGtkMenu_upper_arrow_visible* = 0x0010'i16 + bp_TGtkMenu_upper_arrow_visible* = 4'i16 + bm_TGtkMenu_lower_arrow_visible* = 0x0020'i16 + bp_TGtkMenu_lower_arrow_visible* = 5'i16 + bm_TGtkMenu_upper_arrow_prelight* = 0x0040'i16 + bp_TGtkMenu_upper_arrow_prelight* = 6'i16 + bm_TGtkMenu_lower_arrow_prelight* = 0x0080'i16 + bp_TGtkMenu_lower_arrow_prelight* = 7'i16 + +proc TYPE_MENU*(): GType +proc MENU*(obj: pointer): PMenu +proc MENU_CLASS*(klass: pointer): PMenuClass +proc IS_MENU*(obj: pointer): bool +proc IS_MENU_CLASS*(klass: pointer): bool +proc MENU_GET_CLASS*(obj: pointer): PMenuClass +proc needs_destruction_ref_count*(a: var TMenu): guint +proc set_needs_destruction_ref_count*(a: var TMenu, + `needs_destruction_ref_count`: guint) +proc torn_off*(a: var TMenu): guint +proc set_torn_off*(a: var TMenu, `torn_off`: guint) +proc tearoff_active*(a: var TMenu): guint +proc set_tearoff_active*(a: var TMenu, `tearoff_active`: guint) +proc scroll_fast*(a: var TMenu): guint +proc set_scroll_fast*(a: var TMenu, `scroll_fast`: guint) +proc upper_arrow_visible*(a: var TMenu): guint +proc set_upper_arrow_visible*(a: var TMenu, `upper_arrow_visible`: guint) +proc lower_arrow_visible*(a: var TMenu): guint +proc set_lower_arrow_visible*(a: var TMenu, `lower_arrow_visible`: guint) +proc upper_arrow_prelight*(a: var TMenu): guint +proc set_upper_arrow_prelight*(a: var TMenu, `upper_arrow_prelight`: guint) +proc lower_arrow_prelight*(a: var TMenu): guint +proc set_lower_arrow_prelight*(a: var TMenu, `lower_arrow_prelight`: guint) +proc menu_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_menu_get_type".} +proc menu_new*(): PMenu{.cdecl, dynlib: lib, importc: "gtk_menu_new".} +proc menu_popup*(menu: PMenu, parent_menu_shell: PWidget, + parent_menu_item: PWidget, func_: TMenuPositionFunc, + data: gpointer, button: guint, activate_time: guint32){.cdecl, + dynlib: lib, importc: "gtk_menu_popup".} +proc menu_reposition*(menu: PMenu){.cdecl, dynlib: lib, + importc: "gtk_menu_reposition".} +proc menu_popdown*(menu: PMenu){.cdecl, dynlib: lib, importc: "gtk_menu_popdown".} +proc menu_get_active*(menu: PMenu): PWidget{.cdecl, dynlib: lib, + importc: "gtk_menu_get_active".} +proc menu_set_active*(menu: PMenu, index: guint){.cdecl, dynlib: lib, + importc: "gtk_menu_set_active".} +proc menu_set_accel_group*(menu: PMenu, accel_group: PAccelGroup){.cdecl, + dynlib: lib, importc: "gtk_menu_set_accel_group".} +proc menu_get_accel_group*(menu: PMenu): PAccelGroup{.cdecl, dynlib: lib, + importc: "gtk_menu_get_accel_group".} +proc menu_set_accel_path*(menu: PMenu, accel_path: cstring){.cdecl, dynlib: lib, + importc: "gtk_menu_set_accel_path".} +proc menu_attach_to_widget*(menu: PMenu, attach_widget: PWidget, + detacher: TMenuDetachFunc){.cdecl, dynlib: lib, + importc: "gtk_menu_attach_to_widget".} +proc menu_detach*(menu: PMenu){.cdecl, dynlib: lib, importc: "gtk_menu_detach".} +proc menu_get_attach_widget*(menu: PMenu): PWidget{.cdecl, dynlib: lib, + importc: "gtk_menu_get_attach_widget".} +proc menu_set_tearoff_state*(menu: PMenu, torn_off: gboolean){.cdecl, + dynlib: lib, importc: "gtk_menu_set_tearoff_state".} +proc menu_get_tearoff_state*(menu: PMenu): gboolean{.cdecl, dynlib: lib, + importc: "gtk_menu_get_tearoff_state".} +proc menu_set_title*(menu: PMenu, title: cstring){.cdecl, dynlib: lib, + importc: "gtk_menu_set_title".} +proc menu_get_title*(menu: PMenu): cstring{.cdecl, dynlib: lib, + importc: "gtk_menu_get_title".} +proc menu_reorder_child*(menu: PMenu, child: PWidget, position: gint){.cdecl, + dynlib: lib, importc: "gtk_menu_reorder_child".} +proc menu_set_screen*(menu: PMenu, screen: PGdkScreen){.cdecl, dynlib: lib, + importc: "gtk_menu_set_screen".} +const + bm_TGtkEntry_editable* = 0x0001'i16 + bp_TGtkEntry_editable* = 0'i16 + bm_TGtkEntry_visible* = 0x0002'i16 + bp_TGtkEntry_visible* = 1'i16 + bm_TGtkEntry_overwrite_mode* = 0x0004'i16 + bp_TGtkEntry_overwrite_mode* = 2'i16 + bm_TGtkEntry_in_drag* = 0x0008'i16 + bp_TGtkEntry_in_drag* = 3'i16 + bm_TGtkEntry_cache_includes_preedit* = 0x0001'i16 + bp_TGtkEntry_cache_includes_preedit* = 0'i16 + bm_TGtkEntry_need_im_reset* = 0x0002'i16 + bp_TGtkEntry_need_im_reset* = 1'i16 + bm_TGtkEntry_has_frame* = 0x0004'i16 + bp_TGtkEntry_has_frame* = 2'i16 + bm_TGtkEntry_activates_default* = 0x0008'i16 + bp_TGtkEntry_activates_default* = 3'i16 + bm_TGtkEntry_cursor_visible* = 0x0010'i16 + bp_TGtkEntry_cursor_visible* = 4'i16 + bm_TGtkEntry_in_click* = 0x0020'i16 + bp_TGtkEntry_in_click* = 5'i16 + bm_TGtkEntry_is_cell_renderer* = 0x0040'i16 + bp_TGtkEntry_is_cell_renderer* = 6'i16 + bm_TGtkEntry_editing_canceled* = 0x0080'i16 + bp_TGtkEntry_editing_canceled* = 7'i16 + bm_TGtkEntry_mouse_cursor_obscured* = 0x0100'i16 + bp_TGtkEntry_mouse_cursor_obscured* = 8'i16 + +proc TYPE_ENTRY*(): GType +proc ENTRY*(obj: pointer): PEntry +proc ENTRY_CLASS*(klass: pointer): PEntryClass +proc IS_ENTRY*(obj: pointer): bool +proc IS_ENTRY_CLASS*(klass: pointer): bool +proc ENTRY_GET_CLASS*(obj: pointer): PEntryClass +proc editable*(a: var TEntry): guint +proc set_editable*(a: var TEntry, `editable`: guint) +proc visible*(a: var TEntry): guint +proc set_visible*(a: var TEntry, `visible`: guint) +proc overwrite_mode*(a: var TEntry): guint +proc set_overwrite_mode*(a: var TEntry, `overwrite_mode`: guint) +proc in_drag*(a: var TEntry): guint +proc set_in_drag*(a: var TEntry, `in_drag`: guint) +proc cache_includes_preedit*(a: var TEntry): guint +proc set_cache_includes_preedit*(a: var TEntry, `cache_includes_preedit`: guint) +proc need_im_reset*(a: var TEntry): guint +proc set_need_im_reset*(a: var TEntry, `need_im_reset`: guint) +proc has_frame*(a: var TEntry): guint +proc set_has_frame*(a: var TEntry, `has_frame`: guint) +proc activates_default*(a: var TEntry): guint +proc set_activates_default*(a: var TEntry, `activates_default`: guint) +proc cursor_visible*(a: var TEntry): guint +proc set_cursor_visible*(a: var TEntry, `cursor_visible`: guint) +proc in_click*(a: var TEntry): guint +proc set_in_click*(a: var TEntry, `in_click`: guint) +proc is_cell_renderer*(a: var TEntry): guint +proc set_is_cell_renderer*(a: var TEntry, `is_cell_renderer`: guint) +proc editing_canceled*(a: var TEntry): guint +proc set_editing_canceled*(a: var TEntry, `editing_canceled`: guint) +proc mouse_cursor_obscured*(a: var TEntry): guint +proc set_mouse_cursor_obscured*(a: var TEntry, `mouse_cursor_obscured`: guint) +proc entry_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_entry_get_type".} +proc entry_new*(): PEntry{.cdecl, dynlib: lib, importc: "gtk_entry_new".} +proc entry_set_visibility*(entry: PEntry, visible: gboolean){.cdecl, + dynlib: lib, importc: "gtk_entry_set_visibility".} +proc entry_get_visibility*(entry: PEntry): gboolean{.cdecl, dynlib: lib, + importc: "gtk_entry_get_visibility".} +proc entry_set_invisible_char*(entry: PEntry, ch: gunichar){.cdecl, dynlib: lib, + importc: "gtk_entry_set_invisible_char".} +proc entry_get_invisible_char*(entry: PEntry): gunichar{.cdecl, dynlib: lib, + importc: "gtk_entry_get_invisible_char".} +proc entry_set_has_frame*(entry: PEntry, setting: gboolean){.cdecl, dynlib: lib, + importc: "gtk_entry_set_has_frame".} +proc entry_get_has_frame*(entry: PEntry): gboolean{.cdecl, dynlib: lib, + importc: "gtk_entry_get_has_frame".} +proc entry_set_max_length*(entry: PEntry, max: gint){.cdecl, dynlib: lib, + importc: "gtk_entry_set_max_length".} +proc entry_get_max_length*(entry: PEntry): gint{.cdecl, dynlib: lib, + importc: "gtk_entry_get_max_length".} +proc entry_set_activates_default*(entry: PEntry, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_entry_set_activates_default".} +proc entry_get_activates_default*(entry: PEntry): gboolean{.cdecl, dynlib: lib, + importc: "gtk_entry_get_activates_default".} +proc entry_set_width_chars*(entry: PEntry, n_chars: gint){.cdecl, dynlib: lib, + importc: "gtk_entry_set_width_chars".} +proc entry_get_width_chars*(entry: PEntry): gint{.cdecl, dynlib: lib, + importc: "gtk_entry_get_width_chars".} +proc entry_set_text*(entry: PEntry, text: cstring){.cdecl, dynlib: lib, + importc: "gtk_entry_set_text".} +proc entry_get_text*(entry: PEntry): cstring{.cdecl, dynlib: lib, + importc: "gtk_entry_get_text".} +proc entry_get_layout*(entry: PEntry): PPangoLayout{.cdecl, dynlib: lib, + importc: "gtk_entry_get_layout".} +proc entry_get_layout_offsets*(entry: PEntry, x: Pgint, y: Pgint){.cdecl, + dynlib: lib, importc: "gtk_entry_get_layout_offsets".} +const + ANCHOR_CENTER* = 0 + ANCHOR_NORTH* = 1 + ANCHOR_NORTH_WEST* = 2 + ANCHOR_NORTH_EAST* = 3 + ANCHOR_SOUTH* = 4 + ANCHOR_SOUTH_WEST* = 5 + ANCHOR_SOUTH_EAST* = 6 + ANCHOR_WEST* = 7 + ANCHOR_EAST* = 8 + ANCHOR_N* = ANCHOR_NORTH + ANCHOR_NW* = ANCHOR_NORTH_WEST + ANCHOR_NE* = ANCHOR_NORTH_EAST + ANCHOR_S* = ANCHOR_SOUTH + ANCHOR_SW* = ANCHOR_SOUTH_WEST + ANCHOR_SE* = ANCHOR_SOUTH_EAST + ANCHOR_W* = ANCHOR_WEST + ANCHOR_E* = ANCHOR_EAST + ARROW_UP* = 0 + ARROW_DOWN* = 1 + ARROW_LEFT* = 2 + ARROW_RIGHT* = 3 + EXPAND* = 1 shl 0 + SHRINK* = 1 shl 1 + FILL* = 1 shl 2 + BUTTONBOX_DEFAULT_STYLE* = 0 + BUTTONBOX_SPREAD* = 1 + BUTTONBOX_EDGE* = 2 + BUTTONBOX_START* = 3 + BUTTONBOX_END* = 4 + CURVE_TYPE_LINEAR* = 0 + CURVE_TYPE_SPLINE* = 1 + CURVE_TYPE_FREE* = 2 + DELETE_CHARS* = 0 + DELETE_WORD_ENDS* = 1 + DELETE_WORDS* = 2 + DELETE_DISPLAY_LINES* = 3 + DELETE_DISPLAY_LINE_ENDS* = 4 + DELETE_PARAGRAPH_ENDS* = 5 + DELETE_PARAGRAPHS* = 6 + DELETE_WHITESPACE* = 7 + DIR_TAB_FORWARD* = 0 + DIR_TAB_BACKWARD* = 1 + DIR_UP* = 2 + DIR_DOWN* = 3 + DIR_LEFT* = 4 + DIR_RIGHT* = 5 + EXPANDER_COLLAPSED* = 0 + EXPANDER_SEMI_COLLAPSED* = 1 + EXPANDER_SEMI_EXPANDED* = 2 + EXPANDER_EXPANDED* = 3 + ICON_SIZE_INVALID* = 0 + ICON_SIZE_MENU* = 1 + ICON_SIZE_SMALL_TOOLBAR* = 2 + ICON_SIZE_LARGE_TOOLBAR* = 3 + ICON_SIZE_BUTTON* = 4 + ICON_SIZE_DND* = 5 + ICON_SIZE_DIALOG* = 6 + TEXT_DIR_NONE* = 0 + TEXT_DIR_LTR* = 1 + TEXT_DIR_RTL* = 2 + JUSTIFY_LEFT* = 0 + JUSTIFY_RIGHT* = 1 + JUSTIFY_CENTER* = 2 + JUSTIFY_FILL* = 3 + MENU_DIR_PARENT* = 0 + MENU_DIR_CHILD* = 1 + MENU_DIR_NEXT* = 2 + MENU_DIR_PREV* = 3 + PIXELS* = 0 + INCHES* = 1 + CENTIMETERS* = 2 + MOVEMENT_LOGICAL_POSITIONS* = 0 + MOVEMENT_VISUAL_POSITIONS* = 1 + MOVEMENT_WORDS* = 2 + MOVEMENT_DISPLAY_LINES* = 3 + MOVEMENT_DISPLAY_LINE_ENDS* = 4 + MOVEMENT_PARAGRAPHS* = 5 + MOVEMENT_PARAGRAPH_ENDS* = 6 + MOVEMENT_PAGES* = 7 + MOVEMENT_BUFFER_ENDS* = 8 + ORIENTATION_HORIZONTAL* = 0 + ORIENTATION_VERTICAL* = 1 + CORNER_TOP_LEFT* = 0 + CORNER_BOTTOM_LEFT* = 1 + CORNER_TOP_RIGHT* = 2 + CORNER_BOTTOM_RIGHT* = 3 + PACK_START* = 0 + PACK_END* = 1 + PATH_PRIO_LOWEST* = 0 + PATH_PRIO_GTK* = 4 + PATH_PRIO_APPLICATION* = 8 + PATH_PRIO_THEME* = 10 + PATH_PRIO_RC* = 12 + PATH_PRIO_HIGHEST* = 15 + PATH_WIDGET* = 0 + PATH_WIDGET_CLASS* = 1 + PATH_CLASS* = 2 + POLICY_ALWAYS* = 0 + POLICY_AUTOMATIC* = 1 + POLICY_NEVER* = 2 + POS_LEFT* = 0 + POS_RIGHT* = 1 + POS_TOP* = 2 + POS_BOTTOM* = 3 + PREVIEW_COLOR* = 0 + PREVIEW_GRAYSCALE* = 1 + RELIEF_NORMAL* = 0 + RELIEF_HALF* = 1 + RELIEF_NONE* = 2 + RESIZE_PARENT* = 0 + RESIZE_QUEUE* = 1 + RESIZE_IMMEDIATE* = 2 + SCROLL_NONE* = 0 + SCROLL_JUMP* = 1 + SCROLL_STEP_BACKWARD* = 2 + SCROLL_STEP_FORWARD* = 3 + SCROLL_PAGE_BACKWARD* = 4 + SCROLL_PAGE_FORWARD* = 5 + SCROLL_STEP_UP* = 6 + SCROLL_STEP_DOWN* = 7 + SCROLL_PAGE_UP* = 8 + SCROLL_PAGE_DOWN* = 9 + SCROLL_STEP_LEFT* = 10 + SCROLL_STEP_RIGHT* = 11 + SCROLL_PAGE_LEFT* = 12 + SCROLL_PAGE_RIGHT* = 13 + SCROLL_START* = 14 + SCROLL_END* = 15 + SELECTION_NONE* = 0 + SELECTION_SINGLE* = 1 + SELECTION_BROWSE* = 2 + SELECTION_MULTIPLE* = 3 + SELECTION_EXTENDED* = SELECTION_MULTIPLE + SHADOW_NONE* = 0 + SHADOW_IN* = 1 + SHADOW_OUT* = 2 + SHADOW_ETCHED_IN* = 3 + SHADOW_ETCHED_OUT* = 4 + STATE_NORMAL* = 0 + STATE_ACTIVE* = 1 + STATE_PRELIGHT* = 2 + STATE_SELECTED* = 3 + STATE_INSENSITIVE* = 4 + DIRECTION_LEFT* = 0 + DIRECTION_RIGHT* = 1 + TOP_BOTTOM* = 0 + LEFT_RIGHT* = 1 + TOOLBAR_ICONS* = 0 + TOOLBAR_TEXT* = 1 + TOOLBAR_BOTH* = 2 + TOOLBAR_BOTH_HORIZ* = 3 + UPDATE_CONTINUOUS* = 0 + UPDATE_DISCONTINUOUS* = 1 + UPDATE_DELAYED* = 2 + VISIBILITY_NONE* = 0 + VISIBILITY_PARTIAL* = 1 + VISIBILITY_FULL* = 2 + WIN_POS_NONE* = 0 + WIN_POS_CENTER* = 1 + WIN_POS_MOUSE* = 2 + WIN_POS_CENTER_ALWAYS* = 3 + WIN_POS_CENTER_ON_PARENT* = 4 + WINDOW_TOPLEVEL* = 0 + WINDOW_POPUP* = 1 + WRAP_NONE* = 0 + WRAP_CHAR* = 1 + WRAP_WORD* = 2 + SORT_ASCENDING* = 0 + SORT_DESCENDING* = 1 + +proc TYPE_EVENT_BOX*(): GType +proc EVENT_BOX*(obj: pointer): PEventBox +proc EVENT_BOX_CLASS*(klass: pointer): PEventBoxClass +proc IS_EVENT_BOX*(obj: pointer): bool +proc IS_EVENT_BOX_CLASS*(klass: pointer): bool +proc EVENT_BOX_GET_CLASS*(obj: pointer): PEventBoxClass +proc event_box_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_event_box_get_type".} +proc event_box_new*(): PEventBox{.cdecl, dynlib: lib, + importc: "gtk_event_box_new".} +const + FNM_PATHNAME* = 1 shl 0 + FNM_NOESCAPE* = 1 shl 1 + FNM_PERIOD* = 1 shl 2 + +const + FNM_FILE_NAME* = FNM_PATHNAME + FNM_LEADING_DIR* = 1 shl 3 + FNM_CASEFOLD* = 1 shl 4 + +const + FNM_NOMATCH* = 1 + +proc fnmatch*(`pattern`: char, `string`: char, `flags`: gint): gint{.cdecl, + dynlib: lib, importc: "fnmatch".} +proc TYPE_FILE_SELECTION*(): GType +proc FILE_SELECTION*(obj: pointer): PFileSelection +proc FILE_SELECTION_CLASS*(klass: pointer): PFileSelectionClass +proc IS_FILE_SELECTION*(obj: pointer): bool +proc IS_FILE_SELECTION_CLASS*(klass: pointer): bool +proc FILE_SELECTION_GET_CLASS*(obj: pointer): PFileSelectionClass +proc file_selection_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_file_selection_get_type".} +proc file_selection_new*(title: cstring): PFileSelection{.cdecl, dynlib: lib, + importc: "gtk_file_selection_new".} +proc file_selection_set_filename*(filesel: PFileSelection, filename: cstring){. + cdecl, dynlib: lib, importc: "gtk_file_selection_set_filename".} +proc file_selection_get_filename*(filesel: PFileSelection): cstring{.cdecl, + dynlib: lib, importc: "gtk_file_selection_get_filename".} +proc file_selection_complete*(filesel: PFileSelection, pattern: cstring){.cdecl, + dynlib: lib, importc: "gtk_file_selection_complete".} +proc file_selection_show_fileop_buttons*(filesel: PFileSelection){.cdecl, + dynlib: lib, importc: "gtk_file_selection_show_fileop_buttons".} +proc file_selection_hide_fileop_buttons*(filesel: PFileSelection){.cdecl, + dynlib: lib, importc: "gtk_file_selection_hide_fileop_buttons".} +proc file_selection_get_selections*(filesel: PFileSelection): PPgchar{.cdecl, + dynlib: lib, importc: "gtk_file_selection_get_selections".} +proc file_selection_set_select_multiple*(filesel: PFileSelection, + select_multiple: gboolean){.cdecl, dynlib: lib, importc: "gtk_file_selection_set_select_multiple".} +proc file_selection_get_select_multiple*(filesel: PFileSelection): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_selection_get_select_multiple".} +proc TYPE_FIXED*(): GType +proc FIXED*(obj: pointer): PFixed +proc FIXED_CLASS*(klass: pointer): PFixedClass +proc IS_FIXED*(obj: pointer): bool +proc IS_FIXED_CLASS*(klass: pointer): bool +proc FIXED_GET_CLASS*(obj: pointer): PFixedClass +proc fixed_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_fixed_get_type".} +proc fixed_new*(): PFixed{.cdecl, dynlib: lib, importc: "gtk_fixed_new".} +proc fixed_put*(fixed: PFixed, widget: PWidget, x: gint, y: gint){.cdecl, + dynlib: lib, importc: "gtk_fixed_put".} +proc fixed_move*(fixed: PFixed, widget: PWidget, x: gint, y: gint){.cdecl, + dynlib: lib, importc: "gtk_fixed_move".} +proc fixed_set_has_window*(fixed: PFixed, has_window: gboolean){.cdecl, + dynlib: lib, importc: "gtk_fixed_set_has_window".} +proc fixed_get_has_window*(fixed: PFixed): gboolean{.cdecl, dynlib: lib, + importc: "gtk_fixed_get_has_window".} +proc TYPE_FONT_SELECTION*(): GType +proc FONT_SELECTION*(obj: pointer): PFontSelection +proc FONT_SELECTION_CLASS*(klass: pointer): PFontSelectionClass +proc IS_FONT_SELECTION*(obj: pointer): bool +proc IS_FONT_SELECTION_CLASS*(klass: pointer): bool +proc FONT_SELECTION_GET_CLASS*(obj: pointer): PFontSelectionClass +proc TYPE_FONT_SELECTION_DIALOG*(): GType +proc FONT_SELECTION_DIALOG*(obj: pointer): PFontSelectionDialog +proc FONT_SELECTION_DIALOG_CLASS*(klass: pointer): PFontSelectionDialogClass +proc IS_FONT_SELECTION_DIALOG*(obj: pointer): bool +proc IS_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): bool +proc FONT_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PFontSelectionDialogClass +proc font_selection_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_font_selection_get_type".} +proc font_selection_new*(): PFontSelection{.cdecl, dynlib: lib, + importc: "gtk_font_selection_new".} +proc font_selection_get_font_name*(fontsel: PFontSelection): cstring{.cdecl, + dynlib: lib, importc: "gtk_font_selection_get_font_name".} +proc font_selection_set_font_name*(fontsel: PFontSelection, fontname: cstring): gboolean{. + cdecl, dynlib: lib, importc: "gtk_font_selection_set_font_name".} +proc font_selection_get_preview_text*(fontsel: PFontSelection): cstring{.cdecl, + dynlib: lib, importc: "gtk_font_selection_get_preview_text".} +proc font_selection_set_preview_text*(fontsel: PFontSelection, text: cstring){. + cdecl, dynlib: lib, importc: "gtk_font_selection_set_preview_text".} +proc font_selection_dialog_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_font_selection_dialog_get_type".} +proc font_selection_dialog_new*(title: cstring): PFontSelectionDialog{.cdecl, + dynlib: lib, importc: "gtk_font_selection_dialog_new".} +proc font_selection_dialog_get_font_name*(fsd: PFontSelectionDialog): cstring{. + cdecl, dynlib: lib, importc: "gtk_font_selection_dialog_get_font_name".} +proc font_selection_dialog_set_font_name*(fsd: PFontSelectionDialog, + fontname: cstring): gboolean{.cdecl, dynlib: lib, importc: "gtk_font_selection_dialog_set_font_name".} +proc font_selection_dialog_get_preview_text*(fsd: PFontSelectionDialog): cstring{. + cdecl, dynlib: lib, importc: "gtk_font_selection_dialog_get_preview_text".} +proc font_selection_dialog_set_preview_text*(fsd: PFontSelectionDialog, + text: cstring){.cdecl, dynlib: lib, + importc: "gtk_font_selection_dialog_set_preview_text".} +proc TYPE_GAMMA_CURVE*(): GType +proc GAMMA_CURVE*(obj: pointer): PGammaCurve +proc GAMMA_CURVE_CLASS*(klass: pointer): PGammaCurveClass +proc IS_GAMMA_CURVE*(obj: pointer): bool +proc IS_GAMMA_CURVE_CLASS*(klass: pointer): bool +proc GAMMA_CURVE_GET_CLASS*(obj: pointer): PGammaCurveClass +proc gamma_curve_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_gamma_curve_get_type".} +proc gamma_curve_new*(): PGammaCurve{.cdecl, dynlib: lib, + importc: "gtk_gamma_curve_new".} +proc gc_get*(depth: gint, colormap: PGdkColormap, values: PGdkGCValues, + values_mask: TGdkGCValuesMask): PGdkGC{.cdecl, dynlib: lib, + importc: "gtk_gc_get".} +proc gc_release*(gc: PGdkGC){.cdecl, dynlib: lib, importc: "gtk_gc_release".} +const + bm_TGtkHandleBox_handle_position* = 0x0003'i16 + bp_TGtkHandleBox_handle_position* = 0'i16 + bm_TGtkHandleBox_float_window_mapped* = 0x0004'i16 + bp_TGtkHandleBox_float_window_mapped* = 2'i16 + bm_TGtkHandleBox_child_detached* = 0x0008'i16 + bp_TGtkHandleBox_child_detached* = 3'i16 + bm_TGtkHandleBox_in_drag* = 0x0010'i16 + bp_TGtkHandleBox_in_drag* = 4'i16 + bm_TGtkHandleBox_shrink_on_detach* = 0x0020'i16 + bp_TGtkHandleBox_shrink_on_detach* = 5'i16 + bm_TGtkHandleBox_snap_edge* = 0x01C0'i16 + bp_TGtkHandleBox_snap_edge* = 6'i16 + +proc TYPE_HANDLE_BOX*(): GType +proc HANDLE_BOX*(obj: pointer): PHandleBox +proc HANDLE_BOX_CLASS*(klass: pointer): PHandleBoxClass +proc IS_HANDLE_BOX*(obj: pointer): bool +proc IS_HANDLE_BOX_CLASS*(klass: pointer): bool +proc HANDLE_BOX_GET_CLASS*(obj: pointer): PHandleBoxClass +proc handle_position*(a: var THandleBox): guint +proc set_handle_position*(a: var THandleBox, `handle_position`: guint) +proc float_window_mapped*(a: var THandleBox): guint +proc set_float_window_mapped*(a: var THandleBox, `float_window_mapped`: guint) +proc child_detached*(a: var THandleBox): guint +proc set_child_detached*(a: var THandleBox, `child_detached`: guint) +proc in_drag*(a: var THandleBox): guint +proc set_in_drag*(a: var THandleBox, `in_drag`: guint) +proc shrink_on_detach*(a: var THandleBox): guint +proc set_shrink_on_detach*(a: var THandleBox, `shrink_on_detach`: guint) +proc snap_edge*(a: var THandleBox): gint +proc set_snap_edge*(a: var THandleBox, `snap_edge`: gint) +proc handle_box_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_handle_box_get_type".} +proc handle_box_new*(): PHandleBox{.cdecl, dynlib: lib, + importc: "gtk_handle_box_new".} +proc handle_box_set_shadow_type*(handle_box: PHandleBox, thetype: TShadowType){. + cdecl, dynlib: lib, importc: "gtk_handle_box_set_shadow_type".} +proc handle_box_get_shadow_type*(handle_box: PHandleBox): TShadowType{.cdecl, + dynlib: lib, importc: "gtk_handle_box_get_shadow_type".} +proc handle_box_set_handle_position*(handle_box: PHandleBox, + position: TPositionType){.cdecl, + dynlib: lib, importc: "gtk_handle_box_set_handle_position".} +proc handle_box_get_handle_position*(handle_box: PHandleBox): TPositionType{. + cdecl, dynlib: lib, importc: "gtk_handle_box_get_handle_position".} +proc handle_box_set_snap_edge*(handle_box: PHandleBox, edge: TPositionType){. + cdecl, dynlib: lib, importc: "gtk_handle_box_set_snap_edge".} +proc handle_box_get_snap_edge*(handle_box: PHandleBox): TPositionType{.cdecl, + dynlib: lib, importc: "gtk_handle_box_get_snap_edge".} +const + bm_TGtkPaned_position_set* = 0x0001'i16 + bp_TGtkPaned_position_set* = 0'i16 + bm_TGtkPaned_in_drag* = 0x0002'i16 + bp_TGtkPaned_in_drag* = 1'i16 + bm_TGtkPaned_child1_shrink* = 0x0004'i16 + bp_TGtkPaned_child1_shrink* = 2'i16 + bm_TGtkPaned_child1_resize* = 0x0008'i16 + bp_TGtkPaned_child1_resize* = 3'i16 + bm_TGtkPaned_child2_shrink* = 0x0010'i16 + bp_TGtkPaned_child2_shrink* = 4'i16 + bm_TGtkPaned_child2_resize* = 0x0020'i16 + bp_TGtkPaned_child2_resize* = 5'i16 + bm_TGtkPaned_orientation* = 0x0040'i16 + bp_TGtkPaned_orientation* = 6'i16 + bm_TGtkPaned_in_recursion* = 0x0080'i16 + bp_TGtkPaned_in_recursion* = 7'i16 + bm_TGtkPaned_handle_prelit* = 0x0100'i16 + bp_TGtkPaned_handle_prelit* = 8'i16 + +proc TYPE_PANED*(): GType +proc PANED*(obj: pointer): PPaned +proc PANED_CLASS*(klass: pointer): PPanedClass +proc IS_PANED*(obj: pointer): bool +proc IS_PANED_CLASS*(klass: pointer): bool +proc PANED_GET_CLASS*(obj: pointer): PPanedClass +proc position_set*(a: var TPaned): guint +proc set_position_set*(a: var TPaned, `position_set`: guint) +proc in_drag*(a: var TPaned): guint +proc set_in_drag*(a: var TPaned, `in_drag`: guint) +proc child1_shrink*(a: var TPaned): guint +proc set_child1_shrink*(a: var TPaned, `child1_shrink`: guint) +proc child1_resize*(a: var TPaned): guint +proc set_child1_resize*(a: var TPaned, `child1_resize`: guint) +proc child2_shrink*(a: var TPaned): guint +proc set_child2_shrink*(a: var TPaned, `child2_shrink`: guint) +proc child2_resize*(a: var TPaned): guint +proc set_child2_resize*(a: var TPaned, `child2_resize`: guint) +proc orientation*(a: var TPaned): guint +proc set_orientation*(a: var TPaned, `orientation`: guint) +proc in_recursion*(a: var TPaned): guint +proc set_in_recursion*(a: var TPaned, `in_recursion`: guint) +proc handle_prelit*(a: var TPaned): guint +proc set_handle_prelit*(a: var TPaned, `handle_prelit`: guint) +proc paned_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_paned_get_type".} +proc paned_add1*(paned: PPaned, child: PWidget){.cdecl, dynlib: lib, + importc: "gtk_paned_add1".} +proc paned_add2*(paned: PPaned, child: PWidget){.cdecl, dynlib: lib, + importc: "gtk_paned_add2".} +proc paned_pack1*(paned: PPaned, child: PWidget, resize: gboolean, + shrink: gboolean){.cdecl, dynlib: lib, + importc: "gtk_paned_pack1".} +proc paned_pack2*(paned: PPaned, child: PWidget, resize: gboolean, + shrink: gboolean){.cdecl, dynlib: lib, + importc: "gtk_paned_pack2".} +proc paned_get_position*(paned: PPaned): gint{.cdecl, dynlib: lib, + importc: "gtk_paned_get_position".} +proc paned_set_position*(paned: PPaned, position: gint){.cdecl, dynlib: lib, + importc: "gtk_paned_set_position".} +proc paned_compute_position*(paned: PPaned, allocation: gint, child1_req: gint, + child2_req: gint){.cdecl, dynlib: lib, + importc: "gtk_paned_compute_position".} +proc TYPE_HBUTTON_BOX*(): GType +proc HBUTTON_BOX*(obj: pointer): PHButtonBox +proc HBUTTON_BOX_CLASS*(klass: pointer): PHButtonBoxClass +proc IS_HBUTTON_BOX*(obj: pointer): bool +proc IS_HBUTTON_BOX_CLASS*(klass: pointer): bool +proc HBUTTON_BOX_GET_CLASS*(obj: pointer): PHButtonBoxClass +proc hbutton_box_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_hbutton_box_get_type".} +proc hbutton_box_new*(): PHButtonBox{.cdecl, dynlib: lib, + importc: "gtk_hbutton_box_new".} +proc TYPE_HPANED*(): GType +proc HPANED*(obj: pointer): PHPaned +proc HPANED_CLASS*(klass: pointer): PHPanedClass +proc IS_HPANED*(obj: pointer): bool +proc IS_HPANED_CLASS*(klass: pointer): bool +proc HPANED_GET_CLASS*(obj: pointer): PHPanedClass +proc hpaned_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_hpaned_get_type".} +proc hpaned_new*(): PHPaned{.cdecl, dynlib: lib, importc: "gtk_hpaned_new".} +proc TYPE_RULER*(): GType +proc RULER*(obj: pointer): PRuler +proc RULER_CLASS*(klass: pointer): PRulerClass +proc IS_RULER*(obj: pointer): bool +proc IS_RULER_CLASS*(klass: pointer): bool +proc RULER_GET_CLASS*(obj: pointer): PRulerClass +proc ruler_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_ruler_get_type".} +proc ruler_set_metric*(ruler: PRuler, metric: TMetricType){.cdecl, dynlib: lib, + importc: "gtk_ruler_set_metric".} +proc ruler_set_range*(ruler: PRuler, lower: gdouble, upper: gdouble, + position: gdouble, max_size: gdouble){.cdecl, dynlib: lib, + importc: "gtk_ruler_set_range".} +proc ruler_draw_ticks*(ruler: PRuler){.cdecl, dynlib: lib, + importc: "gtk_ruler_draw_ticks".} +proc ruler_draw_pos*(ruler: PRuler){.cdecl, dynlib: lib, + importc: "gtk_ruler_draw_pos".} +proc ruler_get_metric*(ruler: PRuler): TMetricType{.cdecl, dynlib: lib, + importc: "gtk_ruler_get_metric".} +proc ruler_get_range*(ruler: PRuler, lower: Pgdouble, upper: Pgdouble, + position: Pgdouble, max_size: Pgdouble){.cdecl, + dynlib: lib, importc: "gtk_ruler_get_range".} +proc TYPE_HRULER*(): GType +proc HRULER*(obj: pointer): PHRuler +proc HRULER_CLASS*(klass: pointer): PHRulerClass +proc IS_HRULER*(obj: pointer): bool +proc IS_HRULER_CLASS*(klass: pointer): bool +proc HRULER_GET_CLASS*(obj: pointer): PHRulerClass +proc hruler_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_hruler_get_type".} +proc hruler_new*(): PHRuler{.cdecl, dynlib: lib, importc: "gtk_hruler_new".} +proc TYPE_SETTINGS*(): GType +proc SETTINGS*(obj: pointer): PSettings +proc SETTINGS_CLASS*(klass: pointer): PSettingsClass +proc IS_SETTINGS*(obj: pointer): bool +proc IS_SETTINGS_CLASS*(klass: pointer): bool +proc SETTINGS_GET_CLASS*(obj: pointer): PSettingsClass +proc settings_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_settings_get_type".} +proc settings_get_for_screen*(screen: PGdkScreen): PSettings{.cdecl, + dynlib: lib, importc: "gtk_settings_get_for_screen".} +proc settings_install_property*(pspec: PGParamSpec){.cdecl, dynlib: lib, + importc: "gtk_settings_install_property".} +proc settings_install_property_parser*(pspec: PGParamSpec, + parser: TRcPropertyParser){.cdecl, + dynlib: lib, importc: "gtk_settings_install_property_parser".} +proc rc_property_parse_color*(pspec: PGParamSpec, gstring: PGString, + property_value: PGValue): gboolean{.cdecl, + dynlib: lib, importc: "gtk_rc_property_parse_color".} +proc rc_property_parse_enum*(pspec: PGParamSpec, gstring: PGString, + property_value: PGValue): gboolean{.cdecl, + dynlib: lib, importc: "gtk_rc_property_parse_enum".} +proc rc_property_parse_flags*(pspec: PGParamSpec, gstring: PGString, + property_value: PGValue): gboolean{.cdecl, + dynlib: lib, importc: "gtk_rc_property_parse_flags".} +proc rc_property_parse_requisition*(pspec: PGParamSpec, gstring: PGString, + property_value: PGValue): gboolean{.cdecl, + dynlib: lib, importc: "gtk_rc_property_parse_requisition".} +proc rc_property_parse_border*(pspec: PGParamSpec, gstring: PGString, + property_value: PGValue): gboolean{.cdecl, + dynlib: lib, importc: "gtk_rc_property_parse_border".} +proc settings_set_property_value*(settings: PSettings, name: cstring, + svalue: PSettingsValue){.cdecl, dynlib: lib, + importc: "gtk_settings_set_property_value".} +proc settings_set_string_property*(settings: PSettings, name: cstring, + v_string: cstring, origin: cstring){.cdecl, + dynlib: lib, importc: "gtk_settings_set_string_property".} +proc settings_set_long_property*(settings: PSettings, name: cstring, + v_long: glong, origin: cstring){.cdecl, + dynlib: lib, importc: "gtk_settings_set_long_property".} +proc settings_set_double_property*(settings: PSettings, name: cstring, + v_double: gdouble, origin: cstring){.cdecl, + dynlib: lib, importc: "gtk_settings_set_double_property".} +proc settings_handle_event*(event: PGdkEventSetting){.cdecl, dynlib: lib, + importc: "_gtk_settings_handle_event".} +proc rc_property_parser_from_type*(thetype: GType): TRcPropertyParser{.cdecl, + dynlib: lib, importc: "_gtk_rc_property_parser_from_type".} +proc settings_parse_convert*(parser: TRcPropertyParser, src_value: PGValue, + pspec: PGParamSpec, dest_value: PGValue): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_settings_parse_convert".} +const + RC_FG* = 1 shl 0 + RC_BG* = 1 shl 1 + RC_TEXT* = 1 shl 2 + RC_BASE* = 1 shl 3 + bm_TGtkRcStyle_engine_specified* = 0x0001'i16 + bp_TGtkRcStyle_engine_specified* = 0'i16 + +proc TYPE_RC_STYLE*(): GType +proc RC_STYLE_get*(anObject: pointer): PRcStyle +proc RC_STYLE_CLASS*(klass: pointer): PRcStyleClass +proc IS_RC_STYLE*(anObject: pointer): bool +proc IS_RC_STYLE_CLASS*(klass: pointer): bool +proc RC_STYLE_GET_CLASS*(obj: pointer): PRcStyleClass +proc engine_specified*(a: var TRcStyle): guint +proc set_engine_specified*(a: var TRcStyle, `engine_specified`: guint) +proc rc_init*(){.cdecl, dynlib: lib, importc: "_gtk_rc_init".} +proc rc_add_default_file*(filename: cstring){.cdecl, dynlib: lib, + importc: "gtk_rc_add_default_file".} +proc rc_set_default_files*(filenames: PPgchar){.cdecl, dynlib: lib, + importc: "gtk_rc_set_default_files".} +proc rc_get_default_files*(): PPgchar{.cdecl, dynlib: lib, + importc: "gtk_rc_get_default_files".} +proc rc_get_style*(widget: PWidget): PStyle{.cdecl, dynlib: lib, + importc: "gtk_rc_get_style".} +proc rc_get_style_by_paths*(settings: PSettings, widget_path: cstring, + class_path: cstring, thetype: GType): PStyle{.cdecl, + dynlib: lib, importc: "gtk_rc_get_style_by_paths".} +proc rc_reparse_all_for_settings*(settings: PSettings, force_load: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gtk_rc_reparse_all_for_settings".} +proc rc_find_pixmap_in_path*(settings: PSettings, scanner: PGScanner, + pixmap_file: cstring): cstring{.cdecl, dynlib: lib, + importc: "gtk_rc_find_pixmap_in_path".} +proc rc_parse*(filename: cstring){.cdecl, dynlib: lib, importc: "gtk_rc_parse".} +proc rc_parse_string*(rc_string: cstring){.cdecl, dynlib: lib, + importc: "gtk_rc_parse_string".} +proc rc_reparse_all*(): gboolean{.cdecl, dynlib: lib, + importc: "gtk_rc_reparse_all".} +proc rc_style_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_rc_style_get_type".} +proc rc_style_new*(): PRcStyle{.cdecl, dynlib: lib, importc: "gtk_rc_style_new".} +proc rc_style_copy*(orig: PRcStyle): PRcStyle{.cdecl, dynlib: lib, + importc: "gtk_rc_style_copy".} +proc rc_style_ref*(rc_style: PRcStyle){.cdecl, dynlib: lib, + importc: "gtk_rc_style_ref".} +proc rc_style_unref*(rc_style: PRcStyle){.cdecl, dynlib: lib, + importc: "gtk_rc_style_unref".} +proc rc_find_module_in_path*(module_file: cstring): cstring{.cdecl, dynlib: lib, + importc: "gtk_rc_find_module_in_path".} +proc rc_get_theme_dir*(): cstring{.cdecl, dynlib: lib, + importc: "gtk_rc_get_theme_dir".} +proc rc_get_module_dir*(): cstring{.cdecl, dynlib: lib, + importc: "gtk_rc_get_module_dir".} +proc rc_get_im_module_path*(): cstring{.cdecl, dynlib: lib, + importc: "gtk_rc_get_im_module_path".} +proc rc_get_im_module_file*(): cstring{.cdecl, dynlib: lib, + importc: "gtk_rc_get_im_module_file".} +proc rc_scanner_new*(): PGScanner{.cdecl, dynlib: lib, + importc: "gtk_rc_scanner_new".} +proc rc_parse_color*(scanner: PGScanner, color: PGdkColor): guint{.cdecl, + dynlib: lib, importc: "gtk_rc_parse_color".} +proc rc_parse_state*(scanner: PGScanner, state: PStateType): guint{.cdecl, + dynlib: lib, importc: "gtk_rc_parse_state".} +proc rc_parse_priority*(scanner: PGScanner, priority: PPathPriorityType): guint{. + cdecl, dynlib: lib, importc: "gtk_rc_parse_priority".} +proc rc_style_lookup_rc_property*(rc_style: PRcStyle, type_name: TGQuark, + property_name: TGQuark): PRcProperty{.cdecl, + dynlib: lib, importc: "_gtk_rc_style_lookup_rc_property".} +proc rc_context_get_default_font_name*(settings: PSettings): cstring{.cdecl, + dynlib: lib, importc: "_gtk_rc_context_get_default_font_name".} +proc TYPE_STYLE*(): GType +proc STYLE*(anObject: pointer): PStyle +proc STYLE_CLASS*(klass: pointer): PStyleClass +proc IS_STYLE*(anObject: pointer): bool +proc IS_STYLE_CLASS*(klass: pointer): bool +proc STYLE_GET_CLASS*(obj: pointer): PStyleClass +proc TYPE_BORDER*(): GType +proc STYLE_ATTACHED*(style: pointer): bool +proc style_get_type*(): GType{.cdecl, dynlib: lib, importc: "gtk_style_get_type".} +proc style_new*(): PStyle{.cdecl, dynlib: lib, importc: "gtk_style_new".} +proc style_copy*(style: PStyle): PStyle{.cdecl, dynlib: lib, + importc: "gtk_style_copy".} +proc style_attach*(style: PStyle, window: PGdkWindow): PStyle{.cdecl, + dynlib: lib, importc: "gtk_style_attach".} +proc style_detach*(style: PStyle){.cdecl, dynlib: lib, + importc: "gtk_style_detach".} +proc style_set_background*(style: PStyle, window: PGdkWindow, + state_type: TStateType){.cdecl, dynlib: lib, + importc: "gtk_style_set_background".} +proc style_apply_default_background*(style: PStyle, window: PGdkWindow, + set_bg: gboolean, state_type: TStateType, + area: PGdkRectangle, x: gint, y: gint, + width: gint, height: gint){.cdecl, + dynlib: lib, importc: "gtk_style_apply_default_background".} +proc style_lookup_icon_set*(style: PStyle, stock_id: cstring): PIconSet{.cdecl, + dynlib: lib, importc: "gtk_style_lookup_icon_set".} +proc style_render_icon*(style: PStyle, source: PIconSource, + direction: TTextDirection, state: TStateType, + size: TIconSize, widget: PWidget, detail: cstring): PGdkPixbuf{. + cdecl, dynlib: lib, importc: "gtk_style_render_icon".} +proc paint_hline*(style: PStyle, window: PGdkWindow, state_type: TStateType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x1: gint, x2: gint, y: gint){.cdecl, dynlib: lib, + importc: "gtk_paint_hline".} +proc paint_vline*(style: PStyle, window: PGdkWindow, state_type: TStateType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + y1: gint, y2: gint, x: gint){.cdecl, dynlib: lib, + importc: "gtk_paint_vline".} +proc paint_shadow*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint){.cdecl, dynlib: lib, + importc: "gtk_paint_shadow".} +proc paint_polygon*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, points: PGdkPoint, + npoints: gint, fill: gboolean){.cdecl, dynlib: lib, + importc: "gtk_paint_polygon".} +proc paint_arrow*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, arrow_type: TArrowType, + fill: gboolean, x: gint, y: gint, width: gint, height: gint){. + cdecl, dynlib: lib, importc: "gtk_paint_arrow".} +proc paint_diamond*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint){.cdecl, dynlib: lib, + importc: "gtk_paint_diamond".} +proc paint_box*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, widget: PWidget, + detail: cstring, x: gint, y: gint, width: gint, height: gint){. + cdecl, dynlib: lib, importc: "gtk_paint_box".} +proc paint_flat_box*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint){.cdecl, dynlib: lib, + importc: "gtk_paint_flat_box".} +proc paint_check*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint){.cdecl, dynlib: lib, + importc: "gtk_paint_check".} +proc paint_option*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint){.cdecl, dynlib: lib, + importc: "gtk_paint_option".} +proc paint_tab*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, widget: PWidget, + detail: cstring, x: gint, y: gint, width: gint, height: gint){. + cdecl, dynlib: lib, importc: "gtk_paint_tab".} +proc paint_shadow_gap*(style: PStyle, window: PGdkWindow, + state_type: TStateType, shadow_type: TShadowType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint, + gap_side: TPositionType, gap_x: gint, gap_width: gint){. + cdecl, dynlib: lib, importc: "gtk_paint_shadow_gap".} +proc paint_box_gap*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint, gap_side: TPositionType, + gap_x: gint, gap_width: gint){.cdecl, dynlib: lib, + importc: "gtk_paint_box_gap".} +proc paint_extension*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint, gap_side: TPositionType){. + cdecl, dynlib: lib, importc: "gtk_paint_extension".} +proc paint_focus*(style: PStyle, window: PGdkWindow, state_type: TStateType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, width: gint, height: gint){.cdecl, + dynlib: lib, importc: "gtk_paint_focus".} +proc paint_slider*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint, orientation: TOrientation){.cdecl, + dynlib: lib, importc: "gtk_paint_slider".} +proc paint_handle*(style: PStyle, window: PGdkWindow, state_type: TStateType, + shadow_type: TShadowType, area: PGdkRectangle, + widget: PWidget, detail: cstring, x: gint, y: gint, + width: gint, height: gint, orientation: TOrientation){.cdecl, + dynlib: lib, importc: "gtk_paint_handle".} +proc paint_expander*(style: PStyle, window: PGdkWindow, state_type: TStateType, + area: PGdkRectangle, widget: PWidget, detail: cstring, + x: gint, y: gint, expander_style: TExpanderStyle){.cdecl, + dynlib: lib, importc: "gtk_paint_expander".} +proc paint_layout*(style: PStyle, window: PGdkWindow, state_type: TStateType, + use_text: gboolean, area: PGdkRectangle, widget: PWidget, + detail: cstring, x: gint, y: gint, layout: PPangoLayout){. + cdecl, dynlib: lib, importc: "gtk_paint_layout".} +proc paint_resize_grip*(style: PStyle, window: PGdkWindow, + state_type: TStateType, area: PGdkRectangle, + widget: PWidget, detail: cstring, edge: TGdkWindowEdge, + x: gint, y: gint, width: gint, height: gint){.cdecl, + dynlib: lib, importc: "gtk_paint_resize_grip".} +proc border_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_border_get_type".} +proc border_copy*(border: PBorder): PBorder{.cdecl, dynlib: lib, + importc: "gtk_border_copy".} +proc border_free*(border: PBorder){.cdecl, dynlib: lib, + importc: "gtk_border_free".} +proc style_peek_property_value*(style: PStyle, widget_type: GType, + pspec: PGParamSpec, parser: TRcPropertyParser): PGValue{. + cdecl, dynlib: lib, importc: "_gtk_style_peek_property_value".} +proc get_insertion_cursor_gc*(widget: PWidget, is_primary: gboolean): PGdkGC{. + cdecl, dynlib: lib, importc: "_gtk_get_insertion_cursor_gc".} +proc draw_insertion_cursor*(widget: PWidget, drawable: PGdkDrawable, gc: PGdkGC, + location: PGdkRectangle, direction: TTextDirection, + draw_arrow: gboolean){.cdecl, dynlib: lib, + importc: "_gtk_draw_insertion_cursor".} +const + bm_TGtkRange_inverted* = 0x0001'i16 + bp_TGtkRange_inverted* = 0'i16 + bm_TGtkRange_flippable* = 0x0002'i16 + bp_TGtkRange_flippable* = 1'i16 + bm_TGtkRange_has_stepper_a* = 0x0004'i16 + bp_TGtkRange_has_stepper_a* = 2'i16 + bm_TGtkRange_has_stepper_b* = 0x0008'i16 + bp_TGtkRange_has_stepper_b* = 3'i16 + bm_TGtkRange_has_stepper_c* = 0x0010'i16 + bp_TGtkRange_has_stepper_c* = 4'i16 + bm_TGtkRange_has_stepper_d* = 0x0020'i16 + bp_TGtkRange_has_stepper_d* = 5'i16 + bm_TGtkRange_need_recalc* = 0x0040'i16 + bp_TGtkRange_need_recalc* = 6'i16 + bm_TGtkRange_slider_size_fixed* = 0x0080'i16 + bp_TGtkRange_slider_size_fixed* = 7'i16 + bm_TGtkRange_trough_click_forward* = 0x0001'i16 + bp_TGtkRange_trough_click_forward* = 0'i16 + bm_TGtkRange_update_pending* = 0x0002'i16 + bp_TGtkRange_update_pending* = 1'i16 + +proc TYPE_RANGE*(): GType +proc RANGE*(obj: pointer): PRange +proc RANGE_CLASS*(klass: pointer): PRangeClass +proc IS_RANGE*(obj: pointer): bool +proc IS_RANGE_CLASS*(klass: pointer): bool +proc RANGE_GET_CLASS*(obj: pointer): PRangeClass +proc inverted*(a: var TRange): guint +proc set_inverted*(a: var TRange, `inverted`: guint) +proc flippable*(a: var TRange): guint +proc set_flippable*(a: var TRange, `flippable`: guint) +proc has_stepper_a*(a: var TRange): guint +proc set_has_stepper_a*(a: var TRange, `has_stepper_a`: guint) +proc has_stepper_b*(a: var TRange): guint +proc set_has_stepper_b*(a: var TRange, `has_stepper_b`: guint) +proc has_stepper_c*(a: var TRange): guint +proc set_has_stepper_c*(a: var TRange, `has_stepper_c`: guint) +proc has_stepper_d*(a: var TRange): guint +proc set_has_stepper_d*(a: var TRange, `has_stepper_d`: guint) +proc need_recalc*(a: var TRange): guint +proc set_need_recalc*(a: var TRange, `need_recalc`: guint) +proc slider_size_fixed*(a: var TRange): guint +proc set_slider_size_fixed*(a: var TRange, `slider_size_fixed`: guint) +proc trough_click_forward*(a: var TRange): guint +proc set_trough_click_forward*(a: var TRange, `trough_click_forward`: guint) +proc update_pending*(a: var TRange): guint +proc set_update_pending*(a: var TRange, `update_pending`: guint) +proc range_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_range_get_type".} +proc range_set_update_policy*(range: PRange, policy: TUpdateType){.cdecl, + dynlib: lib, importc: "gtk_range_set_update_policy".} +proc range_get_update_policy*(range: PRange): TUpdateType{.cdecl, dynlib: lib, + importc: "gtk_range_get_update_policy".} +proc range_set_adjustment*(range: PRange, adjustment: PAdjustment){.cdecl, + dynlib: lib, importc: "gtk_range_set_adjustment".} +proc range_get_adjustment*(range: PRange): PAdjustment{.cdecl, dynlib: lib, + importc: "gtk_range_get_adjustment".} +proc range_set_inverted*(range: PRange, setting: gboolean){.cdecl, dynlib: lib, + importc: "gtk_range_set_inverted".} +proc range_get_inverted*(range: PRange): gboolean{.cdecl, dynlib: lib, + importc: "gtk_range_get_inverted".} +proc range_set_increments*(range: PRange, step: gdouble, page: gdouble){.cdecl, + dynlib: lib, importc: "gtk_range_set_increments".} +proc range_set_range*(range: PRange, min: gdouble, max: gdouble){.cdecl, + dynlib: lib, importc: "gtk_range_set_range".} +proc range_set_value*(range: PRange, value: gdouble){.cdecl, dynlib: lib, + importc: "gtk_range_set_value".} +proc range_get_value*(range: PRange): gdouble{.cdecl, dynlib: lib, + importc: "gtk_range_get_value".} +const + bm_TGtkScale_draw_value* = 0x0001'i16 + bp_TGtkScale_draw_value* = 0'i16 + bm_TGtkScale_value_pos* = 0x0006'i16 + bp_TGtkScale_value_pos* = 1'i16 + +proc TYPE_SCALE*(): GType +proc SCALE*(obj: pointer): PScale +proc SCALE_CLASS*(klass: pointer): PScaleClass +proc IS_SCALE*(obj: pointer): bool +proc IS_SCALE_CLASS*(klass: pointer): bool +proc SCALE_GET_CLASS*(obj: pointer): PScaleClass +proc draw_value*(a: var TScale): guint +proc set_draw_value*(a: var TScale, `draw_value`: guint) +proc value_pos*(a: var TScale): guint +proc set_value_pos*(a: var TScale, `value_pos`: guint) +proc scale_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_scale_get_type".} +proc scale_set_digits*(scale: PScale, digits: gint){.cdecl, dynlib: lib, + importc: "gtk_scale_set_digits".} +proc scale_get_digits*(scale: PScale): gint{.cdecl, dynlib: lib, + importc: "gtk_scale_get_digits".} +proc scale_set_draw_value*(scale: PScale, draw_value: gboolean){.cdecl, + dynlib: lib, importc: "gtk_scale_set_draw_value".} +proc scale_get_draw_value*(scale: PScale): gboolean{.cdecl, dynlib: lib, + importc: "gtk_scale_get_draw_value".} +proc scale_set_value_pos*(scale: PScale, pos: TPositionType){.cdecl, + dynlib: lib, importc: "gtk_scale_set_value_pos".} +proc scale_get_value_pos*(scale: PScale): TPositionType{.cdecl, dynlib: lib, + importc: "gtk_scale_get_value_pos".} +proc scale_get_value_size*(scale: PScale, width: Pgint, height: Pgint){.cdecl, + dynlib: lib, importc: "_gtk_scale_get_value_size".} +proc scale_format_value*(scale: PScale, value: gdouble): cstring{.cdecl, + dynlib: lib, importc: "_gtk_scale_format_value".} +proc TYPE_HSCALE*(): GType +proc HSCALE*(obj: pointer): PHScale +proc HSCALE_CLASS*(klass: pointer): PHScaleClass +proc IS_HSCALE*(obj: pointer): bool +proc IS_HSCALE_CLASS*(klass: pointer): bool +proc HSCALE_GET_CLASS*(obj: pointer): PHScaleClass +proc hscale_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_hscale_get_type".} +proc hscale_new*(adjustment: PAdjustment): PHScale{.cdecl, dynlib: lib, + importc: "gtk_hscale_new".} +proc hscale_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PHScale{. + cdecl, dynlib: lib, importc: "gtk_hscale_new_with_range".} +proc TYPE_SCROLLBAR*(): GType +proc SCROLLBAR*(obj: pointer): PScrollbar +proc SCROLLBAR_CLASS*(klass: pointer): PScrollbarClass +proc IS_SCROLLBAR*(obj: pointer): bool +proc IS_SCROLLBAR_CLASS*(klass: pointer): bool +proc SCROLLBAR_GET_CLASS*(obj: pointer): PScrollbarClass +proc scrollbar_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_scrollbar_get_type".} +proc TYPE_HSCROLLBAR*(): GType +proc HSCROLLBAR*(obj: pointer): PHScrollbar +proc HSCROLLBAR_CLASS*(klass: pointer): PHScrollbarClass +proc IS_HSCROLLBAR*(obj: pointer): bool +proc IS_HSCROLLBAR_CLASS*(klass: pointer): bool +proc HSCROLLBAR_GET_CLASS*(obj: pointer): PHScrollbarClass +proc hscrollbar_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_hscrollbar_get_type".} +proc hscrollbar_new*(adjustment: PAdjustment): PHScrollbar{.cdecl, dynlib: lib, + importc: "gtk_hscrollbar_new".} +proc TYPE_SEPARATOR*(): GType +proc SEPARATOR*(obj: pointer): PSeparator +proc SEPARATOR_CLASS*(klass: pointer): PSeparatorClass +proc IS_SEPARATOR*(obj: pointer): bool +proc IS_SEPARATOR_CLASS*(klass: pointer): bool +proc SEPARATOR_GET_CLASS*(obj: pointer): PSeparatorClass +proc separator_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_separator_get_type".} +proc TYPE_HSEPARATOR*(): GType +proc HSEPARATOR*(obj: pointer): PHSeparator +proc HSEPARATOR_CLASS*(klass: pointer): PHSeparatorClass +proc IS_HSEPARATOR*(obj: pointer): bool +proc IS_HSEPARATOR_CLASS*(klass: pointer): bool +proc HSEPARATOR_GET_CLASS*(obj: pointer): PHSeparatorClass +proc hseparator_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_hseparator_get_type".} +proc hseparator_new*(): PHSeparator{.cdecl, dynlib: lib, + importc: "gtk_hseparator_new".} +proc TYPE_ICON_FACTORY*(): GType +proc ICON_FACTORY*(anObject: pointer): PIconFactory +proc ICON_FACTORY_CLASS*(klass: pointer): PIconFactoryClass +proc IS_ICON_FACTORY*(anObject: pointer): bool +proc IS_ICON_FACTORY_CLASS*(klass: pointer): bool +proc ICON_FACTORY_GET_CLASS*(obj: pointer): PIconFactoryClass +proc TYPE_ICON_SET*(): GType +proc TYPE_ICON_SOURCE*(): GType +proc icon_factory_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_icon_factory_get_type".} +proc icon_factory_new*(): PIconFactory{.cdecl, dynlib: lib, + importc: "gtk_icon_factory_new".} +proc icon_factory_add*(factory: PIconFactory, stock_id: cstring, + icon_set: PIconSet){.cdecl, dynlib: lib, + importc: "gtk_icon_factory_add".} +proc icon_factory_lookup*(factory: PIconFactory, stock_id: cstring): PIconSet{. + cdecl, dynlib: lib, importc: "gtk_icon_factory_lookup".} +proc icon_factory_add_default*(factory: PIconFactory){.cdecl, dynlib: lib, + importc: "gtk_icon_factory_add_default".} +proc icon_factory_remove_default*(factory: PIconFactory){.cdecl, dynlib: lib, + importc: "gtk_icon_factory_remove_default".} +proc icon_factory_lookup_default*(stock_id: cstring): PIconSet{.cdecl, + dynlib: lib, importc: "gtk_icon_factory_lookup_default".} +proc icon_size_lookup*(size: TIconSize, width: Pgint, height: Pgint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_icon_size_lookup".} +proc icon_size_register*(name: cstring, width: gint, height: gint): TIconSize{. + cdecl, dynlib: lib, importc: "gtk_icon_size_register".} +proc icon_size_register_alias*(alias: cstring, target: TIconSize){.cdecl, + dynlib: lib, importc: "gtk_icon_size_register_alias".} +proc icon_size_from_name*(name: cstring): TIconSize{.cdecl, dynlib: lib, + importc: "gtk_icon_size_from_name".} +proc icon_size_get_name*(size: TIconSize): cstring{.cdecl, dynlib: lib, + importc: "gtk_icon_size_get_name".} +proc icon_set_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_icon_set_get_type".} +proc icon_set_new*(): PIconSet{.cdecl, dynlib: lib, importc: "gtk_icon_set_new".} +proc icon_set_new_from_pixbuf*(pixbuf: PGdkPixbuf): PIconSet{.cdecl, + dynlib: lib, importc: "gtk_icon_set_new_from_pixbuf".} +proc icon_set_ref*(icon_set: PIconSet): PIconSet{.cdecl, dynlib: lib, + importc: "gtk_icon_set_ref".} +proc icon_set_unref*(icon_set: PIconSet){.cdecl, dynlib: lib, + importc: "gtk_icon_set_unref".} +proc icon_set_copy*(icon_set: PIconSet): PIconSet{.cdecl, dynlib: lib, + importc: "gtk_icon_set_copy".} +proc icon_set_render_icon*(icon_set: PIconSet, style: PStyle, + direction: TTextDirection, state: TStateType, + size: TIconSize, widget: PWidget, detail: cstring): PGdkPixbuf{. + cdecl, dynlib: lib, importc: "gtk_icon_set_render_icon".} +proc icon_set_add_source*(icon_set: PIconSet, source: PIconSource){.cdecl, + dynlib: lib, importc: "gtk_icon_set_add_source".} +proc icon_set_get_sizes*(icon_set: PIconSet, sizes: PPGtkIconSize, + n_sizes: pgint){.cdecl, dynlib: lib, + importc: "gtk_icon_set_get_sizes".} +proc icon_source_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_icon_source_get_type".} +proc icon_source_new*(): PIconSource{.cdecl, dynlib: lib, + importc: "gtk_icon_source_new".} +proc icon_source_copy*(source: PIconSource): PIconSource{.cdecl, dynlib: lib, + importc: "gtk_icon_source_copy".} +proc icon_source_free*(source: PIconSource){.cdecl, dynlib: lib, + importc: "gtk_icon_source_free".} +proc icon_source_set_filename*(source: PIconSource, filename: cstring){.cdecl, + dynlib: lib, importc: "gtk_icon_source_set_filename".} +proc icon_source_set_pixbuf*(source: PIconSource, pixbuf: PGdkPixbuf){.cdecl, + dynlib: lib, importc: "gtk_icon_source_set_pixbuf".} +proc icon_source_get_filename*(source: PIconSource): cstring{.cdecl, + dynlib: lib, importc: "gtk_icon_source_get_filename".} +proc icon_source_get_pixbuf*(source: PIconSource): PGdkPixbuf{.cdecl, + dynlib: lib, importc: "gtk_icon_source_get_pixbuf".} +proc icon_source_set_direction_wildcarded*(source: PIconSource, + setting: gboolean){.cdecl, dynlib: lib, + importc: "gtk_icon_source_set_direction_wildcarded".} +proc icon_source_set_state_wildcarded*(source: PIconSource, setting: gboolean){. + cdecl, dynlib: lib, importc: "gtk_icon_source_set_state_wildcarded".} +proc icon_source_set_size_wildcarded*(source: PIconSource, setting: gboolean){. + cdecl, dynlib: lib, importc: "gtk_icon_source_set_size_wildcarded".} +proc icon_source_get_size_wildcarded*(source: PIconSource): gboolean{.cdecl, + dynlib: lib, importc: "gtk_icon_source_get_size_wildcarded".} +proc icon_source_get_state_wildcarded*(source: PIconSource): gboolean{.cdecl, + dynlib: lib, importc: "gtk_icon_source_get_state_wildcarded".} +proc icon_source_get_direction_wildcarded*(source: PIconSource): gboolean{. + cdecl, dynlib: lib, importc: "gtk_icon_source_get_direction_wildcarded".} +proc icon_source_set_direction*(source: PIconSource, direction: TTextDirection){. + cdecl, dynlib: lib, importc: "gtk_icon_source_set_direction".} +proc icon_source_set_state*(source: PIconSource, state: TStateType){.cdecl, + dynlib: lib, importc: "gtk_icon_source_set_state".} +proc icon_source_set_size*(source: PIconSource, size: TIconSize){.cdecl, + dynlib: lib, importc: "gtk_icon_source_set_size".} +proc icon_source_get_direction*(source: PIconSource): TTextDirection{.cdecl, + dynlib: lib, importc: "gtk_icon_source_get_direction".} +proc icon_source_get_state*(source: PIconSource): TStateType{.cdecl, + dynlib: lib, importc: "gtk_icon_source_get_state".} +proc icon_source_get_size*(source: PIconSource): TIconSize{.cdecl, dynlib: lib, + importc: "gtk_icon_source_get_size".} +proc icon_set_invalidate_caches*(){.cdecl, dynlib: lib, + importc: "_gtk_icon_set_invalidate_caches".} +proc icon_factory_list_ids*(): PGSList{.cdecl, dynlib: lib, + importc: "_gtk_icon_factory_list_ids".} +proc TYPE_IMAGE*(): GType +proc IMAGE*(obj: pointer): PImage +proc IMAGE_CLASS*(klass: pointer): PImageClass +proc IS_IMAGE*(obj: pointer): bool +proc IS_IMAGE_CLASS*(klass: pointer): bool +proc IMAGE_GET_CLASS*(obj: pointer): PImageClass +proc image_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_image_get_type".} +proc image_new*(): PImage{.cdecl, dynlib: lib, importc: "gtk_image_new".} +proc image_new_from_pixmap*(pixmap: PGdkPixmap, mask: PGdkBitmap): PImage{. + cdecl, dynlib: lib, importc: "gtk_image_new_from_pixmap".} +proc image_new_from_image*(image: PGdkImage, mask: PGdkBitmap): PImage{.cdecl, + dynlib: lib, importc: "gtk_image_new_from_image".} +proc image_new_from_file*(filename: cstring): PImage{.cdecl, dynlib: lib, + importc: "gtk_image_new_from_file".} +proc image_new_from_pixbuf*(pixbuf: PGdkPixbuf): PImage{.cdecl, dynlib: lib, + importc: "gtk_image_new_from_pixbuf".} +proc image_new_from_stock*(stock_id: cstring, size: TIconSize): PImage{.cdecl, + dynlib: lib, importc: "gtk_image_new_from_stock".} +proc image_new_from_icon_set*(icon_set: PIconSet, size: TIconSize): PImage{. + cdecl, dynlib: lib, importc: "gtk_image_new_from_icon_set".} +proc image_new_from_animation*(animation: PGdkPixbufAnimation): PImage{.cdecl, + dynlib: lib, importc: "gtk_image_new_from_animation".} +proc image_set_from_pixmap*(image: PImage, pixmap: PGdkPixmap, mask: PGdkBitmap){. + cdecl, dynlib: lib, importc: "gtk_image_set_from_pixmap".} +proc image_set_from_image*(image: PImage, gdk_image: PGdkImage, mask: PGdkBitmap){. + cdecl, dynlib: lib, importc: "gtk_image_set_from_image".} +proc image_set_from_file*(image: PImage, filename: cstring){.cdecl, dynlib: lib, + importc: "gtk_image_set_from_file".} +proc image_set_from_pixbuf*(image: PImage, pixbuf: PGdkPixbuf){.cdecl, + dynlib: lib, importc: "gtk_image_set_from_pixbuf".} +proc image_set_from_stock*(image: PImage, stock_id: cstring, size: TIconSize){. + cdecl, dynlib: lib, importc: "gtk_image_set_from_stock".} +proc image_set_from_icon_set*(image: PImage, icon_set: PIconSet, size: TIconSize){. + cdecl, dynlib: lib, importc: "gtk_image_set_from_icon_set".} +proc image_set_from_animation*(image: PImage, animation: PGdkPixbufAnimation){. + cdecl, dynlib: lib, importc: "gtk_image_set_from_animation".} +proc image_get_storage_type*(image: PImage): TImageType{.cdecl, dynlib: lib, + importc: "gtk_image_get_storage_type".} +proc image_get_pixbuf*(image: PImage): PGdkPixbuf{.cdecl, dynlib: lib, + importc: "gtk_image_get_pixbuf".} +proc image_get_stock*(image: PImage, stock_id: PPgchar, size: PIconSize){.cdecl, + dynlib: lib, importc: "gtk_image_get_stock".} +proc image_get_animation*(image: PImage): PGdkPixbufAnimation{.cdecl, + dynlib: lib, importc: "gtk_image_get_animation".} +proc TYPE_IMAGE_MENU_ITEM*(): GType +proc IMAGE_MENU_ITEM*(obj: pointer): PImageMenuItem +proc IMAGE_MENU_ITEM_CLASS*(klass: pointer): PImageMenuItemClass +proc IS_IMAGE_MENU_ITEM*(obj: pointer): bool +proc IS_IMAGE_MENU_ITEM_CLASS*(klass: pointer): bool +proc IMAGE_MENU_ITEM_GET_CLASS*(obj: pointer): PImageMenuItemClass +proc image_menu_item_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_image_menu_item_get_type".} +proc image_menu_item_new*(): PImageMenuItem{.cdecl, dynlib: lib, + importc: "gtk_image_menu_item_new".} +proc image_menu_item_new_with_label*(`label`: cstring): PImageMenuItem{.cdecl, + dynlib: lib, importc: "gtk_image_menu_item_new_with_label".} +proc image_menu_item_new_with_mnemonic*(`label`: cstring): PImageMenuItem{. + cdecl, dynlib: lib, importc: "gtk_image_menu_item_new_with_mnemonic".} +proc image_menu_item_new_from_stock*(stock_id: cstring, accel_group: PAccelGroup): PImageMenuItem{. + cdecl, dynlib: lib, importc: "gtk_image_menu_item_new_from_stock".} +proc image_menu_item_set_image*(image_menu_item: PImageMenuItem, image: PWidget){. + cdecl, dynlib: lib, importc: "gtk_image_menu_item_set_image".} +proc image_menu_item_get_image*(image_menu_item: PImageMenuItem): PWidget{. + cdecl, dynlib: lib, importc: "gtk_image_menu_item_get_image".} +const + bm_TGtkIMContextSimple_in_hex_sequence* = 0x0001'i16 + bp_TGtkIMContextSimple_in_hex_sequence* = 0'i16 + +proc TYPE_IM_CONTEXT_SIMPLE*(): GType +proc IM_CONTEXT_SIMPLE*(obj: pointer): PIMContextSimple +proc IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): PIMContextSimpleClass +proc IS_IM_CONTEXT_SIMPLE*(obj: pointer): bool +proc IS_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): bool +proc IM_CONTEXT_SIMPLE_GET_CLASS*(obj: pointer): PIMContextSimpleClass +proc in_hex_sequence*(a: var TIMContextSimple): guint +proc set_in_hex_sequence*(a: var TIMContextSimple, `in_hex_sequence`: guint) +proc im_context_simple_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_im_context_simple_get_type".} +proc im_context_simple_new*(): PIMContext{.cdecl, dynlib: lib, + importc: "gtk_im_context_simple_new".} +proc im_context_simple_add_table*(context_simple: PIMContextSimple, + data: Pguint16, max_seq_len: gint, + n_seqs: gint){.cdecl, dynlib: lib, + importc: "gtk_im_context_simple_add_table".} +proc TYPE_IM_MULTICONTEXT*(): GType +proc IM_MULTICONTEXT*(obj: pointer): PIMMulticontext +proc IM_MULTICONTEXT_CLASS*(klass: pointer): PIMMulticontextClass +proc IS_IM_MULTICONTEXT*(obj: pointer): bool +proc IS_IM_MULTICONTEXT_CLASS*(klass: pointer): bool +proc IM_MULTICONTEXT_GET_CLASS*(obj: pointer): PIMMulticontextClass +proc im_multicontext_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_im_multicontext_get_type".} +proc im_multicontext_new*(): PIMContext{.cdecl, dynlib: lib, + importc: "gtk_im_multicontext_new".} +proc im_multicontext_append_menuitems*(context: PIMMulticontext, + menushell: PMenuShell){.cdecl, + dynlib: lib, importc: "gtk_im_multicontext_append_menuitems".} +proc TYPE_INPUT_DIALOG*(): GType +proc INPUT_DIALOG*(obj: pointer): PInputDialog +proc INPUT_DIALOG_CLASS*(klass: pointer): PInputDialogClass +proc IS_INPUT_DIALOG*(obj: pointer): bool +proc IS_INPUT_DIALOG_CLASS*(klass: pointer): bool +proc INPUT_DIALOG_GET_CLASS*(obj: pointer): PInputDialogClass +proc input_dialog_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_input_dialog_get_type".} +proc input_dialog_new*(): PInputDialog{.cdecl, dynlib: lib, + importc: "gtk_input_dialog_new".} +proc TYPE_INVISIBLE*(): GType +proc INVISIBLE*(obj: pointer): PInvisible +proc INVISIBLE_CLASS*(klass: pointer): PInvisibleClass +proc IS_INVISIBLE*(obj: pointer): bool +proc IS_INVISIBLE_CLASS*(klass: pointer): bool +proc INVISIBLE_GET_CLASS*(obj: pointer): PInvisibleClass +proc invisible_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_invisible_get_type".} +proc invisible_new*(): PInvisible{.cdecl, dynlib: lib, + importc: "gtk_invisible_new".} +proc invisible_new_for_screen*(screen: PGdkScreen): PInvisible{.cdecl, + dynlib: lib, importc: "gtk_invisible_new_for_screen".} +proc invisible_set_screen*(invisible: PInvisible, screen: PGdkScreen){.cdecl, + dynlib: lib, importc: "gtk_invisible_set_screen".} +proc invisible_get_screen*(invisible: PInvisible): PGdkScreen{.cdecl, + dynlib: lib, importc: "gtk_invisible_get_screen".} +proc TYPE_ITEM_FACTORY*(): GType +proc ITEM_FACTORY*(anObject: pointer): PItemFactory +proc ITEM_FACTORY_CLASS*(klass: pointer): PItemFactoryClass +proc IS_ITEM_FACTORY*(anObject: pointer): bool +proc IS_ITEM_FACTORY_CLASS*(klass: pointer): bool +proc ITEM_FACTORY_GET_CLASS*(obj: pointer): PItemFactoryClass +proc item_factory_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_item_factory_get_type".} +proc item_factory_new*(container_type: TType, path: cstring, + accel_group: PAccelGroup): PItemFactory{.cdecl, + dynlib: lib, importc: "gtk_item_factory_new".} +proc item_factory_construct*(ifactory: PItemFactory, container_type: TType, + path: cstring, accel_group: PAccelGroup){.cdecl, + dynlib: lib, importc: "gtk_item_factory_construct".} +proc item_factory_add_foreign*(accel_widget: PWidget, full_path: cstring, + accel_group: PAccelGroup, keyval: guint, + modifiers: TGdkModifierType){.cdecl, dynlib: lib, + importc: "gtk_item_factory_add_foreign".} +proc item_factory_from_widget*(widget: PWidget): PItemFactory{.cdecl, + dynlib: lib, importc: "gtk_item_factory_from_widget".} +proc item_factory_path_from_widget*(widget: PWidget): cstring{.cdecl, + dynlib: lib, importc: "gtk_item_factory_path_from_widget".} +proc item_factory_get_item*(ifactory: PItemFactory, path: cstring): PWidget{. + cdecl, dynlib: lib, importc: "gtk_item_factory_get_item".} +proc item_factory_get_widget*(ifactory: PItemFactory, path: cstring): PWidget{. + cdecl, dynlib: lib, importc: "gtk_item_factory_get_widget".} +proc item_factory_get_widget_by_action*(ifactory: PItemFactory, action: guint): PWidget{. + cdecl, dynlib: lib, importc: "gtk_item_factory_get_widget_by_action".} +proc item_factory_get_item_by_action*(ifactory: PItemFactory, action: guint): PWidget{. + cdecl, dynlib: lib, importc: "gtk_item_factory_get_item_by_action".} +proc item_factory_create_item*(ifactory: PItemFactory, entry: PItemFactoryEntry, + callback_data: gpointer, callback_type: guint){. + cdecl, dynlib: lib, importc: "gtk_item_factory_create_item".} +proc item_factory_create_items*(ifactory: PItemFactory, n_entries: guint, + entries: PItemFactoryEntry, + callback_data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_item_factory_create_items".} +proc item_factory_delete_item*(ifactory: PItemFactory, path: cstring){.cdecl, + dynlib: lib, importc: "gtk_item_factory_delete_item".} +proc item_factory_delete_entry*(ifactory: PItemFactory, entry: PItemFactoryEntry){. + cdecl, dynlib: lib, importc: "gtk_item_factory_delete_entry".} +proc item_factory_delete_entries*(ifactory: PItemFactory, n_entries: guint, + entries: PItemFactoryEntry){.cdecl, + dynlib: lib, importc: "gtk_item_factory_delete_entries".} +proc item_factory_popup*(ifactory: PItemFactory, x: guint, y: guint, + mouse_button: guint, time: guint32){.cdecl, + dynlib: lib, importc: "gtk_item_factory_popup".} +proc item_factory_popup_with_data*(ifactory: PItemFactory, popup_data: gpointer, + destroy: TDestroyNotify, x: guint, y: guint, + mouse_button: guint, time: guint32){.cdecl, + dynlib: lib, importc: "gtk_item_factory_popup_with_data".} +proc item_factory_popup_data*(ifactory: PItemFactory): gpointer{.cdecl, + dynlib: lib, importc: "gtk_item_factory_popup_data".} +proc item_factory_popup_data_from_widget*(widget: PWidget): gpointer{.cdecl, + dynlib: lib, importc: "gtk_item_factory_popup_data_from_widget".} +proc item_factory_set_translate_func*(ifactory: PItemFactory, + func_: TTranslateFunc, data: gpointer, + notify: TDestroyNotify){.cdecl, + dynlib: lib, importc: "gtk_item_factory_set_translate_func".} +proc TYPE_LAYOUT*(): GType +proc LAYOUT*(obj: pointer): PLayout +proc LAYOUT_CLASS*(klass: pointer): PLayoutClass +proc IS_LAYOUT*(obj: pointer): bool +proc IS_LAYOUT_CLASS*(klass: pointer): bool +proc LAYOUT_GET_CLASS*(obj: pointer): PLayoutClass +proc layout_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_layout_get_type".} +proc layout_new*(hadjustment: PAdjustment, vadjustment: PAdjustment): PLayout{. + cdecl, dynlib: lib, importc: "gtk_layout_new".} +proc layout_put*(layout: PLayout, child_widget: PWidget, x: gint, y: gint){. + cdecl, dynlib: lib, importc: "gtk_layout_put".} +proc layout_move*(layout: PLayout, child_widget: PWidget, x: gint, y: gint){. + cdecl, dynlib: lib, importc: "gtk_layout_move".} +proc layout_set_size*(layout: PLayout, width: guint, height: guint){.cdecl, + dynlib: lib, importc: "gtk_layout_set_size".} +proc layout_get_size*(layout: PLayout, width: Pguint, height: Pguint){.cdecl, + dynlib: lib, importc: "gtk_layout_get_size".} +proc layout_get_hadjustment*(layout: PLayout): PAdjustment{.cdecl, dynlib: lib, + importc: "gtk_layout_get_hadjustment".} +proc layout_get_vadjustment*(layout: PLayout): PAdjustment{.cdecl, dynlib: lib, + importc: "gtk_layout_get_vadjustment".} +proc layout_set_hadjustment*(layout: PLayout, adjustment: PAdjustment){.cdecl, + dynlib: lib, importc: "gtk_layout_set_hadjustment".} +proc layout_set_vadjustment*(layout: PLayout, adjustment: PAdjustment){.cdecl, + dynlib: lib, importc: "gtk_layout_set_vadjustment".} +const + bm_TGtkList_selection_mode* = 0x0003'i16 + bp_TGtkList_selection_mode* = 0'i16 + bm_TGtkList_drag_selection* = 0x0004'i16 + bp_TGtkList_drag_selection* = 2'i16 + bm_TGtkList_add_mode* = 0x0008'i16 + bp_TGtkList_add_mode* = 3'i16 + +proc TYPE_LIST*(): GType +proc LIST*(obj: pointer): PList +proc LIST_CLASS*(klass: pointer): PListClass +proc IS_LIST*(obj: pointer): bool +proc IS_LIST_CLASS*(klass: pointer): bool +proc LIST_GET_CLASS*(obj: pointer): PListClass +proc selection_mode*(a: var TList): guint +proc set_selection_mode*(a: var TList, `selection_mode`: guint) +proc drag_selection*(a: var TList): guint +proc set_drag_selection*(a: var TList, `drag_selection`: guint) +proc add_mode*(a: var TList): guint +proc set_add_mode*(a: var TList, `add_mode`: guint) +proc list_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_list_get_type".} +proc list_new*(): PList{.cdecl, dynlib: lib, importc: "gtk_list_new".} +proc list_insert_items*(list: PList, items: PGList, position: gint){.cdecl, + dynlib: lib, importc: "gtk_list_insert_items".} +proc list_append_items*(list: PList, items: PGList){.cdecl, dynlib: lib, + importc: "gtk_list_append_items".} +proc list_prepend_items*(list: PList, items: PGList){.cdecl, dynlib: lib, + importc: "gtk_list_prepend_items".} +proc list_remove_items*(list: PList, items: PGList){.cdecl, dynlib: lib, + importc: "gtk_list_remove_items".} +proc list_remove_items_no_unref*(list: PList, items: PGList){.cdecl, + dynlib: lib, importc: "gtk_list_remove_items_no_unref".} +proc list_clear_items*(list: PList, start: gint, theEnd: gint){.cdecl, + dynlib: lib, importc: "gtk_list_clear_items".} +proc list_select_item*(list: PList, item: gint){.cdecl, dynlib: lib, + importc: "gtk_list_select_item".} +proc list_unselect_item*(list: PList, item: gint){.cdecl, dynlib: lib, + importc: "gtk_list_unselect_item".} +proc list_select_child*(list: PList, child: PWidget){.cdecl, dynlib: lib, + importc: "gtk_list_select_child".} +proc list_unselect_child*(list: PList, child: PWidget){.cdecl, dynlib: lib, + importc: "gtk_list_unselect_child".} +proc list_child_position*(list: PList, child: PWidget): gint{.cdecl, + dynlib: lib, importc: "gtk_list_child_position".} +proc list_set_selection_mode*(list: PList, mode: TSelectionMode){.cdecl, + dynlib: lib, importc: "gtk_list_set_selection_mode".} +proc list_extend_selection*(list: PList, scroll_type: TScrollType, + position: gfloat, auto_start_selection: gboolean){. + cdecl, dynlib: lib, importc: "gtk_list_extend_selection".} +proc list_start_selection*(list: PList){.cdecl, dynlib: lib, + importc: "gtk_list_start_selection".} +proc list_end_selection*(list: PList){.cdecl, dynlib: lib, + importc: "gtk_list_end_selection".} +proc list_select_all*(list: PList){.cdecl, dynlib: lib, + importc: "gtk_list_select_all".} +proc list_unselect_all*(list: PList){.cdecl, dynlib: lib, + importc: "gtk_list_unselect_all".} +proc list_scroll_horizontal*(list: PList, scroll_type: TScrollType, + position: gfloat){.cdecl, dynlib: lib, + importc: "gtk_list_scroll_horizontal".} +proc list_scroll_vertical*(list: PList, scroll_type: TScrollType, + position: gfloat){.cdecl, dynlib: lib, + importc: "gtk_list_scroll_vertical".} +proc list_toggle_add_mode*(list: PList){.cdecl, dynlib: lib, + importc: "gtk_list_toggle_add_mode".} +proc list_toggle_focus_row*(list: PList){.cdecl, dynlib: lib, + importc: "gtk_list_toggle_focus_row".} +proc list_toggle_row*(list: PList, item: PWidget){.cdecl, dynlib: lib, + importc: "gtk_list_toggle_row".} +proc list_undo_selection*(list: PList){.cdecl, dynlib: lib, + importc: "gtk_list_undo_selection".} +proc list_end_drag_selection*(list: PList){.cdecl, dynlib: lib, + importc: "gtk_list_end_drag_selection".} +const + TREE_MODEL_ITERS_PERSIST* = 1 shl 0 + TREE_MODEL_LIST_ONLY* = 1 shl 1 + +proc TYPE_TREE_MODEL*(): GType +proc TREE_MODEL*(obj: pointer): PTreeModel +proc IS_TREE_MODEL*(obj: pointer): bool +proc TREE_MODEL_GET_IFACE*(obj: pointer): PTreeModelIface +proc TYPE_TREE_ITER*(): GType +proc TYPE_TREE_PATH*(): GType +proc tree_path_new*(): PTreePath{.cdecl, dynlib: lib, + importc: "gtk_tree_path_new".} +proc tree_path_new_from_string*(path: cstring): PTreePath{.cdecl, dynlib: lib, + importc: "gtk_tree_path_new_from_string".} +proc tree_path_to_string*(path: PTreePath): cstring{.cdecl, dynlib: lib, + importc: "gtk_tree_path_to_string".} +proc tree_path_new_root*(): PTreePath +proc tree_path_new_first*(): PTreePath{.cdecl, dynlib: lib, + importc: "gtk_tree_path_new_first".} +proc tree_path_append_index*(path: PTreePath, index: gint){.cdecl, dynlib: lib, + importc: "gtk_tree_path_append_index".} +proc tree_path_prepend_index*(path: PTreePath, index: gint){.cdecl, dynlib: lib, + importc: "gtk_tree_path_prepend_index".} +proc tree_path_get_depth*(path: PTreePath): gint{.cdecl, dynlib: lib, + importc: "gtk_tree_path_get_depth".} +proc tree_path_get_indices*(path: PTreePath): Pgint{.cdecl, dynlib: lib, + importc: "gtk_tree_path_get_indices".} +proc tree_path_free*(path: PTreePath){.cdecl, dynlib: lib, + importc: "gtk_tree_path_free".} +proc tree_path_copy*(path: PTreePath): PTreePath{.cdecl, dynlib: lib, + importc: "gtk_tree_path_copy".} +proc tree_path_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_tree_path_get_type".} +proc tree_path_compare*(a: PTreePath, b: PTreePath): gint{.cdecl, dynlib: lib, + importc: "gtk_tree_path_compare".} +proc tree_path_next*(path: PTreePath){.cdecl, dynlib: lib, + importc: "gtk_tree_path_next".} +proc tree_path_prev*(path: PTreePath): gboolean{.cdecl, dynlib: lib, + importc: "gtk_tree_path_prev".} +proc tree_path_up*(path: PTreePath): gboolean{.cdecl, dynlib: lib, + importc: "gtk_tree_path_up".} +proc tree_path_down*(path: PTreePath){.cdecl, dynlib: lib, + importc: "gtk_tree_path_down".} +proc tree_path_is_ancestor*(path: PTreePath, descendant: PTreePath): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_path_is_ancestor".} +proc tree_path_is_descendant*(path: PTreePath, ancestor: PTreePath): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_path_is_descendant".} +proc tree_row_reference_new*(model: PTreeModel, path: PTreePath): PTreeRowReference{. + cdecl, dynlib: lib, importc: "gtk_tree_row_reference_new".} +proc tree_row_reference_new_proxy*(proxy: PGObject, model: PTreeModel, + path: PTreePath): PTreeRowReference{.cdecl, + dynlib: lib, importc: "gtk_tree_row_reference_new_proxy".} +proc tree_row_reference_get_path*(reference: PTreeRowReference): PTreePath{. + cdecl, dynlib: lib, importc: "gtk_tree_row_reference_get_path".} +proc tree_row_reference_valid*(reference: PTreeRowReference): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_row_reference_valid".} +proc tree_row_reference_free*(reference: PTreeRowReference){.cdecl, dynlib: lib, + importc: "gtk_tree_row_reference_free".} +proc tree_row_reference_inserted*(proxy: PGObject, path: PTreePath){.cdecl, + dynlib: lib, importc: "gtk_tree_row_reference_inserted".} +proc tree_row_reference_deleted*(proxy: PGObject, path: PTreePath){.cdecl, + dynlib: lib, importc: "gtk_tree_row_reference_deleted".} +proc tree_row_reference_reordered*(proxy: PGObject, path: PTreePath, + iter: PTreeIter, new_order: Pgint){.cdecl, + dynlib: lib, importc: "gtk_tree_row_reference_reordered".} +proc tree_iter_copy*(iter: PTreeIter): PTreeIter{.cdecl, dynlib: lib, + importc: "gtk_tree_iter_copy".} +proc tree_iter_free*(iter: PTreeIter){.cdecl, dynlib: lib, + importc: "gtk_tree_iter_free".} +proc tree_iter_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_tree_iter_get_type".} +proc tree_model_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_tree_model_get_type".} +proc tree_model_get_flags*(tree_model: PTreeModel): TTreeModelFlags{.cdecl, + dynlib: lib, importc: "gtk_tree_model_get_flags".} +proc tree_model_get_n_columns*(tree_model: PTreeModel): gint{.cdecl, + dynlib: lib, importc: "gtk_tree_model_get_n_columns".} +proc tree_model_get_column_type*(tree_model: PTreeModel, index: gint): GType{. + cdecl, dynlib: lib, importc: "gtk_tree_model_get_column_type".} +proc tree_model_get_iter*(tree_model: PTreeModel, iter: PTreeIter, + path: PTreePath): gboolean{.cdecl, dynlib: lib, + importc: "gtk_tree_model_get_iter".} +proc tree_model_get_iter_from_string*(tree_model: PTreeModel, iter: PTreeIter, + path_string: cstring): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_model_get_iter_from_string".} +proc tree_model_get_iter_root*(tree_model: PTreeModel, iter: PTreeIter): gboolean +proc tree_model_get_iter_first*(tree_model: PTreeModel, iter: PTreeIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_model_get_iter_first".} +proc tree_model_get_path*(tree_model: PTreeModel, iter: PTreeIter): PTreePath{. + cdecl, dynlib: lib, importc: "gtk_tree_model_get_path".} +proc tree_model_get_value*(tree_model: PTreeModel, iter: PTreeIter, + column: gint, value: PGValue){.cdecl, dynlib: lib, + importc: "gtk_tree_model_get_value".} +proc tree_model_iter_next*(tree_model: PTreeModel, iter: PTreeIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_model_iter_next".} +proc tree_model_iter_children*(tree_model: PTreeModel, iter: PTreeIter, + parent: PTreeIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_tree_model_iter_children".} +proc tree_model_iter_has_child*(tree_model: PTreeModel, iter: PTreeIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_model_iter_has_child".} +proc tree_model_iter_n_children*(tree_model: PTreeModel, iter: PTreeIter): gint{. + cdecl, dynlib: lib, importc: "gtk_tree_model_iter_n_children".} +proc tree_model_iter_nth_child*(tree_model: PTreeModel, iter: PTreeIter, + parent: PTreeIter, n: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_model_iter_nth_child".} +proc tree_model_iter_parent*(tree_model: PTreeModel, iter: PTreeIter, + child: PTreeIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_tree_model_iter_parent".} +proc tree_model_ref_node*(tree_model: PTreeModel, iter: PTreeIter){.cdecl, + dynlib: lib, importc: "gtk_tree_model_ref_node".} +proc tree_model_unref_node*(tree_model: PTreeModel, iter: PTreeIter){.cdecl, + dynlib: lib, importc: "gtk_tree_model_unref_node".} +proc tree_model_foreach*(model: PTreeModel, func_: TTreeModelForeachFunc, + user_data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_tree_model_foreach".} +proc tree_model_row_changed*(tree_model: PTreeModel, path: PTreePath, + iter: PTreeIter){.cdecl, dynlib: lib, + importc: "gtk_tree_model_row_changed".} +proc tree_model_row_inserted*(tree_model: PTreeModel, path: PTreePath, + iter: PTreeIter){.cdecl, dynlib: lib, + importc: "gtk_tree_model_row_inserted".} +proc tree_model_row_has_child_toggled*(tree_model: PTreeModel, path: PTreePath, + iter: PTreeIter){.cdecl, dynlib: lib, + importc: "gtk_tree_model_row_has_child_toggled".} +proc tree_model_row_deleted*(tree_model: PTreeModel, path: PTreePath){.cdecl, + dynlib: lib, importc: "gtk_tree_model_row_deleted".} +proc tree_model_rows_reordered*(tree_model: PTreeModel, path: PTreePath, + iter: PTreeIter, new_order: Pgint){.cdecl, + dynlib: lib, importc: "gtk_tree_model_rows_reordered".} +const + TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID* = - (1) + +proc TYPE_TREE_SORTABLE*(): GType +proc TREE_SORTABLE*(obj: pointer): PTreeSortable +proc TREE_SORTABLE_CLASS*(obj: pointer): PTreeSortableIface +proc IS_TREE_SORTABLE*(obj: pointer): bool +proc TREE_SORTABLE_GET_IFACE*(obj: pointer): PTreeSortableIface +proc tree_sortable_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_tree_sortable_get_type".} +proc tree_sortable_sort_column_changed*(sortable: PTreeSortable){.cdecl, + dynlib: lib, importc: "gtk_tree_sortable_sort_column_changed".} +proc tree_sortable_get_sort_column_id*(sortable: PTreeSortable, + sort_column_id: Pgint, order: PSortType): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_sortable_get_sort_column_id".} +proc tree_sortable_set_sort_column_id*(sortable: PTreeSortable, + sort_column_id: gint, order: TSortType){. + cdecl, dynlib: lib, importc: "gtk_tree_sortable_set_sort_column_id".} +proc tree_sortable_set_sort_func*(sortable: PTreeSortable, sort_column_id: gint, + sort_func: TTreeIterCompareFunc, + user_data: gpointer, destroy: TDestroyNotify){. + cdecl, dynlib: lib, importc: "gtk_tree_sortable_set_sort_func".} +proc tree_sortable_set_default_sort_func*(sortable: PTreeSortable, + sort_func: TTreeIterCompareFunc, user_data: gpointer, + destroy: TDestroyNotify){.cdecl, dynlib: lib, importc: "gtk_tree_sortable_set_default_sort_func".} +proc tree_sortable_has_default_sort_func*(sortable: PTreeSortable): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_sortable_has_default_sort_func".} +proc TYPE_TREE_MODEL_SORT*(): GType +proc TREE_MODEL_SORT*(obj: pointer): PTreeModelSort +proc TREE_MODEL_SORT_CLASS*(klass: pointer): PTreeModelSortClass +proc IS_TREE_MODEL_SORT*(obj: pointer): bool +proc IS_TREE_MODEL_SORT_CLASS*(klass: pointer): bool +proc TREE_MODEL_SORT_GET_CLASS*(obj: pointer): PTreeModelSortClass +proc tree_model_sort_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_tree_model_sort_get_type".} +proc tree_model_sort_new_with_model*(child_model: PTreeModel): PTreeModel{. + cdecl, dynlib: lib, importc: "gtk_tree_model_sort_new_with_model".} +proc tree_model_sort_get_model*(tree_model: PTreeModelSort): PTreeModel{.cdecl, + dynlib: lib, importc: "gtk_tree_model_sort_get_model".} +proc tree_model_sort_convert_child_path_to_path*( + tree_model_sort: PTreeModelSort, child_path: PTreePath): PTreePath{.cdecl, + dynlib: lib, importc: "gtk_tree_model_sort_convert_child_path_to_path".} +proc tree_model_sort_convert_child_iter_to_iter*( + tree_model_sort: PTreeModelSort, sort_iter: PTreeIter, child_iter: PTreeIter){. + cdecl, dynlib: lib, + importc: "gtk_tree_model_sort_convert_child_iter_to_iter".} +proc tree_model_sort_convert_path_to_child_path*( + tree_model_sort: PTreeModelSort, sorted_path: PTreePath): PTreePath{.cdecl, + dynlib: lib, importc: "gtk_tree_model_sort_convert_path_to_child_path".} +proc tree_model_sort_convert_iter_to_child_iter*( + tree_model_sort: PTreeModelSort, child_iter: PTreeIter, + sorted_iter: PTreeIter){.cdecl, dynlib: lib, importc: "gtk_tree_model_sort_convert_iter_to_child_iter".} +proc tree_model_sort_reset_default_sort_func*(tree_model_sort: PTreeModelSort){. + cdecl, dynlib: lib, importc: "gtk_tree_model_sort_reset_default_sort_func".} +proc tree_model_sort_clear_cache*(tree_model_sort: PTreeModelSort){.cdecl, + dynlib: lib, importc: "gtk_tree_model_sort_clear_cache".} +const + bm_TGtkListStore_columns_dirty* = 0x0001'i16 + bp_TGtkListStore_columns_dirty* = 0'i16 + +proc TYPE_LIST_STORE*(): GType +proc LIST_STORE*(obj: pointer): PListStore +proc LIST_STORE_CLASS*(klass: pointer): PListStoreClass +proc IS_LIST_STORE*(obj: pointer): bool +proc IS_LIST_STORE_CLASS*(klass: pointer): bool +proc LIST_STORE_GET_CLASS*(obj: pointer): PListStoreClass +proc columns_dirty*(a: var TListStore): guint +proc set_columns_dirty*(a: var TListStore, `columns_dirty`: guint) +proc list_store_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_list_store_get_type".} +proc list_store_newv*(n_columns: gint, types: PGType): PListStore{.cdecl, + dynlib: lib, importc: "gtk_list_store_newv".} +proc list_store_set_column_types*(list_store: PListStore, n_columns: gint, + types: PGType){.cdecl, dynlib: lib, + importc: "gtk_list_store_set_column_types".} +proc list_store_set_value*(list_store: PListStore, iter: PTreeIter, + column: gint, value: PGValue){.cdecl, dynlib: lib, + importc: "gtk_list_store_set_value".} +proc list_store_remove*(list_store: PListStore, iter: PTreeIter){.cdecl, + dynlib: lib, importc: "gtk_list_store_remove".} +proc list_store_insert*(list_store: PListStore, iter: PTreeIter, position: gint){. + cdecl, dynlib: lib, importc: "gtk_list_store_insert".} +proc list_store_insert_before*(list_store: PListStore, iter: PTreeIter, + sibling: PTreeIter){.cdecl, dynlib: lib, + importc: "gtk_list_store_insert_before".} +proc list_store_insert_after*(list_store: PListStore, iter: PTreeIter, + sibling: PTreeIter){.cdecl, dynlib: lib, + importc: "gtk_list_store_insert_after".} +proc list_store_prepend*(list_store: PListStore, iter: PTreeIter){.cdecl, + dynlib: lib, importc: "gtk_list_store_prepend".} +proc list_store_append*(list_store: PListStore, iter: PTreeIter){.cdecl, + dynlib: lib, importc: "gtk_list_store_append".} +proc list_store_clear*(list_store: PListStore){.cdecl, dynlib: lib, + importc: "gtk_list_store_clear".} +when false: + const + PRIORITY_RESIZE* = G_PRIORITY_HIGH_IDLE + 10 +proc check_version*(required_major: guint, required_minor: guint, + required_micro: guint): cstring{.cdecl, dynlib: lib, + importc: "gtk_check_version".} +proc disable_setlocale*(){.cdecl, dynlib: lib, importc: "gtk_disable_setlocale".} +proc set_locale*(): cstring{.cdecl, dynlib: lib, importc: "gtk_set_locale".} +proc get_default_language*(): PPangoLanguage{.cdecl, dynlib: lib, + importc: "gtk_get_default_language".} +proc events_pending*(): gint{.cdecl, dynlib: lib, importc: "gtk_events_pending".} +proc main_do_event*(event: PGdkEvent){.cdecl, dynlib: lib, + importc: "gtk_main_do_event".} +proc main*(){.cdecl, dynlib: lib, importc: "gtk_main".} +proc init*(argc, argv: pointer){.cdecl, dynlib: lib, importc: "gtk_init".} +proc main_level*(): guint{.cdecl, dynlib: lib, importc: "gtk_main_level".} +proc main_quit*(){.cdecl, dynlib: lib, importc: "gtk_main_quit".} +proc main_iteration*(): gboolean{.cdecl, dynlib: lib, + importc: "gtk_main_iteration".} +proc main_iteration_do*(blocking: gboolean): gboolean{.cdecl, dynlib: lib, + importc: "gtk_main_iteration_do".} +proc true*(): gboolean{.cdecl, dynlib: lib, importc: "gtk_true".} +proc false*(): gboolean{.cdecl, dynlib: lib, importc: "gtk_false".} +proc grab_add*(widget: PWidget){.cdecl, dynlib: lib, importc: "gtk_grab_add".} +proc grab_get_current*(): PWidget{.cdecl, dynlib: lib, + importc: "gtk_grab_get_current".} +proc grab_remove*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_grab_remove".} +proc init_add*(`function`: TFunction, data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_init_add".} +proc quit_add_destroy*(main_level: guint, anObject: PObject){.cdecl, + dynlib: lib, importc: "gtk_quit_add_destroy".} +proc quit_add*(main_level: guint, `function`: TFunction, data: gpointer): guint{. + cdecl, dynlib: lib, importc: "gtk_quit_add".} +proc quit_add_full*(main_level: guint, `function`: TFunction, + marshal: TCallbackMarshal, data: gpointer, + destroy: TDestroyNotify): guint{.cdecl, dynlib: lib, + importc: "gtk_quit_add_full".} +proc quit_remove*(quit_handler_id: guint){.cdecl, dynlib: lib, + importc: "gtk_quit_remove".} +proc quit_remove_by_data*(data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_quit_remove_by_data".} +proc timeout_add*(interval: guint32, `function`: TFunction, data: gpointer): guint{. + cdecl, dynlib: lib, importc: "gtk_timeout_add".} +proc timeout_add_full*(interval: guint32, `function`: TFunction, + marshal: TCallbackMarshal, data: gpointer, + destroy: TDestroyNotify): guint{.cdecl, dynlib: lib, + importc: "gtk_timeout_add_full".} +proc timeout_remove*(timeout_handler_id: guint){.cdecl, dynlib: lib, + importc: "gtk_timeout_remove".} +proc idle_add*(`function`: TFunction, data: gpointer): guint{.cdecl, + dynlib: lib, importc: "gtk_idle_add".} +proc idle_add_priority*(priority: gint, `function`: TFunction, data: gpointer): guint{. + cdecl, dynlib: lib, importc: "gtk_idle_add_priority".} +proc idle_add_full*(priority: gint, `function`: TFunction, + marshal: TCallbackMarshal, data: gpointer, + destroy: TDestroyNotify): guint{.cdecl, dynlib: lib, + importc: "gtk_idle_add_full".} +proc idle_remove*(idle_handler_id: guint){.cdecl, dynlib: lib, + importc: "gtk_idle_remove".} +proc idle_remove_by_data*(data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_idle_remove_by_data".} +proc input_add_full*(source: gint, condition: TGdkInputCondition, + `function`: TGdkInputFunction, marshal: TCallbackMarshal, + data: gpointer, destroy: TDestroyNotify): guint{.cdecl, + dynlib: lib, importc: "gtk_input_add_full".} +proc input_remove*(input_handler_id: guint){.cdecl, dynlib: lib, + importc: "gtk_input_remove".} +proc key_snooper_install*(snooper: TKeySnoopFunc, func_data: gpointer): guint{. + cdecl, dynlib: lib, importc: "gtk_key_snooper_install".} +proc key_snooper_remove*(snooper_handler_id: guint){.cdecl, dynlib: lib, + importc: "gtk_key_snooper_remove".} +proc get_current_event*(): PGdkEvent{.cdecl, dynlib: lib, + importc: "gtk_get_current_event".} +proc get_current_event_time*(): guint32{.cdecl, dynlib: lib, + importc: "gtk_get_current_event_time".} +proc get_current_event_state*(state: PGdkModifierType): gboolean{.cdecl, + dynlib: lib, importc: "gtk_get_current_event_state".} +proc get_event_widget*(event: PGdkEvent): PWidget{.cdecl, dynlib: lib, + importc: "gtk_get_event_widget".} +proc propagate_event*(widget: PWidget, event: PGdkEvent){.cdecl, dynlib: lib, + importc: "gtk_propagate_event".} +proc boolean_handled_accumulator*(ihint: PGSignalInvocationHint, + return_accu: PGValue, handler_return: PGValue, + dummy: gpointer): gboolean{.cdecl, + dynlib: lib, importc: "_gtk_boolean_handled_accumulator".} +proc find_module*(name: cstring, thetype: cstring): cstring{.cdecl, dynlib: lib, + importc: "_gtk_find_module".} +proc get_module_path*(thetype: cstring): PPgchar{.cdecl, dynlib: lib, + importc: "_gtk_get_module_path".} +proc TYPE_MENU_BAR*(): GType +proc MENU_BAR*(obj: pointer): PMenuBar +proc MENU_BAR_CLASS*(klass: pointer): PMenuBarClass +proc IS_MENU_BAR*(obj: pointer): bool +proc IS_MENU_BAR_CLASS*(klass: pointer): bool +proc MENU_BAR_GET_CLASS*(obj: pointer): PMenuBarClass +proc menu_bar_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_menu_bar_get_type".} +proc menu_bar_new*(): PMenuBar{.cdecl, dynlib: lib, importc: "gtk_menu_bar_new".} +proc menu_bar_cycle_focus*(menubar: PMenuBar, dir: TDirectionType){.cdecl, + dynlib: lib, importc: "_gtk_menu_bar_cycle_focus".} +proc TYPE_MESSAGE_DIALOG*(): GType +proc MESSAGE_DIALOG*(obj: pointer): PMessageDialog +proc MESSAGE_DIALOG_CLASS*(klass: pointer): PMessageDialogClass +proc IS_MESSAGE_DIALOG*(obj: pointer): bool +proc IS_MESSAGE_DIALOG_CLASS*(klass: pointer): bool +proc MESSAGE_DIALOG_GET_CLASS*(obj: pointer): PMessageDialogClass +proc message_dialog_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_message_dialog_get_type".} +const + bm_TGtkNotebook_show_tabs* = 0x0001'i16 + bp_TGtkNotebook_show_tabs* = 0'i16 + bm_TGtkNotebook_homogeneous* = 0x0002'i16 + bp_TGtkNotebook_homogeneous* = 1'i16 + bm_TGtkNotebook_show_border* = 0x0004'i16 + bp_TGtkNotebook_show_border* = 2'i16 + bm_TGtkNotebook_tab_pos* = 0x0018'i16 + bp_TGtkNotebook_tab_pos* = 3'i16 + bm_TGtkNotebook_scrollable* = 0x0020'i16 + bp_TGtkNotebook_scrollable* = 5'i16 + bm_TGtkNotebook_in_child* = 0x00C0'i16 + bp_TGtkNotebook_in_child* = 6'i16 + bm_TGtkNotebook_click_child* = 0x0300'i16 + bp_TGtkNotebook_click_child* = 8'i16 + bm_TGtkNotebook_button* = 0x0C00'i16 + bp_TGtkNotebook_button* = 10'i16 + bm_TGtkNotebook_need_timer* = 0x1000'i16 + bp_TGtkNotebook_need_timer* = 12'i16 + bm_TGtkNotebook_child_has_focus* = 0x2000'i16 + bp_TGtkNotebook_child_has_focus* = 13'i16 + bm_TGtkNotebook_have_visible_child* = 0x4000'i16 + bp_TGtkNotebook_have_visible_child* = 14'i16 + bm_TGtkNotebook_focus_out* = 0x8000'i16 + bp_TGtkNotebook_focus_out* = 15'i16 + +proc TYPE_NOTEBOOK*(): GType +proc NOTEBOOK*(obj: pointer): PNotebook +proc NOTEBOOK_CLASS*(klass: pointer): PNotebookClass +proc IS_NOTEBOOK*(obj: pointer): bool +proc IS_NOTEBOOK_CLASS*(klass: pointer): bool +proc NOTEBOOK_GET_CLASS*(obj: pointer): PNotebookClass +proc show_tabs*(a: var TNotebook): guint +proc set_show_tabs*(a: var TNotebook, `show_tabs`: guint) +proc homogeneous*(a: var TNotebook): guint +proc set_homogeneous*(a: var TNotebook, `homogeneous`: guint) +proc show_border*(a: var TNotebook): guint +proc set_show_border*(a: var TNotebook, `show_border`: guint) +proc tab_pos*(a: var TNotebook): guint +proc set_tab_pos*(a: var TNotebook, `tab_pos`: guint) +proc scrollable*(a: var TNotebook): guint +proc set_scrollable*(a: var TNotebook, `scrollable`: guint) +proc in_child*(a: var TNotebook): guint +proc set_in_child*(a: var TNotebook, `in_child`: guint) +proc click_child*(a: var TNotebook): guint +proc set_click_child*(a: var TNotebook, `click_child`: guint) +proc button*(a: var TNotebook): guint +proc set_button*(a: var TNotebook, `button`: guint) +proc need_timer*(a: var TNotebook): guint +proc set_need_timer*(a: var TNotebook, `need_timer`: guint) +proc child_has_focus*(a: var TNotebook): guint +proc set_child_has_focus*(a: var TNotebook, `child_has_focus`: guint) +proc have_visible_child*(a: var TNotebook): guint +proc set_have_visible_child*(a: var TNotebook, `have_visible_child`: guint) +proc focus_out*(a: var TNotebook): guint +proc set_focus_out*(a: var TNotebook, `focus_out`: guint) +proc notebook_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_notebook_get_type".} +proc notebook_new*(): PNotebook{.cdecl, dynlib: lib, importc: "gtk_notebook_new".} +proc notebook_append_page*(notebook: PNotebook, child: PWidget, + tab_label: PWidget): gint{.cdecl, dynlib: lib, + importc: "gtk_notebook_append_page".} +proc notebook_append_page_menu*(notebook: PNotebook, child: PWidget, + tab_label: PWidget, menu_label: PWidget): gint{. + cdecl, dynlib: lib, importc: "gtk_notebook_append_page_menu".} +proc notebook_prepend_page*(notebook: PNotebook, child: PWidget, + tab_label: PWidget): gint{.cdecl, dynlib: lib, + importc: "gtk_notebook_prepend_page".} +proc notebook_prepend_page_menu*(notebook: PNotebook, child: PWidget, + tab_label: PWidget, menu_label: PWidget): gint{. + cdecl, dynlib: lib, importc: "gtk_notebook_prepend_page_menu".} +proc notebook_insert_page*(notebook: PNotebook, child: PWidget, + tab_label: PWidget, position: gint): gint{.cdecl, + dynlib: lib, importc: "gtk_notebook_insert_page".} +proc notebook_insert_page_menu*(notebook: PNotebook, child: PWidget, + tab_label: PWidget, menu_label: PWidget, + position: gint): gint{.cdecl, dynlib: lib, + importc: "gtk_notebook_insert_page_menu".} +proc notebook_remove_page*(notebook: PNotebook, page_num: gint){.cdecl, + dynlib: lib, importc: "gtk_notebook_remove_page".} +proc notebook_get_current_page*(notebook: PNotebook): gint{.cdecl, dynlib: lib, + importc: "gtk_notebook_get_current_page".} +proc notebook_get_n_pages*(notebook: PNotebook): gint{.cdecl, dynlib: lib, + importc: "gtk_notebook_get_n_pages".} +proc notebook_get_nth_page*(notebook: PNotebook, page_num: gint): PWidget{. + cdecl, dynlib: lib, importc: "gtk_notebook_get_nth_page".} +proc notebook_page_num*(notebook: PNotebook, child: PWidget): gint{.cdecl, + dynlib: lib, importc: "gtk_notebook_page_num".} +proc notebook_set_current_page*(notebook: PNotebook, page_num: gint){.cdecl, + dynlib: lib, importc: "gtk_notebook_set_current_page".} +proc notebook_next_page*(notebook: PNotebook){.cdecl, dynlib: lib, + importc: "gtk_notebook_next_page".} +proc notebook_prev_page*(notebook: PNotebook){.cdecl, dynlib: lib, + importc: "gtk_notebook_prev_page".} +proc notebook_set_show_border*(notebook: PNotebook, show_border: gboolean){. + cdecl, dynlib: lib, importc: "gtk_notebook_set_show_border".} +proc notebook_get_show_border*(notebook: PNotebook): gboolean{.cdecl, + dynlib: lib, importc: "gtk_notebook_get_show_border".} +proc notebook_set_show_tabs*(notebook: PNotebook, show_tabs: gboolean){.cdecl, + dynlib: lib, importc: "gtk_notebook_set_show_tabs".} +proc notebook_get_show_tabs*(notebook: PNotebook): gboolean{.cdecl, dynlib: lib, + importc: "gtk_notebook_get_show_tabs".} +proc notebook_set_tab_pos*(notebook: PNotebook, pos: TPositionType){.cdecl, + dynlib: lib, importc: "gtk_notebook_set_tab_pos".} +proc notebook_get_tab_pos*(notebook: PNotebook): TPositionType{.cdecl, + dynlib: lib, importc: "gtk_notebook_get_tab_pos".} +proc notebook_set_scrollable*(notebook: PNotebook, scrollable: gboolean){.cdecl, + dynlib: lib, importc: "gtk_notebook_set_scrollable".} +proc notebook_get_scrollable*(notebook: PNotebook): gboolean{.cdecl, + dynlib: lib, importc: "gtk_notebook_get_scrollable".} +proc notebook_popup_enable*(notebook: PNotebook){.cdecl, dynlib: lib, + importc: "gtk_notebook_popup_enable".} +proc notebook_popup_disable*(notebook: PNotebook){.cdecl, dynlib: lib, + importc: "gtk_notebook_popup_disable".} +proc notebook_get_tab_label*(notebook: PNotebook, child: PWidget): PWidget{. + cdecl, dynlib: lib, importc: "gtk_notebook_get_tab_label".} +proc notebook_set_tab_label*(notebook: PNotebook, child: PWidget, + tab_label: PWidget){.cdecl, dynlib: lib, + importc: "gtk_notebook_set_tab_label".} +proc notebook_set_tab_label_text*(notebook: PNotebook, child: PWidget, + tab_text: cstring){.cdecl, dynlib: lib, + importc: "gtk_notebook_set_tab_label_text".} +proc notebook_get_tab_label_text*(notebook: PNotebook, child: PWidget): cstring{. + cdecl, dynlib: lib, importc: "gtk_notebook_get_tab_label_text".} +proc notebook_get_menu_label*(notebook: PNotebook, child: PWidget): PWidget{. + cdecl, dynlib: lib, importc: "gtk_notebook_get_menu_label".} +proc notebook_set_menu_label*(notebook: PNotebook, child: PWidget, + menu_label: PWidget){.cdecl, dynlib: lib, + importc: "gtk_notebook_set_menu_label".} +proc notebook_set_menu_label_text*(notebook: PNotebook, child: PWidget, + menu_text: cstring){.cdecl, dynlib: lib, + importc: "gtk_notebook_set_menu_label_text".} +proc notebook_get_menu_label_text*(notebook: PNotebook, child: PWidget): cstring{. + cdecl, dynlib: lib, importc: "gtk_notebook_get_menu_label_text".} +proc notebook_query_tab_label_packing*(notebook: PNotebook, child: PWidget, + expand: Pgboolean, fill: Pgboolean, + pack_type: PPackType){.cdecl, + dynlib: lib, importc: "gtk_notebook_query_tab_label_packing".} +proc notebook_set_tab_label_packing*(notebook: PNotebook, child: PWidget, + expand: gboolean, fill: gboolean, + pack_type: TPackType){.cdecl, dynlib: lib, + importc: "gtk_notebook_set_tab_label_packing".} +proc notebook_reorder_child*(notebook: PNotebook, child: PWidget, position: gint){. + cdecl, dynlib: lib, importc: "gtk_notebook_reorder_child".} +const + bm_TGtkOldEditable_has_selection* = 0x0001'i16 + bp_TGtkOldEditable_has_selection* = 0'i16 + bm_TGtkOldEditable_editable* = 0x0002'i16 + bp_TGtkOldEditable_editable* = 1'i16 + bm_TGtkOldEditable_visible* = 0x0004'i16 + bp_TGtkOldEditable_visible* = 2'i16 + +proc TYPE_OLD_EDITABLE*(): GType +proc OLD_EDITABLE*(obj: pointer): POldEditable +proc OLD_EDITABLE_CLASS*(klass: pointer): POldEditableClass +proc IS_OLD_EDITABLE*(obj: pointer): bool +proc IS_OLD_EDITABLE_CLASS*(klass: pointer): bool +proc OLD_EDITABLE_GET_CLASS*(obj: pointer): POldEditableClass +proc has_selection*(a: var TOldEditable): guint +proc set_has_selection*(a: var TOldEditable, `has_selection`: guint) +proc editable*(a: var TOldEditable): guint +proc set_editable*(a: var TOldEditable, `editable`: guint) +proc visible*(a: var TOldEditable): guint +proc set_visible*(a: var TOldEditable, `visible`: guint) +proc old_editable_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_old_editable_get_type".} +proc old_editable_claim_selection*(old_editable: POldEditable, claim: gboolean, + time: guint32){.cdecl, dynlib: lib, + importc: "gtk_old_editable_claim_selection".} +proc old_editable_changed*(old_editable: POldEditable){.cdecl, dynlib: lib, + importc: "gtk_old_editable_changed".} +proc TYPE_OPTION_MENU*(): GType +proc OPTION_MENU*(obj: pointer): POptionMenu +proc OPTION_MENU_CLASS*(klass: pointer): POptionMenuClass +proc IS_OPTION_MENU*(obj: pointer): bool +proc IS_OPTION_MENU_CLASS*(klass: pointer): bool +proc OPTION_MENU_GET_CLASS*(obj: pointer): POptionMenuClass +proc option_menu_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_option_menu_get_type".} +proc option_menu_new*(): POptionMenu{.cdecl, dynlib: lib, + importc: "gtk_option_menu_new".} +proc option_menu_get_menu*(option_menu: POptionMenu): PWidget{.cdecl, + dynlib: lib, importc: "gtk_option_menu_get_menu".} +proc option_menu_set_menu*(option_menu: POptionMenu, menu: PWidget){.cdecl, + dynlib: lib, importc: "gtk_option_menu_set_menu".} +proc option_menu_remove_menu*(option_menu: POptionMenu){.cdecl, dynlib: lib, + importc: "gtk_option_menu_remove_menu".} +proc option_menu_get_history*(option_menu: POptionMenu): gint{.cdecl, + dynlib: lib, importc: "gtk_option_menu_get_history".} +proc option_menu_set_history*(option_menu: POptionMenu, index: guint){.cdecl, + dynlib: lib, importc: "gtk_option_menu_set_history".} +const + bm_TGtkPixmap_build_insensitive* = 0x0001'i16 + bp_TGtkPixmap_build_insensitive* = 0'i16 + +proc TYPE_PIXMAP*(): GType +proc PIXMAP*(obj: pointer): PPixmap +proc PIXMAP_CLASS*(klass: pointer): PPixmapClass +proc IS_PIXMAP*(obj: pointer): bool +proc IS_PIXMAP_CLASS*(klass: pointer): bool +proc PIXMAP_GET_CLASS*(obj: pointer): PPixmapClass +proc build_insensitive*(a: var TPixmap): guint +proc set_build_insensitive*(a: var TPixmap, `build_insensitive`: guint) +proc pixmap_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_pixmap_get_type".} +proc pixmap_new*(pixmap: PGdkPixmap, mask: PGdkBitmap): PPixmap{.cdecl, + dynlib: lib, importc: "gtk_pixmap_new".} +proc pixmap_set*(pixmap: PPixmap, val: PGdkPixmap, mask: PGdkBitmap){.cdecl, + dynlib: lib, importc: "gtk_pixmap_set".} +proc pixmap_get*(pixmap: PPixmap, val: var PGdkPixmap, mask: var PGdkBitmap){. + cdecl, dynlib: lib, importc: "gtk_pixmap_get".} +proc pixmap_set_build_insensitive*(pixmap: PPixmap, build: gboolean){.cdecl, + dynlib: lib, importc: "gtk_pixmap_set_build_insensitive".} +const + bm_TGtkPlug_same_app* = 0x0001'i16 + bp_TGtkPlug_same_app* = 0'i16 + +proc TYPE_PLUG*(): GType +proc PLUG*(obj: pointer): PPlug +proc PLUG_CLASS*(klass: pointer): PPlugClass +proc IS_PLUG*(obj: pointer): bool +proc IS_PLUG_CLASS*(klass: pointer): bool +proc PLUG_GET_CLASS*(obj: pointer): PPlugClass +proc same_app*(a: var TPlug): guint +proc set_same_app*(a: var TPlug, `same_app`: guint) +proc plug_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_plug_get_type".} +proc plug_construct_for_display*(plug: PPlug, display: PGdkDisplay, + socket_id: TGdkNativeWindow){.cdecl, + dynlib: lib, importc: "gtk_plug_construct_for_display".} +proc plug_new_for_display*(display: PGdkDisplay, socket_id: TGdkNativeWindow): PPlug{. + cdecl, dynlib: lib, importc: "gtk_plug_new_for_display".} +proc plug_get_id*(plug: PPlug): TGdkNativeWindow{.cdecl, dynlib: lib, + importc: "gtk_plug_get_id".} +proc plug_add_to_socket*(plug: PPlug, socket: PSocket){.cdecl, dynlib: lib, + importc: "_gtk_plug_add_to_socket".} +proc plug_remove_from_socket*(plug: PPlug, socket: PSocket){.cdecl, dynlib: lib, + importc: "_gtk_plug_remove_from_socket".} +const + bm_TGtkPreview_type* = 0x0001'i16 + bp_TGtkPreview_type* = 0'i16 + bm_TGtkPreview_expand* = 0x0002'i16 + bp_TGtkPreview_expand* = 1'i16 + +proc TYPE_PREVIEW*(): GType +proc PREVIEW*(obj: pointer): PPreview +proc PREVIEW_CLASS*(klass: pointer): PPreviewClass +proc IS_PREVIEW*(obj: pointer): bool +proc IS_PREVIEW_CLASS*(klass: pointer): bool +proc PREVIEW_GET_CLASS*(obj: pointer): PPreviewClass +proc get_type*(a: var TPreview): guint +proc set_type*(a: var TPreview, `type`: guint) +proc get_expand*(a: var TPreview): guint +proc set_expand*(a: var TPreview, `expand`: guint) +proc preview_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_preview_get_type".} +proc preview_uninit*(){.cdecl, dynlib: lib, importc: "gtk_preview_uninit".} +proc preview_new*(thetype: TPreviewClass): PPreview{.cdecl, dynlib: lib, + importc: "gtk_preview_new".} +proc preview_size*(preview: PPreview, width: gint, height: gint){.cdecl, + dynlib: lib, importc: "gtk_preview_size".} +proc preview_put*(preview: PPreview, window: PGdkWindow, gc: PGdkGC, srcx: gint, + srcy: gint, destx: gint, desty: gint, width: gint, + height: gint){.cdecl, dynlib: lib, importc: "gtk_preview_put".} +proc preview_draw_row*(preview: PPreview, data: Pguchar, x: gint, y: gint, + w: gint){.cdecl, dynlib: lib, + importc: "gtk_preview_draw_row".} +proc preview_set_expand*(preview: PPreview, expand: gboolean){.cdecl, + dynlib: lib, importc: "gtk_preview_set_expand".} +proc preview_set_gamma*(gamma: float64){.cdecl, dynlib: lib, + importc: "gtk_preview_set_gamma".} +proc preview_set_color_cube*(nred_shades: guint, ngreen_shades: guint, + nblue_shades: guint, ngray_shades: guint){.cdecl, + dynlib: lib, importc: "gtk_preview_set_color_cube".} +proc preview_set_install_cmap*(install_cmap: gint){.cdecl, dynlib: lib, + importc: "gtk_preview_set_install_cmap".} +proc preview_set_reserved*(nreserved: gint){.cdecl, dynlib: lib, + importc: "gtk_preview_set_reserved".} +proc preview_set_dither*(preview: PPreview, dither: TGdkRgbDither){.cdecl, + dynlib: lib, importc: "gtk_preview_set_dither".} +proc preview_get_info*(): PPreviewInfo{.cdecl, dynlib: lib, + importc: "gtk_preview_get_info".} +proc preview_reset*(){.cdecl, dynlib: lib, importc: "gtk_preview_reset".} +const + bm_TGtkProgress_show_text* = 0x0001'i16 + bp_TGtkProgress_show_text* = 0'i16 + bm_TGtkProgress_activity_mode* = 0x0002'i16 + bp_TGtkProgress_activity_mode* = 1'i16 + bm_TGtkProgress_use_text_format* = 0x0004'i16 + bp_TGtkProgress_use_text_format* = 2'i16 + +proc show_text*(a: var TProgress): guint +proc set_show_text*(a: var TProgress, `show_text`: guint) +proc activity_mode*(a: var TProgress): guint +proc set_activity_mode*(a: var TProgress, `activity_mode`: guint) +proc use_text_format*(a: var TProgress): guint +proc set_use_text_format*(a: var TProgress, `use_text_format`: guint) +const + bm_TGtkProgressBar_activity_dir* = 0x0001'i16 + bp_TGtkProgressBar_activity_dir* = 0'i16 + +proc TYPE_PROGRESS_BAR*(): GType +proc PROGRESS_BAR*(obj: pointer): PProgressBar +proc PROGRESS_BAR_CLASS*(klass: pointer): PProgressBarClass +proc IS_PROGRESS_BAR*(obj: pointer): bool +proc IS_PROGRESS_BAR_CLASS*(klass: pointer): bool +proc PROGRESS_BAR_GET_CLASS*(obj: pointer): PProgressBarClass +proc activity_dir*(a: var TProgressBar): guint +proc set_activity_dir*(a: var TProgressBar, `activity_dir`: guint) +proc progress_bar_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_progress_bar_get_type".} +proc progress_bar_new*(): PProgressBar{.cdecl, dynlib: lib, + importc: "gtk_progress_bar_new".} +proc progress_bar_pulse*(pbar: PProgressBar){.cdecl, dynlib: lib, + importc: "gtk_progress_bar_pulse".} +proc progress_bar_set_text*(pbar: PProgressBar, text: cstring){.cdecl, + dynlib: lib, importc: "gtk_progress_bar_set_text".} +proc progress_bar_set_fraction*(pbar: PProgressBar, fraction: gdouble){.cdecl, + dynlib: lib, importc: "gtk_progress_bar_set_fraction".} +proc progress_bar_set_pulse_step*(pbar: PProgressBar, fraction: gdouble){.cdecl, + dynlib: lib, importc: "gtk_progress_bar_set_pulse_step".} +proc progress_bar_set_orientation*(pbar: PProgressBar, + orientation: TProgressBarOrientation){.cdecl, + dynlib: lib, importc: "gtk_progress_bar_set_orientation".} +proc progress_bar_get_text*(pbar: PProgressBar): cstring{.cdecl, dynlib: lib, + importc: "gtk_progress_bar_get_text".} +proc progress_bar_get_fraction*(pbar: PProgressBar): gdouble{.cdecl, + dynlib: lib, importc: "gtk_progress_bar_get_fraction".} +proc progress_bar_get_pulse_step*(pbar: PProgressBar): gdouble{.cdecl, + dynlib: lib, importc: "gtk_progress_bar_get_pulse_step".} +proc progress_bar_get_orientation*(pbar: PProgressBar): TProgressBarOrientation{. + cdecl, dynlib: lib, importc: "gtk_progress_bar_get_orientation".} +proc TYPE_RADIO_BUTTON*(): GType +proc RADIO_BUTTON*(obj: pointer): PRadioButton +proc RADIO_BUTTON_CLASS*(klass: pointer): PRadioButtonClass +proc IS_RADIO_BUTTON*(obj: pointer): bool +proc IS_RADIO_BUTTON_CLASS*(klass: pointer): bool +proc RADIO_BUTTON_GET_CLASS*(obj: pointer): PRadioButtonClass +proc radio_button_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_radio_button_get_type".} +proc radio_button_new*(group: PGSList): PRadioButton{.cdecl, dynlib: lib, + importc: "gtk_radio_button_new".} +proc radio_button_new_from_widget*(group: PRadioButton): PRadioButton{.cdecl, + dynlib: lib, importc: "gtk_radio_button_new_from_widget".} +proc radio_button_new_with_label*(group: PGSList, `label`: cstring): PRadioButton{. + cdecl, dynlib: lib, importc: "gtk_radio_button_new_with_label".} +proc radio_button_new_with_label_from_widget*(group: PRadioButton, + `label`: cstring): PRadioButton{.cdecl, dynlib: lib, importc: "gtk_radio_button_new_with_label_from_widget".} +proc radio_button_new_with_mnemonic*(group: PGSList, `label`: cstring): PRadioButton{. + cdecl, dynlib: lib, importc: "gtk_radio_button_new_with_mnemonic".} +proc radio_button_new_with_mnemonic_from_widget*(group: PRadioButton, + `label`: cstring): PRadioButton{.cdecl, dynlib: lib, importc: "gtk_radio_button_new_with_mnemonic_from_widget".} +proc radio_button_get_group*(radio_button: PRadioButton): PGSList{.cdecl, + dynlib: lib, importc: "gtk_radio_button_get_group".} +proc radio_button_set_group*(radio_button: PRadioButton, group: PGSList){.cdecl, + dynlib: lib, importc: "gtk_radio_button_set_group".} +proc TYPE_RADIO_MENU_ITEM*(): GType +proc RADIO_MENU_ITEM*(obj: pointer): PRadioMenuItem +proc RADIO_MENU_ITEM_CLASS*(klass: pointer): PRadioMenuItemClass +proc IS_RADIO_MENU_ITEM*(obj: pointer): bool +proc IS_RADIO_MENU_ITEM_CLASS*(klass: pointer): bool +proc RADIO_MENU_ITEM_GET_CLASS*(obj: pointer): PRadioMenuItemClass +proc radio_menu_item_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_radio_menu_item_get_type".} +proc radio_menu_item_new*(group: PGSList): PRadioMenuItem{.cdecl, dynlib: lib, + importc: "gtk_radio_menu_item_new".} +proc radio_menu_item_new_with_label*(group: PGSList, `label`: cstring): PRadioMenuItem{. + cdecl, dynlib: lib, importc: "gtk_radio_menu_item_new_with_label".} +proc radio_menu_item_new_with_mnemonic*(group: PGSList, `label`: cstring): PRadioMenuItem{. + cdecl, dynlib: lib, importc: "gtk_radio_menu_item_new_with_mnemonic".} +proc radio_menu_item_get_group*(radio_menu_item: PRadioMenuItem): PGSList{. + cdecl, dynlib: lib, importc: "gtk_radio_menu_item_get_group".} +proc radio_menu_item_set_group*(radio_menu_item: PRadioMenuItem, group: PGSList){. + cdecl, dynlib: lib, importc: "gtk_radio_menu_item_set_group".} +const + bm_TGtkScrolledWindow_hscrollbar_policy* = 0x0003'i16 + bp_TGtkScrolledWindow_hscrollbar_policy* = 0'i16 + bm_TGtkScrolledWindow_vscrollbar_policy* = 0x000C'i16 + bp_TGtkScrolledWindow_vscrollbar_policy* = 2'i16 + bm_TGtkScrolledWindow_hscrollbar_visible* = 0x0010'i16 + bp_TGtkScrolledWindow_hscrollbar_visible* = 4'i16 + bm_TGtkScrolledWindow_vscrollbar_visible* = 0x0020'i16 + bp_TGtkScrolledWindow_vscrollbar_visible* = 5'i16 + bm_TGtkScrolledWindow_window_placement* = 0x00C0'i16 + bp_TGtkScrolledWindow_window_placement* = 6'i16 + bm_TGtkScrolledWindow_focus_out* = 0x0100'i16 + bp_TGtkScrolledWindow_focus_out* = 8'i16 + +proc TYPE_SCROLLED_WINDOW*(): GType +proc SCROLLED_WINDOW*(obj: pointer): PScrolledWindow +proc SCROLLED_WINDOW_CLASS*(klass: pointer): PScrolledWindowClass +proc IS_SCROLLED_WINDOW*(obj: pointer): bool +proc IS_SCROLLED_WINDOW_CLASS*(klass: pointer): bool +proc SCROLLED_WINDOW_GET_CLASS*(obj: pointer): PScrolledWindowClass +proc hscrollbar_policy*(a: var TScrolledWindow): guint +proc set_hscrollbar_policy*(a: var TScrolledWindow, `hscrollbar_policy`: guint) +proc vscrollbar_policy*(a: var TScrolledWindow): guint +proc set_vscrollbar_policy*(a: var TScrolledWindow, `vscrollbar_policy`: guint) +proc hscrollbar_visible*(a: var TScrolledWindow): guint +proc set_hscrollbar_visible*(a: var TScrolledWindow, `hscrollbar_visible`: guint) +proc vscrollbar_visible*(a: var TScrolledWindow): guint +proc set_vscrollbar_visible*(a: var TScrolledWindow, `vscrollbar_visible`: guint) +proc window_placement*(a: var TScrolledWindow): guint +proc set_window_placement*(a: var TScrolledWindow, `window_placement`: guint) +proc focus_out*(a: var TScrolledWindow): guint +proc set_focus_out*(a: var TScrolledWindow, `focus_out`: guint) +proc scrolled_window_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_scrolled_window_get_type".} +proc scrolled_window_new*(hadjustment: PAdjustment, vadjustment: PAdjustment): PScrolledWindow{. + cdecl, dynlib: lib, importc: "gtk_scrolled_window_new".} +proc scrolled_window_set_hadjustment*(scrolled_window: PScrolledWindow, + hadjustment: PAdjustment){.cdecl, + dynlib: lib, importc: "gtk_scrolled_window_set_hadjustment".} +proc scrolled_window_set_vadjustment*(scrolled_window: PScrolledWindow, + hadjustment: PAdjustment){.cdecl, + dynlib: lib, importc: "gtk_scrolled_window_set_vadjustment".} +proc scrolled_window_get_hadjustment*(scrolled_window: PScrolledWindow): PAdjustment{. + cdecl, dynlib: lib, importc: "gtk_scrolled_window_get_hadjustment".} +proc scrolled_window_get_vadjustment*(scrolled_window: PScrolledWindow): PAdjustment{. + cdecl, dynlib: lib, importc: "gtk_scrolled_window_get_vadjustment".} +proc scrolled_window_set_policy*(scrolled_window: PScrolledWindow, + hscrollbar_policy: TPolicyType, + vscrollbar_policy: TPolicyType){.cdecl, + dynlib: lib, importc: "gtk_scrolled_window_set_policy".} +proc scrolled_window_get_policy*(scrolled_window: PScrolledWindow, + hscrollbar_policy: PPolicyType, + vscrollbar_policy: PPolicyType){.cdecl, + dynlib: lib, importc: "gtk_scrolled_window_get_policy".} +proc scrolled_window_set_placement*(scrolled_window: PScrolledWindow, + window_placement: TCornerType){.cdecl, + dynlib: lib, importc: "gtk_scrolled_window_set_placement".} +proc scrolled_window_get_placement*(scrolled_window: PScrolledWindow): TCornerType{. + cdecl, dynlib: lib, importc: "gtk_scrolled_window_get_placement".} +proc scrolled_window_set_shadow_type*(scrolled_window: PScrolledWindow, + thetype: TShadowType){.cdecl, dynlib: lib, + importc: "gtk_scrolled_window_set_shadow_type".} +proc scrolled_window_get_shadow_type*(scrolled_window: PScrolledWindow): TShadowType{. + cdecl, dynlib: lib, importc: "gtk_scrolled_window_get_shadow_type".} +proc scrolled_window_add_with_viewport*(scrolled_window: PScrolledWindow, + child: PWidget){.cdecl, dynlib: lib, + importc: "gtk_scrolled_window_add_with_viewport".} +proc TYPE_SELECTION_DATA*(): GType +proc target_list_new*(targets: PTargetEntry, ntargets: guint): PTargetList{. + cdecl, dynlib: lib, importc: "gtk_target_list_new".} +proc target_list_ref*(list: PTargetList){.cdecl, dynlib: lib, + importc: "gtk_target_list_ref".} +proc target_list_unref*(list: PTargetList){.cdecl, dynlib: lib, + importc: "gtk_target_list_unref".} +proc target_list_add*(list: PTargetList, target: TGdkAtom, flags: guint, + info: guint){.cdecl, dynlib: lib, + importc: "gtk_target_list_add".} +proc target_list_add_table*(list: PTargetList, targets: PTargetEntry, + ntargets: guint){.cdecl, dynlib: lib, + importc: "gtk_target_list_add_table".} +proc target_list_remove*(list: PTargetList, target: TGdkAtom){.cdecl, + dynlib: lib, importc: "gtk_target_list_remove".} +proc target_list_find*(list: PTargetList, target: TGdkAtom, info: Pguint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_target_list_find".} +proc selection_owner_set*(widget: PWidget, selection: TGdkAtom, time: guint32): gboolean{. + cdecl, dynlib: lib, importc: "gtk_selection_owner_set".} +proc selection_owner_set_for_display*(display: PGdkDisplay, widget: PWidget, + selection: TGdkAtom, time: guint32): gboolean{. + cdecl, dynlib: lib, importc: "gtk_selection_owner_set_for_display".} +proc selection_add_target*(widget: PWidget, selection: TGdkAtom, + target: TGdkAtom, info: guint){.cdecl, dynlib: lib, + importc: "gtk_selection_add_target".} +proc selection_add_targets*(widget: PWidget, selection: TGdkAtom, + targets: PTargetEntry, ntargets: guint){.cdecl, + dynlib: lib, importc: "gtk_selection_add_targets".} +proc selection_clear_targets*(widget: PWidget, selection: TGdkAtom){.cdecl, + dynlib: lib, importc: "gtk_selection_clear_targets".} +proc selection_convert*(widget: PWidget, selection: TGdkAtom, target: TGdkAtom, + time: guint32): gboolean{.cdecl, dynlib: lib, + importc: "gtk_selection_convert".} +proc selection_data_set*(selection_data: PSelectionData, thetype: TGdkAtom, + format: gint, data: Pguchar, length: gint){.cdecl, + dynlib: lib, importc: "gtk_selection_data_set".} +proc selection_data_set_text*(selection_data: PSelectionData, str: cstring, + len: gint): gboolean{.cdecl, dynlib: lib, + importc: "gtk_selection_data_set_text".} +proc selection_data_get_text*(selection_data: PSelectionData): Pguchar{.cdecl, + dynlib: lib, importc: "gtk_selection_data_get_text".} +proc selection_data_targets_include_text*(selection_data: PSelectionData): gboolean{. + cdecl, dynlib: lib, importc: "gtk_selection_data_targets_include_text".} +proc selection_remove_all*(widget: PWidget){.cdecl, dynlib: lib, + importc: "gtk_selection_remove_all".} +proc selection_clear*(widget: PWidget, event: PGdkEventSelection): gboolean{. + cdecl, dynlib: lib, importc: "gtk_selection_clear".} +proc selection_request*(widget: PWidget, event: PGdkEventSelection): gboolean{. + cdecl, dynlib: lib, importc: "gtk_selection_request".} +proc selection_incr_event*(window: PGdkWindow, event: PGdkEventProperty): gboolean{. + cdecl, dynlib: lib, importc: "gtk_selection_incr_event".} +proc selection_notify*(widget: PWidget, event: PGdkEventSelection): gboolean{. + cdecl, dynlib: lib, importc: "gtk_selection_notify".} +proc selection_property_notify*(widget: PWidget, event: PGdkEventProperty): gboolean{. + cdecl, dynlib: lib, importc: "gtk_selection_property_notify".} +proc selection_data_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_selection_data_get_type".} +proc selection_data_copy*(data: PSelectionData): PSelectionData{.cdecl, + dynlib: lib, importc: "gtk_selection_data_copy".} +proc selection_data_free*(data: PSelectionData){.cdecl, dynlib: lib, + importc: "gtk_selection_data_free".} +proc TYPE_SEPARATOR_MENU_ITEM*(): GType +proc SEPARATOR_MENU_ITEM*(obj: pointer): PSeparatorMenuItem +proc SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): PSeparatorMenuItemClass +proc IS_SEPARATOR_MENU_ITEM*(obj: pointer): bool +proc IS_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): bool +proc SEPARATOR_MENU_ITEM_GET_CLASS*(obj: pointer): PSeparatorMenuItemClass +proc separator_menu_item_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_separator_menu_item_get_type".} +proc separator_menu_item_new*(): PSeparatorMenuItem{.cdecl, dynlib: lib, + importc: "gtk_separator_menu_item_new".} +const + bm_TGtkSizeGroup_have_width* = 0x0001'i16 + bp_TGtkSizeGroup_have_width* = 0'i16 + bm_TGtkSizeGroup_have_height* = 0x0002'i16 + bp_TGtkSizeGroup_have_height* = 1'i16 + +proc TYPE_SIZE_GROUP*(): GType +proc SIZE_GROUP*(obj: pointer): PSizeGroup +proc SIZE_GROUP_CLASS*(klass: pointer): PSizeGroupClass +proc IS_SIZE_GROUP*(obj: pointer): bool +proc IS_SIZE_GROUP_CLASS*(klass: pointer): bool +proc SIZE_GROUP_GET_CLASS*(obj: pointer): PSizeGroupClass +proc have_width*(a: var TSizeGroup): guint +proc set_have_width*(a: var TSizeGroup, `have_width`: guint) +proc have_height*(a: var TSizeGroup): guint +proc set_have_height*(a: var TSizeGroup, `have_height`: guint) +proc size_group_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_size_group_get_type".} +proc size_group_new*(mode: TSizeGroupMode): PSizeGroup{.cdecl, dynlib: lib, + importc: "gtk_size_group_new".} +proc size_group_set_mode*(size_group: PSizeGroup, mode: TSizeGroupMode){.cdecl, + dynlib: lib, importc: "gtk_size_group_set_mode".} +proc size_group_get_mode*(size_group: PSizeGroup): TSizeGroupMode{.cdecl, + dynlib: lib, importc: "gtk_size_group_get_mode".} +proc size_group_add_widget*(size_group: PSizeGroup, widget: PWidget){.cdecl, + dynlib: lib, importc: "gtk_size_group_add_widget".} +proc size_group_remove_widget*(size_group: PSizeGroup, widget: PWidget){.cdecl, + dynlib: lib, importc: "gtk_size_group_remove_widget".} +proc size_group_get_child_requisition*(widget: PWidget, + requisition: PRequisition){.cdecl, + dynlib: lib, importc: "_gtk_size_group_get_child_requisition".} +proc size_group_compute_requisition*(widget: PWidget, requisition: PRequisition){. + cdecl, dynlib: lib, importc: "_gtk_size_group_compute_requisition".} +proc size_group_queue_resize*(widget: PWidget){.cdecl, dynlib: lib, + importc: "_gtk_size_group_queue_resize".} +const + bm_TGtkSocket_same_app* = 0x0001'i16 + bp_TGtkSocket_same_app* = 0'i16 + bm_TGtkSocket_focus_in* = 0x0002'i16 + bp_TGtkSocket_focus_in* = 1'i16 + bm_TGtkSocket_have_size* = 0x0004'i16 + bp_TGtkSocket_have_size* = 2'i16 + bm_TGtkSocket_need_map* = 0x0008'i16 + bp_TGtkSocket_need_map* = 3'i16 + bm_TGtkSocket_is_mapped* = 0x0010'i16 + bp_TGtkSocket_is_mapped* = 4'i16 + +proc TYPE_SOCKET*(): GType +proc SOCKET*(obj: pointer): PSocket +proc SOCKET_CLASS*(klass: pointer): PSocketClass +proc IS_SOCKET*(obj: pointer): bool +proc IS_SOCKET_CLASS*(klass: pointer): bool +proc SOCKET_GET_CLASS*(obj: pointer): PSocketClass +proc same_app*(a: var TSocket): guint +proc set_same_app*(a: var TSocket, `same_app`: guint) +proc focus_in*(a: var TSocket): guint +proc set_focus_in*(a: var TSocket, `focus_in`: guint) +proc have_size*(a: var TSocket): guint +proc set_have_size*(a: var TSocket, `have_size`: guint) +proc need_map*(a: var TSocket): guint +proc set_need_map*(a: var TSocket, `need_map`: guint) +proc is_mapped*(a: var TSocket): guint +proc set_is_mapped*(a: var TSocket, `is_mapped`: guint) +proc socket_new*(): PSocket{.cdecl, dynlib: lib, importc: "gtk_socket_new".} +proc socket_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_socket_get_type".} +proc socket_add_id*(socket: PSocket, window_id: TGdkNativeWindow){.cdecl, + dynlib: lib, importc: "gtk_socket_add_id".} +proc socket_get_id*(socket: PSocket): TGdkNativeWindow{.cdecl, dynlib: lib, + importc: "gtk_socket_get_id".} +const + INPUT_ERROR* = - (1) + bm_TGtkSpinButton_in_child* = 0x00000003'i32 + bp_TGtkSpinButton_in_child* = 0'i32 + bm_TGtkSpinButton_click_child* = 0x0000000C'i32 + bp_TGtkSpinButton_click_child* = 2'i32 + bm_TGtkSpinButton_button* = 0x00000030'i32 + bp_TGtkSpinButton_button* = 4'i32 + bm_TGtkSpinButton_need_timer* = 0x00000040'i32 + bp_TGtkSpinButton_need_timer* = 6'i32 + bm_TGtkSpinButton_timer_calls* = 0x00000380'i32 + bp_TGtkSpinButton_timer_calls* = 7'i32 + bm_TGtkSpinButton_digits* = 0x000FFC00'i32 + bp_TGtkSpinButton_digits* = 10'i32 + bm_TGtkSpinButton_numeric* = 0x00100000'i32 + bp_TGtkSpinButton_numeric* = 20'i32 + bm_TGtkSpinButton_wrap* = 0x00200000'i32 + bp_TGtkSpinButton_wrap* = 21'i32 + bm_TGtkSpinButton_snap_to_ticks* = 0x00400000'i32 + bp_TGtkSpinButton_snap_to_ticks* = 22'i32 + +proc TYPE_SPIN_BUTTON*(): GType +proc SPIN_BUTTON*(obj: pointer): PSpinButton +proc SPIN_BUTTON_CLASS*(klass: pointer): PSpinButtonClass +proc IS_SPIN_BUTTON*(obj: pointer): bool +proc IS_SPIN_BUTTON_CLASS*(klass: pointer): bool +proc SPIN_BUTTON_GET_CLASS*(obj: pointer): PSpinButtonClass +proc in_child*(a: var TSpinButton): guint +proc set_in_child*(a: var TSpinButton, `in_child`: guint) +proc click_child*(a: var TSpinButton): guint +proc set_click_child*(a: var TSpinButton, `click_child`: guint) +proc button*(a: var TSpinButton): guint +proc set_button*(a: var TSpinButton, `button`: guint) +proc need_timer*(a: var TSpinButton): guint +proc set_need_timer*(a: var TSpinButton, `need_timer`: guint) +proc timer_calls*(a: var TSpinButton): guint +proc set_timer_calls*(a: var TSpinButton, `timer_calls`: guint) +proc digits*(a: var TSpinButton): guint +proc set_digits*(a: var TSpinButton, `digits`: guint) +proc numeric*(a: var TSpinButton): guint +proc set_numeric*(a: var TSpinButton, `numeric`: guint) +proc wrap*(a: var TSpinButton): guint +proc set_wrap*(a: var TSpinButton, `wrap`: guint) +proc snap_to_ticks*(a: var TSpinButton): guint +proc set_snap_to_ticks*(a: var TSpinButton, `snap_to_ticks`: guint) +proc spin_button_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_spin_button_get_type".} +proc spin_button_configure*(spin_button: PSpinButton, adjustment: PAdjustment, + climb_rate: gdouble, digits: guint){.cdecl, + dynlib: lib, importc: "gtk_spin_button_configure".} +proc spin_button_new*(adjustment: PAdjustment, climb_rate: gdouble, + digits: guint): PSpinButton{.cdecl, dynlib: lib, + importc: "gtk_spin_button_new".} +proc spin_button_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PSpinButton{. + cdecl, dynlib: lib, importc: "gtk_spin_button_new_with_range".} +proc spin_button_set_adjustment*(spin_button: PSpinButton, + adjustment: PAdjustment){.cdecl, dynlib: lib, + importc: "gtk_spin_button_set_adjustment".} +proc spin_button_get_adjustment*(spin_button: PSpinButton): PAdjustment{.cdecl, + dynlib: lib, importc: "gtk_spin_button_get_adjustment".} +proc spin_button_set_digits*(spin_button: PSpinButton, digits: guint){.cdecl, + dynlib: lib, importc: "gtk_spin_button_set_digits".} +proc spin_button_get_digits*(spin_button: PSpinButton): guint{.cdecl, + dynlib: lib, importc: "gtk_spin_button_get_digits".} +proc spin_button_set_increments*(spin_button: PSpinButton, step: gdouble, + page: gdouble){.cdecl, dynlib: lib, + importc: "gtk_spin_button_set_increments".} +proc spin_button_get_increments*(spin_button: PSpinButton, step: Pgdouble, + page: Pgdouble){.cdecl, dynlib: lib, + importc: "gtk_spin_button_get_increments".} +proc spin_button_set_range*(spin_button: PSpinButton, min: gdouble, max: gdouble){. + cdecl, dynlib: lib, importc: "gtk_spin_button_set_range".} +proc spin_button_get_range*(spin_button: PSpinButton, min: Pgdouble, + max: Pgdouble){.cdecl, dynlib: lib, + importc: "gtk_spin_button_get_range".} +proc spin_button_get_value*(spin_button: PSpinButton): gdouble{.cdecl, + dynlib: lib, importc: "gtk_spin_button_get_value".} +proc spin_button_get_value_as_int*(spin_button: PSpinButton): gint{.cdecl, + dynlib: lib, importc: "gtk_spin_button_get_value_as_int".} +proc spin_button_set_value*(spin_button: PSpinButton, value: gdouble){.cdecl, + dynlib: lib, importc: "gtk_spin_button_set_value".} +proc spin_button_set_update_policy*(spin_button: PSpinButton, + policy: TSpinButtonUpdatePolicy){.cdecl, + dynlib: lib, importc: "gtk_spin_button_set_update_policy".} +proc spin_button_get_update_policy*(spin_button: PSpinButton): TSpinButtonUpdatePolicy{. + cdecl, dynlib: lib, importc: "gtk_spin_button_get_update_policy".} +proc spin_button_set_numeric*(spin_button: PSpinButton, numeric: gboolean){. + cdecl, dynlib: lib, importc: "gtk_spin_button_set_numeric".} +proc spin_button_get_numeric*(spin_button: PSpinButton): gboolean{.cdecl, + dynlib: lib, importc: "gtk_spin_button_get_numeric".} +proc spin_button_spin*(spin_button: PSpinButton, direction: TSpinType, + increment: gdouble){.cdecl, dynlib: lib, + importc: "gtk_spin_button_spin".} +proc spin_button_set_wrap*(spin_button: PSpinButton, wrap: gboolean){.cdecl, + dynlib: lib, importc: "gtk_spin_button_set_wrap".} +proc spin_button_get_wrap*(spin_button: PSpinButton): gboolean{.cdecl, + dynlib: lib, importc: "gtk_spin_button_get_wrap".} +proc spin_button_set_snap_to_ticks*(spin_button: PSpinButton, + snap_to_ticks: gboolean){.cdecl, + dynlib: lib, importc: "gtk_spin_button_set_snap_to_ticks".} +proc spin_button_get_snap_to_ticks*(spin_button: PSpinButton): gboolean{.cdecl, + dynlib: lib, importc: "gtk_spin_button_get_snap_to_ticks".} +proc spin_button_update*(spin_button: PSpinButton){.cdecl, dynlib: lib, + importc: "gtk_spin_button_update".} +const + STOCK_DIALOG_INFO* = "gtk-dialog-info" + STOCK_DIALOG_WARNING* = "gtk-dialog-warning" + STOCK_DIALOG_ERROR* = "gtk-dialog-error" + STOCK_DIALOG_QUESTION* = "gtk-dialog-question" + STOCK_DND* = "gtk-dnd" + STOCK_DND_MULTIPLE* = "gtk-dnd-multiple" + STOCK_ABOUT* = "gtk-about" + STOCK_ADD_name* = "gtk-add" + STOCK_APPLY* = "gtk-apply" + STOCK_BOLD* = "gtk-bold" + STOCK_CANCEL* = "gtk-cancel" + STOCK_CDROM* = "gtk-cdrom" + STOCK_CLEAR* = "gtk-clear" + STOCK_CLOSE* = "gtk-close" + STOCK_COLOR_PICKER* = "gtk-color-picker" + STOCK_CONVERT* = "gtk-convert" + STOCK_CONNECT* = "gtk-connect" + STOCK_COPY* = "gtk-copy" + STOCK_CUT* = "gtk-cut" + STOCK_DELETE* = "gtk-delete" + STOCK_EDIT* = "gtk-edit" + STOCK_EXECUTE* = "gtk-execute" + STOCK_FIND* = "gtk-find" + STOCK_FIND_AND_REPLACE* = "gtk-find-and-replace" + STOCK_FLOPPY* = "gtk-floppy" + STOCK_GOTO_BOTTOM* = "gtk-goto-bottom" + STOCK_GOTO_FIRST* = "gtk-goto-first" + STOCK_GOTO_LAST* = "gtk-goto-last" + STOCK_GOTO_TOP* = "gtk-goto-top" + STOCK_GO_BACK* = "gtk-go-back" + STOCK_GO_DOWN* = "gtk-go-down" + STOCK_GO_FORWARD* = "gtk-go-forward" + STOCK_GO_UP* = "gtk-go-up" + STOCK_HELP* = "gtk-help" + STOCK_HOME* = "gtk-home" + STOCK_INDEX* = "gtk-index" + STOCK_ITALIC* = "gtk-italic" + STOCK_JUMP_TO* = "gtk-jump-to" + STOCK_JUSTIFY_CENTER* = "gtk-justify-center" + STOCK_JUSTIFY_FILL* = "gtk-justify-fill" + STOCK_JUSTIFY_LEFT* = "gtk-justify-left" + STOCK_JUSTIFY_RIGHT* = "gtk-justify-right" + STOCK_MEDIA_FORWARD* = "gtk-media-forward" + STOCK_MEDIA_NEXT* = "gtk-media-next" + STOCK_MEDIA_PAUSE* = "gtk-media-pause" + STOCK_MEDIA_PLAY* = "gtk-media-play" + STOCK_MEDIA_PREVIOUS* = "gtk-media-previous" + STOCK_MEDIA_RECORD* = "gtk-media-record" + STOCK_MEDIA_REWIND* = "gtk-media-rewind" + STOCK_MEDIA_STOP* = "gtk-media-stop" + STOCK_MISSING_IMAGE* = "gtk-missing-image" + STOCK_NEW* = "gtk-new" + STOCK_NO* = "gtk-no" + STOCK_OK* = "gtk-ok" + STOCK_OPEN* = "gtk-open" + STOCK_PASTE* = "gtk-paste" + STOCK_PREFERENCES* = "gtk-preferences" + STOCK_PRINT* = "gtk-print" + STOCK_PRINT_PREVIEW* = "gtk-print-preview" + STOCK_PROPERTIES* = "gtk-properties" + STOCK_QUIT* = "gtk-quit" + STOCK_REDO* = "gtk-redo" + STOCK_REFRESH* = "gtk-refresh" + STOCK_REMOVE* = "gtk-remove" + STOCK_REVERT_TO_SAVED* = "gtk-revert-to-saved" + STOCK_SAVE* = "gtk-save" + STOCK_SAVE_AS* = "gtk-save-as" + STOCK_SELECT_COLOR* = "gtk-select-color" + STOCK_SELECT_FONT* = "gtk-select-font" + STOCK_SORT_ASCENDING* = "gtk-sort-ascending" + STOCK_SORT_DESCENDING* = "gtk-sort-descending" + STOCK_SPELL_CHECK* = "gtk-spell-check" + STOCK_STOP* = "gtk-stop" + STOCK_STRIKETHROUGH* = "gtk-strikethrough" + STOCK_UNDELETE* = "gtk-undelete" + STOCK_UNDERLINE* = "gtk-underline" + STOCK_UNDO* = "gtk-undo" + STOCK_YES* = "gtk-yes" + STOCK_ZOOM_100* = "gtk-zoom-100" + STOCK_ZOOM_FIT* = "gtk-zoom-fit" + STOCK_ZOOM_IN* = "gtk-zoom-in" + STOCK_ZOOM_OUT* = "gtk-zoom-out" + +proc stock_add*(items: PStockItem, n_items: guint){.cdecl, dynlib: lib, + importc: "gtk_stock_add".} +proc stock_add_static*(items: PStockItem, n_items: guint){.cdecl, dynlib: lib, + importc: "gtk_stock_add_static".} +proc stock_lookup*(stock_id: cstring, item: PStockItem): gboolean{.cdecl, + dynlib: lib, importc: "gtk_stock_lookup".} +proc stock_list_ids*(): PGSList{.cdecl, dynlib: lib, + importc: "gtk_stock_list_ids".} +proc stock_item_copy*(item: PStockItem): PStockItem{.cdecl, dynlib: lib, + importc: "gtk_stock_item_copy".} +proc stock_item_free*(item: PStockItem){.cdecl, dynlib: lib, + importc: "gtk_stock_item_free".} +proc TYPE_STATUSBAR*(): GType +proc STATUSBAR*(obj: pointer): PStatusbar +proc STATUSBAR_CLASS*(klass: pointer): PStatusbarClass +proc IS_STATUSBAR*(obj: pointer): bool +proc IS_STATUSBAR_CLASS*(klass: pointer): bool +proc STATUSBAR_GET_CLASS*(obj: pointer): PStatusbarClass +const + bm_TGtkStatusbar_has_resize_grip* = 0x0001'i16 + bp_TGtkStatusbar_has_resize_grip* = 0'i16 + +proc has_resize_grip*(a: var TStatusbar): guint +proc set_has_resize_grip*(a: var TStatusbar, `has_resize_grip`: guint) +proc statusbar_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_statusbar_get_type".} +proc statusbar_new*(): PStatusbar{.cdecl, dynlib: lib, + importc: "gtk_statusbar_new".} +proc statusbar_get_context_id*(statusbar: PStatusbar, + context_description: cstring): guint{.cdecl, + dynlib: lib, importc: "gtk_statusbar_get_context_id".} +proc statusbar_push*(statusbar: PStatusbar, context_id: guint, text: cstring): guint{. + cdecl, dynlib: lib, importc: "gtk_statusbar_push".} +proc statusbar_pop*(statusbar: PStatusbar, context_id: guint){.cdecl, + dynlib: lib, importc: "gtk_statusbar_pop".} +proc statusbar_remove*(statusbar: PStatusbar, context_id: guint, + message_id: guint){.cdecl, dynlib: lib, + importc: "gtk_statusbar_remove".} +proc statusbar_set_has_resize_grip*(statusbar: PStatusbar, setting: gboolean){. + cdecl, dynlib: lib, importc: "gtk_statusbar_set_has_resize_grip".} +proc statusbar_get_has_resize_grip*(statusbar: PStatusbar): gboolean{.cdecl, + dynlib: lib, importc: "gtk_statusbar_get_has_resize_grip".} +const + bm_TGtkTable_homogeneous* = 0x0001'i16 + bp_TGtkTable_homogeneous* = 0'i16 + bm_TGtkTableChild_xexpand* = 0x0001'i16 + bp_TGtkTableChild_xexpand* = 0'i16 + bm_TGtkTableChild_yexpand* = 0x0002'i16 + bp_TGtkTableChild_yexpand* = 1'i16 + bm_TGtkTableChild_xshrink* = 0x0004'i16 + bp_TGtkTableChild_xshrink* = 2'i16 + bm_TGtkTableChild_yshrink* = 0x0008'i16 + bp_TGtkTableChild_yshrink* = 3'i16 + bm_TGtkTableChild_xfill* = 0x0010'i16 + bp_TGtkTableChild_xfill* = 4'i16 + bm_TGtkTableChild_yfill* = 0x0020'i16 + bp_TGtkTableChild_yfill* = 5'i16 + bm_TGtkTableRowCol_need_expand* = 0x0001'i16 + bp_TGtkTableRowCol_need_expand* = 0'i16 + bm_TGtkTableRowCol_need_shrink* = 0x0002'i16 + bp_TGtkTableRowCol_need_shrink* = 1'i16 + bm_TGtkTableRowCol_expand* = 0x0004'i16 + bp_TGtkTableRowCol_expand* = 2'i16 + bm_TGtkTableRowCol_shrink* = 0x0008'i16 + bp_TGtkTableRowCol_shrink* = 3'i16 + bm_TGtkTableRowCol_empty* = 0x0010'i16 + bp_TGtkTableRowCol_empty* = 4'i16 + +proc TYPE_TABLE*(): GType +proc TABLE*(obj: pointer): PTable +proc TABLE_CLASS*(klass: pointer): PTableClass +proc IS_TABLE*(obj: pointer): bool +proc IS_TABLE_CLASS*(klass: pointer): bool +proc TABLE_GET_CLASS*(obj: pointer): PTableClass +proc homogeneous*(a: var TTable): guint +proc set_homogeneous*(a: var TTable, `homogeneous`: guint) +proc xexpand*(a: var TTableChild): guint +proc set_xexpand*(a: var TTableChild, `xexpand`: guint) +proc yexpand*(a: var TTableChild): guint +proc set_yexpand*(a: var TTableChild, `yexpand`: guint) +proc xshrink*(a: var TTableChild): guint +proc set_xshrink*(a: var TTableChild, `xshrink`: guint) +proc yshrink*(a: var TTableChild): guint +proc set_yshrink*(a: var TTableChild, `yshrink`: guint) +proc xfill*(a: var TTableChild): guint +proc set_xfill*(a: var TTableChild, `xfill`: guint) +proc yfill*(a: var TTableChild): guint +proc set_yfill*(a: var TTableChild, `yfill`: guint) +proc need_expand*(a: var TTableRowCol): guint +proc set_need_expand*(a: var TTableRowCol, `need_expand`: guint) +proc need_shrink*(a: var TTableRowCol): guint +proc set_need_shrink*(a: var TTableRowCol, `need_shrink`: guint) +proc expand*(a: var TTableRowCol): guint +proc set_expand*(a: var TTableRowCol, `expand`: guint) +proc shrink*(a: var TTableRowCol): guint +proc set_shrink*(a: var TTableRowCol, `shrink`: guint) +proc empty*(a: var TTableRowCol): guint +proc set_empty*(a: var TTableRowCol, `empty`: guint) +proc table_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_table_get_type".} +proc table_new*(rows: guint, columns: guint, homogeneous: gboolean): PTable{. + cdecl, dynlib: lib, importc: "gtk_table_new".} +proc table_resize*(table: PTable, rows: guint, columns: guint){.cdecl, + dynlib: lib, importc: "gtk_table_resize".} +proc table_attach*(table: PTable, child: PWidget, left_attach: guint, + right_attach: guint, top_attach: guint, bottom_attach: guint, + xoptions: TAttachOptions, yoptions: TAttachOptions, + xpadding: guint, ypadding: guint){.cdecl, dynlib: lib, + importc: "gtk_table_attach".} +proc table_attach_defaults*(table: PTable, widget: PWidget, left_attach: guint, + right_attach: guint, top_attach: guint, + bottom_attach: guint){.cdecl, dynlib: lib, + importc: "gtk_table_attach_defaults".} +proc table_set_row_spacing*(table: PTable, row: guint, spacing: guint){.cdecl, + dynlib: lib, importc: "gtk_table_set_row_spacing".} +proc table_get_row_spacing*(table: PTable, row: guint): guint{.cdecl, + dynlib: lib, importc: "gtk_table_get_row_spacing".} +proc table_set_col_spacing*(table: PTable, column: guint, spacing: guint){. + cdecl, dynlib: lib, importc: "gtk_table_set_col_spacing".} +proc table_get_col_spacing*(table: PTable, column: guint): guint{.cdecl, + dynlib: lib, importc: "gtk_table_get_col_spacing".} +proc table_set_row_spacings*(table: PTable, spacing: guint){.cdecl, dynlib: lib, + importc: "gtk_table_set_row_spacings".} +proc table_get_default_row_spacing*(table: PTable): guint{.cdecl, dynlib: lib, + importc: "gtk_table_get_default_row_spacing".} +proc table_set_col_spacings*(table: PTable, spacing: guint){.cdecl, dynlib: lib, + importc: "gtk_table_set_col_spacings".} +proc table_get_default_col_spacing*(table: PTable): guint{.cdecl, dynlib: lib, + importc: "gtk_table_get_default_col_spacing".} +proc table_set_homogeneous*(table: PTable, homogeneous: gboolean){.cdecl, + dynlib: lib, importc: "gtk_table_set_homogeneous".} +proc table_get_homogeneous*(table: PTable): gboolean{.cdecl, dynlib: lib, + importc: "gtk_table_get_homogeneous".} +const + bm_TGtkTearoffMenuItem_torn_off* = 0x0001'i16 + bp_TGtkTearoffMenuItem_torn_off* = 0'i16 + +proc TYPE_TEAROFF_MENU_ITEM*(): GType +proc TEAROFF_MENU_ITEM*(obj: pointer): PTearoffMenuItem +proc TEAROFF_MENU_ITEM_CLASS*(klass: pointer): PTearoffMenuItemClass +proc IS_TEAROFF_MENU_ITEM*(obj: pointer): bool +proc IS_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): bool +proc TEAROFF_MENU_ITEM_GET_CLASS*(obj: pointer): PTearoffMenuItemClass +proc torn_off*(a: var TTearoffMenuItem): guint +proc set_torn_off*(a: var TTearoffMenuItem, `torn_off`: guint) +proc tearoff_menu_item_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_tearoff_menu_item_get_type".} +proc tearoff_menu_item_new*(): PTearoffMenuItem{.cdecl, dynlib: lib, + importc: "gtk_tearoff_menu_item_new".} +const + bm_TGtkText_line_wrap* = 0x0001'i16 + bp_TGtkText_line_wrap* = 0'i16 + bm_TGtkText_word_wrap* = 0x0002'i16 + bp_TGtkText_word_wrap* = 1'i16 + bm_TGtkText_use_wchar* = 0x0004'i16 + bp_TGtkText_use_wchar* = 2'i16 + +proc TYPE_TEXT*(): GType +proc TEXT*(obj: pointer): PText +proc TEXT_CLASS*(klass: pointer): PTextClass +proc IS_TEXT*(obj: pointer): bool +proc IS_TEXT_CLASS*(klass: pointer): bool +proc TEXT_GET_CLASS*(obj: pointer): PTextClass +proc line_wrap*(a: PText): guint +proc set_line_wrap*(a: PText, `line_wrap`: guint) +proc word_wrap*(a: PText): guint +proc set_word_wrap*(a: PText, `word_wrap`: guint) +proc use_wchar*(a: PText): gboolean +proc set_use_wchar*(a: PText, `use_wchar`: gboolean) +proc text_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_text_get_type".} +proc text_new*(hadj: PAdjustment, vadj: PAdjustment): PText{.cdecl, dynlib: lib, + importc: "gtk_text_new".} +proc text_set_editable*(text: PText, editable: gboolean){.cdecl, dynlib: lib, + importc: "gtk_text_set_editable".} +proc text_set_word_wrap*(text: PText, word_wrap: gboolean){.cdecl, dynlib: lib, + importc: "gtk_text_set_word_wrap".} +proc text_set_line_wrap*(text: PText, line_wrap: gboolean){.cdecl, dynlib: lib, + importc: "gtk_text_set_line_wrap".} +proc text_set_adjustments*(text: PText, hadj: PAdjustment, vadj: PAdjustment){. + cdecl, dynlib: lib, importc: "gtk_text_set_adjustments".} +proc text_set_point*(text: PText, index: guint){.cdecl, dynlib: lib, + importc: "gtk_text_set_point".} +proc text_get_point*(text: PText): guint{.cdecl, dynlib: lib, + importc: "gtk_text_get_point".} +proc text_get_length*(text: PText): guint{.cdecl, dynlib: lib, + importc: "gtk_text_get_length".} +proc text_freeze*(text: PText){.cdecl, dynlib: lib, importc: "gtk_text_freeze".} +proc text_thaw*(text: PText){.cdecl, dynlib: lib, importc: "gtk_text_thaw".} +proc text_insert*(text: PText, font: PGdkFont, fore: PGdkColor, back: PGdkColor, + chars: cstring, length: gint){.cdecl, dynlib: lib, + importc: "gtk_text_insert".} +proc text_backward_delete*(text: PText, nchars: guint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_backward_delete".} +proc text_forward_delete*(text: PText, nchars: guint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_forward_delete".} +proc TEXT_INDEX_WCHAR*(t: PText, index: guint): guint32 +proc TEXT_INDEX_UCHAR*(t: PText, index: guint): GUChar +const + TEXT_SEARCH_VISIBLE_ONLY* = 0 + TEXT_SEARCH_TEXT_ONLY* = 1 + +proc TYPE_TEXT_ITER*(): GType +proc text_iter_get_buffer*(iter: PTextIter): PTextBuffer{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_buffer".} +proc text_iter_copy*(iter: PTextIter): PTextIter{.cdecl, dynlib: lib, + importc: "gtk_text_iter_copy".} +proc text_iter_free*(iter: PTextIter){.cdecl, dynlib: lib, + importc: "gtk_text_iter_free".} +proc text_iter_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_type".} +proc text_iter_get_offset*(iter: PTextIter): gint{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_offset".} +proc text_iter_get_line*(iter: PTextIter): gint{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_line".} +proc text_iter_get_line_offset*(iter: PTextIter): gint{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_line_offset".} +proc text_iter_get_line_index*(iter: PTextIter): gint{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_line_index".} +proc text_iter_get_visible_line_offset*(iter: PTextIter): gint{.cdecl, + dynlib: lib, importc: "gtk_text_iter_get_visible_line_offset".} +proc text_iter_get_visible_line_index*(iter: PTextIter): gint{.cdecl, + dynlib: lib, importc: "gtk_text_iter_get_visible_line_index".} +proc text_iter_get_char*(iter: PTextIter): gunichar{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_char".} +proc text_iter_get_slice*(start: PTextIter, theEnd: PTextIter): cstring{.cdecl, + dynlib: lib, importc: "gtk_text_iter_get_slice".} +proc text_iter_get_text*(start: PTextIter, theEnd: PTextIter): cstring{.cdecl, + dynlib: lib, importc: "gtk_text_iter_get_text".} +proc text_iter_get_visible_slice*(start: PTextIter, theEnd: PTextIter): cstring{. + cdecl, dynlib: lib, importc: "gtk_text_iter_get_visible_slice".} +proc text_iter_get_visible_text*(start: PTextIter, theEnd: PTextIter): cstring{. + cdecl, dynlib: lib, importc: "gtk_text_iter_get_visible_text".} +proc text_iter_get_pixbuf*(iter: PTextIter): PGdkPixbuf{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_pixbuf".} +proc text_iter_get_marks*(iter: PTextIter): PGSList{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_marks".} +proc text_iter_get_child_anchor*(iter: PTextIter): PTextChildAnchor{.cdecl, + dynlib: lib, importc: "gtk_text_iter_get_child_anchor".} +proc text_iter_get_toggled_tags*(iter: PTextIter, toggled_on: gboolean): PGSList{. + cdecl, dynlib: lib, importc: "gtk_text_iter_get_toggled_tags".} +proc text_iter_begins_tag*(iter: PTextIter, tag: PTextTag): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_begins_tag".} +proc text_iter_ends_tag*(iter: PTextIter, tag: PTextTag): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_ends_tag".} +proc text_iter_toggles_tag*(iter: PTextIter, tag: PTextTag): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_toggles_tag".} +proc text_iter_has_tag*(iter: PTextIter, tag: PTextTag): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_has_tag".} +proc text_iter_get_tags*(iter: PTextIter): PGSList{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_tags".} +proc text_iter_editable*(iter: PTextIter, default_setting: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_editable".} +proc text_iter_can_insert*(iter: PTextIter, default_editability: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_can_insert".} +proc text_iter_starts_word*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_starts_word".} +proc text_iter_ends_word*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_ends_word".} +proc text_iter_inside_word*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_inside_word".} +proc text_iter_starts_sentence*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_starts_sentence".} +proc text_iter_ends_sentence*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_ends_sentence".} +proc text_iter_inside_sentence*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_inside_sentence".} +proc text_iter_starts_line*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_starts_line".} +proc text_iter_ends_line*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_ends_line".} +proc text_iter_is_cursor_position*(iter: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_is_cursor_position".} +proc text_iter_get_chars_in_line*(iter: PTextIter): gint{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_chars_in_line".} +proc text_iter_get_bytes_in_line*(iter: PTextIter): gint{.cdecl, dynlib: lib, + importc: "gtk_text_iter_get_bytes_in_line".} +proc text_iter_get_attributes*(iter: PTextIter, values: PTextAttributes): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_get_attributes".} +proc text_iter_get_language*(iter: PTextIter): PPangoLanguage{.cdecl, + dynlib: lib, importc: "gtk_text_iter_get_language".} +proc text_iter_is_end*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_is_end".} +proc text_iter_is_start*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_is_start".} +proc text_iter_forward_char*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_forward_char".} +proc text_iter_backward_char*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_backward_char".} +proc text_iter_forward_chars*(iter: PTextIter, count: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_forward_chars".} +proc text_iter_backward_chars*(iter: PTextIter, count: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_backward_chars".} +proc text_iter_forward_line*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_forward_line".} +proc text_iter_backward_line*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_backward_line".} +proc text_iter_forward_lines*(iter: PTextIter, count: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_forward_lines".} +proc text_iter_backward_lines*(iter: PTextIter, count: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_backward_lines".} +proc text_iter_forward_word_end*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_iter_forward_word_end".} +proc text_iter_backward_word_start*(iter: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_backward_word_start".} +proc text_iter_forward_word_ends*(iter: PTextIter, count: gint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_forward_word_ends".} +proc text_iter_backward_word_starts*(iter: PTextIter, count: gint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_backward_word_starts".} +proc text_iter_forward_sentence_end*(iter: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_forward_sentence_end".} +proc text_iter_backward_sentence_start*(iter: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_backward_sentence_start".} +proc text_iter_forward_sentence_ends*(iter: PTextIter, count: gint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_forward_sentence_ends".} +proc text_iter_backward_sentence_starts*(iter: PTextIter, count: gint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_backward_sentence_starts".} +proc text_iter_forward_cursor_position*(iter: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_forward_cursor_position".} +proc text_iter_backward_cursor_position*(iter: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_backward_cursor_position".} +proc text_iter_forward_cursor_positions*(iter: PTextIter, count: gint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_forward_cursor_positions".} +proc text_iter_backward_cursor_positions*(iter: PTextIter, count: gint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_backward_cursor_positions".} +proc text_iter_set_offset*(iter: PTextIter, char_offset: gint){.cdecl, + dynlib: lib, importc: "gtk_text_iter_set_offset".} +proc text_iter_set_line*(iter: PTextIter, line_number: gint){.cdecl, + dynlib: lib, importc: "gtk_text_iter_set_line".} +proc text_iter_set_line_offset*(iter: PTextIter, char_on_line: gint){.cdecl, + dynlib: lib, importc: "gtk_text_iter_set_line_offset".} +proc text_iter_set_line_index*(iter: PTextIter, byte_on_line: gint){.cdecl, + dynlib: lib, importc: "gtk_text_iter_set_line_index".} +proc text_iter_forward_to_end*(iter: PTextIter){.cdecl, dynlib: lib, + importc: "gtk_text_iter_forward_to_end".} +proc text_iter_forward_to_line_end*(iter: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_forward_to_line_end".} +proc text_iter_set_visible_line_offset*(iter: PTextIter, char_on_line: gint){. + cdecl, dynlib: lib, importc: "gtk_text_iter_set_visible_line_offset".} +proc text_iter_set_visible_line_index*(iter: PTextIter, byte_on_line: gint){. + cdecl, dynlib: lib, importc: "gtk_text_iter_set_visible_line_index".} +proc text_iter_forward_to_tag_toggle*(iter: PTextIter, tag: PTextTag): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_forward_to_tag_toggle".} +proc text_iter_backward_to_tag_toggle*(iter: PTextIter, tag: PTextTag): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_backward_to_tag_toggle".} +proc text_iter_forward_find_char*(iter: PTextIter, pred: TTextCharPredicate, + user_data: gpointer, limit: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_forward_find_char".} +proc text_iter_backward_find_char*(iter: PTextIter, pred: TTextCharPredicate, + user_data: gpointer, limit: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_backward_find_char".} +proc text_iter_forward_search*(iter: PTextIter, str: cstring, + flags: TTextSearchFlags, match_start: PTextIter, + match_end: PTextIter, limit: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_forward_search".} +proc text_iter_backward_search*(iter: PTextIter, str: cstring, + flags: TTextSearchFlags, match_start: PTextIter, + match_end: PTextIter, limit: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_backward_search".} +proc text_iter_equal*(lhs: PTextIter, rhs: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_iter_equal".} +proc text_iter_compare*(lhs: PTextIter, rhs: PTextIter): gint{.cdecl, + dynlib: lib, importc: "gtk_text_iter_compare".} +proc text_iter_in_range*(iter: PTextIter, start: PTextIter, theEnd: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_iter_in_range".} +proc text_iter_order*(first: PTextIter, second: PTextIter){.cdecl, dynlib: lib, + importc: "gtk_text_iter_order".} +proc TYPE_TEXT_TAG*(): GType +proc TEXT_TAG*(obj: pointer): PTextTag +proc TEXT_TAG_CLASS*(klass: pointer): PTextTagClass +proc IS_TEXT_TAG*(obj: pointer): bool +proc IS_TEXT_TAG_CLASS*(klass: pointer): bool +proc TEXT_TAG_GET_CLASS*(obj: pointer): PTextTagClass +proc TYPE_TEXT_ATTRIBUTES*(): GType +proc text_tag_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_text_tag_get_type".} +proc text_tag_new*(name: cstring): PTextTag{.cdecl, dynlib: lib, + importc: "gtk_text_tag_new".} +proc text_tag_get_priority*(tag: PTextTag): gint{.cdecl, dynlib: lib, + importc: "gtk_text_tag_get_priority".} +proc text_tag_set_priority*(tag: PTextTag, priority: gint){.cdecl, dynlib: lib, + importc: "gtk_text_tag_set_priority".} +proc text_tag_event*(tag: PTextTag, event_object: PGObject, event: PGdkEvent, + iter: PTextIter): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_tag_event".} +proc text_attributes_new*(): PTextAttributes{.cdecl, dynlib: lib, + importc: "gtk_text_attributes_new".} +proc text_attributes_copy*(src: PTextAttributes): PTextAttributes{.cdecl, + dynlib: lib, importc: "gtk_text_attributes_copy".} +proc text_attributes_copy_values*(src: PTextAttributes, dest: PTextAttributes){. + cdecl, dynlib: lib, importc: "gtk_text_attributes_copy_values".} +proc text_attributes_unref*(values: PTextAttributes){.cdecl, dynlib: lib, + importc: "gtk_text_attributes_unref".} +proc text_attributes_ref*(values: PTextAttributes){.cdecl, dynlib: lib, + importc: "gtk_text_attributes_ref".} +proc text_attributes_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_text_attributes_get_type".} +const + bm_TGtkTextTag_bg_color_set* = 0x00000001'i32 + bp_TGtkTextTag_bg_color_set* = 0'i32 + bm_TGtkTextTag_bg_stipple_set* = 0x00000002'i32 + bp_TGtkTextTag_bg_stipple_set* = 1'i32 + bm_TGtkTextTag_fg_color_set* = 0x00000004'i32 + bp_TGtkTextTag_fg_color_set* = 2'i32 + bm_TGtkTextTag_scale_set* = 0x00000008'i32 + bp_TGtkTextTag_scale_set* = 3'i32 + bm_TGtkTextTag_fg_stipple_set* = 0x00000010'i32 + bp_TGtkTextTag_fg_stipple_set* = 4'i32 + bm_TGtkTextTag_justification_set* = 0x00000020'i32 + bp_TGtkTextTag_justification_set* = 5'i32 + bm_TGtkTextTag_left_margin_set* = 0x00000040'i32 + bp_TGtkTextTag_left_margin_set* = 6'i32 + bm_TGtkTextTag_indent_set* = 0x00000080'i32 + bp_TGtkTextTag_indent_set* = 7'i32 + bm_TGtkTextTag_rise_set* = 0x00000100'i32 + bp_TGtkTextTag_rise_set* = 8'i32 + bm_TGtkTextTag_strikethrough_set* = 0x00000200'i32 + bp_TGtkTextTag_strikethrough_set* = 9'i32 + bm_TGtkTextTag_right_margin_set* = 0x00000400'i32 + bp_TGtkTextTag_right_margin_set* = 10'i32 + bm_TGtkTextTag_pixels_above_lines_set* = 0x00000800'i32 + bp_TGtkTextTag_pixels_above_lines_set* = 11'i32 + bm_TGtkTextTag_pixels_below_lines_set* = 0x00001000'i32 + bp_TGtkTextTag_pixels_below_lines_set* = 12'i32 + bm_TGtkTextTag_pixels_inside_wrap_set* = 0x00002000'i32 + bp_TGtkTextTag_pixels_inside_wrap_set* = 13'i32 + bm_TGtkTextTag_tabs_set* = 0x00004000'i32 + bp_TGtkTextTag_tabs_set* = 14'i32 + bm_TGtkTextTag_underline_set* = 0x00008000'i32 + bp_TGtkTextTag_underline_set* = 15'i32 + bm_TGtkTextTag_wrap_mode_set* = 0x00010000'i32 + bp_TGtkTextTag_wrap_mode_set* = 16'i32 + bm_TGtkTextTag_bg_full_height_set* = 0x00020000'i32 + bp_TGtkTextTag_bg_full_height_set* = 17'i32 + bm_TGtkTextTag_invisible_set* = 0x00040000'i32 + bp_TGtkTextTag_invisible_set* = 18'i32 + bm_TGtkTextTag_editable_set* = 0x00080000'i32 + bp_TGtkTextTag_editable_set* = 19'i32 + bm_TGtkTextTag_language_set* = 0x00100000'i32 + bp_TGtkTextTag_language_set* = 20'i32 + bm_TGtkTextTag_pad1* = 0x00200000'i32 + bp_TGtkTextTag_pad1* = 21'i32 + bm_TGtkTextTag_pad2* = 0x00400000'i32 + bp_TGtkTextTag_pad2* = 22'i32 + bm_TGtkTextTag_pad3* = 0x00800000'i32 + bp_TGtkTextTag_pad3* = 23'i32 + +proc bg_color_set*(a: var TTextTag): guint +proc set_bg_color_set*(a: var TTextTag, `bg_color_set`: guint) +proc bg_stipple_set*(a: var TTextTag): guint +proc set_bg_stipple_set*(a: var TTextTag, `bg_stipple_set`: guint) +proc fg_color_set*(a: var TTextTag): guint +proc set_fg_color_set*(a: var TTextTag, `fg_color_set`: guint) +proc scale_set*(a: var TTextTag): guint +proc set_scale_set*(a: var TTextTag, `scale_set`: guint) +proc fg_stipple_set*(a: var TTextTag): guint +proc set_fg_stipple_set*(a: var TTextTag, `fg_stipple_set`: guint) +proc justification_set*(a: var TTextTag): guint +proc set_justification_set*(a: var TTextTag, `justification_set`: guint) +proc left_margin_set*(a: var TTextTag): guint +proc set_left_margin_set*(a: var TTextTag, `left_margin_set`: guint) +proc indent_set*(a: var TTextTag): guint +proc set_indent_set*(a: var TTextTag, `indent_set`: guint) +proc rise_set*(a: var TTextTag): guint +proc set_rise_set*(a: var TTextTag, `rise_set`: guint) +proc strikethrough_set*(a: var TTextTag): guint +proc set_strikethrough_set*(a: var TTextTag, `strikethrough_set`: guint) +proc right_margin_set*(a: var TTextTag): guint +proc set_right_margin_set*(a: var TTextTag, `right_margin_set`: guint) +proc pixels_above_lines_set*(a: var TTextTag): guint +proc set_pixels_above_lines_set*(a: var TTextTag, + `pixels_above_lines_set`: guint) +proc pixels_below_lines_set*(a: var TTextTag): guint +proc set_pixels_below_lines_set*(a: var TTextTag, + `pixels_below_lines_set`: guint) +proc pixels_inside_wrap_set*(a: var TTextTag): guint +proc set_pixels_inside_wrap_set*(a: var TTextTag, + `pixels_inside_wrap_set`: guint) +proc tabs_set*(a: var TTextTag): guint +proc set_tabs_set*(a: var TTextTag, `tabs_set`: guint) +proc underline_set*(a: var TTextTag): guint +proc set_underline_set*(a: var TTextTag, `underline_set`: guint) +proc wrap_mode_set*(a: var TTextTag): guint +proc set_wrap_mode_set*(a: var TTextTag, `wrap_mode_set`: guint) +proc bg_full_height_set*(a: var TTextTag): guint +proc set_bg_full_height_set*(a: var TTextTag, `bg_full_height_set`: guint) +proc invisible_set*(a: var TTextTag): guint +proc set_invisible_set*(a: var TTextTag, `invisible_set`: guint) +proc editable_set*(a: var TTextTag): guint +proc set_editable_set*(a: var TTextTag, `editable_set`: guint) +proc language_set*(a: var TTextTag): guint +proc set_language_set*(a: var TTextTag, `language_set`: guint) +proc pad1*(a: var TTextTag): guint +proc set_pad1*(a: var TTextTag, `pad1`: guint) +proc pad2*(a: var TTextTag): guint +proc set_pad2*(a: var TTextTag, `pad2`: guint) +proc pad3*(a: var TTextTag): guint +proc set_pad3*(a: var TTextTag, `pad3`: guint) +const + bm_TGtkTextAppearance_underline* = 0x000F'i16 + bp_TGtkTextAppearance_underline* = 0'i16 + bm_TGtkTextAppearance_strikethrough* = 0x0010'i16 + bp_TGtkTextAppearance_strikethrough* = 4'i16 + bm_TGtkTextAppearance_draw_bg* = 0x0020'i16 + bp_TGtkTextAppearance_draw_bg* = 5'i16 + bm_TGtkTextAppearance_inside_selection* = 0x0040'i16 + bp_TGtkTextAppearance_inside_selection* = 6'i16 + bm_TGtkTextAppearance_is_text* = 0x0080'i16 + bp_TGtkTextAppearance_is_text* = 7'i16 + bm_TGtkTextAppearance_pad1* = 0x0100'i16 + bp_TGtkTextAppearance_pad1* = 8'i16 + bm_TGtkTextAppearance_pad2* = 0x0200'i16 + bp_TGtkTextAppearance_pad2* = 9'i16 + bm_TGtkTextAppearance_pad3* = 0x0400'i16 + bp_TGtkTextAppearance_pad3* = 10'i16 + bm_TGtkTextAppearance_pad4* = 0x0800'i16 + bp_TGtkTextAppearance_pad4* = 11'i16 + +proc underline*(a: var TTextAppearance): guint +proc set_underline*(a: var TTextAppearance, `underline`: guint) +proc strikethrough*(a: var TTextAppearance): guint +proc set_strikethrough*(a: var TTextAppearance, `strikethrough`: guint) +proc draw_bg*(a: var TTextAppearance): guint +proc set_draw_bg*(a: var TTextAppearance, `draw_bg`: guint) +proc inside_selection*(a: var TTextAppearance): guint +proc set_inside_selection*(a: var TTextAppearance, `inside_selection`: guint) +proc is_text*(a: var TTextAppearance): guint +proc set_is_text*(a: var TTextAppearance, `is_text`: guint) +proc pad1*(a: var TTextAppearance): guint +proc set_pad1*(a: var TTextAppearance, `pad1`: guint) +proc pad2*(a: var TTextAppearance): guint +proc set_pad2*(a: var TTextAppearance, `pad2`: guint) +proc pad3*(a: var TTextAppearance): guint +proc set_pad3*(a: var TTextAppearance, `pad3`: guint) +proc pad4*(a: var TTextAppearance): guint +proc set_pad4*(a: var TTextAppearance, `pad4`: guint) +const + bm_TGtkTextAttributes_invisible* = 0x0001'i16 + bp_TGtkTextAttributes_invisible* = 0'i16 + bm_TGtkTextAttributes_bg_full_height* = 0x0002'i16 + bp_TGtkTextAttributes_bg_full_height* = 1'i16 + bm_TGtkTextAttributes_editable* = 0x0004'i16 + bp_TGtkTextAttributes_editable* = 2'i16 + bm_TGtkTextAttributes_realized* = 0x0008'i16 + bp_TGtkTextAttributes_realized* = 3'i16 + bm_TGtkTextAttributes_pad1* = 0x0010'i16 + bp_TGtkTextAttributes_pad1* = 4'i16 + bm_TGtkTextAttributes_pad2* = 0x0020'i16 + bp_TGtkTextAttributes_pad2* = 5'i16 + bm_TGtkTextAttributes_pad3* = 0x0040'i16 + bp_TGtkTextAttributes_pad3* = 6'i16 + bm_TGtkTextAttributes_pad4* = 0x0080'i16 + bp_TGtkTextAttributes_pad4* = 7'i16 + +proc invisible*(a: var TTextAttributes): guint +proc set_invisible*(a: var TTextAttributes, `invisible`: guint) +proc bg_full_height*(a: var TTextAttributes): guint +proc set_bg_full_height*(a: var TTextAttributes, `bg_full_height`: guint) +proc editable*(a: var TTextAttributes): guint +proc set_editable*(a: var TTextAttributes, `editable`: guint) +proc realized*(a: var TTextAttributes): guint +proc set_realized*(a: var TTextAttributes, `realized`: guint) +proc pad1*(a: var TTextAttributes): guint +proc set_pad1*(a: var TTextAttributes, `pad1`: guint) +proc pad2*(a: var TTextAttributes): guint +proc set_pad2*(a: var TTextAttributes, `pad2`: guint) +proc pad3*(a: var TTextAttributes): guint +proc set_pad3*(a: var TTextAttributes, `pad3`: guint) +proc pad4*(a: var TTextAttributes): guint +proc set_pad4*(a: var TTextAttributes, `pad4`: guint) +proc TYPE_TEXT_TAG_TABLE*(): GType +proc TEXT_TAG_TABLE*(obj: pointer): PTextTagTable +proc TEXT_TAG_TABLE_CLASS*(klass: pointer): PTextTagTableClass +proc IS_TEXT_TAG_TABLE*(obj: pointer): bool +proc IS_TEXT_TAG_TABLE_CLASS*(klass: pointer): bool +proc TEXT_TAG_TABLE_GET_CLASS*(obj: pointer): PTextTagTableClass +proc text_tag_table_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_text_tag_table_get_type".} +proc text_tag_table_new*(): PTextTagTable{.cdecl, dynlib: lib, + importc: "gtk_text_tag_table_new".} +proc text_tag_table_add*(table: PTextTagTable, tag: PTextTag){.cdecl, + dynlib: lib, importc: "gtk_text_tag_table_add".} +proc text_tag_table_remove*(table: PTextTagTable, tag: PTextTag){.cdecl, + dynlib: lib, importc: "gtk_text_tag_table_remove".} +proc text_tag_table_lookup*(table: PTextTagTable, name: cstring): PTextTag{. + cdecl, dynlib: lib, importc: "gtk_text_tag_table_lookup".} +proc text_tag_table_foreach*(table: PTextTagTable, func_: TTextTagTableForeach, + data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_text_tag_table_foreach".} +proc text_tag_table_get_size*(table: PTextTagTable): gint{.cdecl, dynlib: lib, + importc: "gtk_text_tag_table_get_size".} +proc text_tag_table_add_buffer*(table: PTextTagTable, buffer: gpointer){.cdecl, + dynlib: lib, importc: "_gtk_text_tag_table_add_buffer".} +proc text_tag_table_remove_buffer*(table: PTextTagTable, buffer: gpointer){. + cdecl, dynlib: lib, importc: "_gtk_text_tag_table_remove_buffer".} +proc TYPE_TEXT_MARK*(): GType +proc TEXT_MARK*(anObject: pointer): PTextMark +proc TEXT_MARK_CLASS*(klass: pointer): PTextMarkClass +proc IS_TEXT_MARK*(anObject: pointer): bool +proc IS_TEXT_MARK_CLASS*(klass: pointer): bool +proc TEXT_MARK_GET_CLASS*(obj: pointer): PTextMarkClass +proc text_mark_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_text_mark_get_type".} +proc text_mark_set_visible*(mark: PTextMark, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_text_mark_set_visible".} +proc text_mark_get_visible*(mark: PTextMark): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_mark_get_visible".} +proc text_mark_get_name*(mark: PTextMark): cstring{.cdecl, dynlib: lib, + importc: "gtk_text_mark_get_name".} +proc text_mark_get_deleted*(mark: PTextMark): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_mark_get_deleted".} +proc text_mark_get_buffer*(mark: PTextMark): PTextBuffer{.cdecl, dynlib: lib, + importc: "gtk_text_mark_get_buffer".} +proc text_mark_get_left_gravity*(mark: PTextMark): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_mark_get_left_gravity".} +const + bm_TGtkTextMarkBody_visible* = 0x0001'i16 + bp_TGtkTextMarkBody_visible* = 0'i16 + bm_TGtkTextMarkBody_not_deleteable* = 0x0002'i16 + bp_TGtkTextMarkBody_not_deleteable* = 1'i16 + +proc visible*(a: var TTextMarkBody): guint +proc set_visible*(a: var TTextMarkBody, `visible`: guint) +proc not_deleteable*(a: var TTextMarkBody): guint +proc set_not_deleteable*(a: var TTextMarkBody, `not_deleteable`: guint) +proc mark_segment_new*(tree: PTextBTree, left_gravity: gboolean, name: cstring): PTextLineSegment{. + cdecl, dynlib: lib, importc: "_gtk_mark_segment_new".} +proc TYPE_TEXT_CHILD_ANCHOR*(): GType +proc TEXT_CHILD_ANCHOR*(anObject: pointer): PTextChildAnchor +proc TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): PTextChildAnchorClass +proc IS_TEXT_CHILD_ANCHOR*(anObject: pointer): bool +proc IS_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): bool +proc TEXT_CHILD_ANCHOR_GET_CLASS*(obj: pointer): PTextChildAnchorClass +proc text_child_anchor_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_text_child_anchor_get_type".} +proc text_child_anchor_new*(): PTextChildAnchor{.cdecl, dynlib: lib, + importc: "gtk_text_child_anchor_new".} +proc text_child_anchor_get_widgets*(anchor: PTextChildAnchor): PGList{.cdecl, + dynlib: lib, importc: "gtk_text_child_anchor_get_widgets".} +proc text_child_anchor_get_deleted*(anchor: PTextChildAnchor): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_child_anchor_get_deleted".} +proc pixbuf_segment_new*(pixbuf: PGdkPixbuf): PTextLineSegment{.cdecl, + dynlib: lib, importc: "_gtk_pixbuf_segment_new".} +proc widget_segment_new*(anchor: PTextChildAnchor): PTextLineSegment{.cdecl, + dynlib: lib, importc: "_gtk_widget_segment_new".} +proc widget_segment_add*(widget_segment: PTextLineSegment, child: PWidget){. + cdecl, dynlib: lib, importc: "_gtk_widget_segment_add".} +proc widget_segment_remove*(widget_segment: PTextLineSegment, child: PWidget){. + cdecl, dynlib: lib, importc: "_gtk_widget_segment_remove".} +proc widget_segment_ref*(widget_segment: PTextLineSegment){.cdecl, dynlib: lib, + importc: "_gtk_widget_segment_ref".} +proc widget_segment_unref*(widget_segment: PTextLineSegment){.cdecl, + dynlib: lib, importc: "_gtk_widget_segment_unref".} +proc anchored_child_get_layout*(child: PWidget): PTextLayout{.cdecl, + dynlib: lib, importc: "_gtk_anchored_child_get_layout".} +proc text_line_segment_split*(iter: PTextIter): PTextLineSegment{.cdecl, + dynlib: lib, importc: "gtk_text_line_segment_split".} +proc char_segment_new*(text: cstring, len: guint): PTextLineSegment{.cdecl, + dynlib: lib, importc: "_gtk_char_segment_new".} +proc char_segment_new_from_two_strings*(text1: cstring, len1: guint, + text2: cstring, len2: guint): PTextLineSegment{. + cdecl, dynlib: lib, importc: "_gtk_char_segment_new_from_two_strings".} +proc toggle_segment_new*(info: PTextTagInfo, StateOn: gboolean): PTextLineSegment{. + cdecl, dynlib: lib, importc: "_gtk_toggle_segment_new".} +proc text_btree_new*(table: PTextTagTable, buffer: PTextBuffer): PTextBTree{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_new".} +proc text_btree_ref*(tree: PTextBTree){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_ref".} +proc text_btree_unref*(tree: PTextBTree){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_unref".} +proc text_btree_get_buffer*(tree: PTextBTree): PTextBuffer{.cdecl, dynlib: lib, + importc: "_gtk_text_btree_get_buffer".} +proc text_btree_get_chars_changed_stamp*(tree: PTextBTree): guint{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_chars_changed_stamp".} +proc text_btree_get_segments_changed_stamp*(tree: PTextBTree): guint{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_segments_changed_stamp".} +proc text_btree_segments_changed*(tree: PTextBTree){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_segments_changed".} +proc text_btree_is_end*(tree: PTextBTree, line: PTextLine, + seg: PTextLineSegment, byte_index: int32, + char_offset: int32): gboolean{.cdecl, dynlib: lib, + importc: "_gtk_text_btree_is_end".} +proc text_btree_delete*(start: PTextIter, theEnd: PTextIter){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_delete".} +proc text_btree_insert*(iter: PTextIter, text: cstring, len: gint){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_insert".} +proc text_btree_insert_pixbuf*(iter: PTextIter, pixbuf: PGdkPixbuf){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_insert_pixbuf".} +proc text_btree_insert_child_anchor*(iter: PTextIter, anchor: PTextChildAnchor){. + cdecl, dynlib: lib, importc: "_gtk_text_btree_insert_child_anchor".} +proc text_btree_unregister_child_anchor*(anchor: PTextChildAnchor){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_unregister_child_anchor".} +proc text_btree_find_line_by_y*(tree: PTextBTree, view_id: gpointer, + ypixel: gint, line_top_y: Pgint): PTextLine{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_find_line_by_y".} +proc text_btree_find_line_top*(tree: PTextBTree, line: PTextLine, + view_id: gpointer): gint{.cdecl, dynlib: lib, + importc: "_gtk_text_btree_find_line_top".} +proc text_btree_add_view*(tree: PTextBTree, layout: PTextLayout){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_add_view".} +proc text_btree_remove_view*(tree: PTextBTree, view_id: gpointer){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_remove_view".} +proc text_btree_invalidate_region*(tree: PTextBTree, start: PTextIter, + theEnd: PTextIter){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_invalidate_region".} +proc text_btree_get_view_size*(tree: PTextBTree, view_id: gpointer, + width: Pgint, height: Pgint){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_get_view_size".} +proc text_btree_is_valid*(tree: PTextBTree, view_id: gpointer): gboolean{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_is_valid".} +proc text_btree_validate*(tree: PTextBTree, view_id: gpointer, max_pixels: gint, + y: Pgint, old_height: Pgint, new_height: Pgint): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_validate".} +proc text_btree_validate_line*(tree: PTextBTree, line: PTextLine, + view_id: gpointer){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_validate_line".} +proc text_btree_tag*(start: PTextIter, theEnd: PTextIter, tag: PTextTag, + apply: gboolean){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_tag".} +proc text_btree_get_line*(tree: PTextBTree, line_number: gint, + real_line_number: Pgint): PTextLine{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_line".} +proc text_btree_get_line_no_last*(tree: PTextBTree, line_number: gint, + real_line_number: Pgint): PTextLine{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_line_no_last".} +proc text_btree_get_end_iter_line*(tree: PTextBTree): PTextLine{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_end_iter_line".} +proc text_btree_get_line_at_char*(tree: PTextBTree, char_index: gint, + line_start_index: Pgint, + real_char_index: Pgint): PTextLine{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_line_at_char".} +proc text_btree_get_tags*(iter: PTextIter, num_tags: Pgint): PPGtkTextTag{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_get_tags".} +proc text_btree_get_text*(start: PTextIter, theEnd: PTextIter, + include_hidden: gboolean, include_nonchars: gboolean): cstring{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_get_text".} +proc text_btree_line_count*(tree: PTextBTree): gint{.cdecl, dynlib: lib, + importc: "_gtk_text_btree_line_count".} +proc text_btree_char_count*(tree: PTextBTree): gint{.cdecl, dynlib: lib, + importc: "_gtk_text_btree_char_count".} +proc text_btree_char_is_invisible*(iter: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_char_is_invisible".} +proc text_btree_get_iter_at_char*(tree: PTextBTree, iter: PTextIter, + char_index: gint){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_get_iter_at_char".} +proc text_btree_get_iter_at_line_char*(tree: PTextBTree, iter: PTextIter, + line_number: gint, char_index: gint){. + cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_line_char".} +proc text_btree_get_iter_at_line_byte*(tree: PTextBTree, iter: PTextIter, + line_number: gint, byte_index: gint){. + cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_line_byte".} +proc text_btree_get_iter_from_string*(tree: PTextBTree, iter: PTextIter, + `string`: cstring): gboolean{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_iter_from_string".} +proc text_btree_get_iter_at_mark_name*(tree: PTextBTree, iter: PTextIter, + mark_name: cstring): gboolean{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_iter_at_mark_name".} +proc text_btree_get_iter_at_mark*(tree: PTextBTree, iter: PTextIter, + mark: PTextMark){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_get_iter_at_mark".} +proc text_btree_get_end_iter*(tree: PTextBTree, iter: PTextIter){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_end_iter".} +proc text_btree_get_iter_at_line*(tree: PTextBTree, iter: PTextIter, + line: PTextLine, byte_offset: gint){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_iter_at_line".} +proc text_btree_get_iter_at_first_toggle*(tree: PTextBTree, iter: PTextIter, + tag: PTextTag): gboolean{.cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_first_toggle".} +proc text_btree_get_iter_at_last_toggle*(tree: PTextBTree, iter: PTextIter, + tag: PTextTag): gboolean{.cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_last_toggle".} +proc text_btree_get_iter_at_child_anchor*(tree: PTextBTree, iter: PTextIter, + anchor: PTextChildAnchor){.cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_child_anchor".} +proc text_btree_set_mark*(tree: PTextBTree, existing_mark: PTextMark, + name: cstring, left_gravity: gboolean, + index: PTextIter, should_exist: gboolean): PTextMark{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_set_mark".} +proc text_btree_remove_mark_by_name*(tree: PTextBTree, name: cstring){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_remove_mark_by_name".} +proc text_btree_remove_mark*(tree: PTextBTree, segment: PTextMark){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_remove_mark".} +proc text_btree_get_selection_bounds*(tree: PTextBTree, start: PTextIter, + theEnd: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "_gtk_text_btree_get_selection_bounds".} +proc text_btree_place_cursor*(tree: PTextBTree, `where`: PTextIter){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_place_cursor".} +proc text_btree_mark_is_insert*(tree: PTextBTree, segment: PTextMark): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_mark_is_insert".} +proc text_btree_mark_is_selection_bound*(tree: PTextBTree, segment: PTextMark): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_mark_is_selection_bound".} +proc text_btree_get_mark_by_name*(tree: PTextBTree, name: cstring): PTextMark{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_get_mark_by_name".} +proc text_btree_first_could_contain_tag*(tree: PTextBTree, tag: PTextTag): PTextLine{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_first_could_contain_tag".} +proc text_btree_last_could_contain_tag*(tree: PTextBTree, tag: PTextTag): PTextLine{. + cdecl, dynlib: lib, importc: "_gtk_text_btree_last_could_contain_tag".} +const + bm_TGtkTextLineData_width* = 0x00FFFFFF'i32 + bp_TGtkTextLineData_width* = 0'i32 + bm_TGtkTextLineData_valid* = 0xFF000000'i32 + bp_TGtkTextLineData_valid* = 24'i32 + +proc width*(a: PTextLineData): gint +proc set_width*(a: PTextLineData, NewWidth: gint) +proc valid*(a: PTextLineData): gint +proc set_valid*(a: PTextLineData, `valid`: gint) +proc text_line_get_number*(line: PTextLine): gint{.cdecl, dynlib: lib, + importc: "_gtk_text_line_get_number".} +proc text_line_char_has_tag*(line: PTextLine, tree: PTextBTree, + char_in_line: gint, tag: PTextTag): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_text_line_char_has_tag".} +proc text_line_byte_has_tag*(line: PTextLine, tree: PTextBTree, + byte_in_line: gint, tag: PTextTag): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_text_line_byte_has_tag".} +proc text_line_is_last*(line: PTextLine, tree: PTextBTree): gboolean{.cdecl, + dynlib: lib, importc: "_gtk_text_line_is_last".} +proc text_line_contains_end_iter*(line: PTextLine, tree: PTextBTree): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_text_line_contains_end_iter".} +proc text_line_next*(line: PTextLine): PTextLine{.cdecl, dynlib: lib, + importc: "_gtk_text_line_next".} +proc text_line_next_excluding_last*(line: PTextLine): PTextLine{.cdecl, + dynlib: lib, importc: "_gtk_text_line_next_excluding_last".} +proc text_line_previous*(line: PTextLine): PTextLine{.cdecl, dynlib: lib, + importc: "_gtk_text_line_previous".} +proc text_line_add_data*(line: PTextLine, data: PTextLineData){.cdecl, + dynlib: lib, importc: "_gtk_text_line_add_data".} +proc text_line_remove_data*(line: PTextLine, view_id: gpointer): gpointer{. + cdecl, dynlib: lib, importc: "_gtk_text_line_remove_data".} +proc text_line_get_data*(line: PTextLine, view_id: gpointer): gpointer{.cdecl, + dynlib: lib, importc: "_gtk_text_line_get_data".} +proc text_line_invalidate_wrap*(line: PTextLine, ld: PTextLineData){.cdecl, + dynlib: lib, importc: "_gtk_text_line_invalidate_wrap".} +proc text_line_char_count*(line: PTextLine): gint{.cdecl, dynlib: lib, + importc: "_gtk_text_line_char_count".} +proc text_line_byte_count*(line: PTextLine): gint{.cdecl, dynlib: lib, + importc: "_gtk_text_line_byte_count".} +proc text_line_char_index*(line: PTextLine): gint{.cdecl, dynlib: lib, + importc: "_gtk_text_line_char_index".} +proc text_line_byte_to_segment*(line: PTextLine, byte_offset: gint, + seg_offset: Pgint): PTextLineSegment{.cdecl, + dynlib: lib, importc: "_gtk_text_line_byte_to_segment".} +proc text_line_char_to_segment*(line: PTextLine, char_offset: gint, + seg_offset: Pgint): PTextLineSegment{.cdecl, + dynlib: lib, importc: "_gtk_text_line_char_to_segment".} +proc text_line_byte_to_char_offsets*(line: PTextLine, byte_offset: gint, + line_char_offset: Pgint, + seg_char_offset: Pgint){.cdecl, + dynlib: lib, importc: "_gtk_text_line_byte_to_char_offsets".} +proc text_line_char_to_byte_offsets*(line: PTextLine, char_offset: gint, + line_byte_offset: Pgint, + seg_byte_offset: Pgint){.cdecl, + dynlib: lib, importc: "_gtk_text_line_char_to_byte_offsets".} +proc text_line_byte_to_any_segment*(line: PTextLine, byte_offset: gint, + seg_offset: Pgint): PTextLineSegment{.cdecl, + dynlib: lib, importc: "_gtk_text_line_byte_to_any_segment".} +proc text_line_char_to_any_segment*(line: PTextLine, char_offset: gint, + seg_offset: Pgint): PTextLineSegment{.cdecl, + dynlib: lib, importc: "_gtk_text_line_char_to_any_segment".} +proc text_line_byte_to_char*(line: PTextLine, byte_offset: gint): gint{.cdecl, + dynlib: lib, importc: "_gtk_text_line_byte_to_char".} +proc text_line_char_to_byte*(line: PTextLine, char_offset: gint): gint{.cdecl, + dynlib: lib, importc: "_gtk_text_line_char_to_byte".} +proc text_line_next_could_contain_tag*(line: PTextLine, tree: PTextBTree, + tag: PTextTag): PTextLine{.cdecl, + dynlib: lib, importc: "_gtk_text_line_next_could_contain_tag".} +proc text_line_previous_could_contain_tag*(line: PTextLine, tree: PTextBTree, + tag: PTextTag): PTextLine{.cdecl, dynlib: lib, importc: "_gtk_text_line_previous_could_contain_tag".} +proc text_line_data_new*(layout: PTextLayout, line: PTextLine): PTextLineData{. + cdecl, dynlib: lib, importc: "_gtk_text_line_data_new".} +proc text_btree_check*(tree: PTextBTree){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_check".} +proc text_btree_spew*(tree: PTextBTree){.cdecl, dynlib: lib, + importc: "_gtk_text_btree_spew".} +proc toggle_segment_check_func*(segPtr: PTextLineSegment, line: PTextLine){. + cdecl, dynlib: lib, importc: "_gtk_toggle_segment_check_func".} +proc change_node_toggle_count*(node_: PTextBTreeNode, info: PTextTagInfo, + delta: gint){.cdecl, dynlib: lib, + importc: "_gtk_change_node_toggle_count".} +proc text_btree_release_mark_segment*(tree: PTextBTree, + segment: PTextLineSegment){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_release_mark_segment".} +proc text_btree_notify_will_remove_tag*(tree: PTextBTree, tag: PTextTag){.cdecl, + dynlib: lib, importc: "_gtk_text_btree_notify_will_remove_tag".} +const + bm_TGtkTextBuffer_modified* = 0x0001'i16 + bp_TGtkTextBuffer_modified* = 0'i16 + +proc TYPE_TEXT_BUFFER*(): GType +proc TEXT_BUFFER*(obj: pointer): PTextBuffer +proc TEXT_BUFFER_CLASS*(klass: pointer): PTextBufferClass +proc IS_TEXT_BUFFER*(obj: pointer): bool +proc IS_TEXT_BUFFER_CLASS*(klass: pointer): bool +proc TEXT_BUFFER_GET_CLASS*(obj: pointer): PTextBufferClass +proc modified*(a: var TTextBuffer): guint +proc set_modified*(a: var TTextBuffer, `modified`: guint) +proc text_buffer_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_text_buffer_get_type".} +proc text_buffer_new*(table: PTextTagTable): PTextBuffer{.cdecl, dynlib: lib, + importc: "gtk_text_buffer_new".} +proc text_buffer_get_line_count*(buffer: PTextBuffer): gint{.cdecl, dynlib: lib, + importc: "gtk_text_buffer_get_line_count".} +proc text_buffer_get_char_count*(buffer: PTextBuffer): gint{.cdecl, dynlib: lib, + importc: "gtk_text_buffer_get_char_count".} +proc text_buffer_get_tag_table*(buffer: PTextBuffer): PTextTagTable{.cdecl, + dynlib: lib, importc: "gtk_text_buffer_get_tag_table".} +proc text_buffer_set_text*(buffer: PTextBuffer, text: cstring, len: gint){. + cdecl, dynlib: lib, importc: "gtk_text_buffer_set_text".} +proc text_buffer_insert*(buffer: PTextBuffer, iter: PTextIter, text: cstring, + len: gint){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_insert".} +proc text_buffer_insert_at_cursor*(buffer: PTextBuffer, text: cstring, len: gint){. + cdecl, dynlib: lib, importc: "gtk_text_buffer_insert_at_cursor".} +proc text_buffer_insert_interactive*(buffer: PTextBuffer, iter: PTextIter, + text: cstring, len: gint, + default_editable: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_buffer_insert_interactive".} +proc text_buffer_insert_interactive_at_cursor*(buffer: PTextBuffer, + text: cstring, len: gint, default_editable: gboolean): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_buffer_insert_interactive_at_cursor".} +proc text_buffer_insert_range*(buffer: PTextBuffer, iter: PTextIter, + start: PTextIter, theEnd: PTextIter){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_insert_range".} +proc text_buffer_insert_range_interactive*(buffer: PTextBuffer, iter: PTextIter, + start: PTextIter, theEnd: PTextIter, default_editable: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_buffer_insert_range_interactive".} +proc text_buffer_delete*(buffer: PTextBuffer, start: PTextIter, + theEnd: PTextIter){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_delete".} +proc text_buffer_delete_interactive*(buffer: PTextBuffer, start_iter: PTextIter, + end_iter: PTextIter, + default_editable: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_buffer_delete_interactive".} +proc text_buffer_get_text*(buffer: PTextBuffer, start: PTextIter, + theEnd: PTextIter, include_hidden_chars: gboolean): cstring{. + cdecl, dynlib: lib, importc: "gtk_text_buffer_get_text".} +proc text_buffer_get_slice*(buffer: PTextBuffer, start: PTextIter, + theEnd: PTextIter, include_hidden_chars: gboolean): cstring{. + cdecl, dynlib: lib, importc: "gtk_text_buffer_get_slice".} +proc text_buffer_insert_pixbuf*(buffer: PTextBuffer, iter: PTextIter, + pixbuf: PGdkPixbuf){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_insert_pixbuf".} +proc text_buffer_insert_child_anchor*(buffer: PTextBuffer, iter: PTextIter, + anchor: PTextChildAnchor){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_insert_child_anchor".} +proc text_buffer_create_child_anchor*(buffer: PTextBuffer, iter: PTextIter): PTextChildAnchor{. + cdecl, dynlib: lib, importc: "gtk_text_buffer_create_child_anchor".} +proc text_buffer_create_mark*(buffer: PTextBuffer, mark_name: cstring, + `where`: PTextIter, left_gravity: gboolean): PTextMark{. + cdecl, dynlib: lib, importc: "gtk_text_buffer_create_mark".} +proc text_buffer_move_mark*(buffer: PTextBuffer, mark: PTextMark, + `where`: PTextIter){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_move_mark".} +proc text_buffer_delete_mark*(buffer: PTextBuffer, mark: PTextMark){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_delete_mark".} +proc text_buffer_get_mark*(buffer: PTextBuffer, name: cstring): PTextMark{. + cdecl, dynlib: lib, importc: "gtk_text_buffer_get_mark".} +proc text_buffer_move_mark_by_name*(buffer: PTextBuffer, name: cstring, + `where`: PTextIter){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_move_mark_by_name".} +proc text_buffer_delete_mark_by_name*(buffer: PTextBuffer, name: cstring){. + cdecl, dynlib: lib, importc: "gtk_text_buffer_delete_mark_by_name".} +proc text_buffer_get_insert*(buffer: PTextBuffer): PTextMark{.cdecl, + dynlib: lib, importc: "gtk_text_buffer_get_insert".} +proc text_buffer_get_selection_bound*(buffer: PTextBuffer): PTextMark{.cdecl, + dynlib: lib, importc: "gtk_text_buffer_get_selection_bound".} +proc text_buffer_place_cursor*(buffer: PTextBuffer, `where`: PTextIter){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_place_cursor".} +proc text_buffer_apply_tag*(buffer: PTextBuffer, tag: PTextTag, + start: PTextIter, theEnd: PTextIter){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_apply_tag".} +proc text_buffer_remove_tag*(buffer: PTextBuffer, tag: PTextTag, + start: PTextIter, theEnd: PTextIter){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_remove_tag".} +proc text_buffer_apply_tag_by_name*(buffer: PTextBuffer, name: cstring, + start: PTextIter, theEnd: PTextIter){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_apply_tag_by_name".} +proc text_buffer_remove_tag_by_name*(buffer: PTextBuffer, name: cstring, + start: PTextIter, theEnd: PTextIter){. + cdecl, dynlib: lib, importc: "gtk_text_buffer_remove_tag_by_name".} +proc text_buffer_remove_all_tags*(buffer: PTextBuffer, start: PTextIter, + theEnd: PTextIter){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_remove_all_tags".} +proc text_buffer_get_iter_at_line_offset*(buffer: PTextBuffer, iter: PTextIter, + line_number: gint, char_offset: gint){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_get_iter_at_line_offset".} +proc text_buffer_get_iter_at_line_index*(buffer: PTextBuffer, iter: PTextIter, + line_number: gint, byte_index: gint){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_get_iter_at_line_index".} +proc text_buffer_get_iter_at_offset*(buffer: PTextBuffer, iter: PTextIter, + char_offset: gint){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_get_iter_at_offset".} +proc text_buffer_get_iter_at_line*(buffer: PTextBuffer, iter: PTextIter, + line_number: gint){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_get_iter_at_line".} +proc text_buffer_get_start_iter*(buffer: PTextBuffer, iter: PTextIter){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_get_start_iter".} +proc text_buffer_get_end_iter*(buffer: PTextBuffer, iter: PTextIter){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_get_end_iter".} +proc text_buffer_get_bounds*(buffer: PTextBuffer, start: PTextIter, + theEnd: PTextIter){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_get_bounds".} +proc text_buffer_get_iter_at_mark*(buffer: PTextBuffer, iter: PTextIter, + mark: PTextMark){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_get_iter_at_mark".} +proc text_buffer_get_iter_at_child_anchor*(buffer: PTextBuffer, iter: PTextIter, + anchor: PTextChildAnchor){.cdecl, dynlib: lib, importc: "gtk_text_buffer_get_iter_at_child_anchor".} +proc text_buffer_get_modified*(buffer: PTextBuffer): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_buffer_get_modified".} +proc text_buffer_set_modified*(buffer: PTextBuffer, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_set_modified".} +proc text_buffer_add_selection_clipboard*(buffer: PTextBuffer, + clipboard: PClipboard){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_add_selection_clipboard".} +proc text_buffer_remove_selection_clipboard*(buffer: PTextBuffer, + clipboard: PClipboard){.cdecl, dynlib: lib, importc: "gtk_text_buffer_remove_selection_clipboard".} +proc text_buffer_cut_clipboard*(buffer: PTextBuffer, clipboard: PClipboard, + default_editable: gboolean){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_cut_clipboard".} +proc text_buffer_copy_clipboard*(buffer: PTextBuffer, clipboard: PClipboard){. + cdecl, dynlib: lib, importc: "gtk_text_buffer_copy_clipboard".} +proc text_buffer_paste_clipboard*(buffer: PTextBuffer, clipboard: PClipboard, + override_location: PTextIter, + default_editable: gboolean){.cdecl, + dynlib: lib, importc: "gtk_text_buffer_paste_clipboard".} +proc text_buffer_get_selection_bounds*(buffer: PTextBuffer, start: PTextIter, + theEnd: PTextIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_buffer_get_selection_bounds".} +proc text_buffer_delete_selection*(buffer: PTextBuffer, interactive: gboolean, + default_editable: gboolean): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_buffer_delete_selection".} +proc text_buffer_begin_user_action*(buffer: PTextBuffer){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_begin_user_action".} +proc text_buffer_end_user_action*(buffer: PTextBuffer){.cdecl, dynlib: lib, + importc: "gtk_text_buffer_end_user_action".} +proc text_buffer_spew*(buffer: PTextBuffer){.cdecl, dynlib: lib, + importc: "_gtk_text_buffer_spew".} +proc text_buffer_get_btree*(buffer: PTextBuffer): PTextBTree{.cdecl, + dynlib: lib, importc: "_gtk_text_buffer_get_btree".} +proc text_buffer_get_line_log_attrs*(buffer: PTextBuffer, + anywhere_in_line: PTextIter, + char_len: Pgint): PPangoLogAttr{.cdecl, + dynlib: lib, importc: "_gtk_text_buffer_get_line_log_attrs".} +proc text_buffer_notify_will_remove_tag*(buffer: PTextBuffer, tag: PTextTag){. + cdecl, dynlib: lib, importc: "_gtk_text_buffer_notify_will_remove_tag".} +proc TYPE_TEXT_LAYOUT*(): GType +proc TEXT_LAYOUT*(obj: pointer): PTextLayout +proc TEXT_LAYOUT_CLASS*(klass: pointer): PTextLayoutClass +proc IS_TEXT_LAYOUT*(obj: pointer): bool +proc IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool +proc TEXT_LAYOUT_GET_CLASS*(obj: pointer): PTextLayoutClass +const + bm_TGtkTextLayout_cursor_visible* = 0x0001'i16 + bp_TGtkTextLayout_cursor_visible* = 0'i16 + bm_TGtkTextLayout_cursor_direction* = 0x0006'i16 + bp_TGtkTextLayout_cursor_direction* = 1'i16 + +proc cursor_visible*(a: var TTextLayout): guint +proc set_cursor_visible*(a: var TTextLayout, `cursor_visible`: guint) +proc cursor_direction*(a: var TTextLayout): gint +proc set_cursor_direction*(a: var TTextLayout, `cursor_direction`: gint) +const + bm_TGtkTextCursorDisplay_is_strong* = 0x0001'i16 + bp_TGtkTextCursorDisplay_is_strong* = 0'i16 + bm_TGtkTextCursorDisplay_is_weak* = 0x0002'i16 + bp_TGtkTextCursorDisplay_is_weak* = 1'i16 + +proc is_strong*(a: var TTextCursorDisplay): guint +proc set_is_strong*(a: var TTextCursorDisplay, `is_strong`: guint) +proc is_weak*(a: var TTextCursorDisplay): guint +proc set_is_weak*(a: var TTextCursorDisplay, `is_weak`: guint) +proc text_layout_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_text_layout_get_type".} +proc text_layout_new*(): PTextLayout{.cdecl, dynlib: lib, + importc: "gtk_text_layout_new".} +proc text_layout_set_buffer*(layout: PTextLayout, buffer: PTextBuffer){.cdecl, + dynlib: lib, importc: "gtk_text_layout_set_buffer".} +proc text_layout_get_buffer*(layout: PTextLayout): PTextBuffer{.cdecl, + dynlib: lib, importc: "gtk_text_layout_get_buffer".} +proc text_layout_set_default_style*(layout: PTextLayout, values: PTextAttributes){. + cdecl, dynlib: lib, importc: "gtk_text_layout_set_default_style".} +proc text_layout_set_contexts*(layout: PTextLayout, ltr_context: PPangoContext, + rtl_context: PPangoContext){.cdecl, dynlib: lib, + importc: "gtk_text_layout_set_contexts".} +proc text_layout_set_cursor_direction*(layout: PTextLayout, + direction: TTextDirection){.cdecl, + dynlib: lib, importc: "gtk_text_layout_set_cursor_direction".} +proc text_layout_default_style_changed*(layout: PTextLayout){.cdecl, + dynlib: lib, importc: "gtk_text_layout_default_style_changed".} +proc text_layout_set_screen_width*(layout: PTextLayout, width: gint){.cdecl, + dynlib: lib, importc: "gtk_text_layout_set_screen_width".} +proc text_layout_set_preedit_string*(layout: PTextLayout, + preedit_string: cstring, + preedit_attrs: PPangoAttrList, + cursor_pos: gint){.cdecl, dynlib: lib, + importc: "gtk_text_layout_set_preedit_string".} +proc text_layout_set_cursor_visible*(layout: PTextLayout, + cursor_visible: gboolean){.cdecl, + dynlib: lib, importc: "gtk_text_layout_set_cursor_visible".} +proc text_layout_get_cursor_visible*(layout: PTextLayout): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_layout_get_cursor_visible".} +proc text_layout_get_size*(layout: PTextLayout, width: Pgint, height: Pgint){. + cdecl, dynlib: lib, importc: "gtk_text_layout_get_size".} +proc text_layout_get_lines*(layout: PTextLayout, top_y: gint, bottom_y: gint, + first_line_y: Pgint): PGSList{.cdecl, dynlib: lib, + importc: "gtk_text_layout_get_lines".} +proc text_layout_wrap_loop_start*(layout: PTextLayout){.cdecl, dynlib: lib, + importc: "gtk_text_layout_wrap_loop_start".} +proc text_layout_wrap_loop_end*(layout: PTextLayout){.cdecl, dynlib: lib, + importc: "gtk_text_layout_wrap_loop_end".} +proc text_layout_get_line_display*(layout: PTextLayout, line: PTextLine, + size_only: gboolean): PTextLineDisplay{. + cdecl, dynlib: lib, importc: "gtk_text_layout_get_line_display".} +proc text_layout_free_line_display*(layout: PTextLayout, + display: PTextLineDisplay){.cdecl, + dynlib: lib, importc: "gtk_text_layout_free_line_display".} +proc text_layout_get_line_at_y*(layout: PTextLayout, target_iter: PTextIter, + y: gint, line_top: Pgint){.cdecl, dynlib: lib, + importc: "gtk_text_layout_get_line_at_y".} +proc text_layout_get_iter_at_pixel*(layout: PTextLayout, iter: PTextIter, + x: gint, y: gint){.cdecl, dynlib: lib, + importc: "gtk_text_layout_get_iter_at_pixel".} +proc text_layout_invalidate*(layout: PTextLayout, start: PTextIter, + theEnd: PTextIter){.cdecl, dynlib: lib, + importc: "gtk_text_layout_invalidate".} +proc text_layout_free_line_data*(layout: PTextLayout, line: PTextLine, + line_data: PTextLineData){.cdecl, dynlib: lib, + importc: "gtk_text_layout_free_line_data".} +proc text_layout_is_valid*(layout: PTextLayout): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_layout_is_valid".} +proc text_layout_validate_yrange*(layout: PTextLayout, anchor_line: PTextIter, + y0: gint, y1: gint){.cdecl, dynlib: lib, + importc: "gtk_text_layout_validate_yrange".} +proc text_layout_validate*(layout: PTextLayout, max_pixels: gint){.cdecl, + dynlib: lib, importc: "gtk_text_layout_validate".} +proc text_layout_wrap*(layout: PTextLayout, line: PTextLine, + line_data: PTextLineData): PTextLineData{.cdecl, + dynlib: lib, importc: "gtk_text_layout_wrap".} +proc text_layout_changed*(layout: PTextLayout, y: gint, old_height: gint, + new_height: gint){.cdecl, dynlib: lib, + importc: "gtk_text_layout_changed".} +proc text_layout_get_iter_location*(layout: PTextLayout, iter: PTextIter, + rect: PGdkRectangle){.cdecl, dynlib: lib, + importc: "gtk_text_layout_get_iter_location".} +proc text_layout_get_line_yrange*(layout: PTextLayout, iter: PTextIter, + y: Pgint, height: Pgint){.cdecl, dynlib: lib, + importc: "gtk_text_layout_get_line_yrange".} +proc text_layout_get_line_xrange*(layout: PTextLayout, iter: PTextIter, + x: Pgint, width: Pgint){.cdecl, dynlib: lib, + importc: "_gtk_text_layout_get_line_xrange".} +proc text_layout_get_cursor_locations*(layout: PTextLayout, iter: PTextIter, + strong_pos: PGdkRectangle, + weak_pos: PGdkRectangle){.cdecl, + dynlib: lib, importc: "gtk_text_layout_get_cursor_locations".} +proc text_layout_clamp_iter_to_vrange*(layout: PTextLayout, iter: PTextIter, + top: gint, bottom: gint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_layout_clamp_iter_to_vrange".} +proc text_layout_move_iter_to_line_end*(layout: PTextLayout, iter: PTextIter, + direction: gint): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_layout_move_iter_to_line_end".} +proc text_layout_move_iter_to_previous_line*(layout: PTextLayout, + iter: PTextIter): gboolean{.cdecl, dynlib: lib, importc: "gtk_text_layout_move_iter_to_previous_line".} +proc text_layout_move_iter_to_next_line*(layout: PTextLayout, iter: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_layout_move_iter_to_next_line".} +proc text_layout_move_iter_to_x*(layout: PTextLayout, iter: PTextIter, x: gint){. + cdecl, dynlib: lib, importc: "gtk_text_layout_move_iter_to_x".} +proc text_layout_move_iter_visually*(layout: PTextLayout, iter: PTextIter, + count: gint): gboolean{.cdecl, dynlib: lib, + importc: "gtk_text_layout_move_iter_visually".} +proc text_layout_iter_starts_line*(layout: PTextLayout, iter: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_layout_iter_starts_line".} +proc text_layout_get_iter_at_line*(layout: PTextLayout, iter: PTextIter, + line: PTextLine, byte_offset: gint){.cdecl, + dynlib: lib, importc: "gtk_text_layout_get_iter_at_line".} +proc text_child_anchor_register_child*(anchor: PTextChildAnchor, child: PWidget, + layout: PTextLayout){.cdecl, dynlib: lib, + importc: "gtk_text_child_anchor_register_child".} +proc text_child_anchor_unregister_child*(anchor: PTextChildAnchor, + child: PWidget){.cdecl, dynlib: lib, + importc: "gtk_text_child_anchor_unregister_child".} +proc text_child_anchor_queue_resize*(anchor: PTextChildAnchor, + layout: PTextLayout){.cdecl, dynlib: lib, + importc: "gtk_text_child_anchor_queue_resize".} +proc text_anchored_child_set_layout*(child: PWidget, layout: PTextLayout){. + cdecl, dynlib: lib, importc: "gtk_text_anchored_child_set_layout".} +proc text_layout_spew*(layout: PTextLayout){.cdecl, dynlib: lib, + importc: "gtk_text_layout_spew".} +const # GTK_TEXT_VIEW_PRIORITY_VALIDATE* = GDK_PRIORITY_REDRAW + 5 + bm_TGtkTextView_editable* = 0x0001'i16 + bp_TGtkTextView_editable* = 0'i16 + bm_TGtkTextView_overwrite_mode* = 0x0002'i16 + bp_TGtkTextView_overwrite_mode* = 1'i16 + bm_TGtkTextView_cursor_visible* = 0x0004'i16 + bp_TGtkTextView_cursor_visible* = 2'i16 + bm_TGtkTextView_need_im_reset* = 0x0008'i16 + bp_TGtkTextView_need_im_reset* = 3'i16 + bm_TGtkTextView_just_selected_element* = 0x0010'i16 + bp_TGtkTextView_just_selected_element* = 4'i16 + bm_TGtkTextView_disable_scroll_on_focus* = 0x0020'i16 + bp_TGtkTextView_disable_scroll_on_focus* = 5'i16 + bm_TGtkTextView_onscreen_validated* = 0x0040'i16 + bp_TGtkTextView_onscreen_validated* = 6'i16 + bm_TGtkTextView_mouse_cursor_obscured* = 0x0080'i16 + bp_TGtkTextView_mouse_cursor_obscured* = 7'i16 + +proc TYPE_TEXT_VIEW*(): GType +proc TEXT_VIEW*(obj: pointer): PTextView +proc TEXT_VIEW_CLASS*(klass: pointer): PTextViewClass +proc IS_TEXT_VIEW*(obj: pointer): bool +proc IS_TEXT_VIEW_CLASS*(klass: pointer): bool +proc TEXT_VIEW_GET_CLASS*(obj: pointer): PTextViewClass +proc editable*(a: var TTextView): guint +proc set_editable*(a: var TTextView, `editable`: guint) +proc overwrite_mode*(a: var TTextView): guint +proc set_overwrite_mode*(a: var TTextView, `overwrite_mode`: guint) +proc cursor_visible*(a: var TTextView): guint +proc set_cursor_visible*(a: var TTextView, `cursor_visible`: guint) +proc need_im_reset*(a: var TTextView): guint +proc set_need_im_reset*(a: var TTextView, `need_im_reset`: guint) +proc just_selected_element*(a: var TTextView): guint +proc set_just_selected_element*(a: var TTextView, `just_selected_element`: guint) +proc disable_scroll_on_focus*(a: var TTextView): guint +proc set_disable_scroll_on_focus*(a: var TTextView, + `disable_scroll_on_focus`: guint) +proc onscreen_validated*(a: var TTextView): guint +proc set_onscreen_validated*(a: var TTextView, `onscreen_validated`: guint) +proc mouse_cursor_obscured*(a: var TTextView): guint +proc set_mouse_cursor_obscured*(a: var TTextView, `mouse_cursor_obscured`: guint) +proc text_view_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_text_view_get_type".} +proc text_view_new*(): PTextView{.cdecl, dynlib: lib, + importc: "gtk_text_view_new".} +proc text_view_new_with_buffer*(buffer: PTextBuffer): PTextView{.cdecl, + dynlib: lib, importc: "gtk_text_view_new_with_buffer".} +proc text_view_set_buffer*(text_view: PTextView, buffer: PTextBuffer){.cdecl, + dynlib: lib, importc: "gtk_text_view_set_buffer".} +proc text_view_get_buffer*(text_view: PTextView): PTextBuffer{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_buffer".} +proc text_view_scroll_to_iter*(text_view: PTextView, iter: PTextIter, + within_margin: gdouble, use_align: gboolean, + xalign: gdouble, yalign: gdouble): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_view_scroll_to_iter".} +proc text_view_scroll_to_mark*(text_view: PTextView, mark: PTextMark, + within_margin: gdouble, use_align: gboolean, + xalign: gdouble, yalign: gdouble){.cdecl, + dynlib: lib, importc: "gtk_text_view_scroll_to_mark".} +proc text_view_scroll_mark_onscreen*(text_view: PTextView, mark: PTextMark){. + cdecl, dynlib: lib, importc: "gtk_text_view_scroll_mark_onscreen".} +proc text_view_move_mark_onscreen*(text_view: PTextView, mark: PTextMark): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_view_move_mark_onscreen".} +proc text_view_place_cursor_onscreen*(text_view: PTextView): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_view_place_cursor_onscreen".} +proc text_view_get_visible_rect*(text_view: PTextView, + visible_rect: PGdkRectangle){.cdecl, + dynlib: lib, importc: "gtk_text_view_get_visible_rect".} +proc text_view_set_cursor_visible*(text_view: PTextView, setting: gboolean){. + cdecl, dynlib: lib, importc: "gtk_text_view_set_cursor_visible".} +proc text_view_get_cursor_visible*(text_view: PTextView): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_cursor_visible".} +proc text_view_get_iter_location*(text_view: PTextView, iter: PTextIter, + location: PGdkRectangle){.cdecl, dynlib: lib, + importc: "gtk_text_view_get_iter_location".} +proc text_view_get_iter_at_location*(text_view: PTextView, iter: PTextIter, + x: gint, y: gint){.cdecl, dynlib: lib, + importc: "gtk_text_view_get_iter_at_location".} +proc text_view_get_line_yrange*(text_view: PTextView, iter: PTextIter, y: Pgint, + height: Pgint){.cdecl, dynlib: lib, + importc: "gtk_text_view_get_line_yrange".} +proc text_view_get_line_at_y*(text_view: PTextView, target_iter: PTextIter, + y: gint, line_top: Pgint){.cdecl, dynlib: lib, + importc: "gtk_text_view_get_line_at_y".} +proc text_view_buffer_to_window_coords*(text_view: PTextView, + win: TTextWindowType, buffer_x: gint, + buffer_y: gint, window_x: Pgint, + window_y: Pgint){.cdecl, dynlib: lib, + importc: "gtk_text_view_buffer_to_window_coords".} +proc text_view_window_to_buffer_coords*(text_view: PTextView, + win: TTextWindowType, window_x: gint, + window_y: gint, buffer_x: Pgint, + buffer_y: Pgint){.cdecl, dynlib: lib, + importc: "gtk_text_view_window_to_buffer_coords".} +proc text_view_get_window*(text_view: PTextView, win: TTextWindowType): PGdkWindow{. + cdecl, dynlib: lib, importc: "gtk_text_view_get_window".} +proc text_view_get_window_type*(text_view: PTextView, window: PGdkWindow): TTextWindowType{. + cdecl, dynlib: lib, importc: "gtk_text_view_get_window_type".} +proc text_view_set_border_window_size*(text_view: PTextView, + thetype: TTextWindowType, size: gint){. + cdecl, dynlib: lib, importc: "gtk_text_view_set_border_window_size".} +proc text_view_get_border_window_size*(text_view: PTextView, + thetype: TTextWindowType): gint{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_border_window_size".} +proc text_view_forward_display_line*(text_view: PTextView, iter: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_view_forward_display_line".} +proc text_view_backward_display_line*(text_view: PTextView, iter: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_view_backward_display_line".} +proc text_view_forward_display_line_end*(text_view: PTextView, iter: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_view_forward_display_line_end".} +proc text_view_backward_display_line_start*(text_view: PTextView, + iter: PTextIter): gboolean{.cdecl, dynlib: lib, importc: "gtk_text_view_backward_display_line_start".} +proc text_view_starts_display_line*(text_view: PTextView, iter: PTextIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_view_starts_display_line".} +proc text_view_move_visually*(text_view: PTextView, iter: PTextIter, count: gint): gboolean{. + cdecl, dynlib: lib, importc: "gtk_text_view_move_visually".} +proc text_view_add_child_at_anchor*(text_view: PTextView, child: PWidget, + anchor: PTextChildAnchor){.cdecl, + dynlib: lib, importc: "gtk_text_view_add_child_at_anchor".} +proc text_view_add_child_in_window*(text_view: PTextView, child: PWidget, + which_window: TTextWindowType, xpos: gint, + ypos: gint){.cdecl, dynlib: lib, + importc: "gtk_text_view_add_child_in_window".} +proc text_view_move_child*(text_view: PTextView, child: PWidget, xpos: gint, + ypos: gint){.cdecl, dynlib: lib, + importc: "gtk_text_view_move_child".} +proc text_view_set_wrap_mode*(text_view: PTextView, wrap_mode: TWrapMode){. + cdecl, dynlib: lib, importc: "gtk_text_view_set_wrap_mode".} +proc text_view_get_wrap_mode*(text_view: PTextView): TWrapMode{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_wrap_mode".} +proc text_view_set_editable*(text_view: PTextView, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_text_view_set_editable".} +proc text_view_get_editable*(text_view: PTextView): gboolean{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_editable".} +proc text_view_set_pixels_above_lines*(text_view: PTextView, + pixels_above_lines: gint){.cdecl, + dynlib: lib, importc: "gtk_text_view_set_pixels_above_lines".} +proc text_view_get_pixels_above_lines*(text_view: PTextView): gint{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_pixels_above_lines".} +proc text_view_set_pixels_below_lines*(text_view: PTextView, + pixels_below_lines: gint){.cdecl, + dynlib: lib, importc: "gtk_text_view_set_pixels_below_lines".} +proc text_view_get_pixels_below_lines*(text_view: PTextView): gint{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_pixels_below_lines".} +proc text_view_set_pixels_inside_wrap*(text_view: PTextView, + pixels_inside_wrap: gint){.cdecl, + dynlib: lib, importc: "gtk_text_view_set_pixels_inside_wrap".} +proc text_view_get_pixels_inside_wrap*(text_view: PTextView): gint{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_pixels_inside_wrap".} +proc text_view_set_justification*(text_view: PTextView, + justification: TJustification){.cdecl, + dynlib: lib, importc: "gtk_text_view_set_justification".} +proc text_view_get_justification*(text_view: PTextView): TJustification{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_justification".} +proc text_view_set_left_margin*(text_view: PTextView, left_margin: gint){.cdecl, + dynlib: lib, importc: "gtk_text_view_set_left_margin".} +proc text_view_get_left_margin*(text_view: PTextView): gint{.cdecl, dynlib: lib, + importc: "gtk_text_view_get_left_margin".} +proc text_view_set_right_margin*(text_view: PTextView, right_margin: gint){. + cdecl, dynlib: lib, importc: "gtk_text_view_set_right_margin".} +proc text_view_get_right_margin*(text_view: PTextView): gint{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_right_margin".} +proc text_view_set_indent*(text_view: PTextView, indent: gint){.cdecl, + dynlib: lib, importc: "gtk_text_view_set_indent".} +proc text_view_get_indent*(text_view: PTextView): gint{.cdecl, dynlib: lib, + importc: "gtk_text_view_get_indent".} +proc text_view_set_tabs*(text_view: PTextView, tabs: PPangoTabArray){.cdecl, + dynlib: lib, importc: "gtk_text_view_set_tabs".} +proc text_view_get_tabs*(text_view: PTextView): PPangoTabArray{.cdecl, + dynlib: lib, importc: "gtk_text_view_get_tabs".} +proc text_view_get_default_attributes*(text_view: PTextView): PTextAttributes{. + cdecl, dynlib: lib, importc: "gtk_text_view_get_default_attributes".} +const + bm_TGtkTipsQuery_emit_always* = 0x0001'i16 + bp_TGtkTipsQuery_emit_always* = 0'i16 + bm_TGtkTipsQuery_in_query* = 0x0002'i16 + bp_TGtkTipsQuery_in_query* = 1'i16 + +proc TYPE_TIPS_QUERY*(): GType +proc TIPS_QUERY*(obj: pointer): PTipsQuery +proc TIPS_QUERY_CLASS*(klass: pointer): PTipsQueryClass +proc IS_TIPS_QUERY*(obj: pointer): bool +proc IS_TIPS_QUERY_CLASS*(klass: pointer): bool +proc TIPS_QUERY_GET_CLASS*(obj: pointer): PTipsQueryClass +proc emit_always*(a: var TTipsQuery): guint +proc set_emit_always*(a: var TTipsQuery, `emit_always`: guint) +proc in_query*(a: var TTipsQuery): guint +proc set_in_query*(a: var TTipsQuery, `in_query`: guint) +proc tips_query_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_tips_query_get_type".} +proc tips_query_new*(): PTipsQuery{.cdecl, dynlib: lib, + importc: "gtk_tips_query_new".} +proc tips_query_start_query*(tips_query: PTipsQuery){.cdecl, dynlib: lib, + importc: "gtk_tips_query_start_query".} +proc tips_query_stop_query*(tips_query: PTipsQuery){.cdecl, dynlib: lib, + importc: "gtk_tips_query_stop_query".} +proc tips_query_set_caller*(tips_query: PTipsQuery, caller: PWidget){.cdecl, + dynlib: lib, importc: "gtk_tips_query_set_caller".} +proc tips_query_set_labels*(tips_query: PTipsQuery, label_inactive: cstring, + label_no_tip: cstring){.cdecl, dynlib: lib, + importc: "gtk_tips_query_set_labels".} +const + bm_TGtkTooltips_delay* = 0x3FFFFFFF'i32 + bp_TGtkTooltips_delay* = 0'i32 + bm_TGtkTooltips_enabled* = 0x40000000'i32 + bp_TGtkTooltips_enabled* = 30'i32 + bm_TGtkTooltips_have_grab* = 0x80000000'i32 + bp_TGtkTooltips_have_grab* = 31'i32 + bm_TGtkTooltips_use_sticky_delay* = 0x00000001'i32 + bp_TGtkTooltips_use_sticky_delay* = 0'i32 + +proc TYPE_TOOLTIPS*(): GType +proc TOOLTIPS*(obj: pointer): PTooltips +proc TOOLTIPS_CLASS*(klass: pointer): PTooltipsClass +proc IS_TOOLTIPS*(obj: pointer): bool +proc IS_TOOLTIPS_CLASS*(klass: pointer): bool +proc TOOLTIPS_GET_CLASS*(obj: pointer): PTooltipsClass +proc delay*(a: var TTooltips): guint +proc set_delay*(a: var TTooltips, `delay`: guint) +proc enabled*(a: var TTooltips): guint +proc set_enabled*(a: var TTooltips, `enabled`: guint) +proc have_grab*(a: var TTooltips): guint +proc set_have_grab*(a: var TTooltips, `have_grab`: guint) +proc use_sticky_delay*(a: var TTooltips): guint +proc set_use_sticky_delay*(a: var TTooltips, `use_sticky_delay`: guint) +proc tooltips_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_tooltips_get_type".} +proc tooltips_new*(): PTooltips{.cdecl, dynlib: lib, importc: "gtk_tooltips_new".} +proc tooltips_enable*(tooltips: PTooltips){.cdecl, dynlib: lib, + importc: "gtk_tooltips_enable".} +proc tooltips_disable*(tooltips: PTooltips){.cdecl, dynlib: lib, + importc: "gtk_tooltips_disable".} +proc tooltips_set_tip*(tooltips: PTooltips, widget: PWidget, tip_text: cstring, + tip_private: cstring){.cdecl, dynlib: lib, + importc: "gtk_tooltips_set_tip".} +proc tooltips_data_get*(widget: PWidget): PTooltipsData{.cdecl, dynlib: lib, + importc: "gtk_tooltips_data_get".} +proc tooltips_force_window*(tooltips: PTooltips){.cdecl, dynlib: lib, + importc: "gtk_tooltips_force_window".} +proc tooltips_toggle_keyboard_mode*(widget: PWidget){.cdecl, dynlib: lib, + importc: "_gtk_tooltips_toggle_keyboard_mode".} +const + bm_TGtkToolbar_style_set* = 0x0001'i16 + bp_TGtkToolbar_style_set* = 0'i16 + bm_TGtkToolbar_icon_size_set* = 0x0002'i16 + bp_TGtkToolbar_icon_size_set* = 1'i16 + +proc TYPE_TOOLBAR*(): GType +proc TOOLBAR*(obj: pointer): PToolbar +proc TOOLBAR_CLASS*(klass: pointer): PToolbarClass +proc IS_TOOLBAR*(obj: pointer): bool +proc IS_TOOLBAR_CLASS*(klass: pointer): bool +proc TOOLBAR_GET_CLASS*(obj: pointer): PToolbarClass +proc style_set*(a: var TToolbar): guint +proc set_style_set*(a: var TToolbar, `style_set`: guint) +proc icon_size_set*(a: var TToolbar): guint +proc set_icon_size_set*(a: var TToolbar, `icon_size_set`: guint) +proc toolbar_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_toolbar_get_type".} +proc toolbar_new*(): PToolbar{.cdecl, dynlib: lib, importc: "gtk_toolbar_new".} +proc toolbar_append_item*(toolbar: PToolbar, text: cstring, + tooltip_text: cstring, tooltip_private_text: cstring, + icon: PWidget, callback: TSignalFunc, + user_data: gpointer): PWidget{.cdecl, dynlib: lib, + importc: "gtk_toolbar_append_item".} +proc toolbar_prepend_item*(toolbar: PToolbar, text: cstring, + tooltip_text: cstring, tooltip_private_text: cstring, + icon: PWidget, callback: TSignalFunc, + user_data: gpointer): PWidget{.cdecl, dynlib: lib, + importc: "gtk_toolbar_prepend_item".} +proc toolbar_insert_item*(toolbar: PToolbar, text: cstring, + tooltip_text: cstring, tooltip_private_text: cstring, + icon: PWidget, callback: TSignalFunc, + user_data: gpointer, position: gint): PWidget{.cdecl, + dynlib: lib, importc: "gtk_toolbar_insert_item".} +proc toolbar_insert_stock*(toolbar: PToolbar, stock_id: cstring, + tooltip_text: cstring, tooltip_private_text: cstring, + callback: TSignalFunc, user_data: gpointer, + position: gint): PWidget{.cdecl, dynlib: lib, + importc: "gtk_toolbar_insert_stock".} +proc toolbar_append_space*(toolbar: PToolbar){.cdecl, dynlib: lib, + importc: "gtk_toolbar_append_space".} +proc toolbar_prepend_space*(toolbar: PToolbar){.cdecl, dynlib: lib, + importc: "gtk_toolbar_prepend_space".} +proc toolbar_insert_space*(toolbar: PToolbar, position: gint){.cdecl, + dynlib: lib, importc: "gtk_toolbar_insert_space".} +proc toolbar_remove_space*(toolbar: PToolbar, position: gint){.cdecl, + dynlib: lib, importc: "gtk_toolbar_remove_space".} +proc toolbar_append_element*(toolbar: PToolbar, thetype: TToolbarChildType, + widget: PWidget, text: cstring, + tooltip_text: cstring, + tooltip_private_text: cstring, icon: PWidget, + callback: TSignalFunc, user_data: gpointer): PWidget{. + cdecl, dynlib: lib, importc: "gtk_toolbar_append_element".} +proc toolbar_prepend_element*(toolbar: PToolbar, thetype: TToolbarChildType, + widget: PWidget, text: cstring, + tooltip_text: cstring, + tooltip_private_text: cstring, icon: PWidget, + callback: TSignalFunc, user_data: gpointer): PWidget{. + cdecl, dynlib: lib, importc: "gtk_toolbar_prepend_element".} +proc toolbar_insert_element*(toolbar: PToolbar, thetype: TToolbarChildType, + widget: PWidget, text: cstring, + tooltip_text: cstring, + tooltip_private_text: cstring, icon: PWidget, + callback: TSignalFunc, user_data: gpointer, + position: gint): PWidget{.cdecl, dynlib: lib, + importc: "gtk_toolbar_insert_element".} +proc toolbar_append_widget*(toolbar: PToolbar, widget: PWidget, + tooltip_text: cstring, tooltip_private_text: cstring){. + cdecl, dynlib: lib, importc: "gtk_toolbar_append_widget".} +proc toolbar_prepend_widget*(toolbar: PToolbar, widget: PWidget, + tooltip_text: cstring, + tooltip_private_text: cstring){.cdecl, dynlib: lib, + importc: "gtk_toolbar_prepend_widget".} +proc toolbar_insert_widget*(toolbar: PToolbar, widget: PWidget, + tooltip_text: cstring, + tooltip_private_text: cstring, position: gint){. + cdecl, dynlib: lib, importc: "gtk_toolbar_insert_widget".} +proc toolbar_set_orientation*(toolbar: PToolbar, orientation: TOrientation){. + cdecl, dynlib: lib, importc: "gtk_toolbar_set_orientation".} +proc toolbar_set_style*(toolbar: PToolbar, style: TToolbarStyle){.cdecl, + dynlib: lib, importc: "gtk_toolbar_set_style".} +proc toolbar_set_icon_size*(toolbar: PToolbar, icon_size: TIconSize){.cdecl, + dynlib: lib, importc: "gtk_toolbar_set_icon_size".} +proc toolbar_set_tooltips*(toolbar: PToolbar, enable: gboolean){.cdecl, + dynlib: lib, importc: "gtk_toolbar_set_tooltips".} +proc toolbar_unset_style*(toolbar: PToolbar){.cdecl, dynlib: lib, + importc: "gtk_toolbar_unset_style".} +proc toolbar_unset_icon_size*(toolbar: PToolbar){.cdecl, dynlib: lib, + importc: "gtk_toolbar_unset_icon_size".} +proc toolbar_get_orientation*(toolbar: PToolbar): TOrientation{.cdecl, + dynlib: lib, importc: "gtk_toolbar_get_orientation".} +proc toolbar_get_style*(toolbar: PToolbar): TToolbarStyle{.cdecl, dynlib: lib, + importc: "gtk_toolbar_get_style".} +proc toolbar_get_icon_size*(toolbar: PToolbar): TIconSize{.cdecl, dynlib: lib, + importc: "gtk_toolbar_get_icon_size".} +proc toolbar_get_tooltips*(toolbar: PToolbar): gboolean{.cdecl, dynlib: lib, + importc: "gtk_toolbar_get_tooltips".} +const + bm_TGtkTree_selection_mode* = 0x0003'i16 + bp_TGtkTree_selection_mode* = 0'i16 + bm_TGtkTree_view_mode* = 0x0004'i16 + bp_TGtkTree_view_mode* = 2'i16 + bm_TGtkTree_view_line* = 0x0008'i16 + bp_TGtkTree_view_line* = 3'i16 + +proc TYPE_TREE*(): GType +proc TREE*(obj: pointer): PTree +proc TREE_CLASS*(klass: pointer): PTreeClass +proc IS_TREE*(obj: pointer): bool +proc IS_TREE_CLASS*(klass: pointer): bool +proc TREE_GET_CLASS*(obj: pointer): PTreeClass +proc IS_ROOT_TREE*(obj: pointer): bool +proc TREE_ROOT_TREE*(obj: pointer): PTree +proc TREE_SELECTION_OLD*(obj: pointer): PGList +proc selection_mode*(a: var TTree): guint +proc set_selection_mode*(a: var TTree, `selection_mode`: guint) +proc view_mode*(a: var TTree): guint +proc set_view_mode*(a: var TTree, `view_mode`: guint) +proc view_line*(a: var TTree): guint +proc set_view_line*(a: var TTree, `view_line`: guint) +proc tree_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_tree_get_type".} +proc tree_new*(): PTree{.cdecl, dynlib: lib, importc: "gtk_tree_new".} +proc tree_append*(tree: PTree, tree_item: PWidget){.cdecl, dynlib: lib, + importc: "gtk_tree_append".} +proc tree_prepend*(tree: PTree, tree_item: PWidget){.cdecl, dynlib: lib, + importc: "gtk_tree_prepend".} +proc tree_insert*(tree: PTree, tree_item: PWidget, position: gint){.cdecl, + dynlib: lib, importc: "gtk_tree_insert".} +proc tree_remove_items*(tree: PTree, items: PGList){.cdecl, dynlib: lib, + importc: "gtk_tree_remove_items".} +proc tree_clear_items*(tree: PTree, start: gint, theEnd: gint){.cdecl, + dynlib: lib, importc: "gtk_tree_clear_items".} +proc tree_select_item*(tree: PTree, item: gint){.cdecl, dynlib: lib, + importc: "gtk_tree_select_item".} +proc tree_unselect_item*(tree: PTree, item: gint){.cdecl, dynlib: lib, + importc: "gtk_tree_unselect_item".} +proc tree_select_child*(tree: PTree, tree_item: PWidget){.cdecl, dynlib: lib, + importc: "gtk_tree_select_child".} +proc tree_unselect_child*(tree: PTree, tree_item: PWidget){.cdecl, dynlib: lib, + importc: "gtk_tree_unselect_child".} +proc tree_child_position*(tree: PTree, child: PWidget): gint{.cdecl, + dynlib: lib, importc: "gtk_tree_child_position".} +proc tree_set_selection_mode*(tree: PTree, mode: TSelectionMode){.cdecl, + dynlib: lib, importc: "gtk_tree_set_selection_mode".} +proc tree_set_view_mode*(tree: PTree, mode: TTreeViewMode){.cdecl, dynlib: lib, + importc: "gtk_tree_set_view_mode".} +proc tree_set_view_lines*(tree: PTree, flag: gboolean){.cdecl, dynlib: lib, + importc: "gtk_tree_set_view_lines".} +proc tree_remove_item*(tree: PTree, child: PWidget){.cdecl, dynlib: lib, + importc: "gtk_tree_remove_item".} +proc TYPE_TREE_DRAG_SOURCE*(): GType +proc TREE_DRAG_SOURCE*(obj: pointer): PTreeDragSource +proc IS_TREE_DRAG_SOURCE*(obj: pointer): bool +proc TREE_DRAG_SOURCE_GET_IFACE*(obj: pointer): PTreeDragSourceIface +proc tree_drag_source_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_tree_drag_source_get_type".} +proc tree_drag_source_row_draggable*(drag_source: PTreeDragSource, + path: PTreePath): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_drag_source_row_draggable".} +proc tree_drag_source_drag_data_delete*(drag_source: PTreeDragSource, + path: PTreePath): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_drag_source_drag_data_delete".} +proc tree_drag_source_drag_data_get*(drag_source: PTreeDragSource, + path: PTreePath, + selection_data: PSelectionData): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_drag_source_drag_data_get".} +proc TYPE_TREE_DRAG_DEST*(): GType +proc TREE_DRAG_DEST*(obj: pointer): PTreeDragDest +proc IS_TREE_DRAG_DEST*(obj: pointer): bool +proc TREE_DRAG_DEST_GET_IFACE*(obj: pointer): PTreeDragDestIface +proc tree_drag_dest_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_tree_drag_dest_get_type".} +proc tree_drag_dest_drag_data_received*(drag_dest: PTreeDragDest, + dest: PTreePath, + selection_data: PSelectionData): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_drag_dest_drag_data_received".} +proc tree_drag_dest_row_drop_possible*(drag_dest: PTreeDragDest, + dest_path: PTreePath, + selection_data: PSelectionData): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_drag_dest_row_drop_possible".} +proc tree_set_row_drag_data*(selection_data: PSelectionData, + tree_model: PTreeModel, path: PTreePath): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_set_row_drag_data".} +const + bm_TGtkTreeItem_expanded* = 0x0001'i16 + bp_TGtkTreeItem_expanded* = 0'i16 + +proc TYPE_TREE_ITEM*(): GType +proc TREE_ITEM*(obj: pointer): PTreeItem +proc TREE_ITEM_CLASS*(klass: pointer): PTreeItemClass +proc IS_TREE_ITEM*(obj: pointer): bool +proc IS_TREE_ITEM_CLASS*(klass: pointer): bool +proc TREE_ITEM_GET_CLASS*(obj: pointer): PTreeItemClass +proc TREE_ITEM_SUBTREE*(obj: pointer): PWidget +proc expanded*(a: var TTreeItem): guint +proc set_expanded*(a: var TTreeItem, `expanded`: guint) +proc tree_item_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_tree_item_get_type".} +proc tree_item_new*(): PTreeItem{.cdecl, dynlib: lib, + importc: "gtk_tree_item_new".} +proc tree_item_new_with_label*(`label`: cstring): PTreeItem{.cdecl, dynlib: lib, + importc: "gtk_tree_item_new_with_label".} +proc tree_item_set_subtree*(tree_item: PTreeItem, subtree: PWidget){.cdecl, + dynlib: lib, importc: "gtk_tree_item_set_subtree".} +proc tree_item_remove_subtree*(tree_item: PTreeItem){.cdecl, dynlib: lib, + importc: "gtk_tree_item_remove_subtree".} +proc tree_item_select*(tree_item: PTreeItem){.cdecl, dynlib: lib, + importc: "gtk_tree_item_select".} +proc tree_item_deselect*(tree_item: PTreeItem){.cdecl, dynlib: lib, + importc: "gtk_tree_item_deselect".} +proc tree_item_expand*(tree_item: PTreeItem){.cdecl, dynlib: lib, + importc: "gtk_tree_item_expand".} +proc tree_item_collapse*(tree_item: PTreeItem){.cdecl, dynlib: lib, + importc: "gtk_tree_item_collapse".} +proc TYPE_TREE_SELECTION*(): GType +proc TREE_SELECTION*(obj: pointer): PTreeSelection +proc TREE_SELECTION_CLASS*(klass: pointer): PTreeSelectionClass +proc IS_TREE_SELECTION*(obj: pointer): bool +proc IS_TREE_SELECTION_CLASS*(klass: pointer): bool +proc TREE_SELECTION_GET_CLASS*(obj: pointer): PTreeSelectionClass +proc tree_selection_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_tree_selection_get_type".} +proc tree_selection_set_mode*(selection: PTreeSelection, thetype: TSelectionMode){. + cdecl, dynlib: lib, importc: "gtk_tree_selection_set_mode".} +proc tree_selection_get_mode*(selection: PTreeSelection): TSelectionMode{.cdecl, + dynlib: lib, importc: "gtk_tree_selection_get_mode".} +proc tree_selection_set_select_function*(selection: PTreeSelection, + func_: TTreeSelectionFunc, data: gpointer, destroy: TDestroyNotify){.cdecl, + dynlib: lib, importc: "gtk_tree_selection_set_select_function".} +proc tree_selection_get_user_data*(selection: PTreeSelection): gpointer{.cdecl, + dynlib: lib, importc: "gtk_tree_selection_get_user_data".} +proc tree_selection_get_tree_view*(selection: PTreeSelection): PTreeView{.cdecl, + dynlib: lib, importc: "gtk_tree_selection_get_tree_view".} +proc tree_selection_get_selected*(selection: PTreeSelection, + model: PPGtkTreeModel, iter: PTreeIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_selection_get_selected".} +proc tree_selection_get_selected_rows*(selection: PTreeSelection, + model: PPGtkTreeModel): PGList{.cdecl, + dynlib: lib, importc: "gtk_tree_selection_get_selected_rows".} +proc tree_selection_selected_foreach*(selection: PTreeSelection, + func_: TTreeSelectionForeachFunc, + data: gpointer){.cdecl, dynlib: lib, + importc: "gtk_tree_selection_selected_foreach".} +proc tree_selection_select_path*(selection: PTreeSelection, path: PTreePath){. + cdecl, dynlib: lib, importc: "gtk_tree_selection_select_path".} +proc tree_selection_unselect_path*(selection: PTreeSelection, path: PTreePath){. + cdecl, dynlib: lib, importc: "gtk_tree_selection_unselect_path".} +proc tree_selection_select_iter*(selection: PTreeSelection, iter: PTreeIter){. + cdecl, dynlib: lib, importc: "gtk_tree_selection_select_iter".} +proc tree_selection_unselect_iter*(selection: PTreeSelection, iter: PTreeIter){. + cdecl, dynlib: lib, importc: "gtk_tree_selection_unselect_iter".} +proc tree_selection_path_is_selected*(selection: PTreeSelection, path: PTreePath): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_selection_path_is_selected".} +proc tree_selection_iter_is_selected*(selection: PTreeSelection, iter: PTreeIter): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_selection_iter_is_selected".} +proc tree_selection_select_all*(selection: PTreeSelection){.cdecl, dynlib: lib, + importc: "gtk_tree_selection_select_all".} +proc tree_selection_unselect_all*(selection: PTreeSelection){.cdecl, + dynlib: lib, importc: "gtk_tree_selection_unselect_all".} +proc tree_selection_select_range*(selection: PTreeSelection, + start_path: PTreePath, end_path: PTreePath){. + cdecl, dynlib: lib, importc: "gtk_tree_selection_select_range".} +const + bm_TGtkTreeStore_columns_dirty* = 0x0001'i16 + bp_TGtkTreeStore_columns_dirty* = 0'i16 + +proc TYPE_TREE_STORE*(): GType +proc TREE_STORE*(obj: pointer): PTreeStore +proc TREE_STORE_CLASS*(klass: pointer): PTreeStoreClass +proc IS_TREE_STORE*(obj: pointer): bool +proc IS_TREE_STORE_CLASS*(klass: pointer): bool +proc TREE_STORE_GET_CLASS*(obj: pointer): PTreeStoreClass +proc columns_dirty*(a: var TTreeStore): guint +proc set_columns_dirty*(a: var TTreeStore, `columns_dirty`: guint) +proc tree_store_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_tree_store_get_type".} +proc tree_store_newv*(n_columns: gint, types: PGType): PTreeStore{.cdecl, + dynlib: lib, importc: "gtk_tree_store_newv".} +proc tree_store_set_column_types*(tree_store: PTreeStore, n_columns: gint, + types: PGType){.cdecl, dynlib: lib, + importc: "gtk_tree_store_set_column_types".} +proc tree_store_set_value*(tree_store: PTreeStore, iter: PTreeIter, + column: gint, value: PGValue){.cdecl, dynlib: lib, + importc: "gtk_tree_store_set_value".} +proc tree_store_remove*(tree_store: PTreeStore, iter: PTreeIter){.cdecl, + dynlib: lib, importc: "gtk_tree_store_remove".} +proc tree_store_insert*(tree_store: PTreeStore, iter: PTreeIter, + parent: PTreeIter, position: gint){.cdecl, dynlib: lib, + importc: "gtk_tree_store_insert".} +proc tree_store_insert_before*(tree_store: PTreeStore, iter: PTreeIter, + parent: PTreeIter, sibling: PTreeIter){.cdecl, + dynlib: lib, importc: "gtk_tree_store_insert_before".} +proc tree_store_insert_after*(tree_store: PTreeStore, iter: PTreeIter, + parent: PTreeIter, sibling: PTreeIter){.cdecl, + dynlib: lib, importc: "gtk_tree_store_insert_after".} +proc tree_store_prepend*(tree_store: PTreeStore, iter: PTreeIter, + parent: PTreeIter){.cdecl, dynlib: lib, + importc: "gtk_tree_store_prepend".} +proc tree_store_append*(tree_store: PTreeStore, iter: PTreeIter, + parent: PTreeIter){.cdecl, dynlib: lib, + importc: "gtk_tree_store_append".} +proc tree_store_is_ancestor*(tree_store: PTreeStore, iter: PTreeIter, + descendant: PTreeIter): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_store_is_ancestor".} +proc tree_store_iter_depth*(tree_store: PTreeStore, iter: PTreeIter): gint{. + cdecl, dynlib: lib, importc: "gtk_tree_store_iter_depth".} +proc tree_store_clear*(tree_store: PTreeStore){.cdecl, dynlib: lib, + importc: "gtk_tree_store_clear".} +const + bm_TGtkTreeViewColumn_visible* = 0x0001'i16 + bp_TGtkTreeViewColumn_visible* = 0'i16 + bm_TGtkTreeViewColumn_resizable* = 0x0002'i16 + bp_TGtkTreeViewColumn_resizable* = 1'i16 + bm_TGtkTreeViewColumn_clickable* = 0x0004'i16 + bp_TGtkTreeViewColumn_clickable* = 2'i16 + bm_TGtkTreeViewColumn_dirty* = 0x0008'i16 + bp_TGtkTreeViewColumn_dirty* = 3'i16 + bm_TGtkTreeViewColumn_show_sort_indicator* = 0x0010'i16 + bp_TGtkTreeViewColumn_show_sort_indicator* = 4'i16 + bm_TGtkTreeViewColumn_maybe_reordered* = 0x0020'i16 + bp_TGtkTreeViewColumn_maybe_reordered* = 5'i16 + bm_TGtkTreeViewColumn_reorderable* = 0x0040'i16 + bp_TGtkTreeViewColumn_reorderable* = 6'i16 + bm_TGtkTreeViewColumn_use_resized_width* = 0x0080'i16 + bp_TGtkTreeViewColumn_use_resized_width* = 7'i16 + +proc TYPE_TREE_VIEW_COLUMN*(): GType +proc TREE_VIEW_COLUMN*(obj: pointer): PTreeViewColumn +proc TREE_VIEW_COLUMN_CLASS*(klass: pointer): PTreeViewColumnClass +proc IS_TREE_VIEW_COLUMN*(obj: pointer): bool +proc IS_TREE_VIEW_COLUMN_CLASS*(klass: pointer): bool +proc TREE_VIEW_COLUMN_GET_CLASS*(obj: pointer): PTreeViewColumnClass +proc visible*(a: var TTreeViewColumn): guint +proc set_visible*(a: var TTreeViewColumn, `visible`: guint) +proc resizable*(a: var TTreeViewColumn): guint +proc set_resizable*(a: var TTreeViewColumn, `resizable`: guint) +proc clickable*(a: var TTreeViewColumn): guint +proc set_clickable*(a: var TTreeViewColumn, `clickable`: guint) +proc dirty*(a: var TTreeViewColumn): guint +proc set_dirty*(a: var TTreeViewColumn, `dirty`: guint) +proc show_sort_indicator*(a: var TTreeViewColumn): guint +proc set_show_sort_indicator*(a: var TTreeViewColumn, + `show_sort_indicator`: guint) +proc maybe_reordered*(a: var TTreeViewColumn): guint +proc set_maybe_reordered*(a: var TTreeViewColumn, `maybe_reordered`: guint) +proc reorderable*(a: var TTreeViewColumn): guint +proc set_reorderable*(a: var TTreeViewColumn, `reorderable`: guint) +proc use_resized_width*(a: var TTreeViewColumn): guint +proc set_use_resized_width*(a: var TTreeViewColumn, `use_resized_width`: guint) +proc tree_view_column_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_get_type".} +proc tree_view_column_new*(): PTreeViewColumn{.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_new".} +proc tree_view_column_pack_start*(tree_column: PTreeViewColumn, + cell: PCellRenderer, expand: gboolean){.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_pack_start".} +proc tree_view_column_pack_end*(tree_column: PTreeViewColumn, + cell: PCellRenderer, expand: gboolean){.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_pack_end".} +proc tree_view_column_clear*(tree_column: PTreeViewColumn){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_clear".} +proc tree_view_column_get_cell_renderers*(tree_column: PTreeViewColumn): PGList{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_cell_renderers".} +proc tree_view_column_add_attribute*(tree_column: PTreeViewColumn, + cell_renderer: PCellRenderer, + attribute: cstring, column: gint){.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_add_attribute".} +proc tree_view_column_set_cell_data_func*(tree_column: PTreeViewColumn, + cell_renderer: PCellRenderer, func_: TTreeCellDataFunc, func_data: gpointer, + destroy: TDestroyNotify){.cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_cell_data_func".} +proc tree_view_column_clear_attributes*(tree_column: PTreeViewColumn, + cell_renderer: PCellRenderer){.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_clear_attributes".} +proc tree_view_column_set_spacing*(tree_column: PTreeViewColumn, spacing: gint){. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_spacing".} +proc tree_view_column_get_spacing*(tree_column: PTreeViewColumn): gint{.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_get_spacing".} +proc tree_view_column_set_visible*(tree_column: PTreeViewColumn, + visible: gboolean){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_visible".} +proc tree_view_column_get_visible*(tree_column: PTreeViewColumn): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_visible".} +proc tree_view_column_set_resizable*(tree_column: PTreeViewColumn, + resizable: gboolean){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_resizable".} +proc tree_view_column_get_resizable*(tree_column: PTreeViewColumn): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_resizable".} +proc tree_view_column_set_sizing*(tree_column: PTreeViewColumn, + thetype: TTreeViewColumnSizing){.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_set_sizing".} +proc tree_view_column_get_sizing*(tree_column: PTreeViewColumn): TTreeViewColumnSizing{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_sizing".} +proc tree_view_column_get_width*(tree_column: PTreeViewColumn): gint{.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_get_width".} +proc tree_view_column_get_fixed_width*(tree_column: PTreeViewColumn): gint{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_fixed_width".} +proc tree_view_column_set_fixed_width*(tree_column: PTreeViewColumn, + fixed_width: gint){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_fixed_width".} +proc tree_view_column_set_min_width*(tree_column: PTreeViewColumn, + min_width: gint){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_min_width".} +proc tree_view_column_get_min_width*(tree_column: PTreeViewColumn): gint{.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_get_min_width".} +proc tree_view_column_set_max_width*(tree_column: PTreeViewColumn, + max_width: gint){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_max_width".} +proc tree_view_column_get_max_width*(tree_column: PTreeViewColumn): gint{.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_get_max_width".} +proc tree_view_column_clicked*(tree_column: PTreeViewColumn){.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_clicked".} +proc tree_view_column_set_title*(tree_column: PTreeViewColumn, title: cstring){. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_title".} +proc tree_view_column_get_title*(tree_column: PTreeViewColumn): cstring{.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_get_title".} +proc tree_view_column_set_clickable*(tree_column: PTreeViewColumn, + clickable: gboolean){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_clickable".} +proc tree_view_column_get_clickable*(tree_column: PTreeViewColumn): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_clickable".} +proc tree_view_column_set_widget*(tree_column: PTreeViewColumn, widget: PWidget){. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_widget".} +proc tree_view_column_get_widget*(tree_column: PTreeViewColumn): PWidget{.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_get_widget".} +proc tree_view_column_set_alignment*(tree_column: PTreeViewColumn, + xalign: gfloat){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_alignment".} +proc tree_view_column_get_alignment*(tree_column: PTreeViewColumn): gfloat{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_alignment".} +proc tree_view_column_set_reorderable*(tree_column: PTreeViewColumn, + reorderable: gboolean){.cdecl, + dynlib: lib, importc: "gtk_tree_view_column_set_reorderable".} +proc tree_view_column_get_reorderable*(tree_column: PTreeViewColumn): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_reorderable".} +proc tree_view_column_set_sort_column_id*(tree_column: PTreeViewColumn, + sort_column_id: gint){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_sort_column_id".} +proc tree_view_column_get_sort_column_id*(tree_column: PTreeViewColumn): gint{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_sort_column_id".} +proc tree_view_column_set_sort_indicator*(tree_column: PTreeViewColumn, + setting: gboolean){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_sort_indicator".} +proc tree_view_column_get_sort_indicator*(tree_column: PTreeViewColumn): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_sort_indicator".} +proc tree_view_column_set_sort_order*(tree_column: PTreeViewColumn, + order: TSortType){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_set_sort_order".} +proc tree_view_column_get_sort_order*(tree_column: PTreeViewColumn): TSortType{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_sort_order".} +proc tree_view_column_cell_set_cell_data*(tree_column: PTreeViewColumn, + tree_model: PTreeModel, iter: PTreeIter, is_expander: gboolean, + is_expanded: gboolean){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_cell_set_cell_data".} +proc tree_view_column_cell_get_size*(tree_column: PTreeViewColumn, + cell_area: PGdkRectangle, x_offset: Pgint, + y_offset: Pgint, width: Pgint, + height: Pgint){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_cell_get_size".} +proc tree_view_column_cell_is_visible*(tree_column: PTreeViewColumn): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_cell_is_visible".} +proc tree_view_column_focus_cell*(tree_column: PTreeViewColumn, + cell: PCellRenderer){.cdecl, dynlib: lib, + importc: "gtk_tree_view_column_focus_cell".} +proc tree_view_column_set_expand*(tree_column: PTreeViewColumn, Expand: gboolean){. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_expand".} +proc tree_view_column_get_expand*(tree_column: PTreeViewColumn): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_expand".} +const + RBNODE_BLACK* = 1 shl 0 + RBNODE_RED* = 1 shl 1 + RBNODE_IS_PARENT* = 1 shl 2 + RBNODE_IS_SELECTED* = 1 shl 3 + RBNODE_IS_PRELIT* = 1 shl 4 + RBNODE_IS_SEMI_COLLAPSED* = 1 shl 5 + RBNODE_IS_SEMI_EXPANDED* = 1 shl 6 + RBNODE_INVALID* = 1 shl 7 + RBNODE_COLUMN_INVALID* = 1 shl 8 + RBNODE_DESCENDANTS_INVALID* = 1 shl 9 + RBNODE_NON_COLORS* = RBNODE_IS_PARENT or RBNODE_IS_SELECTED or + RBNODE_IS_PRELIT or RBNODE_IS_SEMI_COLLAPSED or RBNODE_IS_SEMI_EXPANDED or + RBNODE_INVALID or RBNODE_COLUMN_INVALID or RBNODE_DESCENDANTS_INVALID + +const + bm_TGtkRBNode_flags* = 0x3FFF'i16 + bp_TGtkRBNode_flags* = 0'i16 + bm_TGtkRBNode_parity* = 0x4000'i16 + bp_TGtkRBNode_parity* = 14'i16 + +proc flags*(a: PRBNode): guint +proc set_flags*(a: PRBNode, `flags`: guint) +proc parity*(a: PRBNode): guint +proc set_parity*(a: PRBNode, `parity`: guint) +proc RBNODE_GET_COLOR*(node_: PRBNode): guint +proc RBNODE_SET_COLOR*(node_: PRBNode, color: guint) +proc RBNODE_GET_HEIGHT*(node_: PRBNode): gint +proc RBNODE_SET_FLAG*(node_: PRBNode, flag: guint16) +proc RBNODE_UNSET_FLAG*(node_: PRBNode, flag: guint16) +proc RBNODE_FLAG_SET*(node_: PRBNode, flag: guint): bool +proc rbtree_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_push_allocator".} +proc rbtree_pop_allocator*(){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_pop_allocator".} +proc rbtree_new*(): PRBTree{.cdecl, dynlib: lib, importc: "_gtk_rbtree_new".} +proc rbtree_free*(tree: PRBTree){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_free".} +proc rbtree_remove*(tree: PRBTree){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_remove".} +proc rbtree_destroy*(tree: PRBTree){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_destroy".} +proc rbtree_insert_before*(tree: PRBTree, node_: PRBNode, height: gint, + valid: gboolean): PRBNode{.cdecl, dynlib: lib, + importc: "_gtk_rbtree_insert_before".} +proc rbtree_insert_after*(tree: PRBTree, node_: PRBNode, height: gint, + valid: gboolean): PRBNode{.cdecl, dynlib: lib, + importc: "_gtk_rbtree_insert_after".} +proc rbtree_remove_node*(tree: PRBTree, node_: PRBNode){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_remove_node".} +proc rbtree_reorder*(tree: PRBTree, new_order: Pgint, length: gint){.cdecl, + dynlib: lib, importc: "_gtk_rbtree_reorder".} +proc rbtree_find_count*(tree: PRBTree, count: gint): PRBNode{.cdecl, + dynlib: lib, importc: "_gtk_rbtree_find_count".} +proc rbtree_node_set_height*(tree: PRBTree, node_: PRBNode, height: gint){. + cdecl, dynlib: lib, importc: "_gtk_rbtree_node_set_height".} +proc rbtree_node_mark_invalid*(tree: PRBTree, node_: PRBNode){.cdecl, + dynlib: lib, importc: "_gtk_rbtree_node_mark_invalid".} +proc rbtree_node_mark_valid*(tree: PRBTree, node_: PRBNode){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_node_mark_valid".} +proc rbtree_column_invalid*(tree: PRBTree){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_column_invalid".} +proc rbtree_mark_invalid*(tree: PRBTree){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_mark_invalid".} +proc rbtree_set_fixed_height*(tree: PRBTree, height: gint){.cdecl, dynlib: lib, + importc: "_gtk_rbtree_set_fixed_height".} +proc rbtree_node_find_offset*(tree: PRBTree, node_: PRBNode): gint{.cdecl, + dynlib: lib, importc: "_gtk_rbtree_node_find_offset".} +proc rbtree_node_find_parity*(tree: PRBTree, node_: PRBNode): gint{.cdecl, + dynlib: lib, importc: "_gtk_rbtree_node_find_parity".} +proc rbtree_traverse*(tree: PRBTree, node_: PRBNode, order: TGTraverseType, + func_: TRBTreeTraverseFunc, data: gpointer){.cdecl, + dynlib: lib, importc: "_gtk_rbtree_traverse".} +proc rbtree_next*(tree: PRBTree, node_: PRBNode): PRBNode{.cdecl, dynlib: lib, + importc: "_gtk_rbtree_next".} +proc rbtree_prev*(tree: PRBTree, node_: PRBNode): PRBNode{.cdecl, dynlib: lib, + importc: "_gtk_rbtree_prev".} +proc rbtree_get_depth*(tree: PRBTree): gint{.cdecl, dynlib: lib, + importc: "_gtk_rbtree_get_depth".} +const + TREE_VIEW_DRAG_WIDTH* = 6 + TREE_VIEW_IS_LIST* = 1 shl 0 + TREE_VIEW_SHOW_EXPANDERS* = 1 shl 1 + TREE_VIEW_IN_COLUMN_RESIZE* = 1 shl 2 + TREE_VIEW_ARROW_PRELIT* = 1 shl 3 + TREE_VIEW_HEADERS_VISIBLE* = 1 shl 4 + TREE_VIEW_DRAW_KEYFOCUS* = 1 shl 5 + TREE_VIEW_MODEL_SETUP* = 1 shl 6 + TREE_VIEW_IN_COLUMN_DRAG* = 1 shl 7 + DRAG_COLUMN_WINDOW_STATE_UNSET* = 0 + DRAG_COLUMN_WINDOW_STATE_ORIGINAL* = 1 + DRAG_COLUMN_WINDOW_STATE_ARROW* = 2 + DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT* = 3 + DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT* = 4 + +proc TREE_VIEW_SET_FLAG*(tree_view: PTreeView, flag: guint) +proc TREE_VIEW_UNSET_FLAG*(tree_view: PTreeView, flag: guint) +proc TREE_VIEW_FLAG_SET*(tree_view: PTreeView, flag: guint): bool +proc TREE_VIEW_HEADER_HEIGHT*(tree_view: PTreeView): int32 +proc TREE_VIEW_COLUMN_REQUESTED_WIDTH*(column: PTreeViewColumn): int32 +proc TREE_VIEW_DRAW_EXPANDERS*(tree_view: PTreeView): bool +proc TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PTreeView): int32 +const + bm_TGtkTreeViewPrivate_scroll_to_use_align* = 0x0001'i16 + bp_TGtkTreeViewPrivate_scroll_to_use_align* = 0'i16 + bm_TGtkTreeViewPrivate_fixed_height_check* = 0x0002'i16 + bp_TGtkTreeViewPrivate_fixed_height_check* = 1'i16 + bm_TGtkTreeViewPrivate_reorderable* = 0x0004'i16 + bp_TGtkTreeViewPrivate_reorderable* = 2'i16 + bm_TGtkTreeViewPrivate_header_has_focus* = 0x0008'i16 + bp_TGtkTreeViewPrivate_header_has_focus* = 3'i16 + bm_TGtkTreeViewPrivate_drag_column_window_state* = 0x0070'i16 + bp_TGtkTreeViewPrivate_drag_column_window_state* = 4'i16 + bm_TGtkTreeViewPrivate_has_rules* = 0x0080'i16 + bp_TGtkTreeViewPrivate_has_rules* = 7'i16 + bm_TGtkTreeViewPrivate_mark_rows_col_dirty* = 0x0100'i16 + bp_TGtkTreeViewPrivate_mark_rows_col_dirty* = 8'i16 + bm_TGtkTreeViewPrivate_enable_search* = 0x0200'i16 + bp_TGtkTreeViewPrivate_enable_search* = 9'i16 + bm_TGtkTreeViewPrivate_disable_popdown* = 0x0400'i16 + bp_TGtkTreeViewPrivate_disable_popdown* = 10'i16 + +proc scroll_to_use_align*(a: var TTreeViewPrivate): guint +proc set_scroll_to_use_align*(a: var TTreeViewPrivate, + `scroll_to_use_align`: guint) +proc fixed_height_check*(a: var TTreeViewPrivate): guint +proc set_fixed_height_check*(a: var TTreeViewPrivate, + `fixed_height_check`: guint) +proc reorderable*(a: var TTreeViewPrivate): guint +proc set_reorderable*(a: var TTreeViewPrivate, `reorderable`: guint) +proc header_has_focus*(a: var TTreeViewPrivate): guint +proc set_header_has_focus*(a: var TTreeViewPrivate, `header_has_focus`: guint) +proc drag_column_window_state*(a: var TTreeViewPrivate): guint +proc set_drag_column_window_state*(a: var TTreeViewPrivate, + `drag_column_window_state`: guint) +proc has_rules*(a: var TTreeViewPrivate): guint +proc set_has_rules*(a: var TTreeViewPrivate, `has_rules`: guint) +proc mark_rows_col_dirty*(a: var TTreeViewPrivate): guint +proc set_mark_rows_col_dirty*(a: var TTreeViewPrivate, + `mark_rows_col_dirty`: guint) +proc enable_search*(a: var TTreeViewPrivate): guint +proc set_enable_search*(a: var TTreeViewPrivate, `enable_search`: guint) +proc disable_popdown*(a: var TTreeViewPrivate): guint +proc set_disable_popdown*(a: var TTreeViewPrivate, `disable_popdown`: guint) +proc tree_selection_internal_select_node*(selection: PTreeSelection, + node_: PRBNode, tree: PRBTree, path: PTreePath, state: TGdkModifierType, + override_browse_mode: gboolean){.cdecl, dynlib: lib, importc: "_gtk_tree_selection_internal_select_node".} +proc tree_view_find_node*(tree_view: PTreeView, path: PTreePath, + tree: var PRBTree, node_: var PRBNode): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_tree_view_find_node".} +proc tree_view_find_path*(tree_view: PTreeView, tree: PRBTree, node_: PRBNode): PTreePath{. + cdecl, dynlib: lib, importc: "_gtk_tree_view_find_path".} +proc tree_view_child_move_resize*(tree_view: PTreeView, widget: PWidget, + x: gint, y: gint, width: gint, height: gint){. + cdecl, dynlib: lib, importc: "_gtk_tree_view_child_move_resize".} +proc tree_view_queue_draw_node*(tree_view: PTreeView, tree: PRBTree, + node_: PRBNode, clip_rect: PGdkRectangle){. + cdecl, dynlib: lib, importc: "_gtk_tree_view_queue_draw_node".} +proc tree_view_column_realize_button*(column: PTreeViewColumn){.cdecl, + dynlib: lib, importc: "_gtk_tree_view_column_realize_button".} +proc tree_view_column_unrealize_button*(column: PTreeViewColumn){.cdecl, + dynlib: lib, importc: "_gtk_tree_view_column_unrealize_button".} +proc tree_view_column_set_tree_view*(column: PTreeViewColumn, + tree_view: PTreeView){.cdecl, dynlib: lib, + importc: "_gtk_tree_view_column_set_tree_view".} +proc tree_view_column_unset_tree_view*(column: PTreeViewColumn){.cdecl, + dynlib: lib, importc: "_gtk_tree_view_column_unset_tree_view".} +proc tree_view_column_set_width*(column: PTreeViewColumn, width: gint){.cdecl, + dynlib: lib, importc: "_gtk_tree_view_column_set_width".} +proc tree_view_column_start_drag*(tree_view: PTreeView, column: PTreeViewColumn){. + cdecl, dynlib: lib, importc: "_gtk_tree_view_column_start_drag".} +proc tree_view_column_start_editing*(tree_column: PTreeViewColumn, + editable_widget: PCellEditable){.cdecl, + dynlib: lib, importc: "_gtk_tree_view_column_start_editing".} +proc tree_view_column_stop_editing*(tree_column: PTreeViewColumn){.cdecl, + dynlib: lib, importc: "_gtk_tree_view_column_stop_editing".} +proc tree_view_install_mark_rows_col_dirty*(tree_view: PTreeView){.cdecl, + dynlib: lib, importc: "_gtk_tree_view_install_mark_rows_col_dirty".} +proc DOgtk_tree_view_column_autosize*(tree_view: PTreeView, + column: PTreeViewColumn){.cdecl, + dynlib: lib, importc: "_gtk_tree_view_column_autosize".} +proc tree_view_column_has_editable_cell*(column: PTreeViewColumn): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_tree_view_column_has_editable_cell".} +proc tree_view_column_get_edited_cell*(column: PTreeViewColumn): PCellRenderer{. + cdecl, dynlib: lib, importc: "_gtk_tree_view_column_get_edited_cell".} +proc tree_view_column_count_special_cells*(column: PTreeViewColumn): gint{. + cdecl, dynlib: lib, importc: "_gtk_tree_view_column_count_special_cells".} +proc tree_view_column_get_cell_at_pos*(column: PTreeViewColumn, x: gint): PCellRenderer{. + cdecl, dynlib: lib, importc: "_gtk_tree_view_column_get_cell_at_pos".} +proc tree_selection_new*(): PTreeSelection{.cdecl, dynlib: lib, + importc: "_gtk_tree_selection_new".} +proc tree_selection_new_with_tree_view*(tree_view: PTreeView): PTreeSelection{. + cdecl, dynlib: lib, importc: "_gtk_tree_selection_new_with_tree_view".} +proc tree_selection_set_tree_view*(selection: PTreeSelection, + tree_view: PTreeView){.cdecl, dynlib: lib, + importc: "_gtk_tree_selection_set_tree_view".} +proc tree_view_column_cell_render*(tree_column: PTreeViewColumn, + window: PGdkWindow, + background_area: PGdkRectangle, + cell_area: PGdkRectangle, + expose_area: PGdkRectangle, flags: guint){. + cdecl, dynlib: lib, importc: "_gtk_tree_view_column_cell_render".} +proc tree_view_column_cell_focus*(tree_column: PTreeViewColumn, direction: gint, + left: gboolean, right: gboolean): gboolean{. + cdecl, dynlib: lib, importc: "_gtk_tree_view_column_cell_focus".} +proc tree_view_column_cell_draw_focus*(tree_column: PTreeViewColumn, + window: PGdkWindow, + background_area: PGdkRectangle, + cell_area: PGdkRectangle, + expose_area: PGdkRectangle, flags: guint){. + cdecl, dynlib: lib, importc: "_gtk_tree_view_column_cell_draw_focus".} +proc tree_view_column_cell_set_dirty*(tree_column: PTreeViewColumn, + install_handler: gboolean){.cdecl, + dynlib: lib, importc: "_gtk_tree_view_column_cell_set_dirty".} +proc tree_view_column_get_neighbor_sizes*(column: PTreeViewColumn, + cell: PCellRenderer, left: Pgint, right: Pgint){.cdecl, dynlib: lib, + importc: "_gtk_tree_view_column_get_neighbor_sizes".} +proc TYPE_TREE_VIEW*(): GType +proc TREE_VIEW*(obj: pointer): PTreeView +proc TREE_VIEW_CLASS*(klass: pointer): PTreeViewClass +proc IS_TREE_VIEW*(obj: pointer): bool +proc IS_TREE_VIEW_CLASS*(klass: pointer): bool +proc TREE_VIEW_GET_CLASS*(obj: pointer): PTreeViewClass +proc tree_view_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_tree_view_get_type".} +proc tree_view_new*(): PTreeView{.cdecl, dynlib: lib, + importc: "gtk_tree_view_new".} +proc tree_view_new_with_model*(model: PTreeModel): PTreeView{.cdecl, + dynlib: lib, importc: "gtk_tree_view_new_with_model".} +proc tree_view_get_model*(tree_view: PTreeView): PTreeModel{.cdecl, dynlib: lib, + importc: "gtk_tree_view_get_model".} +proc tree_view_set_model*(tree_view: PTreeView, model: PTreeModel){.cdecl, + dynlib: lib, importc: "gtk_tree_view_set_model".} +proc tree_view_get_selection*(tree_view: PTreeView): PTreeSelection{.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_selection".} +proc tree_view_get_hadjustment*(tree_view: PTreeView): PAdjustment{.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_hadjustment".} +proc tree_view_set_hadjustment*(tree_view: PTreeView, adjustment: PAdjustment){. + cdecl, dynlib: lib, importc: "gtk_tree_view_set_hadjustment".} +proc tree_view_get_vadjustment*(tree_view: PTreeView): PAdjustment{.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_vadjustment".} +proc tree_view_set_vadjustment*(tree_view: PTreeView, adjustment: PAdjustment){. + cdecl, dynlib: lib, importc: "gtk_tree_view_set_vadjustment".} +proc tree_view_get_headers_visible*(tree_view: PTreeView): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_headers_visible".} +proc tree_view_set_headers_visible*(tree_view: PTreeView, + headers_visible: gboolean){.cdecl, + dynlib: lib, importc: "gtk_tree_view_set_headers_visible".} +proc tree_view_columns_autosize*(tree_view: PTreeView){.cdecl, dynlib: lib, + importc: "gtk_tree_view_columns_autosize".} +proc tree_view_set_headers_clickable*(tree_view: PTreeView, setting: gboolean){. + cdecl, dynlib: lib, importc: "gtk_tree_view_set_headers_clickable".} +proc tree_view_set_rules_hint*(tree_view: PTreeView, setting: gboolean){.cdecl, + dynlib: lib, importc: "gtk_tree_view_set_rules_hint".} +proc tree_view_get_rules_hint*(tree_view: PTreeView): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_rules_hint".} +proc tree_view_append_column*(tree_view: PTreeView, column: PTreeViewColumn): gint{. + cdecl, dynlib: lib, importc: "gtk_tree_view_append_column".} +proc tree_view_remove_column*(tree_view: PTreeView, column: PTreeViewColumn): gint{. + cdecl, dynlib: lib, importc: "gtk_tree_view_remove_column".} +proc tree_view_insert_column*(tree_view: PTreeView, column: PTreeViewColumn, + position: gint): gint{.cdecl, dynlib: lib, + importc: "gtk_tree_view_insert_column".} +proc tree_view_insert_column_with_data_func*(tree_view: PTreeView, + position: gint, title: cstring, cell: PCellRenderer, + func_: TTreeCellDataFunc, data: gpointer, dnotify: TGDestroyNotify): gint{. + cdecl, dynlib: lib, importc: "gtk_tree_view_insert_column_with_data_func".} +proc tree_view_get_column*(tree_view: PTreeView, n: gint): PTreeViewColumn{. + cdecl, dynlib: lib, importc: "gtk_tree_view_get_column".} +proc tree_view_get_columns*(tree_view: PTreeView): PGList{.cdecl, dynlib: lib, + importc: "gtk_tree_view_get_columns".} +proc tree_view_move_column_after*(tree_view: PTreeView, column: PTreeViewColumn, + base_column: PTreeViewColumn){.cdecl, + dynlib: lib, importc: "gtk_tree_view_move_column_after".} +proc tree_view_set_expander_column*(tree_view: PTreeView, + column: PTreeViewColumn){.cdecl, + dynlib: lib, importc: "gtk_tree_view_set_expander_column".} +proc tree_view_get_expander_column*(tree_view: PTreeView): PTreeViewColumn{. + cdecl, dynlib: lib, importc: "gtk_tree_view_get_expander_column".} +proc tree_view_set_column_drag_function*(tree_view: PTreeView, + func_: TTreeViewColumnDropFunc, user_data: gpointer, destroy: TDestroyNotify){. + cdecl, dynlib: lib, importc: "gtk_tree_view_set_column_drag_function".} +proc tree_view_scroll_to_point*(tree_view: PTreeView, tree_x: gint, tree_y: gint){. + cdecl, dynlib: lib, importc: "gtk_tree_view_scroll_to_point".} +proc tree_view_scroll_to_cell*(tree_view: PTreeView, path: PTreePath, + column: PTreeViewColumn, use_align: gboolean, + row_align: gfloat, col_align: gfloat){.cdecl, + dynlib: lib, importc: "gtk_tree_view_scroll_to_cell".} +proc tree_view_row_activated*(tree_view: PTreeView, path: PTreePath, + column: PTreeViewColumn){.cdecl, dynlib: lib, + importc: "gtk_tree_view_row_activated".} +proc tree_view_expand_all*(tree_view: PTreeView){.cdecl, dynlib: lib, + importc: "gtk_tree_view_expand_all".} +proc tree_view_collapse_all*(tree_view: PTreeView){.cdecl, dynlib: lib, + importc: "gtk_tree_view_collapse_all".} +proc tree_view_expand_row*(tree_view: PTreeView, path: PTreePath, + open_all: gboolean): gboolean{.cdecl, dynlib: lib, + importc: "gtk_tree_view_expand_row".} +proc tree_view_collapse_row*(tree_view: PTreeView, path: PTreePath): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_view_collapse_row".} +proc tree_view_map_expanded_rows*(tree_view: PTreeView, + func_: TTreeViewMappingFunc, data: gpointer){. + cdecl, dynlib: lib, importc: "gtk_tree_view_map_expanded_rows".} +proc tree_view_row_expanded*(tree_view: PTreeView, path: PTreePath): gboolean{. + cdecl, dynlib: lib, importc: "gtk_tree_view_row_expanded".} +proc tree_view_set_reorderable*(tree_view: PTreeView, reorderable: gboolean){. + cdecl, dynlib: lib, importc: "gtk_tree_view_set_reorderable".} +proc tree_view_get_reorderable*(tree_view: PTreeView): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_reorderable".} +proc tree_view_set_cursor*(tree_view: PTreeView, path: PTreePath, + focus_column: PTreeViewColumn, + start_editing: gboolean){.cdecl, dynlib: lib, + importc: "gtk_tree_view_set_cursor".} +proc tree_view_set_cursor_on_cell*(tree_view: PTreeView, path: PTreePath, + focus_column: PTreeViewColumn, + focus_cell: PCellRenderer, + start_editing: gboolean){.cdecl, dynlib: lib, + importc: "gtk_tree_view_set_cursor_on_cell".} +proc tree_view_get_bin_window*(tree_view: PTreeView): PGdkWindow{.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_bin_window".} +proc tree_view_get_cell_area*(tree_view: PTreeView, path: PTreePath, + column: PTreeViewColumn, rect: PGdkRectangle){. + cdecl, dynlib: lib, importc: "gtk_tree_view_get_cell_area".} +proc tree_view_get_background_area*(tree_view: PTreeView, path: PTreePath, + column: PTreeViewColumn, rect: PGdkRectangle){. + cdecl, dynlib: lib, importc: "gtk_tree_view_get_background_area".} +proc tree_view_get_visible_rect*(tree_view: PTreeView, + visible_rect: PGdkRectangle){.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_visible_rect".} +proc tree_view_widget_to_tree_coords*(tree_view: PTreeView, wx: gint, wy: gint, + tx: Pgint, ty: Pgint){.cdecl, dynlib: lib, + importc: "gtk_tree_view_widget_to_tree_coords".} +proc tree_view_tree_to_widget_coords*(tree_view: PTreeView, tx: gint, ty: gint, + wx: Pgint, wy: Pgint){.cdecl, dynlib: lib, + importc: "gtk_tree_view_tree_to_widget_coords".} +proc tree_view_enable_model_drag_source*(tree_view: PTreeView, + start_button_mask: TGdkModifierType, targets: PTargetEntry, n_targets: gint, + actions: TGdkDragAction){.cdecl, dynlib: lib, + importc: "gtk_tree_view_enable_model_drag_source".} +proc tree_view_enable_model_drag_dest*(tree_view: PTreeView, + targets: PTargetEntry, n_targets: gint, + actions: TGdkDragAction){.cdecl, + dynlib: lib, importc: "gtk_tree_view_enable_model_drag_dest".} +proc tree_view_unset_rows_drag_source*(tree_view: PTreeView){.cdecl, + dynlib: lib, importc: "gtk_tree_view_unset_rows_drag_source".} +proc tree_view_unset_rows_drag_dest*(tree_view: PTreeView){.cdecl, dynlib: lib, + importc: "gtk_tree_view_unset_rows_drag_dest".} +proc tree_view_set_drag_dest_row*(tree_view: PTreeView, path: PTreePath, + pos: TTreeViewDropPosition){.cdecl, + dynlib: lib, importc: "gtk_tree_view_set_drag_dest_row".} +proc tree_view_create_row_drag_icon*(tree_view: PTreeView, path: PTreePath): PGdkPixmap{. + cdecl, dynlib: lib, importc: "gtk_tree_view_create_row_drag_icon".} +proc tree_view_set_enable_search*(tree_view: PTreeView, enable_search: gboolean){. + cdecl, dynlib: lib, importc: "gtk_tree_view_set_enable_search".} +proc tree_view_get_enable_search*(tree_view: PTreeView): gboolean{.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_enable_search".} +proc tree_view_get_search_column*(tree_view: PTreeView): gint{.cdecl, + dynlib: lib, importc: "gtk_tree_view_get_search_column".} +proc tree_view_set_search_column*(tree_view: PTreeView, column: gint){.cdecl, + dynlib: lib, importc: "gtk_tree_view_set_search_column".} +proc tree_view_get_search_equal_func*(tree_view: PTreeView): TTreeViewSearchEqualFunc{. + cdecl, dynlib: lib, importc: "gtk_tree_view_get_search_equal_func".} +proc tree_view_set_search_equal_func*(tree_view: PTreeView, search_equal_func: TTreeViewSearchEqualFunc, + search_user_data: gpointer, + search_destroy: TDestroyNotify){.cdecl, + dynlib: lib, importc: "gtk_tree_view_set_search_equal_func".} +proc tree_view_set_destroy_count_func*(tree_view: PTreeView, + func_: TTreeDestroyCountFunc, + data: gpointer, destroy: TDestroyNotify){. + cdecl, dynlib: lib, importc: "gtk_tree_view_set_destroy_count_func".} +proc TYPE_VBUTTON_BOX*(): GType +proc VBUTTON_BOX*(obj: pointer): PVButtonBox +proc VBUTTON_BOX_CLASS*(klass: pointer): PVButtonBoxClass +proc IS_VBUTTON_BOX*(obj: pointer): bool +proc IS_VBUTTON_BOX_CLASS*(klass: pointer): bool +proc VBUTTON_BOX_GET_CLASS*(obj: pointer): PVButtonBoxClass +proc vbutton_box_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_vbutton_box_get_type".} +proc vbutton_box_new*(): PVButtonBox{.cdecl, dynlib: lib, + importc: "gtk_vbutton_box_new".} +proc TYPE_VIEWPORT*(): GType +proc VIEWPORT*(obj: pointer): PViewport +proc VIEWPORT_CLASS*(klass: pointer): PViewportClass +proc IS_VIEWPORT*(obj: pointer): bool +proc IS_VIEWPORT_CLASS*(klass: pointer): bool +proc VIEWPORT_GET_CLASS*(obj: pointer): PViewportClass +proc viewport_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_viewport_get_type".} +proc viewport_new*(hadjustment: PAdjustment, vadjustment: PAdjustment): PViewport{. + cdecl, dynlib: lib, importc: "gtk_viewport_new".} +proc viewport_get_hadjustment*(viewport: PViewport): PAdjustment{.cdecl, + dynlib: lib, importc: "gtk_viewport_get_hadjustment".} +proc viewport_get_vadjustment*(viewport: PViewport): PAdjustment{.cdecl, + dynlib: lib, importc: "gtk_viewport_get_vadjustment".} +proc viewport_set_hadjustment*(viewport: PViewport, adjustment: PAdjustment){. + cdecl, dynlib: lib, importc: "gtk_viewport_set_hadjustment".} +proc viewport_set_vadjustment*(viewport: PViewport, adjustment: PAdjustment){. + cdecl, dynlib: lib, importc: "gtk_viewport_set_vadjustment".} +proc viewport_set_shadow_type*(viewport: PViewport, thetype: TShadowType){. + cdecl, dynlib: lib, importc: "gtk_viewport_set_shadow_type".} +proc viewport_get_shadow_type*(viewport: PViewport): TShadowType{.cdecl, + dynlib: lib, importc: "gtk_viewport_get_shadow_type".} +proc TYPE_VPANED*(): GType +proc VPANED*(obj: pointer): PVPaned +proc VPANED_CLASS*(klass: pointer): PVPanedClass +proc IS_VPANED*(obj: pointer): bool +proc IS_VPANED_CLASS*(klass: pointer): bool +proc VPANED_GET_CLASS*(obj: pointer): PVPanedClass +proc vpaned_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_vpaned_get_type".} +proc vpaned_new*(): PVPaned{.cdecl, dynlib: lib, importc: "gtk_vpaned_new".} +proc TYPE_VRULER*(): GType +proc VRULER*(obj: pointer): PVRuler +proc VRULER_CLASS*(klass: pointer): PVRulerClass +proc IS_VRULER*(obj: pointer): bool +proc IS_VRULER_CLASS*(klass: pointer): bool +proc VRULER_GET_CLASS*(obj: pointer): PVRulerClass +proc vruler_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_vruler_get_type".} +proc vruler_new*(): PVRuler{.cdecl, dynlib: lib, importc: "gtk_vruler_new".} +proc TYPE_VSCALE*(): GType +proc VSCALE*(obj: pointer): PVScale +proc VSCALE_CLASS*(klass: pointer): PVScaleClass +proc IS_VSCALE*(obj: pointer): bool +proc IS_VSCALE_CLASS*(klass: pointer): bool +proc VSCALE_GET_CLASS*(obj: pointer): PVScaleClass +proc vscale_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_vscale_get_type".} +proc vscale_new*(adjustment: PAdjustment): PVScale{.cdecl, dynlib: lib, + importc: "gtk_vscale_new".} +proc vscale_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PVScale{. + cdecl, dynlib: lib, importc: "gtk_vscale_new_with_range".} +proc TYPE_VSCROLLBAR*(): GType +proc VSCROLLBAR*(obj: pointer): PVScrollbar +proc VSCROLLBAR_CLASS*(klass: pointer): PVScrollbarClass +proc IS_VSCROLLBAR*(obj: pointer): bool +proc IS_VSCROLLBAR_CLASS*(klass: pointer): bool +proc VSCROLLBAR_GET_CLASS*(obj: pointer): PVScrollbarClass +proc vscrollbar_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_vscrollbar_get_type".} +proc vscrollbar_new*(adjustment: PAdjustment): PVScrollbar{.cdecl, dynlib: lib, + importc: "gtk_vscrollbar_new".} +proc TYPE_VSEPARATOR*(): GType +proc VSEPARATOR*(obj: pointer): PVSeparator +proc VSEPARATOR_CLASS*(klass: pointer): PVSeparatorClass +proc IS_VSEPARATOR*(obj: pointer): bool +proc IS_VSEPARATOR_CLASS*(klass: pointer): bool +proc VSEPARATOR_GET_CLASS*(obj: pointer): PVSeparatorClass +proc vseparator_get_type*(): TType{.cdecl, dynlib: lib, + importc: "gtk_vseparator_get_type".} +proc vseparator_new*(): PVSeparator{.cdecl, dynlib: lib, + importc: "gtk_vseparator_new".} +proc TYPE_OBJECT*(): GType = + result = object_get_type() + +proc CHECK_CAST*(instance: Pointer, g_type: GType): PGTypeInstance = + result = G_TYPE_CHECK_INSTANCE_CAST(instance, g_type) + +proc CHECK_CLASS_CAST*(g_class: pointer, g_type: GType): Pointer = + result = G_TYPE_CHECK_CLASS_CAST(g_class, g_type) + +proc CHECK_GET_CLASS*(instance: Pointer, g_type: GType): PGTypeClass = + result = G_TYPE_INSTANCE_GET_CLASS(instance, g_type) + +proc CHECK_TYPE*(instance: Pointer, g_type: GType): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type) + +proc CHECK_CLASS_TYPE*(g_class: pointer, g_type: GType): bool = + result = G_TYPE_CHECK_CLASS_TYPE(g_class, g_type) + +proc OBJECT*(anObject: pointer): PObject = + result = cast[PObject](CHECK_CAST(anObject, TYPE_OBJECT())) + +proc OBJECT_CLASS*(klass: pointer): PObjectClass = + result = cast[PObjectClass](CHECK_CLASS_CAST(klass, TYPE_OBJECT())) + +proc IS_OBJECT*(anObject: pointer): bool = + result = CHECK_TYPE(anObject, TYPE_OBJECT()) + +proc IS_OBJECT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_OBJECT()) + +proc OBJECT_GET_CLASS*(anObject: pointer): PObjectClass = + result = cast[PObjectClass](CHECK_GET_CLASS(anObject, TYPE_OBJECT())) + +proc OBJECT_TYPE*(anObject: pointer): GType = + result = G_TYPE_FROM_INSTANCE(anObject) + +proc OBJECT_TYPE_NAME*(anObject: pointer): cstring = + result = g_type_name(OBJECT_TYPE(anObject)) + +proc OBJECT_FLAGS*(obj: pointer): guint32 = + result = (OBJECT(obj)).flags + +proc OBJECT_FLOATING*(obj: pointer): gboolean = + result = ((OBJECT_FLAGS(obj)) and cint(FLOATING)) != 0'i32 + +proc OBJECT_SET_FLAGS*(obj: pointer, flag: guint32) = + OBJECT(obj).flags = OBJECT(obj).flags or flag + +proc OBJECT_UNSET_FLAGS*(obj: pointer, flag: guint32) = + OBJECT(obj).flags = OBJECT(obj).flags and not (flag) + +proc object_data_try_key*(`string`: cstring): TGQuark = + result = g_quark_try_string(`string`) + +proc object_data_force_id*(`string`: cstring): TGQuark = + result = g_quark_from_string(`string`) + +proc CLASS_NAME*(`class`: pointer): cstring = + result = g_type_name(G_TYPE_FROM_CLASS(`class`)) + +proc CLASS_TYPE*(`class`: pointer): GType = + result = G_TYPE_FROM_CLASS(`class`) + +proc TYPE_IS_OBJECT*(thetype: GType): gboolean = + result = g_type_is_a(thetype, TYPE_OBJECT()) + +proc TYPE_IDENTIFIER*(): GType = + result = identifier_get_type() + +proc SIGNAL_FUNC*(f: pointer): TSignalFunc = + result = cast[TSignalFunc](f) + +proc type_name*(thetype: GType): cstring = + result = g_type_name(thetype) + +proc type_from_name*(name: cstring): GType = + result = g_type_from_name(name) + +proc type_parent*(thetype: GType): GType = + result = g_type_parent(thetype) + +proc type_is_a*(thetype, is_a_type: GType): gboolean = + result = g_type_is_a(thetype, is_a_type) + +proc FUNDAMENTAL_TYPE*(thetype: GType): GType = + result = G_TYPE_FUNDAMENTAL(thetype) + +proc VALUE_CHAR*(a: TArg): gchar = + var a = a + Result = cast[ptr gchar](addr(a.d))^ + +proc VALUE_UCHAR*(a: TArg): guchar = + var a = a + Result = cast[ptr guchar](addr(a.d))^ + +proc VALUE_BOOL*(a: TArg): gboolean = + var a = a + Result = cast[ptr gboolean](addr(a.d))^ + +proc VALUE_INT*(a: TArg): gint = + var a = a + Result = cast[ptr gint](addr(a.d))^ + +proc VALUE_UINT*(a: TArg): guint = + var a = a + Result = cast[ptr guint](addr(a.d))^ + +proc VALUE_LONG*(a: TArg): glong = + var a = a + Result = cast[ptr glong](addr(a.d))^ + +proc VALUE_ULONG*(a: TArg): gulong = + var a = a + Result = cast[ptr gulong](addr(a.d))^ + +proc VALUE_FLOAT*(a: TArg): gfloat = + var a = a + Result = cast[ptr gfloat](addr(a.d))^ + +proc VALUE_DOUBLE*(a: TArg): gdouble = + var a = a + Result = cast[ptr gdouble](addr(a.d))^ + +proc VALUE_STRING*(a: TArg): cstring = + var a = a + Result = cast[ptr cstring](addr(a.d))^ + +proc VALUE_ENUM*(a: TArg): gint = + var a = a + Result = cast[ptr gint](addr(a.d))^ + +proc VALUE_FLAGS*(a: TArg): guint = + var a = a + Result = cast[ptr guint](addr(a.d))^ + +proc VALUE_BOXED*(a: TArg): gpointer = + var a = a + Result = cast[ptr gpointer](addr(a.d))^ + +proc VALUE_OBJECT*(a: TArg): PObject = + var a = a + Result = cast[ptr PObject](addr(a.d))^ + +proc VALUE_POINTER*(a: TArg): GPointer = + var a = a + Result = cast[ptr gpointer](addr(a.d))^ + +proc VALUE_SIGNAL*(a: TArg): TArgSignalData = + var a = a + Result = cast[ptr TArgSignalData](addr(a.d))^ + +proc RETLOC_CHAR*(a: TArg): cstring = + var a = a + Result = cast[ptr cstring](addr(a.d))^ + +proc RETLOC_UCHAR*(a: TArg): Pguchar = + var a = a + Result = cast[ptr pguchar](addr(a.d))^ + +proc RETLOC_BOOL*(a: TArg): Pgboolean = + var a = a + Result = cast[ptr pgboolean](addr(a.d))^ + +proc RETLOC_INT*(a: TArg): Pgint = + var a = a + Result = cast[ptr pgint](addr(a.d))^ + +proc RETLOC_UINT*(a: TArg): Pguint = + var a = a + Result = cast[ptr pguint](addr(a.d))^ + +proc RETLOC_LONG*(a: TArg): Pglong = + var a = a + Result = cast[ptr pglong](addr(a.d))^ + +proc RETLOC_ULONG*(a: TArg): Pgulong = + var a = a + Result = cast[ptr pgulong](addr(a.d))^ + +proc RETLOC_FLOAT*(a: TArg): Pgfloat = + var a = a + Result = cast[ptr pgfloat](addr(a.d))^ + +proc RETLOC_DOUBLE*(a: TArg): Pgdouble = + var a = a + Result = cast[ptr pgdouble](addr(a.d))^ + +proc RETLOC_STRING*(a: TArg): Ppgchar = + var a = a + Result = cast[ptr Ppgchar](addr(a.d))^ + +proc RETLOC_ENUM*(a: TArg): Pgint = + var a = a + Result = cast[ptr Pgint](addr(a.d))^ + +proc RETLOC_FLAGS*(a: TArg): Pguint = + var a = a + Result = cast[ptr pguint](addr(a.d))^ + +proc RETLOC_BOXED*(a: TArg): Pgpointer = + var a = a + Result = cast[ptr pgpointer](addr(a.d))^ + +proc RETLOC_OBJECT*(a: TArg): PPGtkObject = + var a = a + Result = cast[ptr ppgtkobject](addr(a.d))^ + +proc RETLOC_POINTER*(a: TArg): Pgpointer = + var a = a + Result = cast[ptr pgpointer](addr(a.d))^ + +proc TYPE_WIDGET*(): GType = + result = widget_get_type() + +proc WIDGET*(widget: pointer): PWidget = + result = cast[PWidget](CHECK_CAST(widget, TYPE_WIDGET())) + +proc WIDGET_CLASS*(klass: pointer): PWidgetClass = + result = cast[PWidgetClass](CHECK_CLASS_CAST(klass, TYPE_WIDGET())) + +proc IS_WIDGET*(widget: pointer): bool = + result = CHECK_TYPE(widget, TYPE_WIDGET()) + +proc IS_WIDGET_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_WIDGET()) + +proc WIDGET_GET_CLASS*(obj: pointer): PWidgetClass = + result = cast[PWidgetClass](CHECK_GET_CLASS(obj, TYPE_WIDGET())) + +proc WIDGET_TYPE*(wid: pointer): GType = + result = OBJECT_TYPE(wid) + +proc WIDGET_STATE*(wid: pointer): int32 = + result = (WIDGET(wid)).state + +proc WIDGET_SAVED_STATE*(wid: pointer): int32 = + result = (WIDGET(wid)).saved_state + +proc WIDGET_FLAGS*(wid: pointer): guint32 = + result = OBJECT_FLAGS(wid) + +proc WIDGET_TOPLEVEL*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(TOPLEVEL)) != 0'i32 + +proc WIDGET_NO_WINDOW*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(NO_WINDOW)) != 0'i32 + +proc WIDGET_REALIZED*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(REALIZED)) != 0'i32 + +proc WIDGET_MAPPED*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(MAPPED)) != 0'i32 + +proc WIDGET_VISIBLE*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(VISIBLE)) != 0'i32 + +proc WIDGET_DRAWABLE*(wid: pointer): gboolean = + result = (WIDGET_VISIBLE(wid)) and (WIDGET_MAPPED(wid)) + +proc WIDGET_SENSITIVE*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(SENSITIVE)) != 0'i32 + +proc WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(PARENT_SENSITIVE)) != 0'i32 + +proc WIDGET_IS_SENSITIVE*(wid: pointer): gboolean = + result = (WIDGET_SENSITIVE(wid)) and (WIDGET_PARENT_SENSITIVE(wid)) + +proc WIDGET_CAN_FOCUS*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(CAN_FOCUS)) != 0'i32 + +proc WIDGET_HAS_FOCUS*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(HAS_FOCUS)) != 0'i32 + +proc WIDGET_CAN_DEFAULT*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(CAN_DEFAULT)) != 0'i32 + +proc WIDGET_HAS_DEFAULT*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(HAS_DEFAULT)) != 0'i32 + +proc WIDGET_HAS_GRAB*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(HAS_GRAB)) != 0'i32 + +proc WIDGET_RC_STYLE*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(RC_STYLE)) != 0'i32 + +proc WIDGET_COMPOSITE_CHILD*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(COMPOSITE_CHILD)) != 0'i32 + +proc WIDGET_APP_PAINTABLE*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(APP_PAINTABLE)) != 0'i32 + +proc WIDGET_RECEIVES_DEFAULT*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(RECEIVES_DEFAULT)) != 0'i32 + +proc WIDGET_DOUBLE_BUFFERED*(wid: pointer): gboolean = + result = ((WIDGET_FLAGS(wid)) and cint(DOUBLE_BUFFERED)) != 0'i32 + +proc TYPE_REQUISITION*(): GType = + result = requisition_get_type() + +proc x_set*(a: var TWidgetAuxInfo): guint = + result = (a.flag0 and bm_TGtkWidgetAuxInfo_x_set) shr + bp_TGtkWidgetAuxInfo_x_set + +proc set_x_set*(a: var TWidgetAuxInfo, `x_set`: guint) = + a.flag0 = a.flag0 or + (int16(`x_set` shl bp_TGtkWidgetAuxInfo_x_set) and + bm_TGtkWidgetAuxInfo_x_set) + +proc y_set*(a: var TWidgetAuxInfo): guint = + result = (a.flag0 and bm_TGtkWidgetAuxInfo_y_set) shr + bp_TGtkWidgetAuxInfo_y_set + +proc set_y_set*(a: var TWidgetAuxInfo, `y_set`: guint) = + a.flag0 = a.flag0 or + (int16(`y_set` shl bp_TGtkWidgetAuxInfo_y_set) and + bm_TGtkWidgetAuxInfo_y_set) + +proc widget_set_visual*(widget, visual: pointer) = + if (Widget != nil) and (visual != nil): nil + +proc widget_push_visual*(visual: pointer) = + if (visual != nil): nil + +proc widget_pop_visual*() = + nil + +proc widget_set_default_visual*(visual: pointer) = + if (visual != nil): nil + +proc widget_set_rc_style*(widget: pointer) = + widget_set_style(cast[PWidget](widget), nil) + +proc widget_restore_default_style*(widget: pointer) = + widget_set_style(cast[PWidget](widget), nil) + +proc WIDGET_SET_FLAGS*(wid: PWidget, flags: TWidgetFlags): TWidgetFlags = + cast[pObject](wid).flags = cast[pObject](wid).flags or (flags) + result = cast[pObject](wid).flags + +proc WIDGET_UNSET_FLAGS*(wid: PWidget, flags: TWidgetFlags): TWidgetFlags = + cast[pObject](wid).flags = cast[pObject](wid).flags and (not (flags)) + result = cast[pObject](wid).flags + +proc TYPE_MISC*(): GType = + result = misc_get_type() + +proc MISC*(obj: pointer): PMisc = + result = cast[PMisc](CHECK_CAST(obj, TYPE_MISC())) + +proc MISC_CLASS*(klass: pointer): PMiscClass = + result = cast[PMiscClass](CHECK_CLASS_CAST(klass, TYPE_MISC())) + +proc IS_MISC*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_MISC()) + +proc IS_MISC_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_MISC()) + +proc MISC_GET_CLASS*(obj: pointer): PMiscClass = + result = cast[PMiscClass](CHECK_GET_CLASS(obj, TYPE_MISC())) + +proc TYPE_ACCEL_GROUP*(): GType = + result = accel_group_get_type() + +proc ACCEL_GROUP*(anObject: pointer): PAccelGroup = + result = cast[PAccelGroup](G_TYPE_CHECK_INSTANCE_CAST(anObject, + TYPE_ACCEL_GROUP())) + +proc ACCEL_GROUP_CLASS*(klass: pointer): PAccelGroupClass = + result = cast[PAccelGroupClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_ACCEL_GROUP())) + +proc IS_ACCEL_GROUP*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_ACCEL_GROUP()) + +proc IS_ACCEL_GROUP_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_ACCEL_GROUP()) + +proc ACCEL_GROUP_GET_CLASS*(obj: pointer): PAccelGroupClass = + result = cast[PAccelGroupClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_ACCEL_GROUP())) + +proc accel_flags*(a: var TAccelKey): guint = + result = (a.flag0 and bm_TGtkAccelKey_accel_flags) shr + bp_TGtkAccelKey_accel_flags + +proc set_accel_flags*(a: var TAccelKey, `accel_flags`: guint) = + a.flag0 = a.flag0 or + (int16(`accel_flags` shl bp_TGtkAccelKey_accel_flags) and + bm_TGtkAccelKey_accel_flags) + +proc accel_group_ref*(AccelGroup: PAccelGroup) = + discard g_object_ref(AccelGroup) + +proc accel_group_unref*(AccelGroup: PAccelGroup) = + g_object_unref(AccelGroup) + +proc TYPE_CONTAINER*(): GType = + result = container_get_type() + +proc CONTAINER*(obj: pointer): PContainer = + result = cast[PContainer](CHECK_CAST(obj, TYPE_CONTAINER())) + +proc CONTAINER_CLASS*(klass: pointer): PContainerClass = + result = cast[PContainerClass](CHECK_CLASS_CAST(klass, TYPE_CONTAINER())) + +proc IS_CONTAINER*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CONTAINER()) + +proc IS_CONTAINER_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CONTAINER()) + +proc CONTAINER_GET_CLASS*(obj: pointer): PContainerClass = + result = cast[PContainerClass](CHECK_GET_CLASS(obj, TYPE_CONTAINER())) + +proc IS_RESIZE_CONTAINER*(widget: pointer): bool = + result = (IS_CONTAINER(widget)) and + ((resize_mode(cast[PContainer](widget))) != cint(RESIZE_PARENT)) + +proc border_width*(a: var TContainer): guint = + result = (a.Container_flag0 and bm_TGtkContainer_border_width) shr + bp_TGtkContainer_border_width + +proc set_border_width*(a: var TContainer, `border_width`: guint) = + a.Container_flag0 = a.Container_flag0 or + ((`border_width` shl bp_TGtkContainer_border_width) and + bm_TGtkContainer_border_width) + +proc need_resize*(a: var TContainer): guint = + result = (a.Container_flag0 and bm_TGtkContainer_need_resize) shr + bp_TGtkContainer_need_resize + +proc set_need_resize*(a: var TContainer, `need_resize`: guint) = + a.Container_flag0 = a.Container_flag0 or + ((`need_resize` shl bp_TGtkContainer_need_resize) and + bm_TGtkContainer_need_resize) + +proc resize_mode*(a: PContainer): guint = + result = (a.Container_flag0 and bm_TGtkContainer_resize_mode) shr + bp_TGtkContainer_resize_mode + +proc set_resize_mode*(a: var TContainer, `resize_mode`: guint) = + a.Containerflag0 = a.Containerflag0 or + ((`resize_mode` shl bp_TGtkContainer_resize_mode) and + bm_TGtkContainer_resize_mode) + +proc reallocate_redraws*(a: var TContainer): guint = + result = (a.Containerflag0 and bm_TGtkContainer_reallocate_redraws) shr + bp_TGtkContainer_reallocate_redraws + +proc set_reallocate_redraws*(a: var TContainer, `reallocate_redraws`: guint) = + a.Containerflag0 = a.Containerflag0 or + ((`reallocate_redraws` shl bp_TGtkContainer_reallocate_redraws) and + bm_TGtkContainer_reallocate_redraws) + +proc has_focus_chain*(a: var TContainer): guint = + result = (a.Containerflag0 and bm_TGtkContainer_has_focus_chain) shr + bp_TGtkContainer_has_focus_chain + +proc set_has_focus_chain*(a: var TContainer, `has_focus_chain`: guint) = + a.Containerflag0 = a.Containerflag0 or + ((`has_focus_chain` shl bp_TGtkContainer_has_focus_chain) and + bm_TGtkContainer_has_focus_chain) + +proc CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID*(anObject: pointer, + property_id: guint, pspec: pointer) = + write(stdout, "WARNING: invalid child property id\x0A") + +proc TYPE_BIN*(): GType = + result = bin_get_type() + +proc BIN*(obj: pointer): PBin = + result = cast[PBin](CHECK_CAST(obj, TYPE_BIN())) + +proc BIN_CLASS*(klass: pointer): PBinClass = + result = cast[PBinClass](CHECK_CLASS_CAST(klass, TYPE_BIN())) + +proc IS_BIN*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_BIN()) + +proc IS_BIN_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_BIN()) + +proc BIN_GET_CLASS*(obj: pointer): PBinClass = + result = cast[PBinClass](CHECK_GET_CLASS(obj, TYPE_BIN())) + +proc TYPE_WINDOW*(): GType = + result = window_get_type() + +proc WINDOW*(obj: pointer): PWindow = + result = cast[PWindow](CHECK_CAST(obj, TYPE_WINDOW())) + +proc WINDOW_CLASS*(klass: pointer): PWindowClass = + result = cast[PWindowClass](CHECK_CLASS_CAST(klass, TYPE_WINDOW())) + +proc IS_WINDOW*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_WINDOW()) + +proc IS_WINDOW_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_WINDOW()) + +proc WINDOW_GET_CLASS*(obj: pointer): PWindowClass = + result = cast[PWindowClass](CHECK_GET_CLASS(obj, TYPE_WINDOW())) + +proc allow_shrink*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_allow_shrink) shr + bp_TGtkWindow_allow_shrink + +proc set_allow_shrink*(a: var TWindow, `allow_shrink`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`allow_shrink` shl bp_TGtkWindow_allow_shrink) and + bm_TGtkWindow_allow_shrink) + +proc allow_grow*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_allow_grow) shr + bp_TGtkWindow_allow_grow + +proc set_allow_grow*(a: var TWindow, `allow_grow`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`allow_grow` shl bp_TGtkWindow_allow_grow) and + bm_TGtkWindow_allow_grow) + +proc configure_notify_received*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_configure_notify_received) shr + bp_TGtkWindow_configure_notify_received + +proc set_configure_notify_received*(a: var TWindow, + `configure_notify_received`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`configure_notify_received` shl + bp_TGtkWindow_configure_notify_received) and + bm_TGtkWindow_configure_notify_received) + +proc need_default_position*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_need_default_position) shr + bp_TGtkWindow_need_default_position + +proc set_need_default_position*(a: var TWindow, `need_default_position`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`need_default_position` shl bp_TGtkWindow_need_default_position) and + bm_TGtkWindow_need_default_position) + +proc need_default_size*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_need_default_size) shr + bp_TGtkWindow_need_default_size + +proc set_need_default_size*(a: var TWindow, `need_default_size`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`need_default_size` shl bp_TGtkWindow_need_default_size) and + bm_TGtkWindow_need_default_size) + +proc position*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_position) shr + bp_TGtkWindow_position + +proc set_position*(a: var TWindow, `position`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`position` shl bp_TGtkWindow_position) and bm_TGtkWindow_position) + +proc get_type*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_type) shr bp_TGtkWindow_type + +proc set_type*(a: var TWindow, `type`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`type` shl bp_TGtkWindow_type) and bm_TGtkWindow_type) + +proc has_user_ref_count*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_has_user_ref_count) shr + bp_TGtkWindow_has_user_ref_count + +proc set_has_user_ref_count*(a: var TWindow, `has_user_ref_count`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`has_user_ref_count` shl bp_TGtkWindow_has_user_ref_count) and + bm_TGtkWindow_has_user_ref_count) + +proc has_focus*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_has_focus) shr + bp_TGtkWindow_has_focus + +proc set_has_focus*(a: var TWindow, `has_focus`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`has_focus` shl bp_TGtkWindow_has_focus) and bm_TGtkWindow_has_focus) + +proc modal*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_modal) shr bp_TGtkWindow_modal + +proc set_modal*(a: var TWindow, `modal`: guint) = + a.Window_flag0 = a.Window_flag0 or + ((`modal` shl bp_TGtkWindow_modal) and bm_TGtkWindow_modal) + +proc destroy_with_parent*(a: var TWindow): guint = + result = (a.Window_flag0 and bm_TGtkWindow_destroy_with_parent) shr + bp_TGtkWindow_destroy_with_parent + +proc set_destroy_with_parent*(a: var TWindow, `destroy_with_parent`: guint) = + a.Windowflag0 = a.Windowflag0 or + ((`destroy_with_parent` shl bp_TGtkWindow_destroy_with_parent) and + bm_TGtkWindow_destroy_with_parent) + +proc has_frame*(a: var TWindow): guint = + result = (a.Windowflag0 and bm_TGtkWindow_has_frame) shr + bp_TGtkWindow_has_frame + +proc set_has_frame*(a: var TWindow, `has_frame`: guint) = + a.Windowflag0 = a.Windowflag0 or + ((`has_frame` shl bp_TGtkWindow_has_frame) and bm_TGtkWindow_has_frame) + +proc iconify_initially*(a: var TWindow): guint = + result = (a.Windowflag0 and bm_TGtkWindow_iconify_initially) shr + bp_TGtkWindow_iconify_initially + +proc set_iconify_initially*(a: var TWindow, `iconify_initially`: guint) = + a.Windowflag0 = a.Windowflag0 or + ((`iconify_initially` shl bp_TGtkWindow_iconify_initially) and + bm_TGtkWindow_iconify_initially) + +proc stick_initially*(a: var TWindow): guint = + result = (a.Windowflag0 and bm_TGtkWindow_stick_initially) shr + bp_TGtkWindow_stick_initially + +proc set_stick_initially*(a: var TWindow, `stick_initially`: guint) = + a.Windowflag0 = a.Windowflag0 or + ((`stick_initially` shl bp_TGtkWindow_stick_initially) and + bm_TGtkWindow_stick_initially) + +proc maximize_initially*(a: var TWindow): guint = + result = (a.Windowflag0 and bm_TGtkWindow_maximize_initially) shr + bp_TGtkWindow_maximize_initially + +proc set_maximize_initially*(a: var TWindow, `maximize_initially`: guint) = + a.Windowflag0 = a.Windowflag0 or + ((`maximize_initially` shl bp_TGtkWindow_maximize_initially) and + bm_TGtkWindow_maximize_initially) + +proc decorated*(a: var TWindow): guint = + result = (a.Windowflag0 and bm_TGtkWindow_decorated) shr + bp_TGtkWindow_decorated + +proc set_decorated*(a: var TWindow, `decorated`: guint) = + a.Windowflag0 = a.Windowflag0 or + ((`decorated` shl bp_TGtkWindow_decorated) and bm_TGtkWindow_decorated) + +proc type_hint*(a: var TWindow): guint = + result = (a.Windowflag0 and bm_TGtkWindow_type_hint) shr + bp_TGtkWindow_type_hint + +proc set_type_hint*(a: var TWindow, `type_hint`: guint) = + a.Windowflag0 = a.Windowflag0 or + ((`type_hint` shl bp_TGtkWindow_type_hint) and bm_TGtkWindow_type_hint) + +proc gravity*(a: var TWindow): guint = + result = (a.Windowflag0 and bm_TGtkWindow_gravity) shr + bp_TGtkWindow_gravity + +proc set_gravity*(a: var TWindow, `gravity`: guint) = + a.Windowflag0 = a.Windowflag0 or + ((`gravity` shl bp_TGtkWindow_gravity) and bm_TGtkWindow_gravity) + +proc TYPE_WINDOW_GROUP*(): GType = + result = window_group_get_type() + +proc WINDOW_GROUP*(anObject: pointer): PWindowGroup = + result = cast[PWindowGroup](G_TYPE_CHECK_INSTANCE_CAST(anObject, + TYPE_WINDOW_GROUP())) + +proc WINDOW_GROUP_CLASS*(klass: pointer): PWindowGroupClass = + result = cast[PWindowGroupClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_WINDOW_GROUP())) + +proc IS_WINDOW_GROUP*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_WINDOW_GROUP()) + +proc IS_WINDOW_GROUP_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_WINDOW_GROUP()) + +proc WINDOW_GROUP_GET_CLASS*(obj: pointer): PWindowGroupClass = + result = cast[PWindowGroupClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_WINDOW_GROUP())) + +proc window_position*(window: PWindow, position: TWindowPosition) = + window_set_position(window, position) + +proc TYPE_LABEL*(): GType = + result = label_get_type() + +proc LABEL*(obj: pointer): PLabel = + result = cast[PLabel](CHECK_CAST(obj, TYPE_LABEL())) + +proc LABEL_CLASS*(klass: pointer): PLabelClass = + result = cast[PLabelClass](CHECK_CLASS_CAST(klass, TYPE_LABEL())) + +proc IS_LABEL*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_LABEL()) + +proc IS_LABEL_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_LABEL()) + +proc LABEL_GET_CLASS*(obj: pointer): PLabelClass = + result = cast[PLabelClass](CHECK_GET_CLASS(obj, TYPE_LABEL())) + +proc jtype*(a: var TLabel): guint = + result = (a.Labelflag0 and bm_TGtkLabel_jtype) shr bp_TGtkLabel_jtype + +proc set_jtype*(a: var TLabel, `jtype`: guint) = + a.Labelflag0 = a.Labelflag0 or + (int16(`jtype` shl bp_TGtkLabel_jtype) and bm_TGtkLabel_jtype) + +proc wrap*(a: var TLabel): guint = + result = (a.Labelflag0 and bm_TGtkLabel_wrap) shr bp_TGtkLabel_wrap + +proc set_wrap*(a: var TLabel, `wrap`: guint) = + a.Labelflag0 = a.Labelflag0 or + (int16(`wrap` shl bp_TGtkLabel_wrap) and bm_TGtkLabel_wrap) + +proc use_underline*(a: var TLabel): guint = + result = (a.Labelflag0 and bm_TGtkLabel_use_underline) shr + bp_TGtkLabel_use_underline + +proc set_use_underline*(a: var TLabel, `use_underline`: guint) = + a.Labelflag0 = a.Labelflag0 or + (int16(`use_underline` shl bp_TGtkLabel_use_underline) and + bm_TGtkLabel_use_underline) + +proc use_markup*(a: var TLabel): guint = + result = (a.Labelflag0 and bm_TGtkLabel_use_markup) shr + bp_TGtkLabel_use_markup + +proc set_use_markup*(a: var TLabel, `use_markup`: guint) = + a.Labelflag0 = a.Labelflag0 or + (int16(`use_markup` shl bp_TGtkLabel_use_markup) and + bm_TGtkLabel_use_markup) + +proc TYPE_ACCEL_LABEL*(): GType = + result = accel_label_get_type() + +proc ACCEL_LABEL*(obj: pointer): PAccelLabel = + result = cast[PAccelLabel](CHECK_CAST(obj, TYPE_ACCEL_LABEL())) + +proc ACCEL_LABEL_CLASS*(klass: pointer): PAccelLabelClass = + result = cast[PAccelLabelClass](CHECK_CLASS_CAST(klass, TYPE_ACCEL_LABEL())) + +proc IS_ACCEL_LABEL*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_ACCEL_LABEL()) + +proc IS_ACCEL_LABEL_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_ACCEL_LABEL()) + +proc ACCEL_LABEL_GET_CLASS*(obj: pointer): PAccelLabelClass = + result = cast[PAccelLabelClass](CHECK_GET_CLASS(obj, TYPE_ACCEL_LABEL())) + +proc latin1_to_char*(a: var TAccelLabelClass): guint = + result = (a.AccelLabelClassflag0 and bm_TGtkAccelLabelClass_latin1_to_char) shr + bp_TGtkAccelLabelClass_latin1_to_char + +proc set_latin1_to_char*(a: var TAccelLabelClass, `latin1_to_char`: guint) = + a.AccelLabelClassflag0 = a.AccelLabelClassflag0 or + (int16(`latin1_to_char` shl bp_TGtkAccelLabelClass_latin1_to_char) and + bm_TGtkAccelLabelClass_latin1_to_char) + +proc accel_label_accelerator_width*(accel_label: PAccelLabel): guint = + result = accel_label_get_accel_width(accel_label) + +proc TYPE_ACCESSIBLE*(): GType = + result = accessible_get_type() + +proc ACCESSIBLE*(obj: pointer): PAccessible = + result = cast[PAccessible](CHECK_CAST(obj, TYPE_ACCESSIBLE())) + +proc ACCESSIBLE_CLASS*(klass: pointer): PAccessibleClass = + result = cast[PAccessibleClass](CHECK_CLASS_CAST(klass, TYPE_ACCESSIBLE())) + +proc IS_ACCESSIBLE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_ACCESSIBLE()) + +proc IS_ACCESSIBLE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_ACCESSIBLE()) + +proc ACCESSIBLE_GET_CLASS*(obj: pointer): PAccessibleClass = + result = cast[PAccessibleClass](CHECK_GET_CLASS(obj, TYPE_ACCESSIBLE())) + +proc TYPE_ADJUSTMENT*(): GType = + result = adjustment_get_type() + +proc ADJUSTMENT*(obj: pointer): PAdjustment = + result = cast[PAdjustment](CHECK_CAST(obj, TYPE_ADJUSTMENT())) + +proc ADJUSTMENT_CLASS*(klass: pointer): PAdjustmentClass = + result = cast[PAdjustmentClass](CHECK_CLASS_CAST(klass, TYPE_ADJUSTMENT())) + +proc IS_ADJUSTMENT*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_ADJUSTMENT()) + +proc IS_ADJUSTMENT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_ADJUSTMENT()) + +proc ADJUSTMENT_GET_CLASS*(obj: pointer): PAdjustmentClass = + result = cast[PAdjustmentClass](CHECK_GET_CLASS(obj, TYPE_ADJUSTMENT())) + +proc TYPE_ALIGNMENT*(): GType = + result = alignment_get_type() + +proc ALIGNMENT*(obj: pointer): PAlignment = + result = cast[PAlignment](CHECK_CAST(obj, TYPE_ALIGNMENT())) + +proc ALIGNMENT_CLASS*(klass: pointer): PAlignmentClass = + result = cast[PAlignmentClass](CHECK_CLASS_CAST(klass, TYPE_ALIGNMENT())) + +proc IS_ALIGNMENT*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_ALIGNMENT()) + +proc IS_ALIGNMENT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_ALIGNMENT()) + +proc ALIGNMENT_GET_CLASS*(obj: pointer): PAlignmentClass = + result = cast[PAlignmentClass](CHECK_GET_CLASS(obj, TYPE_ALIGNMENT())) + +proc TYPE_FRAME*(): GType = + result = frame_get_type() + +proc FRAME*(obj: pointer): PFrame = + result = cast[PFrame](CHECK_CAST(obj, TYPE_FRAME())) + +proc FRAME_CLASS*(klass: pointer): PFrameClass = + result = cast[PFrameClass](CHECK_CLASS_CAST(klass, TYPE_FRAME())) + +proc IS_FRAME*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_FRAME()) + +proc IS_FRAME_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_FRAME()) + +proc FRAME_GET_CLASS*(obj: pointer): PFrameClass = + result = cast[PFrameClass](CHECK_GET_CLASS(obj, TYPE_FRAME())) + +proc TYPE_ASPECT_FRAME*(): GType = + result = aspect_frame_get_type() + +proc ASPECT_FRAME*(obj: pointer): PAspectFrame = + result = cast[PAspectFrame](CHECK_CAST(obj, TYPE_ASPECT_FRAME())) + +proc ASPECT_FRAME_CLASS*(klass: pointer): PAspectFrameClass = + result = cast[PAspectFrameClass](CHECK_CLASS_CAST(klass, TYPE_ASPECT_FRAME())) + +proc IS_ASPECT_FRAME*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_ASPECT_FRAME()) + +proc IS_ASPECT_FRAME_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_ASPECT_FRAME()) + +proc ASPECT_FRAME_GET_CLASS*(obj: pointer): PAspectFrameClass = + result = cast[PAspectFrameClass](CHECK_GET_CLASS(obj, TYPE_ASPECT_FRAME())) + +proc TYPE_ARROW*(): GType = + result = arrow_get_type() + +proc ARROW*(obj: pointer): PArrow = + result = cast[PArrow](CHECK_CAST(obj, TYPE_ARROW())) + +proc ARROW_CLASS*(klass: pointer): PArrowClass = + result = cast[PArrowClass](CHECK_CLASS_CAST(klass, TYPE_ARROW())) + +proc IS_ARROW*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_ARROW()) + +proc IS_ARROW_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_ARROW()) + +proc ARROW_GET_CLASS*(obj: pointer): PArrowClass = + result = cast[PArrowClass](CHECK_GET_CLASS(obj, TYPE_ARROW())) + +proc parsed*(a: var TBindingSet): guint = + result = (a.flag0 and bm_TGtkBindingSet_parsed) shr + bp_TGtkBindingSet_parsed + +proc set_parsed*(a: var TBindingSet, `parsed`: guint) = + a.flag0 = a.flag0 or + (int16(`parsed` shl bp_TGtkBindingSet_parsed) and + bm_TGtkBindingSet_parsed) + +proc destroyed*(a: var TBindingEntry): guint = + result = (a.flag0 and bm_TGtkBindingEntry_destroyed) shr + bp_TGtkBindingEntry_destroyed + +proc set_destroyed*(a: var TBindingEntry, `destroyed`: guint) = + a.flag0 = a.flag0 or + (int16(`destroyed` shl bp_TGtkBindingEntry_destroyed) and + bm_TGtkBindingEntry_destroyed) + +proc in_emission*(a: var TBindingEntry): guint = + result = (a.flag0 and bm_TGtkBindingEntry_in_emission) shr + bp_TGtkBindingEntry_in_emission + +proc set_in_emission*(a: var TBindingEntry, `in_emission`: guint) = + a.flag0 = a.flag0 or + (int16(`in_emission` shl bp_TGtkBindingEntry_in_emission) and + bm_TGtkBindingEntry_in_emission) + +proc binding_entry_add*(binding_set: PBindingSet, keyval: guint, + modifiers: TGdkModifierType) = + binding_entry_clear(binding_set, keyval, modifiers) + +proc TYPE_BOX*(): GType = + result = box_get_type() + +proc BOX*(obj: pointer): PBox = + result = cast[PBox](CHECK_CAST(obj, TYPE_BOX())) + +proc BOX_CLASS*(klass: pointer): PBoxClass = + result = cast[PBoxClass](CHECK_CLASS_CAST(klass, TYPE_BOX())) + +proc IS_BOX*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_BOX()) + +proc IS_BOX_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_BOX()) + +proc BOX_GET_CLASS*(obj: pointer): PBoxClass = + result = cast[PBoxClass](CHECK_GET_CLASS(obj, TYPE_BOX())) + +proc homogeneous*(a: var TBox): guint = + result = (a.Boxflag0 and bm_TGtkBox_homogeneous) shr bp_TGtkBox_homogeneous + +proc set_homogeneous*(a: var TBox, `homogeneous`: guint) = + a.Boxflag0 = a.Boxflag0 or + (int16(`homogeneous` shl bp_TGtkBox_homogeneous) and + bm_TGtkBox_homogeneous) + +proc expand*(a: var TBoxChild): guint = + result = (a.flag0 and bm_TGtkBoxChild_expand) shr bp_TGtkBoxChild_expand + +proc set_expand*(a: var TBoxChild, `expand`: guint) = + a.flag0 = a.flag0 or + (int16(`expand` shl bp_TGtkBoxChild_expand) and bm_TGtkBoxChild_expand) + +proc fill*(a: var TBoxChild): guint = + result = (a.flag0 and bm_TGtkBoxChild_fill) shr bp_TGtkBoxChild_fill + +proc set_fill*(a: var TBoxChild, `fill`: guint) = + a.flag0 = a.flag0 or + (int16(`fill` shl bp_TGtkBoxChild_fill) and bm_TGtkBoxChild_fill) + +proc pack*(a: var TBoxChild): guint = + result = (a.flag0 and bm_TGtkBoxChild_pack) shr bp_TGtkBoxChild_pack + +proc set_pack*(a: var TBoxChild, `pack`: guint) = + a.flag0 = a.flag0 or + (int16(`pack` shl bp_TGtkBoxChild_pack) and bm_TGtkBoxChild_pack) + +proc is_secondary*(a: var TBoxChild): guint = + result = (a.flag0 and bm_TGtkBoxChild_is_secondary) shr + bp_TGtkBoxChild_is_secondary + +proc set_is_secondary*(a: var TBoxChild, `is_secondary`: guint) = + a.flag0 = a.flag0 or + (int16(`is_secondary` shl bp_TGtkBoxChild_is_secondary) and + bm_TGtkBoxChild_is_secondary) + +proc TYPE_BUTTON_BOX*(): GType = + result = button_box_get_type() + +proc BUTTON_BOX*(obj: pointer): PButtonBox = + result = cast[PButtonBox](CHECK_CAST(obj, TYPE_BUTTON_BOX())) + +proc BUTTON_BOX_CLASS*(klass: pointer): PButtonBoxClass = + result = cast[PButtonBoxClass](CHECK_CLASS_CAST(klass, TYPE_BUTTON_BOX())) + +proc IS_BUTTON_BOX*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_BUTTON_BOX()) + +proc IS_BUTTON_BOX_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_BUTTON_BOX()) + +proc BUTTON_BOX_GET_CLASS*(obj: pointer): PButtonBoxClass = + result = cast[PButtonBoxClass](CHECK_GET_CLASS(obj, TYPE_BUTTON_BOX())) + +proc button_box_set_spacing*(b: pointer, s: gint) = + box_set_spacing(BOX(b), s) + +proc button_box_get_spacing*(b: pointer): gint = + result = box_get_spacing(BOX(b)) + +proc TYPE_BUTTON*(): GType = + result = button_get_type() + +proc BUTTON*(obj: pointer): PButton = + result = cast[PButton](CHECK_CAST(obj, TYPE_BUTTON())) + +proc BUTTON_CLASS*(klass: pointer): PButtonClass = + result = cast[PButtonClass](CHECK_CLASS_CAST(klass, TYPE_BUTTON())) + +proc IS_BUTTON*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_BUTTON()) + +proc IS_BUTTON_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_BUTTON()) + +proc BUTTON_GET_CLASS*(obj: pointer): PButtonClass = + result = cast[PButtonClass](CHECK_GET_CLASS(obj, TYPE_BUTTON())) + +proc constructed*(a: var TButton): guint = + result = (a.Buttonflag0 and bm_TGtkButton_constructed) shr + bp_TGtkButton_constructed + +proc set_constructed*(a: var TButton, `constructed`: guint) = + a.Buttonflag0 = a.Buttonflag0 or + (int16(`constructed` shl bp_TGtkButton_constructed) and + bm_TGtkButton_constructed) + +proc in_button*(a: var TButton): guint = + result = (a.Buttonflag0 and bm_TGtkButton_in_button) shr + bp_TGtkButton_in_button + +proc set_in_button*(a: var TButton, `in_button`: guint) = + a.Buttonflag0 = a.Buttonflag0 or + (int16(`in_button` shl bp_TGtkButton_in_button) and + bm_TGtkButton_in_button) + +proc button_down*(a: var TButton): guint = + result = (a.Buttonflag0 and bm_TGtkButton_button_down) shr + bp_TGtkButton_button_down + +proc set_button_down*(a: var TButton, `button_down`: guint) = + a.Buttonflag0 = a.Buttonflag0 or + (int16(`button_down` shl bp_TGtkButton_button_down) and + bm_TGtkButton_button_down) + +proc relief*(a: var TButton): guint = + result = (a.Buttonflag0 and bm_TGtkButton_relief) shr bp_TGtkButton_relief + +proc set_relief*(a: var TButton, `relief`: guint) = + a.Buttonflag0 = a.Buttonflag0 or + (int16(`relief` shl bp_TGtkButton_relief) and bm_TGtkButton_relief) + +proc use_underline*(a: var TButton): guint = + result = (a.Buttonflag0 and bm_TGtkButton_use_underline) shr + bp_TGtkButton_use_underline + +proc set_use_underline*(a: var TButton, `use_underline`: guint) = + a.Buttonflag0 = a.Buttonflag0 or + (int16(`use_underline` shl bp_TGtkButton_use_underline) and + bm_TGtkButton_use_underline) + +proc use_stock*(a: var TButton): guint = + result = (a.Buttonflag0 and bm_TGtkButton_use_stock) shr + bp_TGtkButton_use_stock + +proc set_use_stock*(a: var TButton, `use_stock`: guint) = + a.Buttonflag0 = a.Buttonflag0 or + (int16(`use_stock` shl bp_TGtkButton_use_stock) and + bm_TGtkButton_use_stock) + +proc depressed*(a: var TButton): guint = + result = (a.Buttonflag0 and bm_TGtkButton_depressed) shr + bp_TGtkButton_depressed + +proc set_depressed*(a: var TButton, `depressed`: guint) = + a.Buttonflag0 = a.Buttonflag0 or + (int16(`depressed` shl bp_TGtkButton_depressed) and + bm_TGtkButton_depressed) + +proc depress_on_activate*(a: var TButton): guint = + result = (a.Buttonflag0 and bm_TGtkButton_depress_on_activate) shr + bp_TGtkButton_depress_on_activate + +proc set_depress_on_activate*(a: var TButton, `depress_on_activate`: guint) = + a.Buttonflag0 = a.Buttonflag0 or + (int16(`depress_on_activate` shl bp_TGtkButton_depress_on_activate) and + bm_TGtkButton_depress_on_activate) + +proc TYPE_CALENDAR*(): GType = + result = calendar_get_type() + +proc CALENDAR*(obj: pointer): PCalendar = + result = cast[PCalendar](CHECK_CAST(obj, TYPE_CALENDAR())) + +proc CALENDAR_CLASS*(klass: pointer): PCalendarClass = + result = cast[PCalendarClass](CHECK_CLASS_CAST(klass, TYPE_CALENDAR())) + +proc IS_CALENDAR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CALENDAR()) + +proc IS_CALENDAR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CALENDAR()) + +proc CALENDAR_GET_CLASS*(obj: pointer): PCalendarClass = + result = cast[PCalendarClass](CHECK_GET_CLASS(obj, TYPE_CALENDAR())) + +proc TYPE_CELL_EDITABLE*(): GType = + result = cell_editable_get_type() + +proc CELL_EDITABLE*(obj: pointer): PCellEditable = + result = cast[PCellEditable](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_CELL_EDITABLE())) + +proc CELL_EDITABLE_CLASS*(obj: pointer): PCellEditableIface = + result = cast[PCellEditableIface](G_TYPE_CHECK_CLASS_CAST(obj, + TYPE_CELL_EDITABLE())) + +proc IS_CELL_EDITABLE*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_CELL_EDITABLE()) + +proc CELL_EDITABLE_GET_IFACE*(obj: pointer): PCellEditableIface = + result = cast[PCellEditableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_CELL_EDITABLE())) + +proc TYPE_CELL_RENDERER*(): GType = + result = cell_renderer_get_type() + +proc CELL_RENDERER*(obj: pointer): PCellRenderer = + result = cast[PCellRenderer](CHECK_CAST(obj, TYPE_CELL_RENDERER())) + +proc CELL_RENDERER_CLASS*(klass: pointer): PCellRendererClass = + result = cast[PCellRendererClass](CHECK_CLASS_CAST(klass, TYPE_CELL_RENDERER())) + +proc IS_CELL_RENDERER*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CELL_RENDERER()) + +proc IS_CELL_RENDERER_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CELL_RENDERER()) + +proc CELL_RENDERER_GET_CLASS*(obj: pointer): PCellRendererClass = + result = cast[PCellRendererClass](CHECK_GET_CLASS(obj, TYPE_CELL_RENDERER())) + +proc mode*(a: var TCellRenderer): guint = + result = (a.CellRendererflag0 and bm_TGtkCellRenderer_mode) shr + bp_TGtkCellRenderer_mode + +proc set_mode*(a: var TCellRenderer, `mode`: guint) = + a.CellRendererflag0 = a.CellRendererflag0 or + (int16(`mode` shl bp_TGtkCellRenderer_mode) and + bm_TGtkCellRenderer_mode) + +proc visible*(a: var TCellRenderer): guint = + result = (a.CellRendererflag0 and bm_TGtkCellRenderer_visible) shr + bp_TGtkCellRenderer_visible + +proc set_visible*(a: var TCellRenderer, `visible`: guint) = + a.CellRendererflag0 = a.CellRendererflag0 or + (int16(`visible` shl bp_TGtkCellRenderer_visible) and + bm_TGtkCellRenderer_visible) + +proc is_expander*(a: var TCellRenderer): guint = + result = (a.CellRendererflag0 and bm_TGtkCellRenderer_is_expander) shr + bp_TGtkCellRenderer_is_expander + +proc set_is_expander*(a: var TCellRenderer, `is_expander`: guint) = + a.CellRendererflag0 = a.CellRendererflag0 or + (int16(`is_expander` shl bp_TGtkCellRenderer_is_expander) and + bm_TGtkCellRenderer_is_expander) + +proc is_expanded*(a: var TCellRenderer): guint = + result = (a.CellRendererflag0 and bm_TGtkCellRenderer_is_expanded) shr + bp_TGtkCellRenderer_is_expanded + +proc set_is_expanded*(a: var TCellRenderer, `is_expanded`: guint) = + a.CellRendererflag0 = a.CellRendererflag0 or + (int16(`is_expanded` shl bp_TGtkCellRenderer_is_expanded) and + bm_TGtkCellRenderer_is_expanded) + +proc cell_background_set*(a: var TCellRenderer): guint = + result = (a.CellRendererflag0 and bm_TGtkCellRenderer_cell_background_set) shr + bp_TGtkCellRenderer_cell_background_set + +proc set_cell_background_set*(a: var TCellRenderer, `cell_background_set`: guint) = + a.CellRendererflag0 = a.CellRendererflag0 or + (int16(`cell_background_set` shl + bp_TGtkCellRenderer_cell_background_set) and + bm_TGtkCellRenderer_cell_background_set) + +proc TYPE_CELL_RENDERER_TEXT*(): GType = + result = cell_renderer_text_get_type() + +proc CELL_RENDERER_TEXT*(obj: pointer): PCellRendererText = + result = cast[PCellRendererText](CHECK_CAST(obj, TYPE_CELL_RENDERER_TEXT())) + +proc CELL_RENDERER_TEXT_CLASS*(klass: pointer): PCellRendererTextClass = + result = cast[PCellRendererTextClass](CHECK_CLASS_CAST(klass, + TYPE_CELL_RENDERER_TEXT())) + +proc IS_CELL_RENDERER_TEXT*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CELL_RENDERER_TEXT()) + +proc IS_CELL_RENDERER_TEXT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CELL_RENDERER_TEXT()) + +proc CELL_RENDERER_TEXT_GET_CLASS*(obj: pointer): PCellRendererTextClass = + result = cast[PCellRendererTextClass](CHECK_GET_CLASS(obj, + TYPE_CELL_RENDERER_TEXT())) + +proc strikethrough*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and bm_TGtkCellRendererText_strikethrough) shr + bp_TGtkCellRendererText_strikethrough + +proc set_strikethrough*(a: var TCellRendererText, `strikethrough`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`strikethrough` shl bp_TGtkCellRendererText_strikethrough) and + bm_TGtkCellRendererText_strikethrough) + +proc editable*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and bm_TGtkCellRendererText_editable) shr + bp_TGtkCellRendererText_editable + +proc set_editable*(a: var TCellRendererText, `editable`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`editable` shl bp_TGtkCellRendererText_editable) and + bm_TGtkCellRendererText_editable) + +proc scale_set*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and bm_TGtkCellRendererText_scale_set) shr + bp_TGtkCellRendererText_scale_set + +proc set_scale_set*(a: var TCellRendererText, `scale_set`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`scale_set` shl bp_TGtkCellRendererText_scale_set) and + bm_TGtkCellRendererText_scale_set) + +proc foreground_set*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and + bm_TGtkCellRendererText_foreground_set) shr + bp_TGtkCellRendererText_foreground_set + +proc set_foreground_set*(a: var TCellRendererText, `foreground_set`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`foreground_set` shl bp_TGtkCellRendererText_foreground_set) and + bm_TGtkCellRendererText_foreground_set) + +proc background_set*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and + bm_TGtkCellRendererText_background_set) shr + bp_TGtkCellRendererText_background_set + +proc set_background_set*(a: var TCellRendererText, `background_set`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`background_set` shl bp_TGtkCellRendererText_background_set) and + bm_TGtkCellRendererText_background_set) + +proc underline_set*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and bm_TGtkCellRendererText_underline_set) shr + bp_TGtkCellRendererText_underline_set + +proc set_underline_set*(a: var TCellRendererText, `underline_set`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`underline_set` shl bp_TGtkCellRendererText_underline_set) and + bm_TGtkCellRendererText_underline_set) + +proc rise_set*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and bm_TGtkCellRendererText_rise_set) shr + bp_TGtkCellRendererText_rise_set + +proc set_rise_set*(a: var TCellRendererText, `rise_set`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`rise_set` shl bp_TGtkCellRendererText_rise_set) and + bm_TGtkCellRendererText_rise_set) + +proc strikethrough_set*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and + bm_TGtkCellRendererText_strikethrough_set) shr + bp_TGtkCellRendererText_strikethrough_set + +proc set_strikethrough_set*(a: var TCellRendererText, `strikethrough_set`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`strikethrough_set` shl + bp_TGtkCellRendererText_strikethrough_set) and + bm_TGtkCellRendererText_strikethrough_set) + +proc editable_set*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and bm_TGtkCellRendererText_editable_set) shr + bp_TGtkCellRendererText_editable_set + +proc set_editable_set*(a: var TCellRendererText, `editable_set`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`editable_set` shl bp_TGtkCellRendererText_editable_set) and + bm_TGtkCellRendererText_editable_set) + +proc calc_fixed_height*(a: var TCellRendererText): guint = + result = (a.CellRendererTextflag0 and + bm_TGtkCellRendererText_calc_fixed_height) shr + bp_TGtkCellRendererText_calc_fixed_height + +proc set_calc_fixed_height*(a: var TCellRendererText, `calc_fixed_height`: guint) = + a.CellRendererTextflag0 = a.CellRendererTextflag0 or + (int16(`calc_fixed_height` shl + bp_TGtkCellRendererText_calc_fixed_height) and + bm_TGtkCellRendererText_calc_fixed_height) + +proc TYPE_CELL_RENDERER_TOGGLE*(): GType = + result = cell_renderer_toggle_get_type() + +proc CELL_RENDERER_TOGGLE*(obj: pointer): PCellRendererToggle = + result = cast[PCellRendererToggle](CHECK_CAST(obj, TYPE_CELL_RENDERER_TOGGLE())) + +proc CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): PCellRendererToggleClass = + result = cast[PCellRendererToggleClass](CHECK_CLASS_CAST(klass, + TYPE_CELL_RENDERER_TOGGLE())) + +proc IS_CELL_RENDERER_TOGGLE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CELL_RENDERER_TOGGLE()) + +proc IS_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CELL_RENDERER_TOGGLE()) + +proc CELL_RENDERER_TOGGLE_GET_CLASS*(obj: pointer): PCellRendererToggleClass = + result = cast[PCellRendererToggleClass](CHECK_GET_CLASS(obj, + TYPE_CELL_RENDERER_TOGGLE())) + +proc active*(a: var TCellRendererToggle): guint = + result = (a.CellRendererToggleflag0 and bm_TGtkCellRendererToggle_active) shr + bp_TGtkCellRendererToggle_active + +proc set_active*(a: var TCellRendererToggle, `active`: guint) = + a.CellRendererToggleflag0 = a.CellRendererToggleflag0 or + (int16(`active` shl bp_TGtkCellRendererToggle_active) and + bm_TGtkCellRendererToggle_active) + +proc activatable*(a: var TCellRendererToggle): guint = + result = (a.CellRendererToggleflag0 and + bm_TGtkCellRendererToggle_activatable) shr + bp_TGtkCellRendererToggle_activatable + +proc set_activatable*(a: var TCellRendererToggle, `activatable`: guint) = + a.CellRendererToggleflag0 = a.CellRendererToggleflag0 or + (int16(`activatable` shl bp_TGtkCellRendererToggle_activatable) and + bm_TGtkCellRendererToggle_activatable) + +proc radio*(a: var TCellRendererToggle): guint = + result = (a.CellRendererToggleflag0 and bm_TGtkCellRendererToggle_radio) shr + bp_TGtkCellRendererToggle_radio + +proc set_radio*(a: var TCellRendererToggle, `radio`: guint) = + a.CellRendererToggleflag0 = a.CellRendererToggleflag0 or + (int16(`radio` shl bp_TGtkCellRendererToggle_radio) and + bm_TGtkCellRendererToggle_radio) + +proc TYPE_CELL_RENDERER_PIXBUF*(): GType = + result = cell_renderer_pixbuf_get_type() + +proc CELL_RENDERER_PIXBUF*(obj: pointer): PCellRendererPixbuf = + result = cast[PCellRendererPixbuf](CHECK_CAST(obj, TYPE_CELL_RENDERER_PIXBUF())) + +proc CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): PCellRendererPixbufClass = + result = cast[PCellRendererPixbufClass](CHECK_CLASS_CAST(klass, + TYPE_CELL_RENDERER_PIXBUF())) + +proc IS_CELL_RENDERER_PIXBUF*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CELL_RENDERER_PIXBUF()) + +proc IS_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CELL_RENDERER_PIXBUF()) + +proc CELL_RENDERER_PIXBUF_GET_CLASS*(obj: pointer): PCellRendererPixbufClass = + result = cast[PCellRendererPixbufClass](CHECK_GET_CLASS(obj, + TYPE_CELL_RENDERER_PIXBUF())) + +proc TYPE_ITEM*(): GType = + result = item_get_type() + +proc ITEM*(obj: pointer): PItem = + result = cast[PItem](CHECK_CAST(obj, TYPE_ITEM())) + +proc ITEM_CLASS*(klass: pointer): PItemClass = + result = cast[PItemClass](CHECK_CLASS_CAST(klass, TYPE_ITEM())) + +proc IS_ITEM*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_ITEM()) + +proc IS_ITEM_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_ITEM()) + +proc ITEM_GET_CLASS*(obj: pointer): PItemClass = + result = cast[PItemClass](CHECK_GET_CLASS(obj, TYPE_ITEM())) + +proc TYPE_MENU_ITEM*(): GType = + result = menu_item_get_type() + +proc MENU_ITEM*(obj: pointer): PMenuItem = + result = cast[PMenuItem](CHECK_CAST(obj, TYPE_MENU_ITEM())) + +proc MENU_ITEM_CLASS*(klass: pointer): PMenuItemClass = + result = cast[PMenuItemClass](CHECK_CLASS_CAST(klass, TYPE_MENU_ITEM())) + +proc IS_MENU_ITEM*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_MENU_ITEM()) + +proc IS_MENU_ITEM_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_MENU_ITEM()) + +proc MENU_ITEM_GET_CLASS*(obj: pointer): PMenuItemClass = + result = cast[PMenuItemClass](CHECK_GET_CLASS(obj, TYPE_MENU_ITEM())) + +proc show_submenu_indicator*(a: var TMenuItem): guint = + result = (a.MenuItemflag0 and bm_TGtkMenuItem_show_submenu_indicator) shr + bp_TGtkMenuItem_show_submenu_indicator + +proc set_show_submenu_indicator*(a: var TMenuItem, + `show_submenu_indicator`: guint) = + a.MenuItemflag0 = a.MenuItemflag0 or + (int16(`show_submenu_indicator` shl + bp_TGtkMenuItem_show_submenu_indicator) and + bm_TGtkMenuItem_show_submenu_indicator) + +proc submenu_placement*(a: var TMenuItem): guint = + result = (a.MenuItemflag0 and bm_TGtkMenuItem_submenu_placement) shr + bp_TGtkMenuItem_submenu_placement + +proc set_submenu_placement*(a: var TMenuItem, `submenu_placement`: guint) = + a.MenuItemflag0 = a.MenuItemflag0 or + (int16(`submenu_placement` shl bp_TGtkMenuItem_submenu_placement) and + bm_TGtkMenuItem_submenu_placement) + +proc submenu_direction*(a: var TMenuItem): guint = + result = (a.MenuItemflag0 and bm_TGtkMenuItem_submenu_direction) shr + bp_TGtkMenuItem_submenu_direction + +proc set_submenu_direction*(a: var TMenuItem, `submenu_direction`: guint) = + a.MenuItemflag0 = a.MenuItemflag0 or + (int16(`submenu_direction` shl bp_TGtkMenuItem_submenu_direction) and + bm_TGtkMenuItem_submenu_direction) + +proc right_justify*(a: var TMenuItem): guint = + result = (a.MenuItemflag0 and bm_TGtkMenuItem_right_justify) shr + bp_TGtkMenuItem_right_justify + +proc set_right_justify*(a: var TMenuItem, `right_justify`: guint) = + a.MenuItemflag0 = a.MenuItemflag0 or + (int16(`right_justify` shl bp_TGtkMenuItem_right_justify) and + bm_TGtkMenuItem_right_justify) + +proc timer_from_keypress*(a: var TMenuItem): guint = + result = (a.MenuItemflag0 and bm_TGtkMenuItem_timer_from_keypress) shr + bp_TGtkMenuItem_timer_from_keypress + +proc set_timer_from_keypress*(a: var TMenuItem, `timer_from_keypress`: guint) = + a.MenuItemflag0 = a.MenuItemflag0 or + (int16(`timer_from_keypress` shl bp_TGtkMenuItem_timer_from_keypress) and + bm_TGtkMenuItem_timer_from_keypress) + +proc hide_on_activate*(a: var TMenuItemClass): guint = + result = (a.MenuItemClassflag0 and bm_TGtkMenuItemClass_hide_on_activate) shr + bp_TGtkMenuItemClass_hide_on_activate + +proc set_hide_on_activate*(a: var TMenuItemClass, `hide_on_activate`: guint) = + a.MenuItemClassflag0 = a.MenuItemClassflag0 or + (int16(`hide_on_activate` shl bp_TGtkMenuItemClass_hide_on_activate) and + bm_TGtkMenuItemClass_hide_on_activate) + +proc menu_item_right_justify*(menu_item: PMenuItem) = + menu_item_set_right_justified(menu_item, true) + +proc TYPE_TOGGLE_BUTTON*(): GType = + result = toggle_button_get_type() + +proc TOGGLE_BUTTON*(obj: pointer): PToggleButton = + result = cast[PToggleButton](CHECK_CAST(obj, TYPE_TOGGLE_BUTTON())) + +proc TOGGLE_BUTTON_CLASS*(klass: pointer): PToggleButtonClass = + result = cast[PToggleButtonClass](CHECK_CLASS_CAST(klass, TYPE_TOGGLE_BUTTON())) + +proc IS_TOGGLE_BUTTON*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TOGGLE_BUTTON()) + +proc IS_TOGGLE_BUTTON_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TOGGLE_BUTTON()) + +proc TOGGLE_BUTTON_GET_CLASS*(obj: pointer): PToggleButtonClass = + result = cast[PToggleButtonClass](CHECK_GET_CLASS(obj, TYPE_TOGGLE_BUTTON())) + +proc active*(a: var TToggleButton): guint = + result = (a.ToggleButtonflag0 and bm_TGtkToggleButton_active) shr + bp_TGtkToggleButton_active + +proc set_active*(a: var TToggleButton, `active`: guint) = + a.ToggleButtonflag0 = a.ToggleButtonflag0 or + (int16(`active` shl bp_TGtkToggleButton_active) and + bm_TGtkToggleButton_active) + +proc draw_indicator*(a: var TToggleButton): guint = + result = (a.ToggleButtonflag0 and bm_TGtkToggleButton_draw_indicator) shr + bp_TGtkToggleButton_draw_indicator + +proc set_draw_indicator*(a: var TToggleButton, `draw_indicator`: guint) = + a.ToggleButtonflag0 = a.ToggleButtonflag0 or + (int16(`draw_indicator` shl bp_TGtkToggleButton_draw_indicator) and + bm_TGtkToggleButton_draw_indicator) + +proc inconsistent*(a: var TToggleButton): guint = + result = (a.ToggleButtonflag0 and bm_TGtkToggleButton_inconsistent) shr + bp_TGtkToggleButton_inconsistent + +proc set_inconsistent*(a: var TToggleButton, `inconsistent`: guint) = + a.ToggleButtonflag0 = a.ToggleButtonflag0 or + (int16(`inconsistent` shl bp_TGtkToggleButton_inconsistent) and + bm_TGtkToggleButton_inconsistent) + +proc TYPE_CHECK_BUTTON*(): GType = + result = check_button_get_type() + +proc CHECK_BUTTON*(obj: pointer): PCheckButton = + result = cast[PCheckButton](CHECK_CAST(obj, TYPE_CHECK_BUTTON())) + +proc CHECK_BUTTON_CLASS*(klass: pointer): PCheckButtonClass = + result = cast[PCheckButtonClass](CHECK_CLASS_CAST(klass, TYPE_CHECK_BUTTON())) + +proc IS_CHECK_BUTTON*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CHECK_BUTTON()) + +proc IS_CHECK_BUTTON_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CHECK_BUTTON()) + +proc CHECK_BUTTON_GET_CLASS*(obj: pointer): PCheckButtonClass = + result = cast[PCheckButtonClass](CHECK_GET_CLASS(obj, TYPE_CHECK_BUTTON())) + +proc TYPE_CHECK_MENU_ITEM*(): GType = + result = check_menu_item_get_type() + +proc CHECK_MENU_ITEM*(obj: pointer): PCheckMenuItem = + result = cast[PCheckMenuItem](CHECK_CAST(obj, TYPE_CHECK_MENU_ITEM())) + +proc CHECK_MENU_ITEM_CLASS*(klass: pointer): PCheckMenuItemClass = + result = cast[PCheckMenuItemClass](CHECK_CLASS_CAST(klass, + TYPE_CHECK_MENU_ITEM())) + +proc IS_CHECK_MENU_ITEM*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CHECK_MENU_ITEM()) + +proc IS_CHECK_MENU_ITEM_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CHECK_MENU_ITEM()) + +proc CHECK_MENU_ITEM_GET_CLASS*(obj: pointer): PCheckMenuItemClass = + result = cast[PCheckMenuItemClass](CHECK_GET_CLASS(obj, TYPE_CHECK_MENU_ITEM())) + +proc active*(a: var TCheckMenuItem): guint = + result = (a.CheckMenuItemflag0 and bm_TGtkCheckMenuItem_active) shr + bp_TGtkCheckMenuItem_active + +proc set_active*(a: var TCheckMenuItem, `active`: guint) = + a.CheckMenuItemflag0 = a.CheckMenuItemflag0 or + (int16(`active` shl bp_TGtkCheckMenuItem_active) and + bm_TGtkCheckMenuItem_active) + +proc always_show_toggle*(a: var TCheckMenuItem): guint = + result = (a.CheckMenuItemflag0 and bm_TGtkCheckMenuItem_always_show_toggle) shr + bp_TGtkCheckMenuItem_always_show_toggle + +proc set_always_show_toggle*(a: var TCheckMenuItem, `always_show_toggle`: guint) = + a.CheckMenuItemflag0 = a.CheckMenuItemflag0 or + (int16(`always_show_toggle` shl bp_TGtkCheckMenuItem_always_show_toggle) and + bm_TGtkCheckMenuItem_always_show_toggle) + +proc inconsistent*(a: var TCheckMenuItem): guint = + result = (a.CheckMenuItemflag0 and bm_TGtkCheckMenuItem_inconsistent) shr + bp_TGtkCheckMenuItem_inconsistent + +proc set_inconsistent*(a: var TCheckMenuItem, `inconsistent`: guint) = + a.CheckMenuItemflag0 = a.CheckMenuItemflag0 or + (int16(`inconsistent` shl bp_TGtkCheckMenuItem_inconsistent) and + bm_TGtkCheckMenuItem_inconsistent) + +proc TYPE_CLIST*(): GType = + result = clist_get_type() + +proc CLIST*(obj: pointer): PCList = + result = cast[PCList](CHECK_CAST(obj, TYPE_CLIST())) + +proc CLIST_CLASS*(klass: pointer): PCListClass = + result = cast[PCListClass](CHECK_CLASS_CAST(klass, TYPE_CLIST())) + +proc IS_CLIST*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CLIST()) + +proc IS_CLIST_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CLIST()) + +proc CLIST_GET_CLASS*(obj: pointer): PCListClass = + result = cast[PCListClass](CHECK_GET_CLASS(obj, TYPE_CLIST())) + +proc CLIST_FLAGS*(clist: pointer): guint16 = + result = toU16(CLIST(clist).flags) + +proc CLIST_SET_FLAG*(clist: PCList, flag: guint16) = + clist.flags = CLIST(clist).flags or (flag) + +proc CLIST_UNSET_FLAG*(clist: PCList, flag: guint16) = + clist.flags = CLIST(clist).flags and not (flag) + +proc CLIST_IN_DRAG_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_IN_DRAG)) != 0'i32 + +proc CLIST_ROW_HEIGHT_SET_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_ROW_HEIGHT_SET)) != 0'i32 + +proc CLIST_SHOW_TITLES_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_SHOW_TITLES)) != 0'i32 + +proc CLIST_ADD_MODE_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_ADD_MODE)) != 0'i32 + +proc CLIST_AUTO_SORT_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_AUTO_SORT)) != 0'i32 + +proc CLIST_AUTO_RESIZE_BLOCKED_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_AUTO_RESIZE_BLOCKED)) != 0'i32 + +proc CLIST_REORDERABLE_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_REORDERABLE)) != 0'i32 + +proc CLIST_USE_DRAG_ICONS_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_USE_DRAG_ICONS)) != 0'i32 + +proc CLIST_DRAW_DRAG_LINE_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_DRAW_DRAG_LINE)) != 0'i32 + +proc CLIST_DRAW_DRAG_RECT_get*(clist: pointer): bool = + result = ((CLIST_FLAGS(clist)) and cint(CLIST_DRAW_DRAG_RECT)) != 0'i32 + +proc CLIST_ROW_get*(`glist_`: PGList): PCListRow = + result = cast[PCListRow](`glist_`.data) + +when false: + proc CELL_TEXT_get*(cell: pointer): PCellText = + result = cast[PCellText](addr((cell))) + + proc CELL_PIXMAP_get*(cell: pointer): PCellPixmap = + result = cast[PCellPixmap](addr((cell))) + + proc CELL_PIXTEXT_get*(cell: pointer): PCellPixText = + result = cast[PCellPixText](addr((cell))) + + proc CELL_WIDGET_get*(cell: pointer): PCellWidget = + result = cast[PCellWidget](addr((cell))) + +proc visible*(a: var TCListColumn): guint = + result = (a.flag0 and bm_TGtkCListColumn_visible) shr + bp_TGtkCListColumn_visible + +proc set_visible*(a: var TCListColumn, `visible`: guint) = + a.flag0 = a.flag0 or + (int16(`visible` shl bp_TGtkCListColumn_visible) and + bm_TGtkCListColumn_visible) + +proc width_set*(a: var TCListColumn): guint = + result = (a.flag0 and bm_TGtkCListColumn_width_set) shr + bp_TGtkCListColumn_width_set + +proc set_width_set*(a: var TCListColumn, `width_set`: guint) = + a.flag0 = a.flag0 or + (int16(`width_set` shl bp_TGtkCListColumn_width_set) and + bm_TGtkCListColumn_width_set) + +proc resizeable*(a: var TCListColumn): guint = + result = (a.flag0 and bm_TGtkCListColumn_resizeable) shr + bp_TGtkCListColumn_resizeable + +proc set_resizeable*(a: var TCListColumn, `resizeable`: guint) = + a.flag0 = a.flag0 or + (int16(`resizeable` shl bp_TGtkCListColumn_resizeable) and + bm_TGtkCListColumn_resizeable) + +proc auto_resize*(a: var TCListColumn): guint = + result = (a.flag0 and bm_TGtkCListColumn_auto_resize) shr + bp_TGtkCListColumn_auto_resize + +proc set_auto_resize*(a: var TCListColumn, `auto_resize`: guint) = + a.flag0 = a.flag0 or + (int16(`auto_resize` shl bp_TGtkCListColumn_auto_resize) and + bm_TGtkCListColumn_auto_resize) + +proc button_passive*(a: var TCListColumn): guint = + result = (a.flag0 and bm_TGtkCListColumn_button_passive) shr + bp_TGtkCListColumn_button_passive + +proc set_button_passive*(a: var TCListColumn, `button_passive`: guint) = + a.flag0 = a.flag0 or + (int16(`button_passive` shl bp_TGtkCListColumn_button_passive) and + bm_TGtkCListColumn_button_passive) + +proc fg_set*(a: var TCListRow): guint = + result = (a.flag0 and bm_TGtkCListRow_fg_set) shr bp_TGtkCListRow_fg_set + +proc set_fg_set*(a: var TCListRow, `fg_set`: guint) = + a.flag0 = a.flag0 or + (int16(`fg_set` shl bp_TGtkCListRow_fg_set) and bm_TGtkCListRow_fg_set) + +proc bg_set*(a: var TCListRow): guint = + result = (a.flag0 and bm_TGtkCListRow_bg_set) shr bp_TGtkCListRow_bg_set + +proc set_bg_set*(a: var TCListRow, `bg_set`: guint) = + a.flag0 = a.flag0 or + (int16(`bg_set` shl bp_TGtkCListRow_bg_set) and bm_TGtkCListRow_bg_set) + +proc selectable*(a: var TCListRow): guint = + result = (a.flag0 and bm_TGtkCListRow_selectable) shr + bp_TGtkCListRow_selectable + +proc set_selectable*(a: var TCListRow, `selectable`: guint) = + a.flag0 = a.flag0 or + (int16(`selectable` shl bp_TGtkCListRow_selectable) and + bm_TGtkCListRow_selectable) + +proc TYPE_DIALOG*(): GType = + result = dialog_get_type() + +proc DIALOG*(obj: pointer): PDialog = + result = cast[PDialog](CHECK_CAST(obj, TYPE_DIALOG())) + +proc DIALOG_CLASS*(klass: pointer): PDialogClass = + result = cast[PDialogClass](CHECK_CLASS_CAST(klass, TYPE_DIALOG())) + +proc IS_DIALOG*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_DIALOG()) + +proc IS_DIALOG_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_DIALOG()) + +proc DIALOG_GET_CLASS*(obj: pointer): PDialogClass = + result = cast[PDialogClass](CHECK_GET_CLASS(obj, TYPE_DIALOG())) + +proc TYPE_VBOX*(): GType = + result = vbox_get_type() + +proc VBOX*(obj: pointer): PVBox = + result = cast[PVBox](CHECK_CAST(obj, TYPE_VBOX())) + +proc VBOX_CLASS*(klass: pointer): PVBoxClass = + result = cast[PVBoxClass](CHECK_CLASS_CAST(klass, TYPE_VBOX())) + +proc IS_VBOX*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_VBOX()) + +proc IS_VBOX_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_VBOX()) + +proc VBOX_GET_CLASS*(obj: pointer): PVBoxClass = + result = cast[PVBoxClass](CHECK_GET_CLASS(obj, TYPE_VBOX())) + +proc TYPE_COLOR_SELECTION*(): GType = + result = color_selection_get_type() + +proc COLOR_SELECTION*(obj: pointer): PColorSelection = + result = cast[PColorSelection](CHECK_CAST(obj, TYPE_COLOR_SELECTION())) + +proc COLOR_SELECTION_CLASS*(klass: pointer): PColorSelectionClass = + result = cast[PColorSelectionClass](CHECK_CLASS_CAST(klass, + TYPE_COLOR_SELECTION())) + +proc IS_COLOR_SELECTION*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_COLOR_SELECTION()) + +proc IS_COLOR_SELECTION_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_COLOR_SELECTION()) + +proc COLOR_SELECTION_GET_CLASS*(obj: pointer): PColorSelectionClass = + result = cast[PColorSelectionClass](CHECK_GET_CLASS(obj, + TYPE_COLOR_SELECTION())) + +proc TYPE_COLOR_SELECTION_DIALOG*(): GType = + result = color_selection_dialog_get_type() + +proc COLOR_SELECTION_DIALOG*(obj: pointer): PColorSelectionDialog = + result = cast[PColorSelectionDialog](CHECK_CAST(obj, + TYPE_COLOR_SELECTION_DIALOG())) + +proc COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): PColorSelectionDialogClass = + result = cast[PColorSelectionDialogClass](CHECK_CLASS_CAST(klass, + TYPE_COLOR_SELECTION_DIALOG())) + +proc IS_COLOR_SELECTION_DIALOG*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_COLOR_SELECTION_DIALOG()) + +proc IS_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_COLOR_SELECTION_DIALOG()) + +proc COLOR_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PColorSelectionDialogClass = + result = cast[PColorSelectionDialogClass](CHECK_GET_CLASS(obj, + TYPE_COLOR_SELECTION_DIALOG())) + +proc TYPE_HBOX*(): GType = + result = hbox_get_type() + +proc HBOX*(obj: pointer): PHBox = + result = cast[PHBox](CHECK_CAST(obj, TYPE_HBOX())) + +proc HBOX_CLASS*(klass: pointer): PHBoxClass = + result = cast[PHBoxClass](CHECK_CLASS_CAST(klass, TYPE_HBOX())) + +proc IS_HBOX*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_HBOX()) + +proc IS_HBOX_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_HBOX()) + +proc HBOX_GET_CLASS*(obj: pointer): PHBoxClass = + result = cast[PHBoxClass](CHECK_GET_CLASS(obj, TYPE_HBOX())) + +proc TYPE_COMBO*(): GType = + result = combo_get_type() + +proc COMBO*(obj: pointer): PCombo = + result = cast[PCombo](CHECK_CAST(obj, TYPE_COMBO())) + +proc COMBO_CLASS*(klass: pointer): PComboClass = + result = cast[PComboClass](CHECK_CLASS_CAST(klass, TYPE_COMBO())) + +proc IS_COMBO*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_COMBO()) + +proc IS_COMBO_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_COMBO()) + +proc COMBO_GET_CLASS*(obj: pointer): PComboClass = + result = cast[PComboClass](CHECK_GET_CLASS(obj, TYPE_COMBO())) + +proc value_in_list*(a: var TCombo): guint = + result = (a.Comboflag0 and bm_TGtkCombo_value_in_list) shr + bp_TGtkCombo_value_in_list + +proc set_value_in_list*(a: var TCombo, `value_in_list`: guint) = + a.Comboflag0 = a.Comboflag0 or + (int16(`value_in_list` shl bp_TGtkCombo_value_in_list) and + bm_TGtkCombo_value_in_list) + +proc ok_if_empty*(a: var TCombo): guint = + result = (a.Comboflag0 and bm_TGtkCombo_ok_if_empty) shr + bp_TGtkCombo_ok_if_empty + +proc set_ok_if_empty*(a: var TCombo, `ok_if_empty`: guint) = + a.Comboflag0 = a.Comboflag0 or + (int16(`ok_if_empty` shl bp_TGtkCombo_ok_if_empty) and + bm_TGtkCombo_ok_if_empty) + +proc case_sensitive*(a: var TCombo): guint = + result = (a.Comboflag0 and bm_TGtkCombo_case_sensitive) shr + bp_TGtkCombo_case_sensitive + +proc set_case_sensitive*(a: var TCombo, `case_sensitive`: guint) = + a.Comboflag0 = a.Comboflag0 or + (int16(`case_sensitive` shl bp_TGtkCombo_case_sensitive) and + bm_TGtkCombo_case_sensitive) + +proc use_arrows*(a: var TCombo): guint = + result = (a.Comboflag0 and bm_TGtkCombo_use_arrows) shr + bp_TGtkCombo_use_arrows + +proc set_use_arrows*(a: var TCombo, `use_arrows`: guint) = + a.Comboflag0 = a.Comboflag0 or + (int16(`use_arrows` shl bp_TGtkCombo_use_arrows) and + bm_TGtkCombo_use_arrows) + +proc use_arrows_always*(a: var TCombo): guint = + result = (a.Comboflag0 and bm_TGtkCombo_use_arrows_always) shr + bp_TGtkCombo_use_arrows_always + +proc set_use_arrows_always*(a: var TCombo, `use_arrows_always`: guint) = + a.Comboflag0 = a.Comboflag0 or + (int16(`use_arrows_always` shl bp_TGtkCombo_use_arrows_always) and + bm_TGtkCombo_use_arrows_always) + +proc TYPE_CTREE*(): GType = + result = ctree_get_type() + +proc CTREE*(obj: pointer): PCTree = + result = cast[PCTree](CHECK_CAST(obj, TYPE_CTREE())) + +proc CTREE_CLASS*(klass: pointer): PCTreeClass = + result = cast[PCTreeClass](CHECK_CLASS_CAST(klass, TYPE_CTREE())) + +proc IS_CTREE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CTREE()) + +proc IS_CTREE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CTREE()) + +proc CTREE_GET_CLASS*(obj: pointer): PCTreeClass = + result = cast[PCTreeClass](CHECK_GET_CLASS(obj, TYPE_CTREE())) + +proc CTREE_ROW*(`node_`: TAddress): PCTreeRow = + result = cast[PCTreeRow]((cast[PGList](`node_`)).data) + +proc CTREE_NODE*(`node_`: TAddress): PCTreeNode = + result = cast[PCTreeNode](`node_`) + +proc CTREE_NODE_NEXT*(`nnode_`: TAddress): PCTreeNode = + result = cast[PCTreeNode]((cast[PGList](`nnode_`)).next) + +proc CTREE_NODE_PREV*(`pnode_`: TAddress): PCTreeNode = + result = cast[PCTreeNode]((cast[PGList](`pnode_`)).prev) + +proc CTREE_FUNC*(`func_`: TAddress): TCTreeFunc = + result = cast[TCTreeFunc](`func_`) + +proc TYPE_CTREE_NODE*(): GType = + result = ctree_node_get_type() + +proc line_style*(a: var TCTree): guint = + result = (a.CTreeflag0 and bm_TGtkCTree_line_style) shr + bp_TGtkCTree_line_style + +proc set_line_style*(a: var TCTree, `line_style`: guint) = + a.CTreeflag0 = a.CTreeflag0 or + (int16(`line_style` shl bp_TGtkCTree_line_style) and + bm_TGtkCTree_line_style) + +proc expander_style*(a: var TCTree): guint = + result = (a.CTreeflag0 and bm_TGtkCTree_expander_style) shr + bp_TGtkCTree_expander_style + +proc set_expander_style*(a: var TCTree, `expander_style`: guint) = + a.CTreeflag0 = a.CTreeflag0 or + (int16(`expander_style` shl bp_TGtkCTree_expander_style) and + bm_TGtkCTree_expander_style) + +proc show_stub*(a: var TCTree): guint = + result = (a.CTreeflag0 and bm_TGtkCTree_show_stub) shr + bp_TGtkCTree_show_stub + +proc set_show_stub*(a: var TCTree, `show_stub`: guint) = + a.CTreeflag0 = a.CTreeflag0 or + (int16(`show_stub` shl bp_TGtkCTree_show_stub) and + bm_TGtkCTree_show_stub) + +proc is_leaf*(a: var TCTreeRow): guint = + result = (a.CTreeRow_flag0 and bm_TGtkCTreeRow_is_leaf) shr + bp_TGtkCTreeRow_is_leaf + +proc set_is_leaf*(a: var TCTreeRow, `is_leaf`: guint) = + a.CTreeRow_flag0 = a.CTreeRow_flag0 or + (int16(`is_leaf` shl bp_TGtkCTreeRow_is_leaf) and + bm_TGtkCTreeRow_is_leaf) + +proc expanded*(a: var TCTreeRow): guint = + result = (a.CTreeRow_flag0 and bm_TGtkCTreeRow_expanded) shr + bp_TGtkCTreeRow_expanded + +proc set_expanded*(a: var TCTreeRow, `expanded`: guint) = + a.CTreeRow_flag0 = a.CTreeRowflag0 or + (int16(`expanded` shl bp_TGtkCTreeRow_expanded) and + bm_TGtkCTreeRow_expanded) + +proc ctree_set_reorderable*(t: pointer, r: bool) = + clist_set_reorderable(cast[PCList](t), r) + +proc TYPE_DRAWING_AREA*(): GType = + result = drawing_area_get_type() + +proc DRAWING_AREA*(obj: pointer): PDrawingArea = + result = cast[PDrawingArea](CHECK_CAST(obj, TYPE_DRAWING_AREA())) + +proc DRAWING_AREA_CLASS*(klass: pointer): PDrawingAreaClass = + result = cast[PDrawingAreaClass](CHECK_CLASS_CAST(klass, TYPE_DRAWING_AREA())) + +proc IS_DRAWING_AREA*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_DRAWING_AREA()) + +proc IS_DRAWING_AREA_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_DRAWING_AREA()) + +proc DRAWING_AREA_GET_CLASS*(obj: pointer): PDrawingAreaClass = + result = cast[PDrawingAreaClass](CHECK_GET_CLASS(obj, TYPE_DRAWING_AREA())) + +proc TYPE_CURVE*(): GType = + result = curve_get_type() + +proc CURVE*(obj: pointer): PCurve = + result = cast[PCurve](CHECK_CAST(obj, TYPE_CURVE())) + +proc CURVE_CLASS*(klass: pointer): PCurveClass = + result = cast[PCurveClass](CHECK_CLASS_CAST(klass, TYPE_CURVE())) + +proc IS_CURVE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_CURVE()) + +proc IS_CURVE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_CURVE()) + +proc CURVE_GET_CLASS*(obj: pointer): PCurveClass = + result = cast[PCurveClass](CHECK_GET_CLASS(obj, TYPE_CURVE())) + +proc TYPE_EDITABLE*(): GType = + result = editable_get_type() + +proc EDITABLE*(obj: pointer): PEditable = + result = cast[PEditable](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_EDITABLE())) + +proc EDITABLE_CLASS*(vtable: pointer): PEditableClass = + result = cast[PEditableClass](G_TYPE_CHECK_CLASS_CAST(vtable, TYPE_EDITABLE())) + +proc IS_EDITABLE*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_EDITABLE()) + +proc IS_EDITABLE_CLASS*(vtable: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(vtable, TYPE_EDITABLE()) + +proc EDITABLE_GET_CLASS*(inst: pointer): PEditableClass = + result = cast[PEditableClass](G_TYPE_INSTANCE_GET_INTERFACE(inst, + TYPE_EDITABLE())) + +proc TYPE_IM_CONTEXT*(): GType = + result = im_context_get_type() + +proc IM_CONTEXT*(obj: pointer): PIMContext = + result = cast[PIMContext](CHECK_CAST(obj, TYPE_IM_CONTEXT())) + +proc IM_CONTEXT_CLASS*(klass: pointer): PIMContextClass = + result = cast[PIMContextClass](CHECK_CLASS_CAST(klass, TYPE_IM_CONTEXT())) + +proc IS_IM_CONTEXT*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_IM_CONTEXT()) + +proc IS_IM_CONTEXT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_IM_CONTEXT()) + +proc IM_CONTEXT_GET_CLASS*(obj: pointer): PIMContextClass = + result = cast[PIMContextClass](CHECK_GET_CLASS(obj, TYPE_IM_CONTEXT())) + +proc TYPE_MENU_SHELL*(): GType = + result = menu_shell_get_type() + +proc MENU_SHELL*(obj: pointer): PMenuShell = + result = cast[PMenuShell](CHECK_CAST(obj, TYPE_MENU_SHELL())) + +proc MENU_SHELL_CLASS*(klass: pointer): PMenuShellClass = + result = cast[PMenuShellClass](CHECK_CLASS_CAST(klass, TYPE_MENU_SHELL())) + +proc IS_MENU_SHELL*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_MENU_SHELL()) + +proc IS_MENU_SHELL_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_MENU_SHELL()) + +proc MENU_SHELL_GET_CLASS*(obj: pointer): PMenuShellClass = + result = cast[PMenuShellClass](CHECK_GET_CLASS(obj, TYPE_MENU_SHELL())) + +proc active*(a: var TMenuShell): guint = + result = (a.MenuShellflag0 and bm_TGtkMenuShell_active) shr + bp_TGtkMenuShell_active + +proc set_active*(a: var TMenuShell, `active`: guint) = + a.MenuShellflag0 = a.MenuShellflag0 or + (int16(`active` shl bp_TGtkMenuShell_active) and + bm_TGtkMenuShell_active) + +proc have_grab*(a: var TMenuShell): guint = + result = (a.MenuShellflag0 and bm_TGtkMenuShell_have_grab) shr + bp_TGtkMenuShell_have_grab + +proc set_have_grab*(a: var TMenuShell, `have_grab`: guint) = + a.MenuShellflag0 = a.MenuShellflag0 or + (int16(`have_grab` shl bp_TGtkMenuShell_have_grab) and + bm_TGtkMenuShell_have_grab) + +proc have_xgrab*(a: var TMenuShell): guint = + result = (a.MenuShellflag0 and bm_TGtkMenuShell_have_xgrab) shr + bp_TGtkMenuShell_have_xgrab + +proc set_have_xgrab*(a: var TMenuShell, `have_xgrab`: guint) = + a.MenuShellflag0 = a.MenuShellflag0 or + (int16(`have_xgrab` shl bp_TGtkMenuShell_have_xgrab) and + bm_TGtkMenuShell_have_xgrab) + +proc ignore_leave*(a: var TMenuShell): guint = + result = (a.MenuShellflag0 and bm_TGtkMenuShell_ignore_leave) shr + bp_TGtkMenuShell_ignore_leave + +proc set_ignore_leave*(a: var TMenuShell, `ignore_leave`: guint) = + a.MenuShellflag0 = a.MenuShellflag0 or + (int16(`ignore_leave` shl bp_TGtkMenuShell_ignore_leave) and + bm_TGtkMenuShell_ignore_leave) + +proc menu_flag*(a: var TMenuShell): guint = + result = (a.MenuShellflag0 and bm_TGtkMenuShell_menu_flag) shr + bp_TGtkMenuShell_menu_flag + +proc set_menu_flag*(a: var TMenuShell, `menu_flag`: guint) = + a.MenuShellflag0 = a.MenuShellflag0 or + (int16(`menu_flag` shl bp_TGtkMenuShell_menu_flag) and + bm_TGtkMenuShell_menu_flag) + +proc ignore_enter*(a: var TMenuShell): guint = + result = (a.MenuShellflag0 and bm_TGtkMenuShell_ignore_enter) shr + bp_TGtkMenuShell_ignore_enter + +proc set_ignore_enter*(a: var TMenuShell, `ignore_enter`: guint) = + a.MenuShellflag0 = a.MenuShellflag0 or + (int16(`ignore_enter` shl bp_TGtkMenuShell_ignore_enter) and + bm_TGtkMenuShell_ignore_enter) + +proc submenu_placement*(a: var TMenuShellClass): guint = + result = (a.MenuShellClassflag0 and bm_TGtkMenuShellClass_submenu_placement) shr + bp_TGtkMenuShellClass_submenu_placement + +proc set_submenu_placement*(a: var TMenuShellClass, `submenu_placement`: guint) = + a.MenuShellClassflag0 = a.MenuShellClassflag0 or + (int16(`submenu_placement` shl bp_TGtkMenuShellClass_submenu_placement) and + bm_TGtkMenuShellClass_submenu_placement) + +proc TYPE_MENU*(): GType = + result = menu_get_type() + +proc MENU*(obj: pointer): PMenu = + result = cast[PMenu](CHECK_CAST(obj, TYPE_MENU())) + +proc MENU_CLASS*(klass: pointer): PMenuClass = + result = cast[PMenuClass](CHECK_CLASS_CAST(klass, TYPE_MENU())) + +proc IS_MENU*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_MENU()) + +proc IS_MENU_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_MENU()) + +proc MENU_GET_CLASS*(obj: pointer): PMenuClass = + result = cast[PMenuClass](CHECK_GET_CLASS(obj, TYPE_MENU())) + +proc needs_destruction_ref_count*(a: var TMenu): guint = + result = (a.Menuflag0 and bm_TGtkMenu_needs_destruction_ref_count) shr + bp_TGtkMenu_needs_destruction_ref_count + +proc set_needs_destruction_ref_count*(a: var TMenu, + `needs_destruction_ref_count`: guint) = + a.Menuflag0 = a.Menuflag0 or + (int16(`needs_destruction_ref_count` shl + bp_TGtkMenu_needs_destruction_ref_count) and + bm_TGtkMenu_needs_destruction_ref_count) + +proc torn_off*(a: var TMenu): guint = + result = (a.Menuflag0 and bm_TGtkMenu_torn_off) shr bp_TGtkMenu_torn_off + +proc set_torn_off*(a: var TMenu, `torn_off`: guint) = + a.Menuflag0 = a.Menuflag0 or + (int16(`torn_off` shl bp_TGtkMenu_torn_off) and bm_TGtkMenu_torn_off) + +proc tearoff_active*(a: var TMenu): guint = + result = (a.Menuflag0 and bm_TGtkMenu_tearoff_active) shr + bp_TGtkMenu_tearoff_active + +proc set_tearoff_active*(a: var TMenu, `tearoff_active`: guint) = + a.Menuflag0 = a.Menuflag0 or + (int16(`tearoff_active` shl bp_TGtkMenu_tearoff_active) and + bm_TGtkMenu_tearoff_active) + +proc scroll_fast*(a: var TMenu): guint = + result = (a.Menuflag0 and bm_TGtkMenu_scroll_fast) shr + bp_TGtkMenu_scroll_fast + +proc set_scroll_fast*(a: var TMenu, `scroll_fast`: guint) = + a.Menuflag0 = a.Menuflag0 or + (int16(`scroll_fast` shl bp_TGtkMenu_scroll_fast) and + bm_TGtkMenu_scroll_fast) + +proc upper_arrow_visible*(a: var TMenu): guint = + result = (a.Menuflag0 and bm_TGtkMenu_upper_arrow_visible) shr + bp_TGtkMenu_upper_arrow_visible + +proc set_upper_arrow_visible*(a: var TMenu, `upper_arrow_visible`: guint) = + a.Menuflag0 = a.Menuflag0 or + (int16(`upper_arrow_visible` shl bp_TGtkMenu_upper_arrow_visible) and + bm_TGtkMenu_upper_arrow_visible) + +proc lower_arrow_visible*(a: var TMenu): guint = + result = (a.Menuflag0 and bm_TGtkMenu_lower_arrow_visible) shr + bp_TGtkMenu_lower_arrow_visible + +proc set_lower_arrow_visible*(a: var TMenu, `lower_arrow_visible`: guint) = + a.Menuflag0 = a.Menuflag0 or + (int16(`lower_arrow_visible` shl bp_TGtkMenu_lower_arrow_visible) and + bm_TGtkMenu_lower_arrow_visible) + +proc upper_arrow_prelight*(a: var TMenu): guint = + result = (a.Menuflag0 and bm_TGtkMenu_upper_arrow_prelight) shr + bp_TGtkMenu_upper_arrow_prelight + +proc set_upper_arrow_prelight*(a: var TMenu, `upper_arrow_prelight`: guint) = + a.Menuflag0 = a.Menuflag0 or + (int16(`upper_arrow_prelight` shl bp_TGtkMenu_upper_arrow_prelight) and + bm_TGtkMenu_upper_arrow_prelight) + +proc lower_arrow_prelight*(a: var TMenu): guint = + result = (a.Menuflag0 and bm_TGtkMenu_lower_arrow_prelight) shr + bp_TGtkMenu_lower_arrow_prelight + +proc set_lower_arrow_prelight*(a: var TMenu, `lower_arrow_prelight`: guint) = + a.Menuflag0 = a.Menuflag0 or + (int16(`lower_arrow_prelight` shl bp_TGtkMenu_lower_arrow_prelight) and + bm_TGtkMenu_lower_arrow_prelight) + +proc menu_append*(menu, child: PWidget) = + menu_shell_append(cast[PMenuShell](menu), child) + +proc menu_prepend*(menu, child: PWidget) = + menu_shell_prepend(cast[PMenuShell](menu), child) + +proc menu_insert*(menu, child: PWidget, pos: gint) = + menu_shell_insert(cast[PMenuShell](menu), child, pos) + +proc TYPE_ENTRY*(): GType = + result = entry_get_type() + +proc ENTRY*(obj: pointer): PEntry = + result = cast[PEntry](CHECK_CAST(obj, TYPE_ENTRY())) + +proc ENTRY_CLASS*(klass: pointer): PEntryClass = + result = cast[PEntryClass](CHECK_CLASS_CAST(klass, TYPE_ENTRY())) + +proc IS_ENTRY*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_ENTRY()) + +proc IS_ENTRY_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_ENTRY()) + +proc ENTRY_GET_CLASS*(obj: pointer): PEntryClass = + result = cast[PEntryClass](CHECK_GET_CLASS(obj, TYPE_ENTRY())) + +proc editable*(a: var TEntry): guint = + result = (a.Entryflag0 and bm_TGtkEntry_editable) shr bp_TGtkEntry_editable + +proc set_editable*(a: var TEntry, `editable`: guint) = + a.Entryflag0 = a.Entryflag0 or + (int16(`editable` shl bp_TGtkEntry_editable) and bm_TGtkEntry_editable) + +proc visible*(a: var TEntry): guint = + result = (a.Entryflag0 and bm_TGtkEntry_visible) shr bp_TGtkEntry_visible + +proc set_visible*(a: var TEntry, `visible`: guint) = + a.Entryflag0 = a.Entryflag0 or + (int16(`visible` shl bp_TGtkEntry_visible) and bm_TGtkEntry_visible) + +proc overwrite_mode*(a: var TEntry): guint = + result = (a.Entryflag0 and bm_TGtkEntry_overwrite_mode) shr + bp_TGtkEntry_overwrite_mode + +proc set_overwrite_mode*(a: var TEntry, `overwrite_mode`: guint) = + a.Entryflag0 = a.Entryflag0 or + (int16(`overwrite_mode` shl bp_TGtkEntry_overwrite_mode) and + bm_TGtkEntry_overwrite_mode) + +proc in_drag*(a: var TEntry): guint = + result = (a.Entryflag0 and bm_TGtkEntry_in_drag) shr bp_TGtkEntry_in_drag + +proc set_in_drag*(a: var TEntry, `in_drag`: guint) = + a.Entryflag0 = a.Entryflag0 or + (int16(`in_drag` shl bp_TGtkEntry_in_drag) and bm_TGtkEntry_in_drag) + +proc cache_includes_preedit*(a: var TEntry): guint = + result = (a.flag1 and bm_TGtkEntry_cache_includes_preedit) shr + bp_TGtkEntry_cache_includes_preedit + +proc set_cache_includes_preedit*(a: var TEntry, `cache_includes_preedit`: guint) = + a.flag1 = a.flag1 or + (int16(`cache_includes_preedit` shl bp_TGtkEntry_cache_includes_preedit) and + bm_TGtkEntry_cache_includes_preedit) + +proc need_im_reset*(a: var TEntry): guint = + result = (a.flag1 and bm_TGtkEntry_need_im_reset) shr + bp_TGtkEntry_need_im_reset + +proc set_need_im_reset*(a: var TEntry, `need_im_reset`: guint) = + a.flag1 = a.flag1 or + (int16(`need_im_reset` shl bp_TGtkEntry_need_im_reset) and + bm_TGtkEntry_need_im_reset) + +proc has_frame*(a: var TEntry): guint = + result = (a.flag1 and bm_TGtkEntry_has_frame) shr bp_TGtkEntry_has_frame + +proc set_has_frame*(a: var TEntry, `has_frame`: guint) = + a.flag1 = a.flag1 or + (int16(`has_frame` shl bp_TGtkEntry_has_frame) and + bm_TGtkEntry_has_frame) + +proc activates_default*(a: var TEntry): guint = + result = (a.flag1 and bm_TGtkEntry_activates_default) shr + bp_TGtkEntry_activates_default + +proc set_activates_default*(a: var TEntry, `activates_default`: guint) = + a.flag1 = a.flag1 or + (int16(`activates_default` shl bp_TGtkEntry_activates_default) and + bm_TGtkEntry_activates_default) + +proc cursor_visible*(a: var TEntry): guint = + result = (a.flag1 and bm_TGtkEntry_cursor_visible) shr + bp_TGtkEntry_cursor_visible + +proc set_cursor_visible*(a: var TEntry, `cursor_visible`: guint) = + a.flag1 = a.flag1 or + (int16(`cursor_visible` shl bp_TGtkEntry_cursor_visible) and + bm_TGtkEntry_cursor_visible) + +proc in_click*(a: var TEntry): guint = + result = (a.flag1 and bm_TGtkEntry_in_click) shr bp_TGtkEntry_in_click + +proc set_in_click*(a: var TEntry, `in_click`: guint) = + a.flag1 = a.flag1 or + (int16(`in_click` shl bp_TGtkEntry_in_click) and bm_TGtkEntry_in_click) + +proc is_cell_renderer*(a: var TEntry): guint = + result = (a.flag1 and bm_TGtkEntry_is_cell_renderer) shr + bp_TGtkEntry_is_cell_renderer + +proc set_is_cell_renderer*(a: var TEntry, `is_cell_renderer`: guint) = + a.flag1 = a.flag1 or + (int16(`is_cell_renderer` shl bp_TGtkEntry_is_cell_renderer) and + bm_TGtkEntry_is_cell_renderer) + +proc editing_canceled*(a: var TEntry): guint = + result = (a.flag1 and bm_TGtkEntry_editing_canceled) shr + bp_TGtkEntry_editing_canceled + +proc set_editing_canceled*(a: var TEntry, `editing_canceled`: guint) = + a.flag1 = a.flag1 or + (int16(`editing_canceled` shl bp_TGtkEntry_editing_canceled) and + bm_TGtkEntry_editing_canceled) + +proc mouse_cursor_obscured*(a: var TEntry): guint = + result = (a.flag1 and bm_TGtkEntry_mouse_cursor_obscured) shr + bp_TGtkEntry_mouse_cursor_obscured + +proc set_mouse_cursor_obscured*(a: var TEntry, `mouse_cursor_obscured`: guint) = + a.flag1 = a.flag1 or + (int16(`mouse_cursor_obscured` shl bp_TGtkEntry_mouse_cursor_obscured) and + bm_TGtkEntry_mouse_cursor_obscured) + +proc TYPE_EVENT_BOX*(): GType = + result = event_box_get_type() + +proc EVENT_BOX*(obj: pointer): PEventBox = + result = cast[PEventBox](CHECK_CAST(obj, TYPE_EVENT_BOX())) + +proc EVENT_BOX_CLASS*(klass: pointer): PEventBoxClass = + result = cast[PEventBoxClass](CHECK_CLASS_CAST(klass, TYPE_EVENT_BOX())) + +proc IS_EVENT_BOX*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_EVENT_BOX()) + +proc IS_EVENT_BOX_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_EVENT_BOX()) + +proc EVENT_BOX_GET_CLASS*(obj: pointer): PEventBoxClass = + result = cast[PEventBoxClass](CHECK_GET_CLASS(obj, TYPE_EVENT_BOX())) + +proc TYPE_FILE_SELECTION*(): GType = + result = file_selection_get_type() + +proc FILE_SELECTION*(obj: pointer): PFileSelection = + result = cast[PFileSelection](CHECK_CAST(obj, TYPE_FILE_SELECTION())) + +proc FILE_SELECTION_CLASS*(klass: pointer): PFileSelectionClass = + result = cast[PFileSelectionClass](CHECK_CLASS_CAST(klass, + TYPE_FILE_SELECTION())) + +proc IS_FILE_SELECTION*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_FILE_SELECTION()) + +proc IS_FILE_SELECTION_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_FILE_SELECTION()) + +proc FILE_SELECTION_GET_CLASS*(obj: pointer): PFileSelectionClass = + result = cast[PFileSelectionClass](CHECK_GET_CLASS(obj, TYPE_FILE_SELECTION())) + +proc TYPE_FIXED*(): GType = + result = fixed_get_type() + +proc FIXED*(obj: pointer): PFixed = + result = cast[PFixed](CHECK_CAST(obj, TYPE_FIXED())) + +proc FIXED_CLASS*(klass: pointer): PFixedClass = + result = cast[PFixedClass](CHECK_CLASS_CAST(klass, TYPE_FIXED())) + +proc IS_FIXED*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_FIXED()) + +proc IS_FIXED_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_FIXED()) + +proc FIXED_GET_CLASS*(obj: pointer): PFixedClass = + result = cast[PFixedClass](CHECK_GET_CLASS(obj, TYPE_FIXED())) + +proc TYPE_FONT_SELECTION*(): GType = + result = font_selection_get_type() + +proc FONT_SELECTION*(obj: pointer): PFontSelection = + result = cast[PFontSelection](CHECK_CAST(obj, TYPE_FONT_SELECTION())) + +proc FONT_SELECTION_CLASS*(klass: pointer): PFontSelectionClass = + result = cast[PFontSelectionClass](CHECK_CLASS_CAST(klass, + TYPE_FONT_SELECTION())) + +proc IS_FONT_SELECTION*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_FONT_SELECTION()) + +proc IS_FONT_SELECTION_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_FONT_SELECTION()) + +proc FONT_SELECTION_GET_CLASS*(obj: pointer): PFontSelectionClass = + result = cast[PFontSelectionClass](CHECK_GET_CLASS(obj, TYPE_FONT_SELECTION())) + +proc TYPE_FONT_SELECTION_DIALOG*(): GType = + result = font_selection_dialog_get_type() + +proc FONT_SELECTION_DIALOG*(obj: pointer): PFontSelectionDialog = + result = cast[PFontSelectionDialog](CHECK_CAST(obj, + TYPE_FONT_SELECTION_DIALOG())) + +proc FONT_SELECTION_DIALOG_CLASS*(klass: pointer): PFontSelectionDialogClass = + result = cast[PFontSelectionDialogClass](CHECK_CLASS_CAST(klass, + TYPE_FONT_SELECTION_DIALOG())) + +proc IS_FONT_SELECTION_DIALOG*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_FONT_SELECTION_DIALOG()) + +proc IS_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_FONT_SELECTION_DIALOG()) + +proc FONT_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PFontSelectionDialogClass = + result = cast[PFontSelectionDialogClass](CHECK_GET_CLASS(obj, + TYPE_FONT_SELECTION_DIALOG())) + +proc TYPE_GAMMA_CURVE*(): GType = + result = gamma_curve_get_type() + +proc GAMMA_CURVE*(obj: pointer): PGammaCurve = + result = cast[PGammaCurve](CHECK_CAST(obj, TYPE_GAMMA_CURVE())) + +proc GAMMA_CURVE_CLASS*(klass: pointer): PGammaCurveClass = + result = cast[PGammaCurveClass](CHECK_CLASS_CAST(klass, TYPE_GAMMA_CURVE())) + +proc IS_GAMMA_CURVE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_GAMMA_CURVE()) + +proc IS_GAMMA_CURVE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_GAMMA_CURVE()) + +proc GAMMA_CURVE_GET_CLASS*(obj: pointer): PGammaCurveClass = + result = cast[PGammaCurveClass](CHECK_GET_CLASS(obj, TYPE_GAMMA_CURVE())) + +proc TYPE_HANDLE_BOX*(): GType = + result = handle_box_get_type() + +proc HANDLE_BOX*(obj: pointer): PHandleBox = + result = cast[PHandleBox](CHECK_CAST(obj, TYPE_HANDLE_BOX())) + +proc HANDLE_BOX_CLASS*(klass: pointer): PHandleBoxClass = + result = cast[PHandleBoxClass](CHECK_CLASS_CAST(klass, TYPE_HANDLE_BOX())) + +proc IS_HANDLE_BOX*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_HANDLE_BOX()) + +proc IS_HANDLE_BOX_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_HANDLE_BOX()) + +proc HANDLE_BOX_GET_CLASS*(obj: pointer): PHandleBoxClass = + result = cast[PHandleBoxClass](CHECK_GET_CLASS(obj, TYPE_HANDLE_BOX())) + +proc handle_position*(a: var THandleBox): guint = + result = (a.HandleBoxflag0 and bm_TGtkHandleBox_handle_position) shr + bp_TGtkHandleBox_handle_position + +proc set_handle_position*(a: var THandleBox, `handle_position`: guint) = + a.HandleBoxflag0 = a.HandleBoxflag0 or + (int16(`handle_position` shl bp_TGtkHandleBox_handle_position) and + bm_TGtkHandleBox_handle_position) + +proc float_window_mapped*(a: var THandleBox): guint = + result = (a.HandleBoxflag0 and bm_TGtkHandleBox_float_window_mapped) shr + bp_TGtkHandleBox_float_window_mapped + +proc set_float_window_mapped*(a: var THandleBox, `float_window_mapped`: guint) = + a.HandleBoxflag0 = a.HandleBoxflag0 or + (int16(`float_window_mapped` shl bp_TGtkHandleBox_float_window_mapped) and + bm_TGtkHandleBox_float_window_mapped) + +proc child_detached*(a: var THandleBox): guint = + result = (a.HandleBoxflag0 and bm_TGtkHandleBox_child_detached) shr + bp_TGtkHandleBox_child_detached + +proc set_child_detached*(a: var THandleBox, `child_detached`: guint) = + a.HandleBoxflag0 = a.HandleBoxflag0 or + (int16(`child_detached` shl bp_TGtkHandleBox_child_detached) and + bm_TGtkHandleBox_child_detached) + +proc in_drag*(a: var THandleBox): guint = + result = (a.HandleBoxflag0 and bm_TGtkHandleBox_in_drag) shr + bp_TGtkHandleBox_in_drag + +proc set_in_drag*(a: var THandleBox, `in_drag`: guint) = + a.HandleBoxflag0 = a.HandleBoxflag0 or + (int16(`in_drag` shl bp_TGtkHandleBox_in_drag) and + bm_TGtkHandleBox_in_drag) + +proc shrink_on_detach*(a: var THandleBox): guint = + result = (a.HandleBoxflag0 and bm_TGtkHandleBox_shrink_on_detach) shr + bp_TGtkHandleBox_shrink_on_detach + +proc set_shrink_on_detach*(a: var THandleBox, `shrink_on_detach`: guint) = + a.HandleBoxflag0 = a.HandleBoxflag0 or + (int16(`shrink_on_detach` shl bp_TGtkHandleBox_shrink_on_detach) and + bm_TGtkHandleBox_shrink_on_detach) + +proc snap_edge*(a: var THandleBox): gint = + result = (a.HandleBoxflag0 and bm_TGtkHandleBox_snap_edge) shr + bp_TGtkHandleBox_snap_edge + +proc set_snap_edge*(a: var THandleBox, `snap_edge`: gint) = + a.HandleBoxflag0 = a.HandleBoxflag0 or + (int16(`snap_edge` shl bp_TGtkHandleBox_snap_edge) and + bm_TGtkHandleBox_snap_edge) + +proc TYPE_PANED*(): GType = + result = paned_get_type() + +proc PANED*(obj: pointer): PPaned = + result = cast[PPaned](CHECK_CAST(obj, TYPE_PANED())) + +proc PANED_CLASS*(klass: pointer): PPanedClass = + result = cast[PPanedClass](CHECK_CLASS_CAST(klass, TYPE_PANED())) + +proc IS_PANED*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_PANED()) + +proc IS_PANED_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_PANED()) + +proc PANED_GET_CLASS*(obj: pointer): PPanedClass = + result = cast[PPanedClass](CHECK_GET_CLASS(obj, TYPE_PANED())) + +proc position_set*(a: var TPaned): guint = + result = (a.Panedflag0 and bm_TGtkPaned_position_set) shr + bp_TGtkPaned_position_set + +proc set_position_set*(a: var TPaned, `position_set`: guint) = + a.Panedflag0 = a.Panedflag0 or + (int16(`position_set` shl bp_TGtkPaned_position_set) and + bm_TGtkPaned_position_set) + +proc in_drag*(a: var TPaned): guint = + result = (a.Panedflag0 and bm_TGtkPaned_in_drag) shr bp_TGtkPaned_in_drag + +proc set_in_drag*(a: var TPaned, `in_drag`: guint) = + a.Panedflag0 = a.Panedflag0 or + (int16(`in_drag` shl bp_TGtkPaned_in_drag) and bm_TGtkPaned_in_drag) + +proc child1_shrink*(a: var TPaned): guint = + result = (a.Panedflag0 and bm_TGtkPaned_child1_shrink) shr + bp_TGtkPaned_child1_shrink + +proc set_child1_shrink*(a: var TPaned, `child1_shrink`: guint) = + a.Panedflag0 = a.Panedflag0 or + (int16(`child1_shrink` shl bp_TGtkPaned_child1_shrink) and + bm_TGtkPaned_child1_shrink) + +proc child1_resize*(a: var TPaned): guint = + result = (a.Panedflag0 and bm_TGtkPaned_child1_resize) shr + bp_TGtkPaned_child1_resize + +proc set_child1_resize*(a: var TPaned, `child1_resize`: guint) = + a.Panedflag0 = a.Panedflag0 or + (int16(`child1_resize` shl bp_TGtkPaned_child1_resize) and + bm_TGtkPaned_child1_resize) + +proc child2_shrink*(a: var TPaned): guint = + result = (a.Panedflag0 and bm_TGtkPaned_child2_shrink) shr + bp_TGtkPaned_child2_shrink + +proc set_child2_shrink*(a: var TPaned, `child2_shrink`: guint) = + a.Panedflag0 = a.Panedflag0 or + (int16(`child2_shrink` shl bp_TGtkPaned_child2_shrink) and + bm_TGtkPaned_child2_shrink) + +proc child2_resize*(a: var TPaned): guint = + result = (a.Panedflag0 and bm_TGtkPaned_child2_resize) shr + bp_TGtkPaned_child2_resize + +proc set_child2_resize*(a: var TPaned, `child2_resize`: guint) = + a.Panedflag0 = a.Panedflag0 or + (int16(`child2_resize` shl bp_TGtkPaned_child2_resize) and + bm_TGtkPaned_child2_resize) + +proc orientation*(a: var TPaned): guint = + result = (a.Panedflag0 and bm_TGtkPaned_orientation) shr + bp_TGtkPaned_orientation + +proc set_orientation*(a: var TPaned, `orientation`: guint) = + a.Panedflag0 = a.Panedflag0 or + (int16(`orientation` shl bp_TGtkPaned_orientation) and + bm_TGtkPaned_orientation) + +proc in_recursion*(a: var TPaned): guint = + result = (a.Panedflag0 and bm_TGtkPaned_in_recursion) shr + bp_TGtkPaned_in_recursion + +proc set_in_recursion*(a: var TPaned, `in_recursion`: guint) = + a.Panedflag0 = a.Panedflag0 or + (int16(`in_recursion` shl bp_TGtkPaned_in_recursion) and + bm_TGtkPaned_in_recursion) + +proc handle_prelit*(a: var TPaned): guint = + result = (a.Panedflag0 and bm_TGtkPaned_handle_prelit) shr + bp_TGtkPaned_handle_prelit + +proc set_handle_prelit*(a: var TPaned, `handle_prelit`: guint) = + a.Panedflag0 = a.Panedflag0 or + (int16(`handle_prelit` shl bp_TGtkPaned_handle_prelit) and + bm_TGtkPaned_handle_prelit) + +proc paned_gutter_size*(p: pointer, s: gint) = + if (p != nil) and (s != 0'i32): nil + +proc paned_set_gutter_size*(p: pointer, s: gint) = + if (p != nil) and (s != 0'i32): nil + +proc TYPE_HBUTTON_BOX*(): GType = + result = hbutton_box_get_type() + +proc HBUTTON_BOX*(obj: pointer): PHButtonBox = + result = cast[PHButtonBox](CHECK_CAST(obj, TYPE_HBUTTON_BOX())) + +proc HBUTTON_BOX_CLASS*(klass: pointer): PHButtonBoxClass = + result = cast[PHButtonBoxClass](CHECK_CLASS_CAST(klass, TYPE_HBUTTON_BOX())) + +proc IS_HBUTTON_BOX*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_HBUTTON_BOX()) + +proc IS_HBUTTON_BOX_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_HBUTTON_BOX()) + +proc HBUTTON_BOX_GET_CLASS*(obj: pointer): PHButtonBoxClass = + result = cast[PHButtonBoxClass](CHECK_GET_CLASS(obj, TYPE_HBUTTON_BOX())) + +proc TYPE_HPANED*(): GType = + result = hpaned_get_type() + +proc HPANED*(obj: pointer): PHPaned = + result = cast[PHPaned](CHECK_CAST(obj, TYPE_HPANED())) + +proc HPANED_CLASS*(klass: pointer): PHPanedClass = + result = cast[PHPanedClass](CHECK_CLASS_CAST(klass, TYPE_HPANED())) + +proc IS_HPANED*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_HPANED()) + +proc IS_HPANED_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_HPANED()) + +proc HPANED_GET_CLASS*(obj: pointer): PHPanedClass = + result = cast[PHPanedClass](CHECK_GET_CLASS(obj, TYPE_HPANED())) + +proc TYPE_RULER*(): GType = + result = ruler_get_type() + +proc RULER*(obj: pointer): PRuler = + result = cast[PRuler](CHECK_CAST(obj, TYPE_RULER())) + +proc RULER_CLASS*(klass: pointer): PRulerClass = + result = cast[PRulerClass](CHECK_CLASS_CAST(klass, TYPE_RULER())) + +proc IS_RULER*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_RULER()) + +proc IS_RULER_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_RULER()) + +proc RULER_GET_CLASS*(obj: pointer): PRulerClass = + result = cast[PRulerClass](CHECK_GET_CLASS(obj, TYPE_RULER())) + +proc TYPE_HRULER*(): GType = + result = hruler_get_type() + +proc HRULER*(obj: pointer): PHRuler = + result = cast[PHRuler](CHECK_CAST(obj, TYPE_HRULER())) + +proc HRULER_CLASS*(klass: pointer): PHRulerClass = + result = cast[PHRulerClass](CHECK_CLASS_CAST(klass, TYPE_HRULER())) + +proc IS_HRULER*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_HRULER()) + +proc IS_HRULER_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_HRULER()) + +proc HRULER_GET_CLASS*(obj: pointer): PHRulerClass = + result = cast[PHRulerClass](CHECK_GET_CLASS(obj, TYPE_HRULER())) + +proc TYPE_SETTINGS*(): GType = + result = settings_get_type() + +proc SETTINGS*(obj: pointer): PSettings = + result = cast[PSettings](CHECK_CAST(obj, TYPE_SETTINGS())) + +proc SETTINGS_CLASS*(klass: pointer): PSettingsClass = + result = cast[PSettingsClass](CHECK_CLASS_CAST(klass, TYPE_SETTINGS())) + +proc IS_SETTINGS*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_SETTINGS()) + +proc IS_SETTINGS_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_SETTINGS()) + +proc SETTINGS_GET_CLASS*(obj: pointer): PSettingsClass = + result = cast[PSettingsClass](CHECK_GET_CLASS(obj, TYPE_SETTINGS())) + +proc TYPE_RC_STYLE*(): GType = + result = rc_style_get_type() + +proc RC_STYLE_get*(anObject: pointer): PRcStyle = + result = cast[PRcStyle](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_RC_STYLE())) + +proc RC_STYLE_CLASS*(klass: pointer): PRcStyleClass = + result = cast[PRcStyleClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_RC_STYLE())) + +proc IS_RC_STYLE*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_RC_STYLE()) + +proc IS_RC_STYLE_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_RC_STYLE()) + +proc RC_STYLE_GET_CLASS*(obj: pointer): PRcStyleClass = + result = cast[PRcStyleClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_RC_STYLE())) + +proc engine_specified*(a: var TRcStyle): guint = + result = (a.RcStyleflag0 and bm_TGtkRcStyle_engine_specified) shr + bp_TGtkRcStyle_engine_specified + +proc set_engine_specified*(a: var TRcStyle, `engine_specified`: guint) = + a.RcStyleflag0 = a.RcStyleflag0 or + (int16(`engine_specified` shl bp_TGtkRcStyle_engine_specified) and + bm_TGtkRcStyle_engine_specified) + +proc TYPE_STYLE*(): GType = + result = style_get_type() + +proc STYLE*(anObject: pointer): PStyle = + result = cast[PStyle](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_STYLE())) + +proc STYLE_CLASS*(klass: pointer): PStyleClass = + result = cast[PStyleClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_STYLE())) + +proc IS_STYLE*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_STYLE()) + +proc IS_STYLE_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_STYLE()) + +proc STYLE_GET_CLASS*(obj: pointer): PStyleClass = + result = cast[PStyleClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_STYLE())) + +proc TYPE_BORDER*(): GType = + result = border_get_type() + +proc STYLE_ATTACHED*(style: pointer): bool = + result = ((STYLE(style)).attach_count) > 0'i32 + +proc style_apply_default_pixmap*(style: PStyle, window: PGdkWindow, + state_type: TStateType, area: PGdkRectangle, + x: gint, y: gint, width: gint, height: gint) = + style_apply_default_background(style, window, true, state_type, area, x, y, + width, height) + +proc TYPE_RANGE*(): GType = + result = range_get_type() + +proc RANGE*(obj: pointer): PRange = + result = cast[PRange](CHECK_CAST(obj, TYPE_RANGE())) + +proc RANGE_CLASS*(klass: pointer): PRangeClass = + result = cast[PRangeClass](CHECK_CLASS_CAST(klass, TYPE_RANGE())) + +proc IS_RANGE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_RANGE()) + +proc IS_RANGE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_RANGE()) + +proc RANGE_GET_CLASS*(obj: pointer): PRangeClass = + result = cast[PRangeClass](CHECK_GET_CLASS(obj, TYPE_RANGE())) + +proc inverted*(a: var TRange): guint = + result = (a.Rangeflag0 and bm_TGtkRange_inverted) shr bp_TGtkRange_inverted + +proc set_inverted*(a: var TRange, `inverted`: guint) = + a.Rangeflag0 = a.Rangeflag0 or + (int16(`inverted` shl bp_TGtkRange_inverted) and bm_TGtkRange_inverted) + +proc flippable*(a: var TRange): guint = + result = (a.Rangeflag0 and bm_TGtkRange_flippable) shr + bp_TGtkRange_flippable + +proc set_flippable*(a: var TRange, `flippable`: guint) = + a.Rangeflag0 = a.Rangeflag0 or + (int16(`flippable` shl bp_TGtkRange_flippable) and + bm_TGtkRange_flippable) + +proc has_stepper_a*(a: var TRange): guint = + result = (a.Rangeflag0 and bm_TGtkRange_has_stepper_a) shr + bp_TGtkRange_has_stepper_a + +proc set_has_stepper_a*(a: var TRange, `has_stepper_a`: guint) = + a.Rangeflag0 = a.Rangeflag0 or + (int16(`has_stepper_a` shl bp_TGtkRange_has_stepper_a) and + bm_TGtkRange_has_stepper_a) + +proc has_stepper_b*(a: var TRange): guint = + result = (a.Rangeflag0 and bm_TGtkRange_has_stepper_b) shr + bp_TGtkRange_has_stepper_b + +proc set_has_stepper_b*(a: var TRange, `has_stepper_b`: guint) = + a.Rangeflag0 = a.Rangeflag0 or + (int16(`has_stepper_b` shl bp_TGtkRange_has_stepper_b) and + bm_TGtkRange_has_stepper_b) + +proc has_stepper_c*(a: var TRange): guint = + result = (a.Rangeflag0 and bm_TGtkRange_has_stepper_c) shr + bp_TGtkRange_has_stepper_c + +proc set_has_stepper_c*(a: var TRange, `has_stepper_c`: guint) = + a.Rangeflag0 = a.Rangeflag0 or + (int16(`has_stepper_c` shl bp_TGtkRange_has_stepper_c) and + bm_TGtkRange_has_stepper_c) + +proc has_stepper_d*(a: var TRange): guint = + result = (a.Rangeflag0 and bm_TGtkRange_has_stepper_d) shr + bp_TGtkRange_has_stepper_d + +proc set_has_stepper_d*(a: var TRange, `has_stepper_d`: guint) = + a.Rangeflag0 = a.Rangeflag0 or + (int16(`has_stepper_d` shl bp_TGtkRange_has_stepper_d) and + bm_TGtkRange_has_stepper_d) + +proc need_recalc*(a: var TRange): guint = + result = (a.Rangeflag0 and bm_TGtkRange_need_recalc) shr + bp_TGtkRange_need_recalc + +proc set_need_recalc*(a: var TRange, `need_recalc`: guint) = + a.Rangeflag0 = a.Rangeflag0 or + (int16(`need_recalc` shl bp_TGtkRange_need_recalc) and + bm_TGtkRange_need_recalc) + +proc slider_size_fixed*(a: var TRange): guint = + result = (a.Rangeflag0 and bm_TGtkRange_slider_size_fixed) shr + bp_TGtkRange_slider_size_fixed + +proc set_slider_size_fixed*(a: var TRange, `slider_size_fixed`: guint) = + a.Rangeflag0 = a.Rangeflag0 or + (int16(`slider_size_fixed` shl bp_TGtkRange_slider_size_fixed) and + bm_TGtkRange_slider_size_fixed) + +proc trough_click_forward*(a: var TRange): guint = + result = (a.flag1 and bm_TGtkRange_trough_click_forward) shr + bp_TGtkRange_trough_click_forward + +proc set_trough_click_forward*(a: var TRange, `trough_click_forward`: guint) = + a.flag1 = a.flag1 or + (int16(`trough_click_forward` shl bp_TGtkRange_trough_click_forward) and + bm_TGtkRange_trough_click_forward) + +proc update_pending*(a: var TRange): guint = + result = (a.flag1 and bm_TGtkRange_update_pending) shr + bp_TGtkRange_update_pending + +proc set_update_pending*(a: var TRange, `update_pending`: guint) = + a.flag1 = a.flag1 or + (int16(`update_pending` shl bp_TGtkRange_update_pending) and + bm_TGtkRange_update_pending) + +proc TYPE_SCALE*(): GType = + result = scale_get_type() + +proc SCALE*(obj: pointer): PScale = + result = cast[PScale](CHECK_CAST(obj, TYPE_SCALE())) + +proc SCALE_CLASS*(klass: pointer): PScaleClass = + result = cast[PScaleClass](CHECK_CLASS_CAST(klass, TYPE_SCALE())) + +proc IS_SCALE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_SCALE()) + +proc IS_SCALE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_SCALE()) + +proc SCALE_GET_CLASS*(obj: pointer): PScaleClass = + result = cast[PScaleClass](CHECK_GET_CLASS(obj, TYPE_SCALE())) + +proc draw_value*(a: var TScale): guint = + result = (a.Scaleflag0 and bm_TGtkScale_draw_value) shr + bp_TGtkScale_draw_value + +proc set_draw_value*(a: var TScale, `draw_value`: guint) = + a.Scaleflag0 = a.Scaleflag0 or + (int16(`draw_value` shl bp_TGtkScale_draw_value) and + bm_TGtkScale_draw_value) + +proc value_pos*(a: var TScale): guint = + result = (a.Scaleflag0 and bm_TGtkScale_value_pos) shr + bp_TGtkScale_value_pos + +proc set_value_pos*(a: var TScale, `value_pos`: guint) = + a.Scaleflag0 = a.Scaleflag0 or + (int16(`value_pos` shl bp_TGtkScale_value_pos) and + bm_TGtkScale_value_pos) + +proc TYPE_HSCALE*(): GType = + result = hscale_get_type() + +proc HSCALE*(obj: pointer): PHScale = + result = cast[PHScale](CHECK_CAST(obj, TYPE_HSCALE())) + +proc HSCALE_CLASS*(klass: pointer): PHScaleClass = + result = cast[PHScaleClass](CHECK_CLASS_CAST(klass, TYPE_HSCALE())) + +proc IS_HSCALE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_HSCALE()) + +proc IS_HSCALE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_HSCALE()) + +proc HSCALE_GET_CLASS*(obj: pointer): PHScaleClass = + result = cast[PHScaleClass](CHECK_GET_CLASS(obj, TYPE_HSCALE())) + +proc TYPE_SCROLLBAR*(): GType = + result = scrollbar_get_type() + +proc SCROLLBAR*(obj: pointer): PScrollbar = + result = cast[PScrollbar](CHECK_CAST(obj, TYPE_SCROLLBAR())) + +proc SCROLLBAR_CLASS*(klass: pointer): PScrollbarClass = + result = cast[PScrollbarClass](CHECK_CLASS_CAST(klass, TYPE_SCROLLBAR())) + +proc IS_SCROLLBAR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_SCROLLBAR()) + +proc IS_SCROLLBAR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_SCROLLBAR()) + +proc SCROLLBAR_GET_CLASS*(obj: pointer): PScrollbarClass = + result = cast[PScrollbarClass](CHECK_GET_CLASS(obj, TYPE_SCROLLBAR())) + +proc TYPE_HSCROLLBAR*(): GType = + result = hscrollbar_get_type() + +proc HSCROLLBAR*(obj: pointer): PHScrollbar = + result = cast[PHScrollbar](CHECK_CAST(obj, TYPE_HSCROLLBAR())) + +proc HSCROLLBAR_CLASS*(klass: pointer): PHScrollbarClass = + result = cast[PHScrollbarClass](CHECK_CLASS_CAST(klass, TYPE_HSCROLLBAR())) + +proc IS_HSCROLLBAR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_HSCROLLBAR()) + +proc IS_HSCROLLBAR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_HSCROLLBAR()) + +proc HSCROLLBAR_GET_CLASS*(obj: pointer): PHScrollbarClass = + result = cast[PHScrollbarClass](CHECK_GET_CLASS(obj, TYPE_HSCROLLBAR())) + +proc TYPE_SEPARATOR*(): GType = + result = separator_get_type() + +proc SEPARATOR*(obj: pointer): PSeparator = + result = cast[PSeparator](CHECK_CAST(obj, TYPE_SEPARATOR())) + +proc SEPARATOR_CLASS*(klass: pointer): PSeparatorClass = + result = cast[PSeparatorClass](CHECK_CLASS_CAST(klass, TYPE_SEPARATOR())) + +proc IS_SEPARATOR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_SEPARATOR()) + +proc IS_SEPARATOR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_SEPARATOR()) + +proc SEPARATOR_GET_CLASS*(obj: pointer): PSeparatorClass = + result = cast[PSeparatorClass](CHECK_GET_CLASS(obj, TYPE_SEPARATOR())) + +proc TYPE_HSEPARATOR*(): GType = + result = hseparator_get_type() + +proc HSEPARATOR*(obj: pointer): PHSeparator = + result = cast[PHSeparator](CHECK_CAST(obj, TYPE_HSEPARATOR())) + +proc HSEPARATOR_CLASS*(klass: pointer): PHSeparatorClass = + result = cast[PHSeparatorClass](CHECK_CLASS_CAST(klass, TYPE_HSEPARATOR())) + +proc IS_HSEPARATOR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_HSEPARATOR()) + +proc IS_HSEPARATOR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_HSEPARATOR()) + +proc HSEPARATOR_GET_CLASS*(obj: pointer): PHSeparatorClass = + result = cast[PHSeparatorClass](CHECK_GET_CLASS(obj, TYPE_HSEPARATOR())) + +proc TYPE_ICON_FACTORY*(): GType = + result = icon_factory_get_type() + +proc ICON_FACTORY*(anObject: pointer): PIconFactory = + result = cast[PIconFactory](G_TYPE_CHECK_INSTANCE_CAST(anObject, + TYPE_ICON_FACTORY())) + +proc ICON_FACTORY_CLASS*(klass: pointer): PIconFactoryClass = + result = cast[PIconFactoryClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_ICON_FACTORY())) + +proc IS_ICON_FACTORY*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_ICON_FACTORY()) + +proc IS_ICON_FACTORY_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_ICON_FACTORY()) + +proc ICON_FACTORY_GET_CLASS*(obj: pointer): PIconFactoryClass = + result = cast[PIconFactoryClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_ICON_FACTORY())) + +proc TYPE_ICON_SET*(): GType = + result = icon_set_get_type() + +proc TYPE_ICON_SOURCE*(): GType = + result = icon_source_get_type() + +proc TYPE_IMAGE*(): GType = + result = image_get_type() + +proc IMAGE*(obj: pointer): PImage = + result = cast[PImage](CHECK_CAST(obj, TYPE_IMAGE())) + +proc IMAGE_CLASS*(klass: pointer): PImageClass = + result = cast[PImageClass](CHECK_CLASS_CAST(klass, TYPE_IMAGE())) + +proc IS_IMAGE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_IMAGE()) + +proc IS_IMAGE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_IMAGE()) + +proc IMAGE_GET_CLASS*(obj: pointer): PImageClass = + result = cast[PImageClass](CHECK_GET_CLASS(obj, TYPE_IMAGE())) + +proc TYPE_IMAGE_MENU_ITEM*(): GType = + result = image_menu_item_get_type() + +proc IMAGE_MENU_ITEM*(obj: pointer): PImageMenuItem = + result = cast[PImageMenuItem](CHECK_CAST(obj, TYPE_IMAGE_MENU_ITEM())) + +proc IMAGE_MENU_ITEM_CLASS*(klass: pointer): PImageMenuItemClass = + result = cast[PImageMenuItemClass](CHECK_CLASS_CAST(klass, + TYPE_IMAGE_MENU_ITEM())) + +proc IS_IMAGE_MENU_ITEM*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_IMAGE_MENU_ITEM()) + +proc IS_IMAGE_MENU_ITEM_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_IMAGE_MENU_ITEM()) + +proc IMAGE_MENU_ITEM_GET_CLASS*(obj: pointer): PImageMenuItemClass = + result = cast[PImageMenuItemClass](CHECK_GET_CLASS(obj, TYPE_IMAGE_MENU_ITEM())) + +proc TYPE_IM_CONTEXT_SIMPLE*(): GType = + result = im_context_simple_get_type() + +proc IM_CONTEXT_SIMPLE*(obj: pointer): PIMContextSimple = + result = cast[PIMContextSimple](CHECK_CAST(obj, TYPE_IM_CONTEXT_SIMPLE())) + +proc IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): PIMContextSimpleClass = + result = cast[PIMContextSimpleClass](CHECK_CLASS_CAST(klass, + TYPE_IM_CONTEXT_SIMPLE())) + +proc IS_IM_CONTEXT_SIMPLE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_IM_CONTEXT_SIMPLE()) + +proc IS_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_IM_CONTEXT_SIMPLE()) + +proc IM_CONTEXT_SIMPLE_GET_CLASS*(obj: pointer): PIMContextSimpleClass = + result = cast[PIMContextSimpleClass](CHECK_GET_CLASS(obj, + TYPE_IM_CONTEXT_SIMPLE())) + +proc in_hex_sequence*(a: var TIMContextSimple): guint = + result = (a.IMContextSimpleflag0 and bm_TGtkIMContextSimple_in_hex_sequence) shr + bp_TGtkIMContextSimple_in_hex_sequence + +proc set_in_hex_sequence*(a: var TIMContextSimple, `in_hex_sequence`: guint) = + a.IMContextSimpleflag0 = a.IMContextSimpleflag0 or + (int16(`in_hex_sequence` shl bp_TGtkIMContextSimple_in_hex_sequence) and + bm_TGtkIMContextSimple_in_hex_sequence) + +proc TYPE_IM_MULTICONTEXT*(): GType = + result = im_multicontext_get_type() + +proc IM_MULTICONTEXT*(obj: pointer): PIMMulticontext = + result = cast[PIMMulticontext](CHECK_CAST(obj, TYPE_IM_MULTICONTEXT())) + +proc IM_MULTICONTEXT_CLASS*(klass: pointer): PIMMulticontextClass = + result = cast[PIMMulticontextClass](CHECK_CLASS_CAST(klass, + TYPE_IM_MULTICONTEXT())) + +proc IS_IM_MULTICONTEXT*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_IM_MULTICONTEXT()) + +proc IS_IM_MULTICONTEXT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_IM_MULTICONTEXT()) + +proc IM_MULTICONTEXT_GET_CLASS*(obj: pointer): PIMMulticontextClass = + result = cast[PIMMulticontextClass](CHECK_GET_CLASS(obj, + TYPE_IM_MULTICONTEXT())) + +proc TYPE_INPUT_DIALOG*(): GType = + result = input_dialog_get_type() + +proc INPUT_DIALOG*(obj: pointer): PInputDialog = + result = cast[PInputDialog](CHECK_CAST(obj, TYPE_INPUT_DIALOG())) + +proc INPUT_DIALOG_CLASS*(klass: pointer): PInputDialogClass = + result = cast[PInputDialogClass](CHECK_CLASS_CAST(klass, TYPE_INPUT_DIALOG())) + +proc IS_INPUT_DIALOG*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_INPUT_DIALOG()) + +proc IS_INPUT_DIALOG_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_INPUT_DIALOG()) + +proc INPUT_DIALOG_GET_CLASS*(obj: pointer): PInputDialogClass = + result = cast[PInputDialogClass](CHECK_GET_CLASS(obj, TYPE_INPUT_DIALOG())) + +proc TYPE_INVISIBLE*(): GType = + result = invisible_get_type() + +proc INVISIBLE*(obj: pointer): PInvisible = + result = cast[PInvisible](CHECK_CAST(obj, TYPE_INVISIBLE())) + +proc INVISIBLE_CLASS*(klass: pointer): PInvisibleClass = + result = cast[PInvisibleClass](CHECK_CLASS_CAST(klass, TYPE_INVISIBLE())) + +proc IS_INVISIBLE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_INVISIBLE()) + +proc IS_INVISIBLE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_INVISIBLE()) + +proc INVISIBLE_GET_CLASS*(obj: pointer): PInvisibleClass = + result = cast[PInvisibleClass](CHECK_GET_CLASS(obj, TYPE_INVISIBLE())) + +proc TYPE_ITEM_FACTORY*(): GType = + result = item_factory_get_type() + +proc ITEM_FACTORY*(anObject: pointer): PItemFactory = + result = cast[PItemFactory](CHECK_CAST(anObject, TYPE_ITEM_FACTORY())) + +proc ITEM_FACTORY_CLASS*(klass: pointer): PItemFactoryClass = + result = cast[PItemFactoryClass](CHECK_CLASS_CAST(klass, TYPE_ITEM_FACTORY())) + +proc IS_ITEM_FACTORY*(anObject: pointer): bool = + result = CHECK_TYPE(anObject, TYPE_ITEM_FACTORY()) + +proc IS_ITEM_FACTORY_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_ITEM_FACTORY()) + +proc ITEM_FACTORY_GET_CLASS*(obj: pointer): PItemFactoryClass = + result = cast[PItemFactoryClass](CHECK_GET_CLASS(obj, TYPE_ITEM_FACTORY())) + +proc TYPE_LAYOUT*(): GType = + result = layout_get_type() + +proc LAYOUT*(obj: pointer): PLayout = + result = cast[PLayout](CHECK_CAST(obj, TYPE_LAYOUT())) + +proc LAYOUT_CLASS*(klass: pointer): PLayoutClass = + result = cast[PLayoutClass](CHECK_CLASS_CAST(klass, TYPE_LAYOUT())) + +proc IS_LAYOUT*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_LAYOUT()) + +proc IS_LAYOUT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_LAYOUT()) + +proc LAYOUT_GET_CLASS*(obj: pointer): PLayoutClass = + result = cast[PLayoutClass](CHECK_GET_CLASS(obj, TYPE_LAYOUT())) + +proc TYPE_LIST*(): GType = + result = list_get_type() + +proc LIST*(obj: pointer): PList = + result = cast[PList](CHECK_CAST(obj, TYPE_LIST())) + +proc LIST_CLASS*(klass: pointer): PListClass = + result = cast[PListClass](CHECK_CLASS_CAST(klass, TYPE_LIST())) + +proc IS_LIST*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_LIST()) + +proc IS_LIST_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_LIST()) + +proc LIST_GET_CLASS*(obj: pointer): PListClass = + result = cast[PListClass](CHECK_GET_CLASS(obj, TYPE_LIST())) + +proc selection_mode*(a: var TList): guint = + result = (a.Listflag0 and bm_TGtkList_selection_mode) shr + bp_TGtkList_selection_mode + +proc set_selection_mode*(a: var TList, `selection_mode`: guint) = + a.Listflag0 = a.Listflag0 or + (int16(`selection_mode` shl bp_TGtkList_selection_mode) and + bm_TGtkList_selection_mode) + +proc drag_selection*(a: var TList): guint = + result = (a.Listflag0 and bm_TGtkList_drag_selection) shr + bp_TGtkList_drag_selection + +proc set_drag_selection*(a: var TList, `drag_selection`: guint) = + a.Listflag0 = a.Listflag0 or + (int16(`drag_selection` shl bp_TGtkList_drag_selection) and + bm_TGtkList_drag_selection) + +proc add_mode*(a: var TList): guint = + result = (a.Listflag0 and bm_TGtkList_add_mode) shr bp_TGtkList_add_mode + +proc set_add_mode*(a: var TList, `add_mode`: guint) = + a.Listflag0 = a.Listflag0 or + (int16(`add_mode` shl bp_TGtkList_add_mode) and bm_TGtkList_add_mode) + +proc list_item_get_type(): GType{.importc: "gtk_list_item_get_type", cdecl, + dynlib: lib.} +proc TYPE_LIST_ITEM*(): GType = + result = list_item_get_type() + +type + TListItem = object of TItem + TListItemClass = object of TItemClass + PListItem = ptr TListItem + PListItemClass = ptr TListItemClass + +proc LIST_ITEM*(obj: pointer): PListItem = + result = cast[PListItem](CHECK_CAST(obj, TYPE_LIST_ITEM())) + +proc LIST_ITEM_CLASS*(klass: pointer): PListItemClass = + result = cast[PListItemClass](CHECK_CLASS_CAST(klass, TYPE_LIST_ITEM())) + +proc IS_LIST_ITEM*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_LIST_ITEM()) + +proc IS_LIST_ITEM_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_LIST_ITEM()) + +proc LIST_ITEM_GET_CLASS*(obj: pointer): PListItemClass = + #proc gtk_tree_model_get_type(): GType {.importc, cdecl, dynlib: gtklib.} + result = cast[PListItemClass](CHECK_GET_CLASS(obj, TYPE_LIST_ITEM())) + +proc TYPE_TREE_MODEL*(): GType = + result = tree_model_get_type() + +proc TREE_MODEL*(obj: pointer): PTreeModel = + result = cast[PTreeModel](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_TREE_MODEL())) + +proc IS_TREE_MODEL*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TREE_MODEL()) + +proc TREE_MODEL_GET_IFACE*(obj: pointer): PTreeModelIface = + result = cast[PTreeModelIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_TREE_MODEL())) + +proc TYPE_TREE_ITER*(): GType = + result = tree_iter_get_type() + +proc TYPE_TREE_PATH*(): GType = + result = tree_path_get_type() + +proc tree_path_new_root*(): PTreePath = + result = tree_path_new_first() + +proc tree_model_get_iter_root*(tree_model: PTreeModel, iter: PTreeIter): gboolean = + result = tree_model_get_iter_first(tree_model, iter) + +proc TYPE_TREE_SORTABLE*(): GType = + result = tree_sortable_get_type() + +proc TREE_SORTABLE*(obj: pointer): PTreeSortable = + result = cast[PTreeSortable](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_TREE_SORTABLE())) + +proc TREE_SORTABLE_CLASS*(obj: pointer): PTreeSortableIface = + result = cast[PTreeSortableIface](G_TYPE_CHECK_CLASS_CAST(obj, + TYPE_TREE_SORTABLE())) + +proc IS_TREE_SORTABLE*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TREE_SORTABLE()) + +proc TREE_SORTABLE_GET_IFACE*(obj: pointer): PTreeSortableIface = + result = cast[PTreeSortableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_TREE_SORTABLE())) + +proc TYPE_TREE_MODEL_SORT*(): GType = + result = tree_model_sort_get_type() + +proc TREE_MODEL_SORT*(obj: pointer): PTreeModelSort = + result = cast[PTreeModelSort](CHECK_CAST(obj, TYPE_TREE_MODEL_SORT())) + +proc TREE_MODEL_SORT_CLASS*(klass: pointer): PTreeModelSortClass = + result = cast[PTreeModelSortClass](CHECK_CLASS_CAST(klass, + TYPE_TREE_MODEL_SORT())) + +proc IS_TREE_MODEL_SORT*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TREE_MODEL_SORT()) + +proc IS_TREE_MODEL_SORT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TREE_MODEL_SORT()) + +proc TREE_MODEL_SORT_GET_CLASS*(obj: pointer): PTreeModelSortClass = + result = cast[PTreeModelSortClass](CHECK_GET_CLASS(obj, TYPE_TREE_MODEL_SORT())) + +proc TYPE_LIST_STORE*(): GType = + result = list_store_get_type() + +proc LIST_STORE*(obj: pointer): PListStore = + result = cast[PListStore](CHECK_CAST(obj, TYPE_LIST_STORE())) + +proc LIST_STORE_CLASS*(klass: pointer): PListStoreClass = + result = cast[PListStoreClass](CHECK_CLASS_CAST(klass, TYPE_LIST_STORE())) + +proc IS_LIST_STORE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_LIST_STORE()) + +proc IS_LIST_STORE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_LIST_STORE()) + +proc LIST_STORE_GET_CLASS*(obj: pointer): PListStoreClass = + result = cast[PListStoreClass](CHECK_GET_CLASS(obj, TYPE_LIST_STORE())) + +proc columns_dirty*(a: var TListStore): guint = + result = (a.ListStoreflag0 and bm_TGtkListStore_columns_dirty) shr + bp_TGtkListStore_columns_dirty + +proc set_columns_dirty*(a: var TListStore, `columns_dirty`: guint) = + a.ListStoreflag0 = a.ListStoreflag0 or + (int16(`columns_dirty` shl bp_TGtkListStore_columns_dirty) and + bm_TGtkListStore_columns_dirty) + +proc TYPE_MENU_BAR*(): GType = + result = menu_bar_get_type() + +proc MENU_BAR*(obj: pointer): PMenuBar = + result = cast[PMenuBar](CHECK_CAST(obj, TYPE_MENU_BAR())) + +proc MENU_BAR_CLASS*(klass: pointer): PMenuBarClass = + result = cast[PMenuBarClass](CHECK_CLASS_CAST(klass, TYPE_MENU_BAR())) + +proc IS_MENU_BAR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_MENU_BAR()) + +proc IS_MENU_BAR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_MENU_BAR()) + +proc MENU_BAR_GET_CLASS*(obj: pointer): PMenuBarClass = + result = cast[PMenuBarClass](CHECK_GET_CLASS(obj, TYPE_MENU_BAR())) + +proc menu_bar_append*(menu, child: PWidget) = + menu_shell_append(cast[PMenuShell](menu), child) + +proc menu_bar_prepend*(menu, child: PWidget) = + menu_shell_prepend(cast[PMenuShell](menu), child) + +proc menu_bar_insert*(menu, child: PWidget, pos: gint) = + menu_shell_insert(cast[PMenuShell](menu), child, pos) + +proc TYPE_MESSAGE_DIALOG*(): GType = + result = message_dialog_get_type() + +proc MESSAGE_DIALOG*(obj: pointer): PMessageDialog = + result = cast[PMessageDialog](CHECK_CAST(obj, TYPE_MESSAGE_DIALOG())) + +proc MESSAGE_DIALOG_CLASS*(klass: pointer): PMessageDialogClass = + result = cast[PMessageDialogClass](CHECK_CLASS_CAST(klass, + TYPE_MESSAGE_DIALOG())) + +proc IS_MESSAGE_DIALOG*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_MESSAGE_DIALOG()) + +proc IS_MESSAGE_DIALOG_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_MESSAGE_DIALOG()) + +proc MESSAGE_DIALOG_GET_CLASS*(obj: pointer): PMessageDialogClass = + result = cast[PMessageDialogClass](CHECK_GET_CLASS(obj, TYPE_MESSAGE_DIALOG())) + +proc TYPE_NOTEBOOK*(): GType = + result = notebook_get_type() + +proc NOTEBOOK*(obj: pointer): PNotebook = + result = cast[PNotebook](CHECK_CAST(obj, TYPE_NOTEBOOK())) + +proc NOTEBOOK_CLASS*(klass: pointer): PNotebookClass = + result = cast[PNotebookClass](CHECK_CLASS_CAST(klass, TYPE_NOTEBOOK())) + +proc IS_NOTEBOOK*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_NOTEBOOK()) + +proc IS_NOTEBOOK_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_NOTEBOOK()) + +proc NOTEBOOK_GET_CLASS*(obj: pointer): PNotebookClass = + result = cast[PNotebookClass](CHECK_GET_CLASS(obj, TYPE_NOTEBOOK())) + +proc show_tabs*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_show_tabs) shr + bp_TGtkNotebook_show_tabs + +proc set_show_tabs*(a: var TNotebook, `show_tabs`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`show_tabs` shl bp_TGtkNotebook_show_tabs) and + bm_TGtkNotebook_show_tabs) + +proc homogeneous*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_homogeneous) shr + bp_TGtkNotebook_homogeneous + +proc set_homogeneous*(a: var TNotebook, `homogeneous`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`homogeneous` shl bp_TGtkNotebook_homogeneous) and + bm_TGtkNotebook_homogeneous) + +proc show_border*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_show_border) shr + bp_TGtkNotebook_show_border + +proc set_show_border*(a: var TNotebook, `show_border`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`show_border` shl bp_TGtkNotebook_show_border) and + bm_TGtkNotebook_show_border) + +proc tab_pos*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_tab_pos) shr + bp_TGtkNotebook_tab_pos + +proc set_tab_pos*(a: var TNotebook, `tab_pos`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`tab_pos` shl bp_TGtkNotebook_tab_pos) and + bm_TGtkNotebook_tab_pos) + +proc scrollable*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_scrollable) shr + bp_TGtkNotebook_scrollable + +proc set_scrollable*(a: var TNotebook, `scrollable`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`scrollable` shl bp_TGtkNotebook_scrollable) and + bm_TGtkNotebook_scrollable) + +proc in_child*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_in_child) shr + bp_TGtkNotebook_in_child + +proc set_in_child*(a: var TNotebook, `in_child`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`in_child` shl bp_TGtkNotebook_in_child) and + bm_TGtkNotebook_in_child) + +proc click_child*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_click_child) shr + bp_TGtkNotebook_click_child + +proc set_click_child*(a: var TNotebook, `click_child`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`click_child` shl bp_TGtkNotebook_click_child) and + bm_TGtkNotebook_click_child) + +proc button*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_button) shr + bp_TGtkNotebook_button + +proc set_button*(a: var TNotebook, `button`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`button` shl bp_TGtkNotebook_button) and bm_TGtkNotebook_button) + +proc need_timer*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_need_timer) shr + bp_TGtkNotebook_need_timer + +proc set_need_timer*(a: var TNotebook, `need_timer`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`need_timer` shl bp_TGtkNotebook_need_timer) and + bm_TGtkNotebook_need_timer) + +proc child_has_focus*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_child_has_focus) shr + bp_TGtkNotebook_child_has_focus + +proc set_child_has_focus*(a: var TNotebook, `child_has_focus`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`child_has_focus` shl bp_TGtkNotebook_child_has_focus) and + bm_TGtkNotebook_child_has_focus) + +proc have_visible_child*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_have_visible_child) shr + bp_TGtkNotebook_have_visible_child + +proc set_have_visible_child*(a: var TNotebook, `have_visible_child`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`have_visible_child` shl bp_TGtkNotebook_have_visible_child) and + bm_TGtkNotebook_have_visible_child) + +proc focus_out*(a: var TNotebook): guint = + result = (a.Notebookflag0 and bm_TGtkNotebook_focus_out) shr + bp_TGtkNotebook_focus_out + +proc set_focus_out*(a: var TNotebook, `focus_out`: guint) = + a.Notebookflag0 = a.Notebookflag0 or + (int16(`focus_out` shl bp_TGtkNotebook_focus_out) and + bm_TGtkNotebook_focus_out) + +proc TYPE_OLD_EDITABLE*(): GType = + result = old_editable_get_type() + +proc OLD_EDITABLE*(obj: pointer): POldEditable = + result = cast[POldEditable](CHECK_CAST(obj, TYPE_OLD_EDITABLE())) + +proc OLD_EDITABLE_CLASS*(klass: pointer): POldEditableClass = + result = cast[POldEditableClass](CHECK_CLASS_CAST(klass, TYPE_OLD_EDITABLE())) + +proc IS_OLD_EDITABLE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_OLD_EDITABLE()) + +proc IS_OLD_EDITABLE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_OLD_EDITABLE()) + +proc OLD_EDITABLE_GET_CLASS*(obj: pointer): POldEditableClass = + result = cast[POldEditableClass](CHECK_GET_CLASS(obj, TYPE_OLD_EDITABLE())) + +proc has_selection*(a: var TOldEditable): guint = + result = (a.OldEditableflag0 and bm_TGtkOldEditable_has_selection) shr + bp_TGtkOldEditable_has_selection + +proc set_has_selection*(a: var TOldEditable, `has_selection`: guint) = + a.OldEditableflag0 = a.OldEditableflag0 or + (int16(`has_selection` shl bp_TGtkOldEditable_has_selection) and + bm_TGtkOldEditable_has_selection) + +proc editable*(a: var TOldEditable): guint = + result = (a.OldEditableflag0 and bm_TGtkOldEditable_editable) shr + bp_TGtkOldEditable_editable + +proc set_editable*(a: var TOldEditable, `editable`: guint) = + a.OldEditableflag0 = a.OldEditableflag0 or + (int16(`editable` shl bp_TGtkOldEditable_editable) and + bm_TGtkOldEditable_editable) + +proc visible*(a: var TOldEditable): guint = + result = (a.OldEditableflag0 and bm_TGtkOldEditable_visible) shr + bp_TGtkOldEditable_visible + +proc set_visible*(a: var TOldEditable, `visible`: guint) = + a.OldEditableflag0 = a.OldEditableflag0 or + (int16(`visible` shl bp_TGtkOldEditable_visible) and + bm_TGtkOldEditable_visible) + +proc TYPE_OPTION_MENU*(): GType = + result = option_menu_get_type() + +proc OPTION_MENU*(obj: pointer): POptionMenu = + result = cast[POptionMenu](CHECK_CAST(obj, TYPE_OPTION_MENU())) + +proc OPTION_MENU_CLASS*(klass: pointer): POptionMenuClass = + result = cast[POptionMenuClass](CHECK_CLASS_CAST(klass, TYPE_OPTION_MENU())) + +proc IS_OPTION_MENU*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_OPTION_MENU()) + +proc IS_OPTION_MENU_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_OPTION_MENU()) + +proc OPTION_MENU_GET_CLASS*(obj: pointer): POptionMenuClass = + result = cast[POptionMenuClass](CHECK_GET_CLASS(obj, TYPE_OPTION_MENU())) + +proc TYPE_PIXMAP*(): GType = + result = pixmap_get_type() + +proc PIXMAP*(obj: pointer): PPixmap = + result = cast[PPixmap](CHECK_CAST(obj, TYPE_PIXMAP())) + +proc PIXMAP_CLASS*(klass: pointer): PPixmapClass = + result = cast[PPixmapClass](CHECK_CLASS_CAST(klass, TYPE_PIXMAP())) + +proc IS_PIXMAP*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_PIXMAP()) + +proc IS_PIXMAP_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_PIXMAP()) + +proc PIXMAP_GET_CLASS*(obj: pointer): PPixmapClass = + result = cast[PPixmapClass](CHECK_GET_CLASS(obj, TYPE_PIXMAP())) + +proc build_insensitive*(a: var TPixmap): guint = + result = (a.Pixmapflag0 and bm_TGtkPixmap_build_insensitive) shr + bp_TGtkPixmap_build_insensitive + +proc set_build_insensitive*(a: var TPixmap, `build_insensitive`: guint) = + a.Pixmapflag0 = a.Pixmapflag0 or + (int16(`build_insensitive` shl bp_TGtkPixmap_build_insensitive) and + bm_TGtkPixmap_build_insensitive) + +proc TYPE_PLUG*(): GType = + result = plug_get_type() + +proc PLUG*(obj: pointer): PPlug = + result = cast[PPlug](CHECK_CAST(obj, TYPE_PLUG())) + +proc PLUG_CLASS*(klass: pointer): PPlugClass = + result = cast[PPlugClass](CHECK_CLASS_CAST(klass, TYPE_PLUG())) + +proc IS_PLUG*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_PLUG()) + +proc IS_PLUG_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_PLUG()) + +proc PLUG_GET_CLASS*(obj: pointer): PPlugClass = + result = cast[PPlugClass](CHECK_GET_CLASS(obj, TYPE_PLUG())) + +proc same_app*(a: var TPlug): guint = + result = (a.Plugflag0 and bm_TGtkPlug_same_app) shr bp_TGtkPlug_same_app + +proc set_same_app*(a: var TPlug, `same_app`: guint) = + a.Plugflag0 = a.Plugflag0 or + (int16(`same_app` shl bp_TGtkPlug_same_app) and bm_TGtkPlug_same_app) + +proc TYPE_PREVIEW*(): GType = + result = preview_get_type() + +proc PREVIEW*(obj: pointer): PPreview = + result = cast[PPreview](CHECK_CAST(obj, TYPE_PREVIEW())) + +proc PREVIEW_CLASS*(klass: pointer): PPreviewClass = + result = cast[PPreviewClass](CHECK_CLASS_CAST(klass, TYPE_PREVIEW())) + +proc IS_PREVIEW*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_PREVIEW()) + +proc IS_PREVIEW_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_PREVIEW()) + +proc PREVIEW_GET_CLASS*(obj: pointer): PPreviewClass = + result = cast[PPreviewClass](CHECK_GET_CLASS(obj, TYPE_PREVIEW())) + +proc get_type*(a: var TPreview): guint = + result = (a.Previewflag0 and bm_TGtkPreview_type) shr bp_TGtkPreview_type + +proc set_type*(a: var TPreview, `type`: guint) = + a.Previewflag0 = a.Previewflag0 or + (int16(`type` shl bp_TGtkPreview_type) and bm_TGtkPreview_type) + +proc get_expand*(a: var TPreview): guint = + result = (a.Previewflag0 and bm_TGtkPreview_expand) shr + bp_TGtkPreview_expand + +proc set_expand*(a: var TPreview, `expand`: guint) = + a.Previewflag0 = a.Previewflag0 or + (int16(`expand` shl bp_TGtkPreview_expand) and bm_TGtkPreview_expand) + +proc progress_get_type(): GType{.importc: "gtk_progress_get_type", cdecl, + dynlib: lib.} +proc TYPE_PROGRESS*(): GType = + result = progress_get_type() + +proc PROGRESS*(obj: pointer): PProgress = + result = cast[PProgress](CHECK_CAST(obj, TYPE_PROGRESS())) + +proc PROGRESS_CLASS*(klass: pointer): PProgressClass = + result = cast[PProgressClass](CHECK_CLASS_CAST(klass, TYPE_PROGRESS())) + +proc IS_PROGRESS*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_PROGRESS()) + +proc IS_PROGRESS_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_PROGRESS()) + +proc PROGRESS_GET_CLASS*(obj: pointer): PProgressClass = + result = cast[PProgressClass](CHECK_GET_CLASS(obj, TYPE_PROGRESS())) + +proc show_text*(a: var TProgress): guint = + result = (a.Progressflag0 and bm_TGtkProgress_show_text) shr + bp_TGtkProgress_show_text + +proc set_show_text*(a: var TProgress, `show_text`: guint) = + a.Progressflag0 = a.Progressflag0 or + (int16(`show_text` shl bp_TGtkProgress_show_text) and + bm_TGtkProgress_show_text) + +proc activity_mode*(a: var TProgress): guint = + result = (a.Progressflag0 and bm_TGtkProgress_activity_mode) shr + bp_TGtkProgress_activity_mode + +proc set_activity_mode*(a: var TProgress, `activity_mode`: guint) = + a.Progressflag0 = a.Progressflag0 or + (int16(`activity_mode` shl bp_TGtkProgress_activity_mode) and + bm_TGtkProgress_activity_mode) + +proc use_text_format*(a: var TProgress): guint = + result = (a.Progressflag0 and bm_TGtkProgress_use_text_format) shr + bp_TGtkProgress_use_text_format + +proc set_use_text_format*(a: var TProgress, `use_text_format`: guint) = + a.Progressflag0 = a.Progressflag0 or + (int16(`use_text_format` shl bp_TGtkProgress_use_text_format) and + bm_TGtkProgress_use_text_format) + +proc TYPE_PROGRESS_BAR*(): GType = + result = progress_bar_get_type() + +proc PROGRESS_BAR*(obj: pointer): PProgressBar = + result = cast[PProgressBar](CHECK_CAST(obj, TYPE_PROGRESS_BAR())) + +proc PROGRESS_BAR_CLASS*(klass: pointer): PProgressBarClass = + result = cast[PProgressBarClass](CHECK_CLASS_CAST(klass, TYPE_PROGRESS_BAR())) + +proc IS_PROGRESS_BAR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_PROGRESS_BAR()) + +proc IS_PROGRESS_BAR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_PROGRESS_BAR()) + +proc PROGRESS_BAR_GET_CLASS*(obj: pointer): PProgressBarClass = + result = cast[PProgressBarClass](CHECK_GET_CLASS(obj, TYPE_PROGRESS_BAR())) + +proc activity_dir*(a: var TProgressBar): guint = + result = (a.ProgressBarflag0 and bm_TGtkProgressBar_activity_dir) shr + bp_TGtkProgressBar_activity_dir + +proc set_activity_dir*(a: var TProgressBar, `activity_dir`: guint) = + a.ProgressBarflag0 = a.ProgressBarflag0 or + (int16(`activity_dir` shl bp_TGtkProgressBar_activity_dir) and + bm_TGtkProgressBar_activity_dir) + +proc TYPE_RADIO_BUTTON*(): GType = + result = radio_button_get_type() + +proc RADIO_BUTTON*(obj: pointer): PRadioButton = + result = cast[PRadioButton](CHECK_CAST(obj, TYPE_RADIO_BUTTON())) + +proc RADIO_BUTTON_CLASS*(klass: pointer): PRadioButtonClass = + result = cast[PRadioButtonClass](CHECK_CLASS_CAST(klass, TYPE_RADIO_BUTTON())) + +proc IS_RADIO_BUTTON*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_RADIO_BUTTON()) + +proc IS_RADIO_BUTTON_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_RADIO_BUTTON()) + +proc RADIO_BUTTON_GET_CLASS*(obj: pointer): PRadioButtonClass = + result = cast[PRadioButtonClass](CHECK_GET_CLASS(obj, TYPE_RADIO_BUTTON())) + +proc TYPE_RADIO_MENU_ITEM*(): GType = + result = radio_menu_item_get_type() + +proc RADIO_MENU_ITEM*(obj: pointer): PRadioMenuItem = + result = cast[PRadioMenuItem](CHECK_CAST(obj, TYPE_RADIO_MENU_ITEM())) + +proc RADIO_MENU_ITEM_CLASS*(klass: pointer): PRadioMenuItemClass = + result = cast[PRadioMenuItemClass](CHECK_CLASS_CAST(klass, + TYPE_RADIO_MENU_ITEM())) + +proc IS_RADIO_MENU_ITEM*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_RADIO_MENU_ITEM()) + +proc IS_RADIO_MENU_ITEM_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_RADIO_MENU_ITEM()) + +proc RADIO_MENU_ITEM_GET_CLASS*(obj: pointer): PRadioMenuItemClass = + result = cast[PRadioMenuItemClass](CHECK_GET_CLASS(obj, TYPE_RADIO_MENU_ITEM())) + +proc TYPE_SCROLLED_WINDOW*(): GType = + result = scrolled_window_get_type() + +proc SCROLLED_WINDOW*(obj: pointer): PScrolledWindow = + result = cast[PScrolledWindow](CHECK_CAST(obj, TYPE_SCROLLED_WINDOW())) + +proc SCROLLED_WINDOW_CLASS*(klass: pointer): PScrolledWindowClass = + result = cast[PScrolledWindowClass](CHECK_CLASS_CAST(klass, + TYPE_SCROLLED_WINDOW())) + +proc IS_SCROLLED_WINDOW*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_SCROLLED_WINDOW()) + +proc IS_SCROLLED_WINDOW_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_SCROLLED_WINDOW()) + +proc SCROLLED_WINDOW_GET_CLASS*(obj: pointer): PScrolledWindowClass = + result = cast[PScrolledWindowClass](CHECK_GET_CLASS(obj, + TYPE_SCROLLED_WINDOW())) + +proc hscrollbar_policy*(a: var TScrolledWindow): guint = + result = (a.ScrolledWindowflag0 and bm_TGtkScrolledWindow_hscrollbar_policy) shr + bp_TGtkScrolledWindow_hscrollbar_policy + +proc set_hscrollbar_policy*(a: var TScrolledWindow, `hscrollbar_policy`: guint) = + a.ScrolledWindowflag0 = a.ScrolledWindowflag0 or + (int16(`hscrollbar_policy` shl bp_TGtkScrolledWindow_hscrollbar_policy) and + bm_TGtkScrolledWindow_hscrollbar_policy) + +proc vscrollbar_policy*(a: var TScrolledWindow): guint = + result = (a.ScrolledWindowflag0 and bm_TGtkScrolledWindow_vscrollbar_policy) shr + bp_TGtkScrolledWindow_vscrollbar_policy + +proc set_vscrollbar_policy*(a: var TScrolledWindow, `vscrollbar_policy`: guint) = + a.ScrolledWindowflag0 = a.ScrolledWindowflag0 or + (int16(`vscrollbar_policy` shl bp_TGtkScrolledWindow_vscrollbar_policy) and + bm_TGtkScrolledWindow_vscrollbar_policy) + +proc hscrollbar_visible*(a: var TScrolledWindow): guint = + result = (a.ScrolledWindowflag0 and + bm_TGtkScrolledWindow_hscrollbar_visible) shr + bp_TGtkScrolledWindow_hscrollbar_visible + +proc set_hscrollbar_visible*(a: var TScrolledWindow, `hscrollbar_visible`: guint) = + a.ScrolledWindowflag0 = a.ScrolledWindowflag0 or + (int16(`hscrollbar_visible` shl + bp_TGtkScrolledWindow_hscrollbar_visible) and + bm_TGtkScrolledWindow_hscrollbar_visible) + +proc vscrollbar_visible*(a: var TScrolledWindow): guint = + result = (a.ScrolledWindowflag0 and + bm_TGtkScrolledWindow_vscrollbar_visible) shr + bp_TGtkScrolledWindow_vscrollbar_visible + +proc set_vscrollbar_visible*(a: var TScrolledWindow, `vscrollbar_visible`: guint) = + a.ScrolledWindowflag0 = a.ScrolledWindowflag0 or + int16((`vscrollbar_visible` shl + bp_TGtkScrolledWindow_vscrollbar_visible) and + bm_TGtkScrolledWindow_vscrollbar_visible) + +proc window_placement*(a: var TScrolledWindow): guint = + result = (a.ScrolledWindowflag0 and bm_TGtkScrolledWindow_window_placement) shr + bp_TGtkScrolledWindow_window_placement + +proc set_window_placement*(a: var TScrolledWindow, `window_placement`: guint) = + a.ScrolledWindowflag0 = a.ScrolledWindowflag0 or + (int16(`window_placement` shl bp_TGtkScrolledWindow_window_placement) and + bm_TGtkScrolledWindow_window_placement) + +proc focus_out*(a: var TScrolledWindow): guint = + result = (a.ScrolledWindowflag0 and bm_TGtkScrolledWindow_focus_out) shr + bp_TGtkScrolledWindow_focus_out + +proc set_focus_out*(a: var TScrolledWindow, `focus_out`: guint) = + a.ScrolledWindowflag0 = a.ScrolledWindowflag0 or + (int16(`focus_out` shl bp_TGtkScrolledWindow_focus_out) and + bm_TGtkScrolledWindow_focus_out) + +proc TYPE_SELECTION_DATA*(): GType = + result = selection_data_get_type() + +proc TYPE_SEPARATOR_MENU_ITEM*(): GType = + result = separator_menu_item_get_type() + +proc SEPARATOR_MENU_ITEM*(obj: pointer): PSeparatorMenuItem = + result = cast[PSeparatorMenuItem](CHECK_CAST(obj, TYPE_SEPARATOR_MENU_ITEM())) + +proc SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): PSeparatorMenuItemClass = + result = cast[PSeparatorMenuItemClass](CHECK_CLASS_CAST(klass, + TYPE_SEPARATOR_MENU_ITEM())) + +proc IS_SEPARATOR_MENU_ITEM*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_SEPARATOR_MENU_ITEM()) + +proc IS_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_SEPARATOR_MENU_ITEM()) + +proc SEPARATOR_MENU_ITEM_GET_CLASS*(obj: pointer): PSeparatorMenuItemClass = + result = cast[PSeparatorMenuItemClass](CHECK_GET_CLASS(obj, + TYPE_SEPARATOR_MENU_ITEM())) + +proc signal_lookup*(name: cstring, object_type: GType): guint = + result = g_signal_lookup(name, object_type) + +proc signal_name*(signal_id: guint): cstring = + result = g_signal_name(signal_id) + +proc signal_emit_stop*(instance: gpointer, signal_id: guint, detail: TGQuark) = + if detail != 0'i32: g_signal_stop_emission(instance, signal_id, 0) + +proc signal_connect_full*(anObject: PObject, name: cstring, func_: TSignalFunc, + unknown1: pointer, func_data: gpointer, + unknown2: pointer, unknown3, unknown4: int): gulong{. + importc: "gtk_signal_connect_full", cdecl, dynlib: lib.} +proc signal_compat_matched*(anObject: PObject, func_: TSignalFunc, + data: gpointer, m: TGSignalMatchType, u: int){. + importc: "gtk_signal_compat_matched", cdecl, dynlib: lib.} +proc signal_connect*(anObject: PObject, name: cstring, func_: TSignalFunc, + func_data: gpointer): gulong = + result = signal_connect_full(anObject, name, func_, nil, func_data, nil, 0, 0) + +proc signal_connect_after*(anObject: PObject, name: cstring, func_: TSignalFunc, + func_data: gpointer): gulong = + result = signal_connect_full(anObject, name, func_, nil, func_data, nil, 0, 1) + +proc signal_connect_object*(anObject: PObject, name: cstring, + func_: TSignalFunc, slot_object: gpointer): gulong = + result = signal_connect_full(anObject, name, func_, nil, slot_object, nil, 1, + 0) + +proc signal_connect_object_after*(anObject: PObject, name: cstring, + func_: TSignalFunc, slot_object: gpointer): gulong = + result = signal_connect_full(anObject, name, func_, nil, slot_object, nil, 1, + 1) + +proc signal_disconnect*(anObject: gpointer, handler_id: gulong) = + g_signal_handler_disconnect(anObject, handler_id) + +proc signal_handler_block*(anObject: gpointer, handler_id: gulong) = + g_signal_handler_block(anObject, handler_id) + +proc signal_handler_unblock*(anObject: gpointer, handler_id: gulong) = + g_signal_handler_unblock(anObject, handler_id) + +proc signal_disconnect_by_data*(anObject: PObject, data: gpointer) = + signal_compat_matched(anObject, nil, data, G_SIGNAL_MATCH_DATA, 0) + +proc signal_disconnect_by_func*(anObject: PObject, func_: TSignalFunc, + data: gpointer) = + signal_compat_matched(anObject, func_, data, cast[TGSignalMatchType](G_SIGNAL_MATCH_FUNC or + G_SIGNAL_MATCH_DATA), 0) + +proc signal_handler_block_by_func*(anObject: PObject, func_: TSignalFunc, + data: gpointer) = + signal_compat_matched(anObject, func_, data, TGSignalMatchType( + G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0) + +proc signal_handler_block_by_data*(anObject: PObject, data: gpointer) = + signal_compat_matched(anObject, nil, data, G_SIGNAL_MATCH_DATA, 1) + +proc signal_handler_unblock_by_func*(anObject: PObject, func_: TSignalFunc, + data: gpointer) = + signal_compat_matched(anObject, func_, data, cast[TGSignalMatchType](G_SIGNAL_MATCH_FUNC or + G_SIGNAL_MATCH_DATA), 0) + +proc signal_handler_unblock_by_data*(anObject: PObject, data: gpointer) = + signal_compat_matched(anObject, nil, data, G_SIGNAL_MATCH_DATA, 2) + +proc signal_handler_pending*(anObject: PObject, signal_id: guint, + may_be_blocked: gboolean): gboolean = + Result = g_signal_has_handler_pending(anObject, signal_id, 0, may_be_blocked) + +proc signal_handler_pending_by_func*(anObject: PObject, signal_id: guint, + may_be_blocked: gboolean, + func_: TSignalFunc, data: gpointer): gboolean = + var t: TGSignalMatchType + t = cast[TGSignalMatchType](G_SIGNAL_MATCH_ID or G_SIGNAL_MATCH_FUNC or + G_SIGNAL_MATCH_DATA) + if not may_be_blocked: + t = t or cast[TGSignalMatchType](G_SIGNAL_MATCH_UNBLOCKED) + Result = g_signal_handler_find(anObject, t, signal_id, 0, nil, func_, data) != + 0 + +proc TYPE_SIZE_GROUP*(): GType = + result = size_group_get_type() + +proc SIZE_GROUP*(obj: pointer): PSizeGroup = + result = cast[PSizeGroup](CHECK_CAST(obj, TYPE_SIZE_GROUP())) + +proc SIZE_GROUP_CLASS*(klass: pointer): PSizeGroupClass = + result = cast[PSizeGroupClass](CHECK_CLASS_CAST(klass, TYPE_SIZE_GROUP())) + +proc IS_SIZE_GROUP*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_SIZE_GROUP()) + +proc IS_SIZE_GROUP_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_SIZE_GROUP()) + +proc SIZE_GROUP_GET_CLASS*(obj: pointer): PSizeGroupClass = + result = cast[PSizeGroupClass](CHECK_GET_CLASS(obj, TYPE_SIZE_GROUP())) + +proc have_width*(a: var TSizeGroup): guint = + result = (a.SizeGroupflag0 and bm_TGtkSizeGroup_have_width) shr + bp_TGtkSizeGroup_have_width + +proc set_have_width*(a: var TSizeGroup, `have_width`: guint) = + a.SizeGroupflag0 = a.SizeGroupflag0 or + (int16(`have_width` shl bp_TGtkSizeGroup_have_width) and + bm_TGtkSizeGroup_have_width) + +proc have_height*(a: var TSizeGroup): guint = + result = (a.SizeGroupflag0 and bm_TGtkSizeGroup_have_height) shr + bp_TGtkSizeGroup_have_height + +proc set_have_height*(a: var TSizeGroup, `have_height`: guint) = + a.SizeGroupflag0 = a.SizeGroupflag0 or + (int16(`have_height` shl bp_TGtkSizeGroup_have_height) and + bm_TGtkSizeGroup_have_height) + +proc TYPE_SOCKET*(): GType = + result = socket_get_type() + +proc SOCKET*(obj: pointer): PSocket = + result = cast[PSocket](CHECK_CAST(obj, TYPE_SOCKET())) + +proc SOCKET_CLASS*(klass: pointer): PSocketClass = + result = cast[PSocketClass](CHECK_CLASS_CAST(klass, TYPE_SOCKET())) + +proc IS_SOCKET*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_SOCKET()) + +proc IS_SOCKET_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_SOCKET()) + +proc SOCKET_GET_CLASS*(obj: pointer): PSocketClass = + result = cast[PSocketClass](CHECK_GET_CLASS(obj, TYPE_SOCKET())) + +proc same_app*(a: var TSocket): guint = + result = (a.Socketflag0 and bm_TGtkSocket_same_app) shr + bp_TGtkSocket_same_app + +proc set_same_app*(a: var TSocket, `same_app`: guint) = + a.Socketflag0 = a.Socketflag0 or + (int16(`same_app` shl bp_TGtkSocket_same_app) and + bm_TGtkSocket_same_app) + +proc focus_in*(a: var TSocket): guint = + result = (a.Socketflag0 and bm_TGtkSocket_focus_in) shr + bp_TGtkSocket_focus_in + +proc set_focus_in*(a: var TSocket, `focus_in`: guint) = + a.Socketflag0 = a.Socketflag0 or + (int16(`focus_in` shl bp_TGtkSocket_focus_in) and + bm_TGtkSocket_focus_in) + +proc have_size*(a: var TSocket): guint = + result = (a.Socketflag0 and bm_TGtkSocket_have_size) shr + bp_TGtkSocket_have_size + +proc set_have_size*(a: var TSocket, `have_size`: guint) = + a.Socketflag0 = a.Socketflag0 or + (int16(`have_size` shl bp_TGtkSocket_have_size) and + bm_TGtkSocket_have_size) + +proc need_map*(a: var TSocket): guint = + result = (a.Socketflag0 and bm_TGtkSocket_need_map) shr + bp_TGtkSocket_need_map + +proc set_need_map*(a: var TSocket, `need_map`: guint) = + a.Socketflag0 = a.Socketflag0 or + (int16(`need_map` shl bp_TGtkSocket_need_map) and + bm_TGtkSocket_need_map) + +proc is_mapped*(a: var TSocket): guint = + result = (a.Socketflag0 and bm_TGtkSocket_is_mapped) shr + bp_TGtkSocket_is_mapped + +proc set_is_mapped*(a: var TSocket, `is_mapped`: guint) = + a.Socketflag0 = a.Socketflag0 or + (int16(`is_mapped` shl bp_TGtkSocket_is_mapped) and + bm_TGtkSocket_is_mapped) + +proc TYPE_SPIN_BUTTON*(): GType = + result = spin_button_get_type() + +proc SPIN_BUTTON*(obj: pointer): PSpinButton = + result = cast[PSpinButton](CHECK_CAST(obj, TYPE_SPIN_BUTTON())) + +proc SPIN_BUTTON_CLASS*(klass: pointer): PSpinButtonClass = + result = cast[PSpinButtonClass](CHECK_CLASS_CAST(klass, TYPE_SPIN_BUTTON())) + +proc IS_SPIN_BUTTON*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_SPIN_BUTTON()) + +proc IS_SPIN_BUTTON_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_SPIN_BUTTON()) + +proc SPIN_BUTTON_GET_CLASS*(obj: pointer): PSpinButtonClass = + result = cast[PSpinButtonClass](CHECK_GET_CLASS(obj, TYPE_SPIN_BUTTON())) + +proc in_child*(a: var TSpinButton): guint = + result = (a.SpinButtonflag0 and bm_TGtkSpinButton_in_child) shr + bp_TGtkSpinButton_in_child + +proc set_in_child*(a: var TSpinButton, `in_child`: guint) = + a.SpinButtonflag0 = a.SpinButtonflag0 or + ((`in_child` shl bp_TGtkSpinButton_in_child) and + bm_TGtkSpinButton_in_child) + +proc click_child*(a: var TSpinButton): guint = + result = (a.SpinButtonflag0 and bm_TGtkSpinButton_click_child) shr + bp_TGtkSpinButton_click_child + +proc set_click_child*(a: var TSpinButton, `click_child`: guint) = + a.SpinButtonflag0 = a.SpinButtonflag0 or + ((`click_child` shl bp_TGtkSpinButton_click_child) and + bm_TGtkSpinButton_click_child) + +proc button*(a: var TSpinButton): guint = + result = (a.SpinButtonflag0 and bm_TGtkSpinButton_button) shr + bp_TGtkSpinButton_button + +proc set_button*(a: var TSpinButton, `button`: guint) = + a.SpinButtonflag0 = a.SpinButtonflag0 or + ((`button` shl bp_TGtkSpinButton_button) and bm_TGtkSpinButton_button) + +proc need_timer*(a: var TSpinButton): guint = + result = (a.SpinButtonflag0 and bm_TGtkSpinButton_need_timer) shr + bp_TGtkSpinButton_need_timer + +proc set_need_timer*(a: var TSpinButton, `need_timer`: guint) = + a.SpinButtonflag0 = a.SpinButtonflag0 or + ((`need_timer` shl bp_TGtkSpinButton_need_timer) and + bm_TGtkSpinButton_need_timer) + +proc timer_calls*(a: var TSpinButton): guint = + result = (a.SpinButtonflag0 and bm_TGtkSpinButton_timer_calls) shr + bp_TGtkSpinButton_timer_calls + +proc set_timer_calls*(a: var TSpinButton, `timer_calls`: guint) = + a.SpinButtonflag0 = a.SpinButtonflag0 or + ((`timer_calls` shl bp_TGtkSpinButton_timer_calls) and + bm_TGtkSpinButton_timer_calls) + +proc digits*(a: var TSpinButton): guint = + result = (a.SpinButtonflag0 and bm_TGtkSpinButton_digits) shr + bp_TGtkSpinButton_digits + +proc set_digits*(a: var TSpinButton, `digits`: guint) = + a.SpinButtonflag0 = a.SpinButtonflag0 or + ((`digits` shl bp_TGtkSpinButton_digits) and bm_TGtkSpinButton_digits) + +proc numeric*(a: var TSpinButton): guint = + result = (a.SpinButtonflag0 and bm_TGtkSpinButton_numeric) shr + bp_TGtkSpinButton_numeric + +proc set_numeric*(a: var TSpinButton, `numeric`: guint) = + a.SpinButtonflag0 = a.SpinButtonflag0 or + ((`numeric` shl bp_TGtkSpinButton_numeric) and + bm_TGtkSpinButton_numeric) + +proc wrap*(a: var TSpinButton): guint = + result = (a.SpinButtonflag0 and bm_TGtkSpinButton_wrap) shr + bp_TGtkSpinButton_wrap + +proc set_wrap*(a: var TSpinButton, `wrap`: guint) = + a.SpinButtonflag0 = a.SpinButtonflag0 or + ((`wrap` shl bp_TGtkSpinButton_wrap) and bm_TGtkSpinButton_wrap) + +proc snap_to_ticks*(a: var TSpinButton): guint = + result = (a.SpinButtonflag0 and bm_TGtkSpinButton_snap_to_ticks) shr + bp_TGtkSpinButton_snap_to_ticks + +proc set_snap_to_ticks*(a: var TSpinButton, `snap_to_ticks`: guint) = + a.SpinButtonflag0 = a.SpinButtonflag0 or + ((`snap_to_ticks` shl bp_TGtkSpinButton_snap_to_ticks) and + bm_TGtkSpinButton_snap_to_ticks) + +proc TYPE_STATUSBAR*(): GType = + result = statusbar_get_type() + +proc STATUSBAR*(obj: pointer): PStatusbar = + result = cast[PStatusbar](CHECK_CAST(obj, TYPE_STATUSBAR())) + +proc STATUSBAR_CLASS*(klass: pointer): PStatusbarClass = + result = cast[PStatusbarClass](CHECK_CLASS_CAST(klass, TYPE_STATUSBAR())) + +proc IS_STATUSBAR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_STATUSBAR()) + +proc IS_STATUSBAR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_STATUSBAR()) + +proc STATUSBAR_GET_CLASS*(obj: pointer): PStatusbarClass = + result = cast[PStatusbarClass](CHECK_GET_CLASS(obj, TYPE_STATUSBAR())) + +proc has_resize_grip*(a: var TStatusbar): guint = + result = (a.Statusbarflag0 and bm_TGtkStatusbar_has_resize_grip) shr + bp_TGtkStatusbar_has_resize_grip + +proc set_has_resize_grip*(a: var TStatusbar, `has_resize_grip`: guint) = + a.Statusbarflag0 = a.Statusbarflag0 or + (int16(`has_resize_grip` shl bp_TGtkStatusbar_has_resize_grip) and + bm_TGtkStatusbar_has_resize_grip) + +proc TYPE_TABLE*(): GType = + result = table_get_type() + +proc TABLE*(obj: pointer): PTable = + result = cast[PTable](CHECK_CAST(obj, TYPE_TABLE())) + +proc TABLE_CLASS*(klass: pointer): PTableClass = + result = cast[PTableClass](CHECK_CLASS_CAST(klass, TYPE_TABLE())) + +proc IS_TABLE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TABLE()) + +proc IS_TABLE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TABLE()) + +proc TABLE_GET_CLASS*(obj: pointer): PTableClass = + result = cast[PTableClass](CHECK_GET_CLASS(obj, TYPE_TABLE())) + +proc homogeneous*(a: var TTable): guint = + result = (a.Tableflag0 and bm_TGtkTable_homogeneous) shr + bp_TGtkTable_homogeneous + +proc set_homogeneous*(a: var TTable, `homogeneous`: guint) = + a.Tableflag0 = a.Tableflag0 or + (int16(`homogeneous` shl bp_TGtkTable_homogeneous) and + bm_TGtkTable_homogeneous) + +proc xexpand*(a: var TTableChild): guint = + result = (a.TableChildflag0 and bm_TGtkTableChild_xexpand) shr + bp_TGtkTableChild_xexpand + +proc set_xexpand*(a: var TTableChild, `xexpand`: guint) = + a.TableChildflag0 = a.TableChildflag0 or + (int16(`xexpand` shl bp_TGtkTableChild_xexpand) and + bm_TGtkTableChild_xexpand) + +proc yexpand*(a: var TTableChild): guint = + result = (a.TableChildflag0 and bm_TGtkTableChild_yexpand) shr + bp_TGtkTableChild_yexpand + +proc set_yexpand*(a: var TTableChild, `yexpand`: guint) = + a.TableChildflag0 = a.TableChildflag0 or + (int16(`yexpand` shl bp_TGtkTableChild_yexpand) and + bm_TGtkTableChild_yexpand) + +proc xshrink*(a: var TTableChild): guint = + result = (a.TableChildflag0 and bm_TGtkTableChild_xshrink) shr + bp_TGtkTableChild_xshrink + +proc set_xshrink*(a: var TTableChild, `xshrink`: guint) = + a.TableChildflag0 = a.TableChildflag0 or + (int16(`xshrink` shl bp_TGtkTableChild_xshrink) and + bm_TGtkTableChild_xshrink) + +proc yshrink*(a: var TTableChild): guint = + result = (a.TableChildflag0 and bm_TGtkTableChild_yshrink) shr + bp_TGtkTableChild_yshrink + +proc set_yshrink*(a: var TTableChild, `yshrink`: guint) = + a.TableChildflag0 = a.TableChildflag0 or + (int16(`yshrink` shl bp_TGtkTableChild_yshrink) and + bm_TGtkTableChild_yshrink) + +proc xfill*(a: var TTableChild): guint = + result = (a.TableChildflag0 and bm_TGtkTableChild_xfill) shr + bp_TGtkTableChild_xfill + +proc set_xfill*(a: var TTableChild, `xfill`: guint) = + a.TableChildflag0 = a.TableChildflag0 or + (int16(`xfill` shl bp_TGtkTableChild_xfill) and bm_TGtkTableChild_xfill) + +proc yfill*(a: var TTableChild): guint = + result = (a.TableChildflag0 and bm_TGtkTableChild_yfill) shr + bp_TGtkTableChild_yfill + +proc set_yfill*(a: var TTableChild, `yfill`: guint) = + a.TableChildflag0 = a.TableChildflag0 or + (int16(`yfill` shl bp_TGtkTableChild_yfill) and bm_TGtkTableChild_yfill) + +proc need_expand*(a: var TTableRowCol): guint = + result = (a.flag0 and bm_TGtkTableRowCol_need_expand) shr + bp_TGtkTableRowCol_need_expand + +proc set_need_expand*(a: var TTableRowCol, `need_expand`: guint) = + a.flag0 = a.flag0 or + (int16(`need_expand` shl bp_TGtkTableRowCol_need_expand) and + bm_TGtkTableRowCol_need_expand) + +proc need_shrink*(a: var TTableRowCol): guint = + result = (a.flag0 and bm_TGtkTableRowCol_need_shrink) shr + bp_TGtkTableRowCol_need_shrink + +proc set_need_shrink*(a: var TTableRowCol, `need_shrink`: guint) = + a.flag0 = a.flag0 or + (int16(`need_shrink` shl bp_TGtkTableRowCol_need_shrink) and + bm_TGtkTableRowCol_need_shrink) + +proc expand*(a: var TTableRowCol): guint = + result = (a.flag0 and bm_TGtkTableRowCol_expand) shr + bp_TGtkTableRowCol_expand + +proc set_expand*(a: var TTableRowCol, `expand`: guint) = + a.flag0 = a.flag0 or + (int16(`expand` shl bp_TGtkTableRowCol_expand) and + bm_TGtkTableRowCol_expand) + +proc shrink*(a: var TTableRowCol): guint = + result = (a.flag0 and bm_TGtkTableRowCol_shrink) shr + bp_TGtkTableRowCol_shrink + +proc set_shrink*(a: var TTableRowCol, `shrink`: guint) = + a.flag0 = a.flag0 or + (int16(`shrink` shl bp_TGtkTableRowCol_shrink) and + bm_TGtkTableRowCol_shrink) + +proc empty*(a: var TTableRowCol): guint = + result = (a.flag0 and bm_TGtkTableRowCol_empty) shr + bp_TGtkTableRowCol_empty + +proc set_empty*(a: var TTableRowCol, `empty`: guint) = + a.flag0 = a.flag0 or + (int16(`empty` shl bp_TGtkTableRowCol_empty) and + bm_TGtkTableRowCol_empty) + +proc TYPE_TEAROFF_MENU_ITEM*(): GType = + result = tearoff_menu_item_get_type() + +proc TEAROFF_MENU_ITEM*(obj: pointer): PTearoffMenuItem = + result = cast[PTearoffMenuItem](CHECK_CAST(obj, TYPE_TEAROFF_MENU_ITEM())) + +proc TEAROFF_MENU_ITEM_CLASS*(klass: pointer): PTearoffMenuItemClass = + result = cast[PTearoffMenuItemClass](CHECK_CLASS_CAST(klass, + TYPE_TEAROFF_MENU_ITEM())) + +proc IS_TEAROFF_MENU_ITEM*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TEAROFF_MENU_ITEM()) + +proc IS_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TEAROFF_MENU_ITEM()) + +proc TEAROFF_MENU_ITEM_GET_CLASS*(obj: pointer): PTearoffMenuItemClass = + result = cast[PTearoffMenuItemClass](CHECK_GET_CLASS(obj, + TYPE_TEAROFF_MENU_ITEM())) + +proc torn_off*(a: var TTearoffMenuItem): guint = + result = (a.TearoffMenuItemflag0 and bm_TGtkTearoffMenuItem_torn_off) shr + bp_TGtkTearoffMenuItem_torn_off + +proc set_torn_off*(a: var TTearoffMenuItem, `torn_off`: guint) = + a.TearoffMenuItemflag0 = a.TearoffMenuItemflag0 or + (int16(`torn_off` shl bp_TGtkTearoffMenuItem_torn_off) and + bm_TGtkTearoffMenuItem_torn_off) + +proc TYPE_TEXT*(): GType = + result = text_get_type() + +proc TEXT*(obj: pointer): PText = + result = cast[PText](CHECK_CAST(obj, TYPE_TEXT())) + +proc TEXT_CLASS*(klass: pointer): PTextClass = + result = cast[PTextClass](CHECK_CLASS_CAST(klass, TYPE_TEXT())) + +proc IS_TEXT*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TEXT()) + +proc IS_TEXT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TEXT()) + +proc TEXT_GET_CLASS*(obj: pointer): PTextClass = + result = cast[PTextClass](CHECK_GET_CLASS(obj, TYPE_TEXT())) + +proc line_wrap*(a: PText): guint = + result = (a.Textflag0 and bm_TGtkText_line_wrap) shr bp_TGtkText_line_wrap + +proc set_line_wrap*(a: PText, `line_wrap`: guint) = + a.Textflag0 = a.Textflag0 or + (int16(`line_wrap` shl bp_TGtkText_line_wrap) and bm_TGtkText_line_wrap) + +proc word_wrap*(a: PText): guint = + result = (a.Textflag0 and bm_TGtkText_word_wrap) shr bp_TGtkText_word_wrap + +proc set_word_wrap*(a: PText, `word_wrap`: guint) = + a.Textflag0 = a.Textflag0 or + (int16(`word_wrap` shl bp_TGtkText_word_wrap) and bm_TGtkText_word_wrap) + +proc use_wchar*(a: PText): gboolean = + result = ((a.Textflag0 and bm_TGtkText_use_wchar) shr bp_TGtkText_use_wchar) > + 0'i16 + +proc set_use_wchar*(a: PText, `use_wchar`: gboolean) = + if `use_wchar`: + a.Textflag0 = a.Textflag0 or bm_TGtkText_use_wchar + else: + a.Textflag0 = a.Textflag0 and not bm_TGtkText_use_wchar + +proc TEXT_INDEX_WCHAR*(t: PText, index: guint): guint32 = + nil + +proc TEXT_INDEX_UCHAR*(t: PText, index: guint): GUChar = + nil + +proc TYPE_TEXT_ITER*(): GType = + result = text_iter_get_type() + +proc TYPE_TEXT_TAG*(): GType = + result = text_tag_get_type() + +proc TEXT_TAG*(obj: pointer): PTextTag = + result = cast[PTextTag](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_TEXT_TAG())) + +proc TEXT_TAG_CLASS*(klass: pointer): PTextTagClass = + result = cast[PTextTagClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_TEXT_TAG())) + +proc IS_TEXT_TAG*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TEXT_TAG()) + +proc IS_TEXT_TAG_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_TEXT_TAG()) + +proc TEXT_TAG_GET_CLASS*(obj: pointer): PTextTagClass = + result = cast[PTextTagClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_TEXT_TAG())) + +proc TYPE_TEXT_ATTRIBUTES*(): GType = + result = text_attributes_get_type() + +proc bg_color_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_bg_color_set) shr + bp_TGtkTextTag_bg_color_set + +proc set_bg_color_set*(a: var TTextTag, `bg_color_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`bg_color_set` shl bp_TGtkTextTag_bg_color_set) and + bm_TGtkTextTag_bg_color_set) + +proc bg_stipple_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_bg_stipple_set) shr + bp_TGtkTextTag_bg_stipple_set + +proc set_bg_stipple_set*(a: var TTextTag, `bg_stipple_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`bg_stipple_set` shl bp_TGtkTextTag_bg_stipple_set) and + bm_TGtkTextTag_bg_stipple_set) + +proc fg_color_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_fg_color_set) shr + bp_TGtkTextTag_fg_color_set + +proc set_fg_color_set*(a: var TTextTag, `fg_color_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`fg_color_set` shl bp_TGtkTextTag_fg_color_set) and + bm_TGtkTextTag_fg_color_set) + +proc scale_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_scale_set) shr + bp_TGtkTextTag_scale_set + +proc set_scale_set*(a: var TTextTag, `scale_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`scale_set` shl bp_TGtkTextTag_scale_set) and + bm_TGtkTextTag_scale_set) + +proc fg_stipple_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_fg_stipple_set) shr + bp_TGtkTextTag_fg_stipple_set + +proc set_fg_stipple_set*(a: var TTextTag, `fg_stipple_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`fg_stipple_set` shl bp_TGtkTextTag_fg_stipple_set) and + bm_TGtkTextTag_fg_stipple_set) + +proc justification_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_justification_set) shr + bp_TGtkTextTag_justification_set + +proc set_justification_set*(a: var TTextTag, `justification_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`justification_set` shl bp_TGtkTextTag_justification_set) and + bm_TGtkTextTag_justification_set) + +proc left_margin_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_left_margin_set) shr + bp_TGtkTextTag_left_margin_set + +proc set_left_margin_set*(a: var TTextTag, `left_margin_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`left_margin_set` shl bp_TGtkTextTag_left_margin_set) and + bm_TGtkTextTag_left_margin_set) + +proc indent_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_indent_set) shr + bp_TGtkTextTag_indent_set + +proc set_indent_set*(a: var TTextTag, `indent_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`indent_set` shl bp_TGtkTextTag_indent_set) and + bm_TGtkTextTag_indent_set) + +proc rise_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_rise_set) shr + bp_TGtkTextTag_rise_set + +proc set_rise_set*(a: var TTextTag, `rise_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`rise_set` shl bp_TGtkTextTag_rise_set) and bm_TGtkTextTag_rise_set) + +proc strikethrough_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_strikethrough_set) shr + bp_TGtkTextTag_strikethrough_set + +proc set_strikethrough_set*(a: var TTextTag, `strikethrough_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`strikethrough_set` shl bp_TGtkTextTag_strikethrough_set) and + bm_TGtkTextTag_strikethrough_set) + +proc right_margin_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_right_margin_set) shr + bp_TGtkTextTag_right_margin_set + +proc set_right_margin_set*(a: var TTextTag, `right_margin_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`right_margin_set` shl bp_TGtkTextTag_right_margin_set) and + bm_TGtkTextTag_right_margin_set) + +proc pixels_above_lines_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_pixels_above_lines_set) shr + bp_TGtkTextTag_pixels_above_lines_set + +proc set_pixels_above_lines_set*(a: var TTextTag, + `pixels_above_lines_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`pixels_above_lines_set` shl bp_TGtkTextTag_pixels_above_lines_set) and + bm_TGtkTextTag_pixels_above_lines_set) + +proc pixels_below_lines_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_pixels_below_lines_set) shr + bp_TGtkTextTag_pixels_below_lines_set + +proc set_pixels_below_lines_set*(a: var TTextTag, + `pixels_below_lines_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`pixels_below_lines_set` shl bp_TGtkTextTag_pixels_below_lines_set) and + bm_TGtkTextTag_pixels_below_lines_set) + +proc pixels_inside_wrap_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_pixels_inside_wrap_set) shr + bp_TGtkTextTag_pixels_inside_wrap_set + +proc set_pixels_inside_wrap_set*(a: var TTextTag, + `pixels_inside_wrap_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`pixels_inside_wrap_set` shl bp_TGtkTextTag_pixels_inside_wrap_set) and + bm_TGtkTextTag_pixels_inside_wrap_set) + +proc tabs_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_tabs_set) shr + bp_TGtkTextTag_tabs_set + +proc set_tabs_set*(a: var TTextTag, `tabs_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`tabs_set` shl bp_TGtkTextTag_tabs_set) and bm_TGtkTextTag_tabs_set) + +proc underline_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_underline_set) shr + bp_TGtkTextTag_underline_set + +proc set_underline_set*(a: var TTextTag, `underline_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`underline_set` shl bp_TGtkTextTag_underline_set) and + bm_TGtkTextTag_underline_set) + +proc wrap_mode_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_wrap_mode_set) shr + bp_TGtkTextTag_wrap_mode_set + +proc set_wrap_mode_set*(a: var TTextTag, `wrap_mode_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`wrap_mode_set` shl bp_TGtkTextTag_wrap_mode_set) and + bm_TGtkTextTag_wrap_mode_set) + +proc bg_full_height_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_bg_full_height_set) shr + bp_TGtkTextTag_bg_full_height_set + +proc set_bg_full_height_set*(a: var TTextTag, `bg_full_height_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`bg_full_height_set` shl bp_TGtkTextTag_bg_full_height_set) and + bm_TGtkTextTag_bg_full_height_set) + +proc invisible_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_invisible_set) shr + bp_TGtkTextTag_invisible_set + +proc set_invisible_set*(a: var TTextTag, `invisible_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`invisible_set` shl bp_TGtkTextTag_invisible_set) and + bm_TGtkTextTag_invisible_set) + +proc editable_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_editable_set) shr + bp_TGtkTextTag_editable_set + +proc set_editable_set*(a: var TTextTag, `editable_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`editable_set` shl bp_TGtkTextTag_editable_set) and + bm_TGtkTextTag_editable_set) + +proc language_set*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_language_set) shr + bp_TGtkTextTag_language_set + +proc set_language_set*(a: var TTextTag, `language_set`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`language_set` shl bp_TGtkTextTag_language_set) and + bm_TGtkTextTag_language_set) + +proc pad1*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_pad1) shr bp_TGtkTextTag_pad1 + +proc set_pad1*(a: var TTextTag, `pad1`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`pad1` shl bp_TGtkTextTag_pad1) and bm_TGtkTextTag_pad1) + +proc pad2*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_pad2) shr bp_TGtkTextTag_pad2 + +proc set_pad2*(a: var TTextTag, `pad2`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`pad2` shl bp_TGtkTextTag_pad2) and bm_TGtkTextTag_pad2) + +proc pad3*(a: var TTextTag): guint = + result = (a.TextTagflag0 and bm_TGtkTextTag_pad3) shr bp_TGtkTextTag_pad3 + +proc set_pad3*(a: var TTextTag, `pad3`: guint) = + a.TextTagflag0 = a.TextTagflag0 or + ((`pad3` shl bp_TGtkTextTag_pad3) and bm_TGtkTextTag_pad3) + +proc underline*(a: var TTextAppearance): guint = + result = (a.flag0 and bm_TGtkTextAppearance_underline) shr + bp_TGtkTextAppearance_underline + +proc set_underline*(a: var TTextAppearance, `underline`: guint) = + a.flag0 = a.flag0 or + (int16(`underline` shl bp_TGtkTextAppearance_underline) and + bm_TGtkTextAppearance_underline) + +proc strikethrough*(a: var TTextAppearance): guint = + result = (a.flag0 and bm_TGtkTextAppearance_strikethrough) shr + bp_TGtkTextAppearance_strikethrough + +proc set_strikethrough*(a: var TTextAppearance, `strikethrough`: guint) = + a.flag0 = a.flag0 or + (int16(`strikethrough` shl bp_TGtkTextAppearance_strikethrough) and + bm_TGtkTextAppearance_strikethrough) + +proc draw_bg*(a: var TTextAppearance): guint = + result = (a.flag0 and bm_TGtkTextAppearance_draw_bg) shr + bp_TGtkTextAppearance_draw_bg + +proc set_draw_bg*(a: var TTextAppearance, `draw_bg`: guint) = + a.flag0 = a.flag0 or + (int16(`draw_bg` shl bp_TGtkTextAppearance_draw_bg) and + bm_TGtkTextAppearance_draw_bg) + +proc inside_selection*(a: var TTextAppearance): guint = + result = (a.flag0 and bm_TGtkTextAppearance_inside_selection) shr + bp_TGtkTextAppearance_inside_selection + +proc set_inside_selection*(a: var TTextAppearance, `inside_selection`: guint) = + a.flag0 = a.flag0 or + (int16(`inside_selection` shl bp_TGtkTextAppearance_inside_selection) and + bm_TGtkTextAppearance_inside_selection) + +proc is_text*(a: var TTextAppearance): guint = + result = (a.flag0 and bm_TGtkTextAppearance_is_text) shr + bp_TGtkTextAppearance_is_text + +proc set_is_text*(a: var TTextAppearance, `is_text`: guint) = + a.flag0 = a.flag0 or + (int16(`is_text` shl bp_TGtkTextAppearance_is_text) and + bm_TGtkTextAppearance_is_text) + +proc pad1*(a: var TTextAppearance): guint = + result = (a.flag0 and bm_TGtkTextAppearance_pad1) shr + bp_TGtkTextAppearance_pad1 + +proc set_pad1*(a: var TTextAppearance, `pad1`: guint) = + a.flag0 = a.flag0 or + (int16(`pad1` shl bp_TGtkTextAppearance_pad1) and + bm_TGtkTextAppearance_pad1) + +proc pad2*(a: var TTextAppearance): guint = + result = (a.flag0 and bm_TGtkTextAppearance_pad2) shr + bp_TGtkTextAppearance_pad2 + +proc set_pad2*(a: var TTextAppearance, `pad2`: guint) = + a.flag0 = a.flag0 or + (int16(`pad2` shl bp_TGtkTextAppearance_pad2) and + bm_TGtkTextAppearance_pad2) + +proc pad3*(a: var TTextAppearance): guint = + result = (a.flag0 and bm_TGtkTextAppearance_pad3) shr + bp_TGtkTextAppearance_pad3 + +proc set_pad3*(a: var TTextAppearance, `pad3`: guint) = + a.flag0 = a.flag0 or + (int16(`pad3` shl bp_TGtkTextAppearance_pad3) and + bm_TGtkTextAppearance_pad3) + +proc pad4*(a: var TTextAppearance): guint = + result = (a.flag0 and bm_TGtkTextAppearance_pad4) shr + bp_TGtkTextAppearance_pad4 + +proc set_pad4*(a: var TTextAppearance, `pad4`: guint) = + a.flag0 = a.flag0 or + (int16(`pad4` shl bp_TGtkTextAppearance_pad4) and + bm_TGtkTextAppearance_pad4) + +proc invisible*(a: var TTextAttributes): guint = + result = (a.flag0 and bm_TGtkTextAttributes_invisible) shr + bp_TGtkTextAttributes_invisible + +proc set_invisible*(a: var TTextAttributes, `invisible`: guint) = + a.flag0 = a.flag0 or + (int16(`invisible` shl bp_TGtkTextAttributes_invisible) and + bm_TGtkTextAttributes_invisible) + +proc bg_full_height*(a: var TTextAttributes): guint = + result = (a.flag0 and bm_TGtkTextAttributes_bg_full_height) shr + bp_TGtkTextAttributes_bg_full_height + +proc set_bg_full_height*(a: var TTextAttributes, `bg_full_height`: guint) = + a.flag0 = a.flag0 or + (int16(`bg_full_height` shl bp_TGtkTextAttributes_bg_full_height) and + bm_TGtkTextAttributes_bg_full_height) + +proc editable*(a: var TTextAttributes): guint = + result = (a.flag0 and bm_TGtkTextAttributes_editable) shr + bp_TGtkTextAttributes_editable + +proc set_editable*(a: var TTextAttributes, `editable`: guint) = + a.flag0 = a.flag0 or + (int16(`editable` shl bp_TGtkTextAttributes_editable) and + bm_TGtkTextAttributes_editable) + +proc realized*(a: var TTextAttributes): guint = + result = (a.flag0 and bm_TGtkTextAttributes_realized) shr + bp_TGtkTextAttributes_realized + +proc set_realized*(a: var TTextAttributes, `realized`: guint) = + a.flag0 = a.flag0 or + (int16(`realized` shl bp_TGtkTextAttributes_realized) and + bm_TGtkTextAttributes_realized) + +proc pad1*(a: var TTextAttributes): guint = + result = (a.flag0 and bm_TGtkTextAttributes_pad1) shr + bp_TGtkTextAttributes_pad1 + +proc set_pad1*(a: var TTextAttributes, `pad1`: guint) = + a.flag0 = a.flag0 or + (int16(`pad1` shl bp_TGtkTextAttributes_pad1) and + bm_TGtkTextAttributes_pad1) + +proc pad2*(a: var TTextAttributes): guint = + result = (a.flag0 and bm_TGtkTextAttributes_pad2) shr + bp_TGtkTextAttributes_pad2 + +proc set_pad2*(a: var TTextAttributes, `pad2`: guint) = + a.flag0 = a.flag0 or + (int16(`pad2` shl bp_TGtkTextAttributes_pad2) and + bm_TGtkTextAttributes_pad2) + +proc pad3*(a: var TTextAttributes): guint = + result = (a.flag0 and bm_TGtkTextAttributes_pad3) shr + bp_TGtkTextAttributes_pad3 + +proc set_pad3*(a: var TTextAttributes, `pad3`: guint) = + a.flag0 = a.flag0 or + (int16(`pad3` shl bp_TGtkTextAttributes_pad3) and + bm_TGtkTextAttributes_pad3) + +proc pad4*(a: var TTextAttributes): guint = + result = (a.flag0 and bm_TGtkTextAttributes_pad4) shr + bp_TGtkTextAttributes_pad4 + +proc set_pad4*(a: var TTextAttributes, `pad4`: guint) = + a.flag0 = a.flag0 or + (int16(`pad4` shl bp_TGtkTextAttributes_pad4) and + bm_TGtkTextAttributes_pad4) + +proc TYPE_TEXT_TAG_TABLE*(): GType = + result = text_tag_table_get_type() + +proc TEXT_TAG_TABLE*(obj: pointer): PTextTagTable = + result = cast[PTextTagTable](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_TEXT_TAG_TABLE())) + +proc TEXT_TAG_TABLE_CLASS*(klass: pointer): PTextTagTableClass = + result = cast[PTextTagTableClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_TEXT_TAG_TABLE())) + +proc IS_TEXT_TAG_TABLE*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TEXT_TAG_TABLE()) + +proc IS_TEXT_TAG_TABLE_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_TEXT_TAG_TABLE()) + +proc TEXT_TAG_TABLE_GET_CLASS*(obj: pointer): PTextTagTableClass = + result = cast[PTextTagTableClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_TEXT_TAG_TABLE())) + +proc TYPE_TEXT_MARK*(): GType = + result = text_mark_get_type() + +proc TEXT_MARK*(anObject: pointer): PTextMark = + result = cast[PTextMark](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_TEXT_MARK())) + +proc TEXT_MARK_CLASS*(klass: pointer): PTextMarkClass = + result = cast[PTextMarkClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_TEXT_MARK())) + +proc IS_TEXT_MARK*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_TEXT_MARK()) + +proc IS_TEXT_MARK_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_TEXT_MARK()) + +proc TEXT_MARK_GET_CLASS*(obj: pointer): PTextMarkClass = + result = cast[PTextMarkClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_TEXT_MARK())) + +proc visible*(a: var TTextMarkBody): guint = + result = (a.flag0 and bm_TGtkTextMarkBody_visible) shr + bp_TGtkTextMarkBody_visible + +proc set_visible*(a: var TTextMarkBody, `visible`: guint) = + a.flag0 = a.flag0 or + (int16(`visible` shl bp_TGtkTextMarkBody_visible) and + bm_TGtkTextMarkBody_visible) + +proc not_deleteable*(a: var TTextMarkBody): guint = + result = (a.flag0 and bm_TGtkTextMarkBody_not_deleteable) shr + bp_TGtkTextMarkBody_not_deleteable + +proc set_not_deleteable*(a: var TTextMarkBody, `not_deleteable`: guint) = + a.flag0 = a.flag0 or + (int16(`not_deleteable` shl bp_TGtkTextMarkBody_not_deleteable) and + bm_TGtkTextMarkBody_not_deleteable) + +proc TYPE_TEXT_CHILD_ANCHOR*(): GType = + result = text_child_anchor_get_type() + +proc TEXT_CHILD_ANCHOR*(anObject: pointer): PTextChildAnchor = + result = cast[PTextChildAnchor](G_TYPE_CHECK_INSTANCE_CAST(anObject, + TYPE_TEXT_CHILD_ANCHOR())) + +proc TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): PTextChildAnchorClass = + result = cast[PTextChildAnchorClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_TEXT_CHILD_ANCHOR())) + +proc IS_TEXT_CHILD_ANCHOR*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_TEXT_CHILD_ANCHOR()) + +proc IS_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_TEXT_CHILD_ANCHOR()) + +proc TEXT_CHILD_ANCHOR_GET_CLASS*(obj: pointer): PTextChildAnchorClass = + result = cast[PTextChildAnchorClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_TEXT_CHILD_ANCHOR())) + +proc width*(a: PTextLineData): gint = + result = a.flag0 and bm_TGtkTextLineData_width + +proc set_width*(a: PTextLineData, NewWidth: gint) = + a.flag0 = (bm_TGtkTextLineData_width and NewWidth) or a.flag0 + +proc valid*(a: PTextLineData): gint = + result = (a.flag0 and bm_TGtkTextLineData_valid) shr + bp_TGtkTextLineData_valid + +proc set_valid*(a: PTextLineData, `valid`: gint) = + a.flag0 = a.flag0 or + ((`valid` shl bp_TGtkTextLineData_valid) and bm_TGtkTextLineData_valid) + +proc TYPE_TEXT_BUFFER*(): GType = + result = text_buffer_get_type() + +proc TEXT_BUFFER*(obj: pointer): PTextBuffer = + result = cast[PTextBuffer](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_TEXT_BUFFER())) + +proc TEXT_BUFFER_CLASS*(klass: pointer): PTextBufferClass = + result = cast[PTextBufferClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_TEXT_BUFFER())) + +proc IS_TEXT_BUFFER*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TEXT_BUFFER()) + +proc IS_TEXT_BUFFER_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_TEXT_BUFFER()) + +proc TEXT_BUFFER_GET_CLASS*(obj: pointer): PTextBufferClass = + result = cast[PTextBufferClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_TEXT_BUFFER())) + +proc modified*(a: var TTextBuffer): guint = + result = (a.TextBufferflag0 and bm_TGtkTextBuffer_modified) shr + bp_TGtkTextBuffer_modified + +proc set_modified*(a: var TTextBuffer, `modified`: guint) = + a.TextBufferflag0 = a.TextBufferflag0 or + (int16(`modified` shl bp_TGtkTextBuffer_modified) and + bm_TGtkTextBuffer_modified) + +proc TYPE_TEXT_LAYOUT*(): GType = + result = text_layout_get_type() + +proc TEXT_LAYOUT*(obj: pointer): PTextLayout = + result = cast[PTextLayout](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_TEXT_LAYOUT())) + +proc TEXT_LAYOUT_CLASS*(klass: pointer): PTextLayoutClass = + result = cast[PTextLayoutClass](G_TYPE_CHECK_CLASS_CAST(klass, + TYPE_TEXT_LAYOUT())) + +proc IS_TEXT_LAYOUT*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TEXT_LAYOUT()) + +proc IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_TEXT_LAYOUT()) + +proc TEXT_LAYOUT_GET_CLASS*(obj: pointer): PTextLayoutClass = + result = cast[PTextLayoutClass](G_TYPE_INSTANCE_GET_CLASS(obj, + TYPE_TEXT_LAYOUT())) + +proc cursor_visible*(a: var TTextLayout): guint = + result = (a.TextLayoutflag0 and bm_TGtkTextLayout_cursor_visible) shr + bp_TGtkTextLayout_cursor_visible + +proc set_cursor_visible*(a: var TTextLayout, `cursor_visible`: guint) = + a.TextLayoutflag0 = a.TextLayoutflag0 or + (int16(`cursor_visible` shl bp_TGtkTextLayout_cursor_visible) and + bm_TGtkTextLayout_cursor_visible) + +proc cursor_direction*(a: var TTextLayout): gint = + result = (a.TextLayoutflag0 and bm_TGtkTextLayout_cursor_direction) shr + bp_TGtkTextLayout_cursor_direction + +proc set_cursor_direction*(a: var TTextLayout, `cursor_direction`: gint) = + a.TextLayoutflag0 = a.TextLayoutflag0 or + (int16(`cursor_direction` shl bp_TGtkTextLayout_cursor_direction) and + bm_TGtkTextLayout_cursor_direction) + +proc is_strong*(a: var TTextCursorDisplay): guint = + result = (a.flag0 and bm_TGtkTextCursorDisplay_is_strong) shr + bp_TGtkTextCursorDisplay_is_strong + +proc set_is_strong*(a: var TTextCursorDisplay, `is_strong`: guint) = + a.flag0 = a.flag0 or + (int16(`is_strong` shl bp_TGtkTextCursorDisplay_is_strong) and + bm_TGtkTextCursorDisplay_is_strong) + +proc is_weak*(a: var TTextCursorDisplay): guint = + result = (a.flag0 and bm_TGtkTextCursorDisplay_is_weak) shr + bp_TGtkTextCursorDisplay_is_weak + +proc set_is_weak*(a: var TTextCursorDisplay, `is_weak`: guint) = + a.flag0 = a.flag0 or + (int16(`is_weak` shl bp_TGtkTextCursorDisplay_is_weak) and + bm_TGtkTextCursorDisplay_is_weak) + +proc TYPE_TEXT_VIEW*(): GType = + result = text_view_get_type() + +proc TEXT_VIEW*(obj: pointer): PTextView = + result = cast[PTextView](CHECK_CAST(obj, TYPE_TEXT_VIEW())) + +proc TEXT_VIEW_CLASS*(klass: pointer): PTextViewClass = + result = cast[PTextViewClass](CHECK_CLASS_CAST(klass, TYPE_TEXT_VIEW())) + +proc IS_TEXT_VIEW*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TEXT_VIEW()) + +proc IS_TEXT_VIEW_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TEXT_VIEW()) + +proc TEXT_VIEW_GET_CLASS*(obj: pointer): PTextViewClass = + result = cast[PTextViewClass](CHECK_GET_CLASS(obj, TYPE_TEXT_VIEW())) + +proc editable*(a: var TTextView): guint = + result = (a.TextViewflag0 and bm_TGtkTextView_editable) shr + bp_TGtkTextView_editable + +proc set_editable*(a: var TTextView, `editable`: guint) = + a.TextViewflag0 = a.TextViewflag0 or + (int16(`editable` shl bp_TGtkTextView_editable) and + bm_TGtkTextView_editable) + +proc overwrite_mode*(a: var TTextView): guint = + result = (a.TextViewflag0 and bm_TGtkTextView_overwrite_mode) shr + bp_TGtkTextView_overwrite_mode + +proc set_overwrite_mode*(a: var TTextView, `overwrite_mode`: guint) = + a.TextViewflag0 = a.TextViewflag0 or + (int16(`overwrite_mode` shl bp_TGtkTextView_overwrite_mode) and + bm_TGtkTextView_overwrite_mode) + +proc cursor_visible*(a: var TTextView): guint = + result = (a.TextViewflag0 and bm_TGtkTextView_cursor_visible) shr + bp_TGtkTextView_cursor_visible + +proc set_cursor_visible*(a: var TTextView, `cursor_visible`: guint) = + a.TextViewflag0 = a.TextViewflag0 or + (int16(`cursor_visible` shl bp_TGtkTextView_cursor_visible) and + bm_TGtkTextView_cursor_visible) + +proc need_im_reset*(a: var TTextView): guint = + result = (a.TextViewflag0 and bm_TGtkTextView_need_im_reset) shr + bp_TGtkTextView_need_im_reset + +proc set_need_im_reset*(a: var TTextView, `need_im_reset`: guint) = + a.TextViewflag0 = a.TextViewflag0 or + (int16(`need_im_reset` shl bp_TGtkTextView_need_im_reset) and + bm_TGtkTextView_need_im_reset) + +proc just_selected_element*(a: var TTextView): guint = + result = (a.TextViewflag0 and bm_TGtkTextView_just_selected_element) shr + bp_TGtkTextView_just_selected_element + +proc set_just_selected_element*(a: var TTextView, `just_selected_element`: guint) = + a.TextViewflag0 = a.TextViewflag0 or + (int16(`just_selected_element` shl + bp_TGtkTextView_just_selected_element) and + bm_TGtkTextView_just_selected_element) + +proc disable_scroll_on_focus*(a: var TTextView): guint = + result = (a.TextViewflag0 and bm_TGtkTextView_disable_scroll_on_focus) shr + bp_TGtkTextView_disable_scroll_on_focus + +proc set_disable_scroll_on_focus*(a: var TTextView, + `disable_scroll_on_focus`: guint) = + a.TextViewflag0 = a.TextViewflag0 or + (int16(`disable_scroll_on_focus` shl + bp_TGtkTextView_disable_scroll_on_focus) and + bm_TGtkTextView_disable_scroll_on_focus) + +proc onscreen_validated*(a: var TTextView): guint = + result = (a.TextViewflag0 and bm_TGtkTextView_onscreen_validated) shr + bp_TGtkTextView_onscreen_validated + +proc set_onscreen_validated*(a: var TTextView, `onscreen_validated`: guint) = + a.TextViewflag0 = a.TextViewflag0 or + (int16(`onscreen_validated` shl bp_TGtkTextView_onscreen_validated) and + bm_TGtkTextView_onscreen_validated) + +proc mouse_cursor_obscured*(a: var TTextView): guint = + result = (a.TextViewflag0 and bm_TGtkTextView_mouse_cursor_obscured) shr + bp_TGtkTextView_mouse_cursor_obscured + +proc set_mouse_cursor_obscured*(a: var TTextView, `mouse_cursor_obscured`: guint) = + a.TextViewflag0 = a.TextViewflag0 or + (int16(`mouse_cursor_obscured` shl + bp_TGtkTextView_mouse_cursor_obscured) and + bm_TGtkTextView_mouse_cursor_obscured) + +proc TYPE_TIPS_QUERY*(): GType = + result = tips_query_get_type() + +proc TIPS_QUERY*(obj: pointer): PTipsQuery = + result = cast[PTipsQuery](CHECK_CAST(obj, TYPE_TIPS_QUERY())) + +proc TIPS_QUERY_CLASS*(klass: pointer): PTipsQueryClass = + result = cast[PTipsQueryClass](CHECK_CLASS_CAST(klass, TYPE_TIPS_QUERY())) + +proc IS_TIPS_QUERY*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TIPS_QUERY()) + +proc IS_TIPS_QUERY_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TIPS_QUERY()) + +proc TIPS_QUERY_GET_CLASS*(obj: pointer): PTipsQueryClass = + result = cast[PTipsQueryClass](CHECK_GET_CLASS(obj, TYPE_TIPS_QUERY())) + +proc emit_always*(a: var TTipsQuery): guint = + result = (a.TipsQueryflag0 and bm_TGtkTipsQuery_emit_always) shr + bp_TGtkTipsQuery_emit_always + +proc set_emit_always*(a: var TTipsQuery, `emit_always`: guint) = + a.TipsQueryflag0 = a.TipsQueryflag0 or + (int16(`emit_always` shl bp_TGtkTipsQuery_emit_always) and + bm_TGtkTipsQuery_emit_always) + +proc in_query*(a: var TTipsQuery): guint = + result = (a.TipsQueryflag0 and bm_TGtkTipsQuery_in_query) shr + bp_TGtkTipsQuery_in_query + +proc set_in_query*(a: var TTipsQuery, `in_query`: guint) = + a.TipsQueryflag0 = a.TipsQueryflag0 or + (int16(`in_query` shl bp_TGtkTipsQuery_in_query) and + bm_TGtkTipsQuery_in_query) + +proc TYPE_TOOLTIPS*(): GType = + result = tooltips_get_type() + +proc TOOLTIPS*(obj: pointer): PTooltips = + result = cast[PTooltips](CHECK_CAST(obj, TYPE_TOOLTIPS())) + +proc TOOLTIPS_CLASS*(klass: pointer): PTooltipsClass = + result = cast[PTooltipsClass](CHECK_CLASS_CAST(klass, TYPE_TOOLTIPS())) + +proc IS_TOOLTIPS*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TOOLTIPS()) + +proc IS_TOOLTIPS_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TOOLTIPS()) + +proc TOOLTIPS_GET_CLASS*(obj: pointer): PTooltipsClass = + result = cast[PTooltipsClass](CHECK_GET_CLASS(obj, TYPE_TOOLTIPS())) + +proc delay*(a: var TTooltips): guint = + result = (a.Tooltipsflag0 and bm_TGtkTooltips_delay) shr + bp_TGtkTooltips_delay + +proc set_delay*(a: var TTooltips, `delay`: guint) = + a.Tooltipsflag0 = a.Tooltipsflag0 or + ((`delay` shl bp_TGtkTooltips_delay) and bm_TGtkTooltips_delay) + +proc enabled*(a: var TTooltips): guint = + result = (a.Tooltipsflag0 and bm_TGtkTooltips_enabled) shr + bp_TGtkTooltips_enabled + +proc set_enabled*(a: var TTooltips, `enabled`: guint) = + a.Tooltipsflag0 = a.Tooltipsflag0 or + ((`enabled` shl bp_TGtkTooltips_enabled) and bm_TGtkTooltips_enabled) + +proc have_grab*(a: var TTooltips): guint = + result = (a.Tooltipsflag0 and bm_TGtkTooltips_have_grab) shr + bp_TGtkTooltips_have_grab + +proc set_have_grab*(a: var TTooltips, `have_grab`: guint) = + a.Tooltipsflag0 = a.Tooltipsflag0 or + ((`have_grab` shl bp_TGtkTooltips_have_grab) and + bm_TGtkTooltips_have_grab) + +proc use_sticky_delay*(a: var TTooltips): guint = + result = (a.Tooltipsflag0 and bm_TGtkTooltips_use_sticky_delay) shr + bp_TGtkTooltips_use_sticky_delay + +proc set_use_sticky_delay*(a: var TTooltips, `use_sticky_delay`: guint) = + a.Tooltipsflag0 = a.Tooltipsflag0 or + ((`use_sticky_delay` shl bp_TGtkTooltips_use_sticky_delay) and + bm_TGtkTooltips_use_sticky_delay) + +proc TYPE_TOOLBAR*(): GType = + result = toolbar_get_type() + +proc TOOLBAR*(obj: pointer): PToolbar = + result = cast[PToolbar](CHECK_CAST(obj, TYPE_TOOLBAR())) + +proc TOOLBAR_CLASS*(klass: pointer): PToolbarClass = + result = cast[PToolbarClass](CHECK_CLASS_CAST(klass, TYPE_TOOLBAR())) + +proc IS_TOOLBAR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TOOLBAR()) + +proc IS_TOOLBAR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TOOLBAR()) + +proc TOOLBAR_GET_CLASS*(obj: pointer): PToolbarClass = + result = cast[PToolbarClass](CHECK_GET_CLASS(obj, TYPE_TOOLBAR())) + +proc style_set*(a: var TToolbar): guint = + result = (a.Toolbarflag0 and bm_TGtkToolbar_style_set) shr + bp_TGtkToolbar_style_set + +proc set_style_set*(a: var TToolbar, `style_set`: guint) = + a.Toolbarflag0 = a.Toolbarflag0 or + (int16(`style_set` shl bp_TGtkToolbar_style_set) and + bm_TGtkToolbar_style_set) + +proc icon_size_set*(a: var TToolbar): guint = + result = (a.Toolbarflag0 and bm_TGtkToolbar_icon_size_set) shr + bp_TGtkToolbar_icon_size_set + +proc set_icon_size_set*(a: var TToolbar, `icon_size_set`: guint) = + a.Toolbarflag0 = a.Toolbarflag0 or + (int16(`icon_size_set` shl bp_TGtkToolbar_icon_size_set) and + bm_TGtkToolbar_icon_size_set) + +proc TYPE_TREE*(): GType = + result = tree_get_type() + +proc TREE*(obj: pointer): PTree = + result = cast[PTree](CHECK_CAST(obj, TYPE_TREE())) + +proc TREE_CLASS*(klass: pointer): PTreeClass = + result = cast[PTreeClass](CHECK_CLASS_CAST(klass, TYPE_TREE())) + +proc IS_TREE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TREE()) + +proc IS_TREE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TREE()) + +proc TREE_GET_CLASS*(obj: pointer): PTreeClass = + result = cast[PTreeClass](CHECK_GET_CLASS(obj, TYPE_TREE())) + +proc IS_ROOT_TREE*(obj: pointer): bool = + result = (cast[PObject]((TREE(obj)).root_tree)) == (cast[PObject](obj)) + +proc TREE_ROOT_TREE*(obj: pointer): PTree = + result = TREE(obj).root_tree + +proc TREE_SELECTION_OLD*(obj: pointer): PGList = + result = (TREE_ROOT_TREE(obj)).selection + +proc selection_mode*(a: var TTree): guint = + result = (a.Treeflag0 and bm_TGtkTree_selection_mode) shr + bp_TGtkTree_selection_mode + +proc set_selection_mode*(a: var TTree, `selection_mode`: guint) = + a.Treeflag0 = a.Treeflag0 or + (int16(`selection_mode` shl bp_TGtkTree_selection_mode) and + bm_TGtkTree_selection_mode) + +proc view_mode*(a: var TTree): guint = + result = (a.Treeflag0 and bm_TGtkTree_view_mode) shr bp_TGtkTree_view_mode + +proc set_view_mode*(a: var TTree, `view_mode`: guint) = + a.Treeflag0 = a.Treeflag0 or + (int16(`view_mode` shl bp_TGtkTree_view_mode) and bm_TGtkTree_view_mode) + +proc view_line*(a: var TTree): guint = + result = (a.Treeflag0 and bm_TGtkTree_view_line) shr bp_TGtkTree_view_line + +proc set_view_line*(a: var TTree, `view_line`: guint) = + a.Treeflag0 = a.Treeflag0 or + (int16(`view_line` shl bp_TGtkTree_view_line) and bm_TGtkTree_view_line) + +proc TYPE_TREE_DRAG_SOURCE*(): GType = + result = tree_drag_source_get_type() + +proc TREE_DRAG_SOURCE*(obj: pointer): PTreeDragSource = + result = cast[PTreeDragSource](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_TREE_DRAG_SOURCE())) + +proc IS_TREE_DRAG_SOURCE*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TREE_DRAG_SOURCE()) + +proc TREE_DRAG_SOURCE_GET_IFACE*(obj: pointer): PTreeDragSourceIface = + result = cast[PTreeDragSourceIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_TREE_DRAG_SOURCE())) + +proc TYPE_TREE_DRAG_DEST*(): GType = + result = tree_drag_dest_get_type() + +proc TREE_DRAG_DEST*(obj: pointer): PTreeDragDest = + result = cast[PTreeDragDest](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_TREE_DRAG_DEST())) + +proc IS_TREE_DRAG_DEST*(obj: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TREE_DRAG_DEST()) + +proc TREE_DRAG_DEST_GET_IFACE*(obj: pointer): PTreeDragDestIface = + result = cast[PTreeDragDestIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, + TYPE_TREE_DRAG_DEST())) + +proc TYPE_TREE_ITEM*(): GType = + result = tree_item_get_type() + +proc TREE_ITEM*(obj: pointer): PTreeItem = + result = cast[PTreeItem](CHECK_CAST(obj, TYPE_TREE_ITEM())) + +proc TREE_ITEM_CLASS*(klass: pointer): PTreeItemClass = + result = cast[PTreeItemClass](CHECK_CLASS_CAST(klass, TYPE_TREE_ITEM())) + +proc IS_TREE_ITEM*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TREE_ITEM()) + +proc IS_TREE_ITEM_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TREE_ITEM()) + +proc TREE_ITEM_GET_CLASS*(obj: pointer): PTreeItemClass = + result = cast[PTreeItemClass](CHECK_GET_CLASS(obj, TYPE_TREE_ITEM())) + +proc TREE_ITEM_SUBTREE*(obj: pointer): PWidget = + result = (TREE_ITEM(obj)).subtree + +proc expanded*(a: var TTreeItem): guint = + result = (a.TreeItemflag0 and bm_TGtkTreeItem_expanded) shr + bp_TGtkTreeItem_expanded + +proc set_expanded*(a: var TTreeItem, `expanded`: guint) = + a.TreeItemflag0 = a.TreeItemflag0 or + (int16(`expanded` shl bp_TGtkTreeItem_expanded) and + bm_TGtkTreeItem_expanded) + +proc TYPE_TREE_SELECTION*(): GType = + result = tree_selection_get_type() + +proc TREE_SELECTION*(obj: pointer): PTreeSelection = + result = cast[PTreeSelection](CHECK_CAST(obj, TYPE_TREE_SELECTION())) + +proc TREE_SELECTION_CLASS*(klass: pointer): PTreeSelectionClass = + result = cast[PTreeSelectionClass](CHECK_CLASS_CAST(klass, + TYPE_TREE_SELECTION())) + +proc IS_TREE_SELECTION*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TREE_SELECTION()) + +proc IS_TREE_SELECTION_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TREE_SELECTION()) + +proc TREE_SELECTION_GET_CLASS*(obj: pointer): PTreeSelectionClass = + result = cast[PTreeSelectionClass](CHECK_GET_CLASS(obj, TYPE_TREE_SELECTION())) + +proc TYPE_TREE_STORE*(): GType = + result = tree_store_get_type() + +proc TREE_STORE*(obj: pointer): PTreeStore = + result = cast[PTreeStore](CHECK_CAST(obj, TYPE_TREE_STORE())) + +proc TREE_STORE_CLASS*(klass: pointer): PTreeStoreClass = + result = cast[PTreeStoreClass](CHECK_CLASS_CAST(klass, TYPE_TREE_STORE())) + +proc IS_TREE_STORE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TREE_STORE()) + +proc IS_TREE_STORE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TREE_STORE()) + +proc TREE_STORE_GET_CLASS*(obj: pointer): PTreeStoreClass = + result = cast[PTreeStoreClass](CHECK_GET_CLASS(obj, TYPE_TREE_STORE())) + +proc columns_dirty*(a: var TTreeStore): guint = + result = (a.TreeStoreflag0 and bm_TGtkTreeStore_columns_dirty) shr + bp_TGtkTreeStore_columns_dirty + +proc set_columns_dirty*(a: var TTreeStore, `columns_dirty`: guint) = + a.TreeStoreflag0 = a.TreeStoreflag0 or + (int16(`columns_dirty` shl bp_TGtkTreeStore_columns_dirty) and + bm_TGtkTreeStore_columns_dirty) + +proc TYPE_TREE_VIEW_COLUMN*(): GType = + result = tree_view_column_get_type() + +proc TREE_VIEW_COLUMN*(obj: pointer): PTreeViewColumn = + result = cast[PTreeViewColumn](CHECK_CAST(obj, TYPE_TREE_VIEW_COLUMN())) + +proc TREE_VIEW_COLUMN_CLASS*(klass: pointer): PTreeViewColumnClass = + result = cast[PTreeViewColumnClass](CHECK_CLASS_CAST(klass, + TYPE_TREE_VIEW_COLUMN())) + +proc IS_TREE_VIEW_COLUMN*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TREE_VIEW_COLUMN()) + +proc IS_TREE_VIEW_COLUMN_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TREE_VIEW_COLUMN()) + +proc TREE_VIEW_COLUMN_GET_CLASS*(obj: pointer): PTreeViewColumnClass = + result = cast[PTreeViewColumnClass](CHECK_GET_CLASS(obj, + TYPE_TREE_VIEW_COLUMN())) + +proc visible*(a: var TTreeViewColumn): guint = + result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_visible) shr + bp_TGtkTreeViewColumn_visible + +proc set_visible*(a: var TTreeViewColumn, `visible`: guint) = + a.TreeViewColumnflag0 = a.TreeViewColumnflag0 or + (int16(`visible` shl bp_TGtkTreeViewColumn_visible) and + bm_TGtkTreeViewColumn_visible) + +proc resizable*(a: var TTreeViewColumn): guint = + result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_resizable) shr + bp_TGtkTreeViewColumn_resizable + +proc set_resizable*(a: var TTreeViewColumn, `resizable`: guint) = + a.TreeViewColumnflag0 = a.TreeViewColumnflag0 or + (int16(`resizable` shl bp_TGtkTreeViewColumn_resizable) and + bm_TGtkTreeViewColumn_resizable) + +proc clickable*(a: var TTreeViewColumn): guint = + result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_clickable) shr + bp_TGtkTreeViewColumn_clickable + +proc set_clickable*(a: var TTreeViewColumn, `clickable`: guint) = + a.TreeViewColumnflag0 = a.TreeViewColumnflag0 or + (int16(`clickable` shl bp_TGtkTreeViewColumn_clickable) and + bm_TGtkTreeViewColumn_clickable) + +proc dirty*(a: var TTreeViewColumn): guint = + result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_dirty) shr + bp_TGtkTreeViewColumn_dirty + +proc set_dirty*(a: var TTreeViewColumn, `dirty`: guint) = + a.TreeViewColumnflag0 = a.TreeViewColumnflag0 or + (int16(`dirty` shl bp_TGtkTreeViewColumn_dirty) and + bm_TGtkTreeViewColumn_dirty) + +proc show_sort_indicator*(a: var TTreeViewColumn): guint = + result = (a.TreeViewColumnflag0 and + bm_TGtkTreeViewColumn_show_sort_indicator) shr + bp_TGtkTreeViewColumn_show_sort_indicator + +proc set_show_sort_indicator*(a: var TTreeViewColumn, + `show_sort_indicator`: guint) = + a.TreeViewColumnflag0 = a.TreeViewColumnflag0 or + (int16(`show_sort_indicator` shl + bp_TGtkTreeViewColumn_show_sort_indicator) and + bm_TGtkTreeViewColumn_show_sort_indicator) + +proc maybe_reordered*(a: var TTreeViewColumn): guint = + result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_maybe_reordered) shr + bp_TGtkTreeViewColumn_maybe_reordered + +proc set_maybe_reordered*(a: var TTreeViewColumn, `maybe_reordered`: guint) = + a.TreeViewColumnflag0 = a.TreeViewColumnflag0 or + (int16(`maybe_reordered` shl bp_TGtkTreeViewColumn_maybe_reordered) and + bm_TGtkTreeViewColumn_maybe_reordered) + +proc reorderable*(a: var TTreeViewColumn): guint = + result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_reorderable) shr + bp_TGtkTreeViewColumn_reorderable + +proc set_reorderable*(a: var TTreeViewColumn, `reorderable`: guint) = + a.TreeViewColumnflag0 = a.TreeViewColumnflag0 or + (int16(`reorderable` shl bp_TGtkTreeViewColumn_reorderable) and + bm_TGtkTreeViewColumn_reorderable) + +proc use_resized_width*(a: var TTreeViewColumn): guint = + result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_use_resized_width) shr + bp_TGtkTreeViewColumn_use_resized_width + +proc set_use_resized_width*(a: var TTreeViewColumn, `use_resized_width`: guint) = + a.TreeViewColumnflag0 = a.TreeViewColumnflag0 or + (int16(`use_resized_width` shl bp_TGtkTreeViewColumn_use_resized_width) and + bm_TGtkTreeViewColumn_use_resized_width) + +proc flags*(a: PRBNode): guint = + result = (a.flag0 and bm_TGtkRBNode_flags) shr bp_TGtkRBNode_flags + +proc set_flags*(a: PRBNode, `flags`: guint) = + a.flag0 = a.flag0 or + (int16(`flags` shl bp_TGtkRBNode_flags) and bm_TGtkRBNode_flags) + +proc parity*(a: PRBNode): guint = + result = (a.flag0 and bm_TGtkRBNode_parity) shr bp_TGtkRBNode_parity + +proc set_parity*(a: PRBNode, `parity`: guint) = + a.flag0 = a.flag0 or + (int16(`parity` shl bp_TGtkRBNode_parity) and bm_TGtkRBNode_parity) + +proc RBNODE_GET_COLOR*(node_: PRBNode): guint = + if node_ == nil: + Result = RBNODE_BLACK + elif (int(flags(node_)) and RBNODE_RED) == RBNODE_RED: + Result = RBNODE_RED + else: + Result = RBNODE_BLACK + +proc RBNODE_SET_COLOR*(node_: PRBNode, color: guint) = + if node_ == nil: + return + if ((flags(node_) and (color)) != color): + set_flags(node_, flags(node_) xor cint(RBNODE_RED or RBNODE_BLACK)) + +proc RBNODE_GET_HEIGHT*(node_: PRBNode): gint = + var if_local1: gint + if node_.children != nil: + if_local1 = node_.children.root.offset + else: + if_local1 = 0 + result = node_.offset - + ((node_.left.offset) + node_.right.offset + if_local1) + +proc RBNODE_FLAG_SET*(node_: PRBNode, flag: guint): bool = + result = (node_ != nil) and ((flags(node_) and (flag)) == flag) + +proc RBNODE_SET_FLAG*(node_: PRBNode, flag: guint16) = + set_flags(node_, (flag) or flags(node_)) + +proc RBNODE_UNSET_FLAG*(node_: PRBNode, flag: guint16) = + set_flags(node_, (not (flag)) and flags(node_)) + +proc TREE_VIEW_FLAG_SET*(tree_view: PTreeView, flag: guint): bool = + result = ((tree_view.priv.flags) and (flag)) == flag + +proc TREE_VIEW_HEADER_HEIGHT*(tree_view: PTreeView): int32 = + var if_local1: int32 + if TREE_VIEW_FLAG_SET(tree_view, TREE_VIEW_HEADERS_VISIBLE): + if_local1 = tree_view.priv.header_height + else: + if_local1 = 0 + result = if_local1 + +proc TREE_VIEW_COLUMN_REQUESTED_WIDTH*(column: PTreeViewColumn): int32 = + var MinWidth, MaxWidth: int + if column.min_width != - 1'i32: + MinWidth = column.min_width + else: + MinWidth = column.requested_width + if column.max_width != - 1'i32: + MaxWidth = column.max_width + else: + MaxWidth = column.requested_width + result = CLAMP(column.requested_width, MinWidth, MaxWidth) + +proc TREE_VIEW_DRAW_EXPANDERS*(tree_view: PTreeView): bool = + result = (not (TREE_VIEW_FLAG_SET(tree_view, TREE_VIEW_IS_LIST))) and + (TREE_VIEW_FLAG_SET(tree_view, TREE_VIEW_SHOW_EXPANDERS)) + +proc TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PTreeView): int32 = + result = 10'i32 * (TREE_VIEW_HEADER_HEIGHT(tree_view)) + +proc scroll_to_use_align*(a: var TTreeViewPrivate): guint = + result = (a.flag0 and bm_TGtkTreeViewPrivate_scroll_to_use_align) shr + bp_TGtkTreeViewPrivate_scroll_to_use_align + +proc set_scroll_to_use_align*(a: var TTreeViewPrivate, + `scroll_to_use_align`: guint) = + a.flag0 = a.flag0 or + (int16(`scroll_to_use_align` shl + bp_TGtkTreeViewPrivate_scroll_to_use_align) and + bm_TGtkTreeViewPrivate_scroll_to_use_align) + +proc fixed_height_check*(a: var TTreeViewPrivate): guint = + result = (a.flag0 and bm_TGtkTreeViewPrivate_fixed_height_check) shr + bp_TGtkTreeViewPrivate_fixed_height_check + +proc set_fixed_height_check*(a: var TTreeViewPrivate, + `fixed_height_check`: guint) = + a.flag0 = a.flag0 or + (int16(`fixed_height_check` shl + bp_TGtkTreeViewPrivate_fixed_height_check) and + bm_TGtkTreeViewPrivate_fixed_height_check) + +proc reorderable*(a: var TTreeViewPrivate): guint = + result = (a.flag0 and bm_TGtkTreeViewPrivate_reorderable) shr + bp_TGtkTreeViewPrivate_reorderable + +proc set_reorderable*(a: var TTreeViewPrivate, `reorderable`: guint) = + a.flag0 = a.flag0 or + (int16(`reorderable` shl bp_TGtkTreeViewPrivate_reorderable) and + bm_TGtkTreeViewPrivate_reorderable) + +proc header_has_focus*(a: var TTreeViewPrivate): guint = + result = (a.flag0 and bm_TGtkTreeViewPrivate_header_has_focus) shr + bp_TGtkTreeViewPrivate_header_has_focus + +proc set_header_has_focus*(a: var TTreeViewPrivate, `header_has_focus`: guint) = + a.flag0 = a.flag0 or + (int16(`header_has_focus` shl bp_TGtkTreeViewPrivate_header_has_focus) and + bm_TGtkTreeViewPrivate_header_has_focus) + +proc drag_column_window_state*(a: var TTreeViewPrivate): guint = + result = (a.flag0 and bm_TGtkTreeViewPrivate_drag_column_window_state) shr + bp_TGtkTreeViewPrivate_drag_column_window_state + +proc set_drag_column_window_state*(a: var TTreeViewPrivate, + `drag_column_window_state`: guint) = + a.flag0 = a.flag0 or + (int16(`drag_column_window_state` shl + bp_TGtkTreeViewPrivate_drag_column_window_state) and + bm_TGtkTreeViewPrivate_drag_column_window_state) + +proc has_rules*(a: var TTreeViewPrivate): guint = + result = (a.flag0 and bm_TGtkTreeViewPrivate_has_rules) shr + bp_TGtkTreeViewPrivate_has_rules + +proc set_has_rules*(a: var TTreeViewPrivate, `has_rules`: guint) = + a.flag0 = a.flag0 or + (int16(`has_rules` shl bp_TGtkTreeViewPrivate_has_rules) and + bm_TGtkTreeViewPrivate_has_rules) + +proc mark_rows_col_dirty*(a: var TTreeViewPrivate): guint = + result = (a.flag0 and bm_TGtkTreeViewPrivate_mark_rows_col_dirty) shr + bp_TGtkTreeViewPrivate_mark_rows_col_dirty + +proc set_mark_rows_col_dirty*(a: var TTreeViewPrivate, + `mark_rows_col_dirty`: guint) = + a.flag0 = a.flag0 or + (int16(`mark_rows_col_dirty` shl + bp_TGtkTreeViewPrivate_mark_rows_col_dirty) and + bm_TGtkTreeViewPrivate_mark_rows_col_dirty) + +proc enable_search*(a: var TTreeViewPrivate): guint = + result = (a.flag0 and bm_TGtkTreeViewPrivate_enable_search) shr + bp_TGtkTreeViewPrivate_enable_search + +proc set_enable_search*(a: var TTreeViewPrivate, `enable_search`: guint) = + a.flag0 = a.flag0 or + (int16(`enable_search` shl bp_TGtkTreeViewPrivate_enable_search) and + bm_TGtkTreeViewPrivate_enable_search) + +proc disable_popdown*(a: var TTreeViewPrivate): guint = + result = (a.flag0 and bm_TGtkTreeViewPrivate_disable_popdown) shr + bp_TGtkTreeViewPrivate_disable_popdown + +proc set_disable_popdown*(a: var TTreeViewPrivate, `disable_popdown`: guint) = + a.flag0 = a.flag0 or + (int16(`disable_popdown` shl bp_TGtkTreeViewPrivate_disable_popdown) and + bm_TGtkTreeViewPrivate_disable_popdown) + +proc TREE_VIEW_SET_FLAG*(tree_view: PTreeView, flag: guint) = + tree_view.priv.flags = tree_view.priv.flags or (flag) + +proc TREE_VIEW_UNSET_FLAG*(tree_view: PTreeView, flag: guint) = + tree_view.priv.flags = tree_view.priv.flags and not (flag) + +proc TYPE_TREE_VIEW*(): GType = + result = tree_view_get_type() + +proc TREE_VIEW*(obj: pointer): PTreeView = + result = cast[PTreeView](CHECK_CAST(obj, TYPE_TREE_VIEW())) + +proc TREE_VIEW_CLASS*(klass: pointer): PTreeViewClass = + result = cast[PTreeViewClass](CHECK_CLASS_CAST(klass, TYPE_TREE_VIEW())) + +proc IS_TREE_VIEW*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_TREE_VIEW()) + +proc IS_TREE_VIEW_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_TREE_VIEW()) + +proc TREE_VIEW_GET_CLASS*(obj: pointer): PTreeViewClass = + result = cast[PTreeViewClass](CHECK_GET_CLASS(obj, TYPE_TREE_VIEW())) + +proc TYPE_VBUTTON_BOX*(): GType = + result = vbutton_box_get_type() + +proc VBUTTON_BOX*(obj: pointer): PVButtonBox = + result = cast[PVButtonBox](CHECK_CAST(obj, TYPE_VBUTTON_BOX())) + +proc VBUTTON_BOX_CLASS*(klass: pointer): PVButtonBoxClass = + result = cast[PVButtonBoxClass](CHECK_CLASS_CAST(klass, TYPE_VBUTTON_BOX())) + +proc IS_VBUTTON_BOX*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_VBUTTON_BOX()) + +proc IS_VBUTTON_BOX_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_VBUTTON_BOX()) + +proc VBUTTON_BOX_GET_CLASS*(obj: pointer): PVButtonBoxClass = + result = cast[PVButtonBoxClass](CHECK_GET_CLASS(obj, TYPE_VBUTTON_BOX())) + +proc TYPE_VIEWPORT*(): GType = + result = viewport_get_type() + +proc VIEWPORT*(obj: pointer): PViewport = + result = cast[PViewport](CHECK_CAST(obj, TYPE_VIEWPORT())) + +proc VIEWPORT_CLASS*(klass: pointer): PViewportClass = + result = cast[PViewportClass](CHECK_CLASS_CAST(klass, TYPE_VIEWPORT())) + +proc IS_VIEWPORT*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_VIEWPORT()) + +proc IS_VIEWPORT_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_VIEWPORT()) + +proc VIEWPORT_GET_CLASS*(obj: pointer): PViewportClass = + result = cast[PViewportClass](CHECK_GET_CLASS(obj, TYPE_VIEWPORT())) + +proc TYPE_VPANED*(): GType = + result = vpaned_get_type() + +proc VPANED*(obj: pointer): PVPaned = + result = cast[PVPaned](CHECK_CAST(obj, TYPE_VPANED())) + +proc VPANED_CLASS*(klass: pointer): PVPanedClass = + result = cast[PVPanedClass](CHECK_CLASS_CAST(klass, TYPE_VPANED())) + +proc IS_VPANED*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_VPANED()) + +proc IS_VPANED_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_VPANED()) + +proc VPANED_GET_CLASS*(obj: pointer): PVPanedClass = + result = cast[PVPanedClass](CHECK_GET_CLASS(obj, TYPE_VPANED())) + +proc TYPE_VRULER*(): GType = + result = vruler_get_type() + +proc VRULER*(obj: pointer): PVRuler = + result = cast[PVRuler](CHECK_CAST(obj, TYPE_VRULER())) + +proc VRULER_CLASS*(klass: pointer): PVRulerClass = + result = cast[PVRulerClass](CHECK_CLASS_CAST(klass, TYPE_VRULER())) + +proc IS_VRULER*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_VRULER()) + +proc IS_VRULER_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_VRULER()) + +proc VRULER_GET_CLASS*(obj: pointer): PVRulerClass = + result = cast[PVRulerClass](CHECK_GET_CLASS(obj, TYPE_VRULER())) + +proc TYPE_VSCALE*(): GType = + result = vscale_get_type() + +proc VSCALE*(obj: pointer): PVScale = + result = cast[PVScale](CHECK_CAST(obj, TYPE_VSCALE())) + +proc VSCALE_CLASS*(klass: pointer): PVScaleClass = + result = cast[PVScaleClass](CHECK_CLASS_CAST(klass, TYPE_VSCALE())) + +proc IS_VSCALE*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_VSCALE()) + +proc IS_VSCALE_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_VSCALE()) + +proc VSCALE_GET_CLASS*(obj: pointer): PVScaleClass = + result = cast[PVScaleClass](CHECK_GET_CLASS(obj, TYPE_VSCALE())) + +proc TYPE_VSCROLLBAR*(): GType = + result = vscrollbar_get_type() + +proc VSCROLLBAR*(obj: pointer): PVScrollbar = + result = cast[PVScrollbar](CHECK_CAST(obj, TYPE_VSCROLLBAR())) + +proc VSCROLLBAR_CLASS*(klass: pointer): PVScrollbarClass = + result = cast[PVScrollbarClass](CHECK_CLASS_CAST(klass, TYPE_VSCROLLBAR())) + +proc IS_VSCROLLBAR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_VSCROLLBAR()) + +proc IS_VSCROLLBAR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_VSCROLLBAR()) + +proc VSCROLLBAR_GET_CLASS*(obj: pointer): PVScrollbarClass = + result = cast[PVScrollbarClass](CHECK_GET_CLASS(obj, TYPE_VSCROLLBAR())) + +proc TYPE_VSEPARATOR*(): GType = + result = vseparator_get_type() + +proc VSEPARATOR*(obj: pointer): PVSeparator = + result = cast[PVSeparator](CHECK_CAST(obj, TYPE_VSEPARATOR())) + +proc VSEPARATOR_CLASS*(klass: pointer): PVSeparatorClass = + result = cast[PVSeparatorClass](CHECK_CLASS_CAST(klass, TYPE_VSEPARATOR())) + +proc IS_VSEPARATOR*(obj: pointer): bool = + result = CHECK_TYPE(obj, TYPE_VSEPARATOR()) + +proc IS_VSEPARATOR_CLASS*(klass: pointer): bool = + result = CHECK_CLASS_TYPE(klass, TYPE_VSEPARATOR()) + +proc VSEPARATOR_GET_CLASS*(obj: pointer): PVSeparatorClass = + # these were missing: + result = cast[PVSeparatorClass](CHECK_GET_CLASS(obj, TYPE_VSEPARATOR())) + +type + PCellLayout* = pointer + PPGtkCellLayout* = ptr PCellLayout + PSignalRunType* = ptr TSignalRunType + TSignalRunType* = int32 + PFileChooserAction* = ptr TFileChooserAction + TFileChooserAction* = enum + FILE_CHOOSER_ACTION_OPEN, FILE_CHOOSER_ACTION_SAVE, + FILE_CHOOSER_ACTION_SELECT_FOLDER, FILE_CHOOSER_ACTION_CREATE_FOLDER + PFileChooserError* = ptr TFileChooserError + TFileChooserError* = enum + FILE_CHOOSER_ERROR_NONEXISTENT, FILE_CHOOSER_ERROR_BAD_FILENAME + +const + ARG_READWRITE* = ARG_READABLE or ARG_WRITABLE + +proc binding_entry_add_signal*(binding_set: PBindingSet, keyval: guint, + modifiers: TGdkModifierType, + signal_name: cstring, n_args: guint){.varargs, + importc: "gtk_binding_entry_add_signal", cdecl, dynlib: lib.} +proc clist_new_with_titles*(columns: gint): PCList{.varargs, cdecl, + importc: "gtk_clist_new_with_titles", dynlib: lib.} +proc clist_prepend*(clist: PCList): gint{.importc: "gtk_clist_prepend", varargs, + cdecl, dynlib: lib.} +proc clist_append*(clist: PCList): gint{.importc: "gtk_clist_append", varargs, + cdecl, dynlib: lib.} +proc clist_insert*(clist: PCList, row: gint): gint{.varargs, cdecl, + importc: "gtk_clist_insert", dynlib: lib.} +proc cell_layout_set_attributes*(cell_layout: PCellLayout, cell: PCellRenderer){. + cdecl, varargs, importc: "gtk_cell_layout_set_attributes", dynlib: lib, + importc: "gtk_cell_layout_set_attributes".} +proc container_add_with_properties*(container: PContainer, widget: PWidget, + first_prop_name: cstring){.varargs, + importc: "gtk_container_add_with_properties", cdecl, dynlib: lib.} +proc container_child_set*(container: PContainer, child: PWidget, + first_prop_name: cstring){.varargs, cdecl, + importc: "gtk_container_child_set", dynlib: lib.} +proc container_child_get*(container: PContainer, child: PWidget, + first_prop_name: cstring){.varargs, cdecl, + importc: "gtk_container_child_get", dynlib: lib.} +proc container_child_set_valist*(container: PContainer, child: PWidget, + first_property_name: cstring){.varargs, + importc: "gtk_container_child_set_valist", cdecl, dynlib: lib.} +proc container_child_get_valist*(container: PContainer, child: PWidget, + first_property_name: cstring){.varargs, + importc: "gtk_container_child_get_valist", cdecl, dynlib: lib.} +proc ctree_new_with_titles*(columns: gint, tree_column: gint): PCTree{. + importc: "gtk_ctree_new_with_titles", varargs, cdecl, dynlib: lib.} +proc curve_get_vector*(curve: PCurve, veclen: int32){.varargs, cdecl, + importc: "gtk_curve_get_vector", dynlib: lib.} +proc curve_set_vector*(curve: PCurve, veclen: int32){.varargs, cdecl, + importc: "gtk_curve_set_vector", dynlib: lib.} +proc dialog_add_buttons*(dialog: PDialog, first_button_text: cstring){.varargs, + cdecl, importc: "gtk_dialog_add_buttons", dynlib: lib.} +proc dialog_new_with_buttons*(title: cstring, parent: PWindow, + flags: TDialogFlags, first_button_text: cstring): PDialog{. + varargs, cdecl, importc: "gtk_dialog_new_with_buttons", dynlib: lib.} +proc list_store_new*(n_columns: gint): PListStore{.varargs, cdecl, + importc: "gtk_list_store_new", dynlib: lib.} +proc list_store_set*(list_store: PListStore, iter: PTreeIter){.varargs, cdecl, + importc: "gtk_list_store_set", dynlib: lib.} +proc list_store_set_valist*(list_store: PListStore, iter: PTreeIter){.varargs, + cdecl, importc: "gtk_list_store_set_valist", dynlib: lib.} +proc message_dialog_new*(parent: PWindow, flags: TDialogFlags, + thetype: TMessageType, buttons: TButtonsType, + message_format: cstring): PMessageDialog{.varargs, + cdecl, importc: "gtk_message_dialog_new", dynlib: lib.} +proc signal_new*(name: cstring, signal_flags: TSignalRunType, + object_type: TType, function_offset: guint, + marshaller: TSignalMarshaller, return_val: TType, n_args: guint): guint{. + varargs, importc: "gtk_signal_new", cdecl, dynlib: lib.} +proc signal_emit*(anObject: PObject, signal_id: guint){.varargs, cdecl, + importc: "gtk_signal_emit", dynlib: lib.} +proc signal_emit_by_name*(anObject: PObject, name: cstring){.varargs, cdecl, + importc: "gtk_signal_emit_by_name", dynlib: lib.} +proc text_buffer_insert_with_tags*(buffer: PTextBuffer, iter: PTextIter, + text: cstring, length: gint, + first_tag: PTextTag){.varargs, + importc: "gtk_text_buffer_insert_with_tags", cdecl, dynlib: lib.} +proc text_buffer_insert_with_tags_by_name*(buffer: PTextBuffer, iter: PTextIter, + text: cstring, length: gint, first_tag_name: cstring){.varargs, + importc: "gtk_text_buffer_insert_with_tags_by_name", cdecl, dynlib: lib.} +proc text_buffer_create_tag*(buffer: PTextBuffer, tag_name: cstring, + first_property_name: cstring): PTextTag{.varargs, + importc: "gtk_text_buffer_create_tag", cdecl, dynlib: lib.} +proc tree_model_get*(tree_model: PTreeModel, iter: PTreeIter){.varargs, + importc: "gtk_tree_model_get", cdecl, dynlib: lib.} +proc tree_model_get_valist*(tree_model: PTreeModel, iter: PTreeIter){.varargs, + importc: "gtk_tree_model_get_valist", cdecl, dynlib: lib.} +proc tree_store_new*(n_columns: gint): PTreeStore{.varargs, cdecl, + importc: "gtk_tree_store_new", dynlib: lib.} +proc tree_store_set*(tree_store: PTreeStore, iter: PTreeIter){.varargs, cdecl, + importc: "gtk_tree_store_set", dynlib: lib.} +proc tree_store_set_valist*(tree_store: PTreeStore, iter: PTreeIter){.varargs, + cdecl, importc: "gtk_tree_store_set_valist", dynlib: lib.} +proc tree_store_iter_is_valid*(tree_store: PTreeStore, iter: PTreeIter): gboolean{. + cdecl, importc: "gtk_tree_store_iter_is_valid", dynlib: lib.} +proc tree_store_reorder*(tree_store: PTreeStore, parent: PTreeIter, + new_order: pgint){.cdecl, + importc: "gtk_tree_store_reorder", dynlib: lib.} +proc tree_store_swap*(tree_store: PTreeStore, a: PTreeIter, b: PTreeIter){. + cdecl, importc: "gtk_tree_store_swap", dynlib: lib.} +proc tree_store_move_before*(tree_store: PTreeStore, iter: PTreeIter, + position: PTreeIter){.cdecl, + importc: "gtk_tree_store_move_before", dynlib: lib.} +proc tree_store_move_after*(tree_store: PTreeStore, iter: PTreeIter, + position: PTreeIter){.cdecl, + importc: "gtk_tree_store_move_after", dynlib: lib.} +proc tree_view_insert_column_with_attributes*(tree_view: PTreeView, + position: gint, title: cstring, cell: PCellRenderer): gint{.varargs, + importc: "gtk_tree_view_insert_column_with_attributes", cdecl, dynlib: lib.} +proc tree_view_column_new_with_attributes*(title: cstring, cell: PCellRenderer): PTreeViewColumn{. + importc: "gtk_tree_view_column_new_with_attributes", varargs, cdecl, + dynlib: lib.} +proc tree_view_column_set_attributes*(tree_column: PTreeViewColumn, + cell_renderer: PCellRenderer){. + importc: "gtk_tree_view_column_set_attributes", varargs, cdecl, dynlib: lib.} +proc widget_new*(thetype: TType, first_property_name: cstring): PWidget{. + importc: "gtk_widget_new", varargs, cdecl, dynlib: lib.} +proc widget_set*(widget: PWidget, first_property_name: cstring){.varargs, + importc: "gtk_widget_set", cdecl, dynlib: lib.} +proc widget_queue_clear*(widget: PWidget){.importc: "gtk_widget_queue_clear", + cdecl, dynlib: lib.} +proc widget_queue_clear_area*(widget: PWidget, x: gint, y: gint, width: gint, + height: gint){.cdecl, + importc: "gtk_widget_queue_clear_area", dynlib: lib.} +proc widget_draw*(widget: PWidget, area: PGdkRectangle){.cdecl, + importc: "gtk_widget_draw", dynlib: lib.} +proc widget_style_get_valist*(widget: PWidget, first_property_name: cstring){. + varargs, cdecl, importc: "gtk_widget_style_get_valist", dynlib: lib.} +proc widget_style_get*(widget: PWidget, first_property_name: cstring){.varargs, + cdecl, importc: "gtk_widget_style_get", dynlib: lib.} +proc file_chooser_dialog_new*(title: cstring, parent: PWindow, + action: TFileChooserAction, + first_button_text: cstring): PDialog{.cdecl, + varargs, dynlib: lib, importc: "gtk_file_chooser_dialog_new".} +proc file_chooser_dialog_new_with_backend*(title: cstring, parent: PWindow, + action: TFileChooserAction, backend: cstring, first_button_text: cstring): PDialog{. + varargs, cdecl, dynlib: lib, + importc: "gtk_file_chooser_dialog_new_with_backend".} +proc object_ref*(anObject: PObject): PObject{.cdecl, importc: "gtk_object_ref", + dynlib: lib.} +proc object_unref*(anObject: PObject){.cdecl, importc: "gtk_object_unref", + dynlib: lib.} +proc object_weakref*(anObject: PObject, notify: TDestroyNotify, data: gpointer){. + cdecl, importc: "gtk_object_weakref", dynlib: lib.} +proc object_weakunref*(anObject: PObject, notify: TDestroyNotify, data: gpointer){. + cdecl, importc: "gtk_object_weakunref", dynlib: lib.} +proc object_set_data*(anObject: PObject, key: cstring, data: gpointer){.cdecl, + importc: "gtk_object_set_data", dynlib: lib.} +proc object_set_data_full*(anObject: PObject, key: cstring, data: gpointer, + destroy: TDestroyNotify){. + importc: "gtk_object_set_data_full", cdecl, dynlib: lib.} +proc object_remove_data*(anObject: PObject, key: cstring){.cdecl, + importc: "gtk_object_remove_data", dynlib: lib.} +proc object_get_data*(anObject: PObject, key: cstring): gpointer{.cdecl, + importc: "gtk_object_get_data", dynlib: lib.} +proc object_remove_no_notify*(anObject: PObject, key: cstring){.cdecl, + importc: "gtk_object_remove_no_notify", dynlib: lib.} +proc object_set_user_data*(anObject: PObject, data: gpointer){.cdecl, + importc: "gtk_object_set_user_data", dynlib: lib.} +proc object_get_user_data*(anObject: PObject): gpointer{.cdecl, + importc: "gtk_object_get_user_data", dynlib: lib.} +proc object_set_data_by_id*(anObject: PObject, data_id: TGQuark, data: gpointer){. + cdecl, importc: "gtk_object_set_data_by_id", dynlib: lib.} +proc object_set_data_by_id_full*(anObject: PObject, data_id: TGQuark, + data: gpointer, destroy: TDestroyNotify){. + cdecl, importc: "gtk_object_set_data_by_id_full", dynlib: lib.} +proc object_get_data_by_id*(anObject: PObject, data_id: TGQuark): gpointer{. + cdecl, importc: "gtk_object_get_data_by_id", dynlib: lib.} +proc object_remove_data_by_id*(anObject: PObject, data_id: TGQuark){.cdecl, + importc: "gtk_object_remove_data_by_id", dynlib: lib.} +proc object_remove_no_notify_by_id*(anObject: PObject, key_id: TGQuark){.cdecl, + importc: "gtk_object_remove_no_notify_by_id", dynlib: lib.} +proc object_data_try_key*(str: cstring): TGQuark{.cdecl, + importc: "gtk_object_data_try_key", dynlib: lib.} +proc object_data_force_id*(str: cstring): TGQuark{.cdecl, + importc: "gtk_object_data_force_id", dynlib: lib.} +proc object_get*(anObject: PObject, first_property_name: cstring){.cdecl, + importc: "gtk_object_get", varargs, dynlib: lib.} +proc object_set*(anObject: PObject, first_property_name: cstring){.cdecl, + importc: "gtk_object_set", varargs, dynlib: lib.} +proc object_add_arg_type*(arg_name: cstring, arg_type: TType, arg_flags: guint, + arg_id: guint){.cdecl, + importc: "gtk_object_add_arg_type", dynlib: lib.} +type + PFileChooser* = pointer + PPGtkFileChooser* = ptr PFileChooser + +type + PFileFilter* = pointer + PPGtkFileFilter* = ref PFileFilter + PFileFilterFlags* = ref TFileFilterFlags + TFileFilterFlags* = enum + FILE_FILTER_FILENAME = 1 shl 0, FILE_FILTER_URI = 1 shl 1, + FILE_FILTER_DISPLAY_NAME = 1 shl 2, FILE_FILTER_MIME_TYPE = 1 shl 3 + PFileFilterInfo* = ref TFileFilterInfo + TFileFilterInfo*{.final, pure.} = object + contains*: TFileFilterFlags + filename*: cstring + uri*: cstring + display_name*: cstring + mime_type*: cstring + + TFileFilterFunc* = proc (filter_info: PFileFilterInfo, data: gpointer): gboolean{. + cdecl.} + +proc TYPE_FILE_FILTER*(): GType +proc FILE_FILTER*(obj: pointer): PFileFilter +proc IS_FILE_FILTER*(obj: pointer): gboolean +proc file_filter_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_file_filter_get_type".} +proc file_filter_new*(): PFileFilter{.cdecl, dynlib: lib, + importc: "gtk_file_filter_new".} +proc file_filter_set_name*(filter: PFileFilter, name: cstring){.cdecl, + dynlib: lib, importc: "gtk_file_filter_set_name".} +proc file_filter_get_name*(filter: PFileFilter): cstring{.cdecl, dynlib: lib, + importc: "gtk_file_filter_get_name".} +proc file_filter_add_mime_type*(filter: PFileFilter, mime_type: cstring){.cdecl, + dynlib: lib, importc: "gtk_file_filter_add_mime_type".} +proc file_filter_add_pattern*(filter: PFileFilter, pattern: cstring){.cdecl, + dynlib: lib, importc: "gtk_file_filter_add_pattern".} +proc file_filter_add_custom*(filter: PFileFilter, needed: TFileFilterFlags, + func: TFileFilterFunc, data: gpointer, + notify: TGDestroyNotify){.cdecl, dynlib: lib, + importc: "gtk_file_filter_add_custom".} +proc file_filter_get_needed*(filter: PFileFilter): TFileFilterFlags{.cdecl, + dynlib: lib, importc: "gtk_file_filter_get_needed".} +proc file_filter_filter*(filter: PFileFilter, filter_info: PFileFilterInfo): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_filter_filter".} +proc TYPE_FILE_FILTER(): GType = + result = file_filter_get_type() + +proc FILE_FILTER(obj: pointer): PFileFilter = + result = cast[PFileFilter](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_FILE_FILTER())) + +proc IS_FILE_FILTER(obj: pointer): gboolean = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_FILE_FILTER()) + +proc file_chooser_get_type*(): GType{.cdecl, dynlib: lib, + importc: "gtk_file_chooser_get_type".} +proc file_chooser_error_quark*(): TGQuark{.cdecl, dynlib: lib, + importc: "gtk_file_chooser_error_quark".} +proc TYPE_FILE_CHOOSER*(): GType = + result = file_chooser_get_type() + +proc FILE_CHOOSER*(obj: pointer): PFileChooser = + result = cast[PFileChooser](G_TYPE_CHECK_INSTANCE_CAST(obj, + TYPE_FILE_CHOOSER())) + +proc IS_FILE_CHOOSER*(obj: pointer): gboolean = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_FILE_CHOOSER()) + +proc file_chooser_set_action*(chooser: PFileChooser, action: TFileChooserAction){. + cdecl, dynlib: lib, importc: "gtk_file_chooser_set_action".} +proc file_chooser_get_action*(chooser: PFileChooser): TFileChooserAction{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_action".} +proc file_chooser_set_local_only*(chooser: PFileChooser, local_only: gboolean){. + cdecl, dynlib: lib, importc: "gtk_file_chooser_set_local_only".} +proc file_chooser_get_local_only*(chooser: PFileChooser): gboolean{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_local_only".} +proc file_chooser_set_select_multiple*(chooser: PFileChooser, + select_multiple: gboolean){.cdecl, + dynlib: lib, importc: "gtk_file_chooser_set_select_multiple".} +proc file_chooser_get_select_multiple*(chooser: PFileChooser): gboolean{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_select_multiple".} +proc file_chooser_set_current_name*(chooser: PFileChooser, name: cstring){. + cdecl, dynlib: lib, importc: "gtk_file_chooser_set_current_name".} +proc file_chooser_get_filename*(chooser: PFileChooser): cstring{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_filename".} +proc file_chooser_set_filename*(chooser: PFileChooser, filename: cstring): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_set_filename".} +proc file_chooser_select_filename*(chooser: PFileChooser, filename: cstring): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_select_filename".} +proc file_chooser_unselect_filename*(chooser: PFileChooser, filename: cstring){. + cdecl, dynlib: lib, importc: "gtk_file_chooser_unselect_filename".} +proc file_chooser_select_all*(chooser: PFileChooser){.cdecl, dynlib: lib, + importc: "gtk_file_chooser_select_all".} +proc file_chooser_unselect_all*(chooser: PFileChooser){.cdecl, dynlib: lib, + importc: "gtk_file_chooser_unselect_all".} +proc file_chooser_get_filenames*(chooser: PFileChooser): PGSList{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_filenames".} +proc file_chooser_set_current_folder*(chooser: PFileChooser, filename: cstring): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_set_current_folder".} +proc file_chooser_get_current_folder*(chooser: PFileChooser): cstring{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_current_folder".} +proc file_chooser_get_uri*(chooser: PFileChooser): cstring{.cdecl, dynlib: lib, + importc: "gtk_file_chooser_get_uri".} +proc file_chooser_set_uri*(chooser: PFileChooser, uri: cstring): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_set_uri".} +proc file_chooser_select_uri*(chooser: PFileChooser, uri: cstring): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_select_uri".} +proc file_chooser_unselect_uri*(chooser: PFileChooser, uri: cstring){.cdecl, + dynlib: lib, importc: "gtk_file_chooser_unselect_uri".} +proc file_chooser_get_uris*(chooser: PFileChooser): PGSList{.cdecl, dynlib: lib, + importc: "gtk_file_chooser_get_uris".} +proc file_chooser_set_current_folder_uri*(chooser: PFileChooser, uri: cstring): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_set_current_folder_uri".} +proc file_chooser_get_current_folder_uri*(chooser: PFileChooser): cstring{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_get_current_folder_uri".} +proc file_chooser_set_preview_widget*(chooser: PFileChooser, + preview_widget: PWidget){.cdecl, + dynlib: lib, importc: "gtk_file_chooser_set_preview_widget".} +proc file_chooser_get_preview_widget*(chooser: PFileChooser): PWidget{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_preview_widget".} +proc file_chooser_set_preview_widget_active*(chooser: PFileChooser, + active: gboolean){.cdecl, dynlib: lib, + importc: "gtk_file_chooser_set_preview_widget_active".} +proc file_chooser_get_preview_widget_active*(chooser: PFileChooser): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_get_preview_widget_active".} +proc file_chooser_set_use_preview_label*(chooser: PFileChooser, + use_label: gboolean){.cdecl, dynlib: lib, + importc: "gtk_file_chooser_set_use_preview_label".} +proc file_chooser_get_use_preview_label*(chooser: PFileChooser): gboolean{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_get_use_preview_label".} +proc file_chooser_get_preview_filename*(chooser: PFileChooser): cstring{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_preview_filename".} +proc file_chooser_get_preview_uri*(chooser: PFileChooser): cstring{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_preview_uri".} +proc file_chooser_set_extra_widget*(chooser: PFileChooser, extra_widget: PWidget){. + cdecl, dynlib: lib, importc: "gtk_file_chooser_set_extra_widget".} +proc file_chooser_get_extra_widget*(chooser: PFileChooser): PWidget{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_extra_widget".} +proc file_chooser_add_filter*(chooser: PFileChooser, filter: PFileFilter){. + cdecl, dynlib: lib, importc: "gtk_file_chooser_add_filter".} +proc file_chooser_remove_filter*(chooser: PFileChooser, filter: PFileFilter){. + cdecl, dynlib: lib, importc: "gtk_file_chooser_remove_filter".} +proc file_chooser_list_filters*(chooser: PFileChooser): PGSList{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_list_filters".} +proc file_chooser_set_filter*(chooser: PFileChooser, filter: PFileFilter){. + cdecl, dynlib: lib, importc: "gtk_file_chooser_set_filter".} +proc file_chooser_get_filter*(chooser: PFileChooser): PFileFilter{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_get_filter".} +proc file_chooser_add_shortcut_folder*(chooser: PFileChooser, folder: cstring, + error: pointer): gboolean{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_add_shortcut_folder".} +proc file_chooser_remove_shortcut_folder*(chooser: PFileChooser, + folder: cstring, error: pointer): gboolean{.cdecl, dynlib: lib, + importc: "gtk_file_chooser_remove_shortcut_folder".} +proc file_chooser_list_shortcut_folders*(chooser: PFileChooser): PGSList{.cdecl, + dynlib: lib, importc: "gtk_file_chooser_list_shortcut_folders".} +proc file_chooser_add_shortcut_folder_uri*(chooser: PFileChooser, uri: cstring, + error: pointer): gboolean{.cdecl, dynlib: lib, importc: "gtk_file_chooser_add_shortcut_folder_uri".} +proc file_chooser_remove_shortcut_folder_uri*(chooser: PFileChooser, + uri: cstring, error: pointer): gboolean{.cdecl, dynlib: lib, + importc: "gtk_file_chooser_remove_shortcut_folder_uri".} +proc file_chooser_list_shortcut_folder_uris*(chooser: PFileChooser): PGSList{. + cdecl, dynlib: lib, importc: "gtk_file_chooser_list_shortcut_folder_uris".} +proc file_chooser_set_do_overwrite_confirmation*(chooser: PFileChooser, + do_overwrite_confirmation: gboolean){.cdecl, dynlib: lib, + importc: "gtk_file_chooser_set_do_overwrite_confirmation".} +proc nimrod_init*() = + var + cmdLine{.importc: "cmdLine".}: array[0..255, cstring] + cmdCount{.importc: "cmdCount".}: cint + init(addr(cmdLine), addr(cmdCount)) diff --git a/lib/newwrap/gtk/gtkglext.nim b/lib/newwrap/gtk/gtkglext.nim new file mode 100644 index 000000000..779c78ee1 --- /dev/null +++ b/lib/newwrap/gtk/gtkglext.nim @@ -0,0 +1,48 @@ +{.deadCodeElim: on.} +import + Glib2, Gdk2, 2, 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: Plongint, argv: PPPChar): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gtk_gl_parse_args".} +proc gl_init_check*(argc: Plongint, argv: PPPChar): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gtk_gl_init_check".} +proc gl_init*(argc: Plongint, argv: PPPChar){.cdecl, dynlib: GLExtLib, + importc: "gtk_gl_init".} +proc widget_set_gl_capability*(widget: PWidget, glconfig: PGdkGLConfig, + share_list: PGdkGLContext, direct: gboolean, + render_type: int): gboolean{.cdecl, + dynlib: GLExtLib, importc: "gtk_widget_set_gl_capability".} +proc widget_is_gl_capable*(widget: PWidget): gboolean{.cdecl, dynlib: GLExtLib, + importc: "gtk_widget_is_gl_capable".} +proc widget_get_gl_config*(widget: PWidget): PGdkGLConfig{.cdecl, + dynlib: GLExtLib, importc: "gtk_widget_get_gl_config".} +proc widget_create_gl_context*(widget: PWidget, share_list: PGdkGLContext, + direct: gboolean, render_type: int): PGdkGLContext{. + cdecl, dynlib: GLExtLib, importc: "gtk_widget_create_gl_context".} +proc widget_get_gl_context*(widget: PWidget): PGdkGLContext{.cdecl, + dynlib: GLExtLib, importc: "gtk_widget_get_gl_context".} +proc widget_get_gl_window*(widget: PWidget): PGdkGLWindow{.cdecl, + dynlib: GLExtLib, importc: "gtk_widget_get_gl_window".} +proc widget_get_gl_drawable*(widget: PWidget): PGdkGLDrawable = + nil + +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 widget_get_gl_drawable*(widget: PWidget): PGdkGLDrawable = + result = GDK_GL_DRAWABLE(widget_get_gl_window(widget)) diff --git a/lib/newwrap/gtk/gtkhtml.nim b/lib/newwrap/gtk/gtkhtml.nim new file mode 100644 index 000000000..a71a24836 --- /dev/null +++ b/lib/newwrap/gtk/gtkhtml.nim @@ -0,0 +1,494 @@ +{.deadCodeElim: on.} +import + 2, 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 + TDomBoolean* = gboolean + TDomException* = gushort + TDomTimeStamp* = guint64 + PDomNode* = ptr TDomNode + TDomNode* = object of TGObject + xmlnode*: pointer + style*: pointer + + 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*: xmlParserCtxtPtr + res*: int32 + chars*: array[0..9, char] + blocking*: gboolean + blocking_node*: PDomNode + + PHtmlParserClass* = ptr THtmlParserClass + THtmlParserClass* = object of 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: Pgchar, + 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: Pgchar, len: gint, + user_data: gpointer){.cdecl.} + PHtmlContext* = ptr THtmlContext + THtmlContext* = object of TGObject + documents*: PGSList + standard_font*: PHtmlFontSpecification + fixed_font*: PHtmlFontSpecification + debug_painting*: gboolean + + 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: Pgchar, + stream: PHtmlStream){.cdecl.} + link_clicked*: proc (document: PHtmlDocument, url: Pgchar){.cdecl.} + set_base*: proc (document: PHtmlDocument, url: Pgchar){.cdecl.} + title_changed*: proc (document: PHtmlDocument, new_title: Pgchar){.cdecl.} + submit*: proc (document: PHtmlDocument, `method`: Pgchar, url: Pgchar, + encoding: Pgchar){.cdecl.} + + PHtmlView* = ptr THtmlView + THtmlView* = object of 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*: pgchar + magnification*: gdouble + magnification_modified*: gboolean + on_url*: gboolean + + PHtmlViewClass* = ptr THtmlViewClass + THtmlViewClass* = object of TLayoutClass + move_cursor*: proc (html_view: PHtmlView, step: TMovementStep, count: gint, + extend_selection: gboolean){.cdecl.} + on_url*: proc (html_view: PHtmlView, url: Pgchar) + activate*: proc (html_view: PHtmlView) + move_focus_out*: proc (html_view: PHtmlView, direction: TDirectionType) + + +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 dom_Node__get_childNodes*(node: PDomNode): PDomNodeList{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_childNodes".} +proc dom_Node_removeChild*(node: PDomNode, oldChild: PDomNode, + exc: PDomException): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node_removeChild".} +proc dom_Node__get_nodeValue*(node: PDomNode, exc: PDomException): PDomString{. + cdecl, dynlib: htmllib, importc: "dom_Node__get_nodeValue".} +proc dom_Node__get_firstChild*(node: PDomNode): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_firstChild".} +proc dom_Node__get_nodeName*(node: PDomNode): PDomString{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_nodeName".} +proc dom_Node__get_attributes*(node: PDomNode): PDomNamedNodeMap{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_attributes".} +proc dom_Document__get_doctype*(doc: PDomDocument): PDomDocumentType{.cdecl, + dynlib: htmllib, importc: "dom_Document__get_doctype".} +proc dom_Node_hasChildNodes*(node: PDomNode): DomBoolean{.cdecl, + dynlib: htmllib, importc: "dom_Node_hasChildNodes".} +proc dom_Node__get_parentNode*(node: PDomNode): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_parentNode".} +proc dom_Node__get_nextSibling*(node: PDomNode): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_nextSibling".} +proc dom_Node__get_nodeType*(node: PDomNode): gushort{.cdecl, dynlib: htmllib, + importc: "dom_Node__get_nodeType".} +proc dom_Node_hasAttributes*(node: PDomNode): DomBoolean{.cdecl, + dynlib: htmllib, importc: "dom_Node_hasAttributes".} +proc dom_Node_cloneNode*(node: PDomNode, deep: DomBoolean): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node_cloneNode".} +proc dom_Node_appendChild*(node: PDomNode, newChild: PDomNode, + exc: PDomException): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node_appendChild".} +proc dom_Node__get_localName*(node: PDomNode): PDomString{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_localName".} +proc dom_Node__get_namespaceURI*(node: PDomNode): PDomString{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_namespaceURI".} +proc dom_Node__get_previousSibling*(node: PDomNode): PDomNode{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_previousSibling".} +proc dom_Node__get_lastChild*(node: PDomNode): PDomNode{.cdecl, dynlib: htmllib, + importc: "dom_Node__get_lastChild".} +proc dom_Node__set_nodeValue*(node: PDomNode, value: PDomString, + exc: PDomException){.cdecl, dynlib: htmllib, + importc: "dom_Node__set_nodeValue".} +proc dom_Node__get_ownerDocument*(node: PDomNode): PDomDocument{.cdecl, + dynlib: htmllib, importc: "dom_Node__get_ownerDocument".} +proc dom_Node_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 dom_Document__get_documentElement*(doc: PDomDocument): PDomElement +proc dom_Document_createElement*(doc: PDomDocument, tagName: PDomString): PDomElement +proc dom_Document_createTextNode*(doc: PDomDocument, data: PDomString): PDomText +proc dom_Document_createComment*(doc: PDomDocument, data: PDomString): PDomComment +proc dom_Document_importNode*(doc: PDomDocument, importedNode: PDomNode, + deep: DomBoolean, 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 html_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 html_stream_write*(stream: PHtmlStream, buffer: Pgchar, size: guint){. + cdecl, dynlib: htmllib, importc: "html_stream_write".} +proc html_stream_close*(stream: PHtmlStream){.cdecl, dynlib: htmllib, + importc: "html_stream_close".} +proc html_stream_destroy*(stream: PHtmlStream){.cdecl, dynlib: htmllib, + importc: "html_stream_destroy".} +proc html_stream_get_written*(stream: PHtmlStream): gint{.cdecl, + dynlib: htmllib, importc: "html_stream_get_written".} +proc html_stream_cancel*(stream: PHtmlStream){.cdecl, dynlib: htmllib, + importc: "html_stream_cancel".} +proc html_stream_set_cancel_func*(stream: PHtmlStream, + abort_func: THtmlStreamCancelFunc, + cancel_data: gpointer){.cdecl, + dynlib: htmllib, importc: "html_stream_set_cancel_func".} +proc html_stream_get_mime_type*(stream: PHtmlStream): cstring{.cdecl, + dynlib: htmllib, importc: "html_stream_get_mime_type".} +proc html_stream_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 html_event_mouse_move*(view: PHtmlView, event: PGdkEventMotion){.cdecl, + dynlib: htmllib, importc: "html_event_mouse_move".} +proc html_event_button_press*(view: PHtmlView, button: PGdkEventButton){.cdecl, + dynlib: htmllib, importc: "html_event_button_press".} +proc html_event_button_release*(view: PHtmlView, event: PGdkEventButton){.cdecl, + dynlib: htmllib, importc: "html_event_button_release".} +proc html_event_activate*(view: PHtmlView){.cdecl, dynlib: htmllib, + importc: "html_event_activate".} +proc html_event_key_press*(view: PHtmlView, event: PGdkEventKey): gboolean{. + cdecl, dynlib: htmllib, importc: "html_event_key_press".} +proc html_event_find_root_box*(self: PHtmlBox, x: gint, y: gint): PHtmlBox{. + cdecl, dynlib: htmllib, importc: "html_event_find_root_box".} +proc html_selection_start*(view: PHtmlView, event: PGdkEventButton){.cdecl, + dynlib: htmllib, importc: "html_selection_start".} +proc html_selection_end*(view: PHtmlView, event: PGdkEventButton){.cdecl, + dynlib: htmllib, importc: "html_selection_end".} +proc html_selection_update*(view: PHtmlView, event: PGdkEventMotion){.cdecl, + dynlib: htmllib, importc: "html_selection_update".} +proc html_selection_clear*(view: PHtmlView){.cdecl, dynlib: htmllib, + importc: "html_selection_clear".} +proc html_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 html_document_open_stream*(document: PHtmlDocument, mime_type: Pgchar): gboolean{. + cdecl, dynlib: htmllib, importc: "html_document_open_stream".} +proc html_document_write_stream*(document: PHtmlDocument, buffer: Pgchar, + len: gint){.cdecl, dynlib: htmllib, + importc: "html_document_write_stream".} +proc html_document_close_stream*(document: PHtmlDocument){.cdecl, + dynlib: htmllib, importc: "html_document_close_stream".} +proc html_document_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 html_view_set_document*(view: PHtmlView, document: PHtmlDocument){.cdecl, + dynlib: htmllib, importc: "html_view_set_document".} +proc html_view_jump_to_anchor*(view: PHtmlView, anchor: Pgchar){.cdecl, + dynlib: htmllib, importc: "html_view_jump_to_anchor".} +proc html_view_get_magnification*(view: PHtmlView): gdouble{.cdecl, + dynlib: htmllib, importc: "html_view_get_magnification".} +proc html_view_set_magnification*(view: PHtmlView, magnification: gdouble){. + cdecl, dynlib: htmllib, importc: "html_view_set_magnification".} +proc html_view_zoom_in*(view: PHtmlView){.cdecl, dynlib: htmllib, + importc: "html_view_zoom_in".} +proc html_view_zoom_out*(view: PHtmlView){.cdecl, dynlib: htmllib, + importc: "html_view_zoom_out".} +proc html_view_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(), TDomNode) + +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/newwrap/gtk/libglade2.nim b/lib/newwrap/gtk/libglade2.nim new file mode 100644 index 000000000..47e78e05e --- /dev/null +++ b/lib/newwrap/gtk/libglade2.nim @@ -0,0 +1,111 @@ +{.deadCodeElim: on.} +import + glib2, gtk2 + +when defined(win32): + const + LibGladeLib = "libglade-2.0-0.dll" +else: + const + LibGladeLib = "libglade-2.0.so" +type + PLongint* = ptr int32 + PSmallInt* = ptr int16 + PByte* = ptr int8 + PWord* = ptr int16 + PDWord* = ptr int32 + PDouble* = ptr float64 + +proc init*(){.cdecl, dynlib: LibGladeLib, importc: "glade_init".} +proc require*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib, + importc: "glade_require".} +proc provide*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib, + importc: "glade_provide".} +type + PXMLPrivate* = pointer + PXML* = ptr TXML + TXML* = object of TGObject + filename*: cstring + priv*: PXMLPrivate + + PXMLClass* = ptr TXMLClass + TXMLClass* = object of TGObjectClass + TXMLConnectFunc* = proc (handler_name: cstring, anObject: PGObject, + signal_name: cstring, signal_data: cstring, + connect_object: PGObject, after: gboolean, + user_data: gpointer){.cdecl.} + +proc TYPE_XML*(): GType +proc XML*(obj: pointer): PXML +proc XML_CLASS*(klass: pointer): PXMLClass +proc IS_XML*(obj: pointer): gboolean +proc IS_XML_CLASS*(klass: pointer): gboolean +proc XML_GET_CLASS*(obj: pointer): PXMLClass +proc xml_get_type*(): GType{.cdecl, dynlib: LibGladeLib, + importc: "glade_xml_get_type".} +proc xml_new*(fname: cstring, root: cstring, domain: cstring): PXML{.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_new".} +proc xml_new_from_buffer*(buffer: cstring, size: int32, root: cstring, + domain: cstring): PXML{.cdecl, dynlib: LibGladeLib, + importc: "glade_xml_new_from_buffer".} +proc xml_construct*(self: PXML, fname: cstring, root: cstring, domain: cstring): gboolean{. + cdecl, dynlib: LibGladeLib, importc: "glade_xml_construct".} +proc xml_signal_connect*(self: PXML, handlername: cstring, func: TGCallback){. + cdecl, dynlib: LibGladeLib, importc: "glade_xml_signal_connect".} +proc xml_signal_connect_data*(self: PXML, handlername: cstring, + func: TGCallback, user_data: gpointer){.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_signal_connect_data".} +proc xml_signal_autoconnect*(self: PXML){.cdecl, dynlib: LibGladeLib, + importc: "glade_xml_signal_autoconnect".} +proc xml_signal_connect_full*(self: PXML, handler_name: cstring, + func: TXMLConnectFunc, user_data: gpointer){. + cdecl, dynlib: LibGladeLib, importc: "glade_xml_signal_connect_full".} +proc xml_signal_autoconnect_full*(self: PXML, func: TXMLConnectFunc, + user_data: gpointer){.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_signal_autoconnect_full".} +proc xml_get_widget*(self: PXML, name: cstring): PGtkWidget{.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_get_widget".} +proc xml_get_widget_prefix*(self: PXML, name: cstring): PGList{.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_get_widget_prefix".} +proc xml_relative_file*(self: PXML, filename: cstring): cstring{.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_relative_file".} +proc get_widget_name*(widget: PGtkWidget): cstring{.cdecl, dynlib: LibGladeLib, + importc: "glade_get_widget_name".} +proc get_widget_tree*(widget: PGtkWidget): PXML{.cdecl, dynlib: LibGladeLib, + importc: "glade_get_widget_tree".} +type + PXMLCustomWidgetHandler* = ptr TXMLCustomWidgetHandler + TXMLCustomWidgetHandler* = TGtkWidget + +proc set_custom_handler*(handler: TXMLCustomWidgetHandler, user_data: gpointer){. + cdecl, dynlib: LibGladeLib, importc: "glade_set_custom_handler".} +proc gnome_init*() = + init() + +proc bonobo_init*() = + init() + +proc xml_new_with_domain*(fname: cstring, root: cstring, domain: cstring): PXML = + result = xml_new(fname, root, domain) + +proc xml_new_from_memory*(buffer: cstring, size: int32, root: cstring, + domain: cstring): PXML = + result = xml_new_from_buffer(buffer, size, root, domain) + +proc TYPE_XML*(): GType = + result = xml_get_type() + +proc XML*(obj: pointer): PXML = + result = cast[PXML](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_XML())) + +proc XML_CLASS*(klass: pointer): PXMLClass = + result = cast[PXMLClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_XML())) + +proc IS_XML*(obj: pointer): gboolean = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_XML()) + +proc IS_XML_CLASS*(klass: pointer): gboolean = + result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_XML()) + +proc XML_GET_CLASS*(obj: pointer): PXMLClass = + result = cast[PXMLClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_XML())) diff --git a/lib/newwrap/gtk/pango.nim b/lib/newwrap/gtk/pango.nim new file mode 100644 index 000000000..1443aba1d --- /dev/null +++ b/lib/newwrap/gtk/pango.nim @@ -0,0 +1,1183 @@ +{.deadCodeElim: on.} +import + glib2 + +when defined(win32): + const + pangolib* = "libpango-1.0-0.dll" +else: + const + pangolib* = "libpango-1.0.so.0" +type + PFont* = pointer + PFontFamily* = pointer + PFontset* = pointer + PFontMetrics* = pointer + PFontFace* = pointer + PFontMap* = pointer + PFontsetClass* = pointer + PFontFamilyClass* = pointer + PFontFaceClass* = pointer + PFontClass* = pointer + PFontMapClass* = pointer + PFontDescription* = ptr TFontDescription + TFontDescription* = pointer + PAttrList* = ptr TAttrList + TAttrList* = pointer + PAttrIterator* = ptr TAttrIterator + TAttrIterator* = pointer + PLayout* = ptr TLayout + TLayout* = pointer + PLayoutClass* = ptr TLayoutClass + TLayoutClass* = pointer + PLayoutIter* = ptr TLayoutIter + TLayoutIter* = pointer + PContext* = ptr TContext + TContext* = pointer + PContextClass* = ptr TContextClass + TContextClass* = pointer + PFontsetSimple* = ptr TFontsetSimple + TFontsetSimple* = pointer + PTabArray* = ptr TTabArray + TTabArray* = pointer + PGlyphString* = ptr TGlyphString + PAnalysis* = ptr TAnalysis + PItem* = ptr TItem + PLanguage* = ptr TLanguage + TLanguage* = pointer + PGlyph* = ptr TGlyph + TGlyph* = guint32 + PRectangle* = ptr TRectangle + TRectangle*{.final, pure.} = object + x*: int32 + y*: int32 + width*: int32 + height*: int32 + + PDirection* = ptr TDirection + TDirection* = enum + PANGO_DIRECTION_LTR, PANGO_DIRECTION_RTL, PANGO_DIRECTION_TTB_LTR, + PANGO_DIRECTION_TTB_RTL + PColor* = ptr TColor + TColor*{.final, pure.} = object + red*: guint16 + green*: guint16 + blue*: guint16 + + PAttrType* = ptr TAttrType + TAttrType* = int32 + PUnderline* = ptr TUnderline + TUnderline* = int32 + PAttribute* = ptr TAttribute + PAttrClass* = ptr TAttrClass + TAttribute*{.final, pure.} = object + klass*: PAttrClass + start_index*: int + end_index*: int + + TAttrClass*{.final, pure.} = object + `type`*: TAttrType + copy*: proc (attr: PAttribute): PAttribute{.cdecl.} + destroy*: proc (attr: PAttribute){.cdecl.} + equal*: proc (attr1: PAttribute, attr2: PAttribute): gboolean{.cdecl.} + + PAttrString* = ptr TAttrString + TAttrString*{.final, pure.} = object + attr*: TAttribute + value*: cstring + + PAttrLanguage* = ptr TAttrLanguage + TAttrLanguage*{.final, pure.} = object + attr*: TAttribute + value*: PLanguage + + PAttrInt* = ptr TAttrInt + TAttrInt*{.final, pure.} = object + attr*: TAttribute + value*: int32 + + PAttrFloat* = ptr TAttrFloat + TAttrFloat*{.final, pure.} = object + attr*: TAttribute + value*: gdouble + + PAttrColor* = ptr TAttrColor + TAttrColor*{.final, pure.} = object + attr*: TAttribute + color*: TColor + + PAttrShape* = ptr TAttrShape + TAttrShape*{.final, pure.} = object + attr*: TAttribute + ink_rect*: TRectangle + logical_rect*: TRectangle + + PAttrFontDesc* = ptr TAttrFontDesc + TAttrFontDesc*{.final, pure.} = object + attr*: TAttribute + desc*: PFontDescription + + PLogAttr* = ptr TLogAttr + TLogAttr*{.final, pure.} = object + flag0*: guint16 + + PCoverageLevel* = ptr TCoverageLevel + TCoverageLevel* = enum + PANGO_COVERAGE_NONE, PANGO_COVERAGE_FALLBACK, PANGO_COVERAGE_APPROXIMATE, + PANGO_COVERAGE_EXACT + PBlockInfo* = ptr TBlockInfo + TBlockInfo*{.final, pure.} = object + data*: Pguchar + level*: TCoverageLevel + + PCoverage* = ptr TCoverage + TCoverage*{.final, pure.} = object + ref_count*: int + n_blocks*: int32 + data_size*: int32 + blocks*: PBlockInfo + + PEngineRange* = ptr TEngineRange + TEngineRange*{.final, pure.} = object + start*: int32 + theEnd*: int32 + langs*: cstring + + PEngineInfo* = ptr TEngineInfo + TEngineInfo*{.final, pure.} = object + id*: cstring + engine_type*: cstring + render_type*: cstring + ranges*: PEngineRange + n_ranges*: gint + + PEngine* = ptr TEngine + TEngine*{.final, pure.} = object + id*: cstring + `type`*: cstring + length*: gint + + TEngineLangScriptBreak* = proc (text: cstring, len: int32, + analysis: PAnalysis, attrs: PLogAttr, + attrs_len: int32){.cdecl.} + PEngineLang* = ptr TEngineLang + TEngineLang*{.final, pure.} = object + engine*: TEngine + script_break*: TEngineLangScriptBreak + + TEngineShapeScript* = proc (font: PFont, text: cstring, length: int32, + analysis: PAnalysis, glyphs: PGlyphString){.cdecl.} + TEngineShapeGetCoverage* = proc (font: PFont, language: PLanguage): PCoverage{. + cdecl.} + PEngineShape* = ptr TEngineShape + TEngineShape*{.final, pure.} = object + engine*: TEngine + script_shape*: TEngineShapeScript + get_coverage*: TEngineShapeGetCoverage + + PStyle* = ptr TStyle + TStyle* = gint + PVariant* = ptr TVariant + TVariant* = gint + PWeight* = ptr TWeight + TWeight* = gint + PStretch* = ptr TStretch + TStretch* = gint + PFontMask* = ptr TFontMask + TFontMask* = int32 + PGlyphUnit* = ptr TGlyphUnit + TGlyphUnit* = gint32 + PGlyphGeometry* = ptr TGlyphGeometry + TGlyphGeometry*{.final, pure.} = object + width*: TGlyphUnit + x_offset*: TGlyphUnit + y_offset*: TGlyphUnit + + PGlyphVisAttr* = ptr TGlyphVisAttr + TGlyphVisAttr*{.final, pure.} = object + flag0*: int16 + + PGlyphInfo* = ptr TGlyphInfo + TGlyphInfo*{.final, pure.} = object + glyph*: TGlyph + geometry*: TGlyphGeometry + attr*: TGlyphVisAttr + + TGlyphString*{.final, pure.} = object + num_glyphs*: gint + glyphs*: PGlyphInfo + log_clusters*: Pgint + space*: gint + + TAnalysis*{.final, pure.} = object + shape_engine*: PEngineShape + lang_engine*: PEngineLang + font*: PFont + level*: guint8 + language*: PLanguage + extra_attrs*: PGSList + + TItem*{.final, pure.} = object + offset*: gint + length*: gint + num_chars*: gint + analysis*: TAnalysis + + PAlignment* = ptr TAlignment + TAlignment* = enum + PANGO_ALIGN_LEFT, PANGO_ALIGN_CENTER, PANGO_ALIGN_RIGHT + PWrapMode* = ptr TWrapMode + TWrapMode* = enum + PANGO_WRAP_WORD, PANGO_WRAP_CHAR + PLayoutLine* = ptr TLayoutLine + TLayoutLine*{.final, pure.} = object + layout*: PLayout + start_index*: gint + length*: gint + runs*: PGSList + + PLayoutRun* = ptr TLayoutRun + TLayoutRun*{.final, pure.} = object + item*: PItem + glyphs*: PGlyphString + + PTabAlign* = ptr TTabAlign + TTabAlign* = enum + PANGO_TAB_LEFT + +const + PANGO_SCALE* = 1024 + +proc PANGO_PIXELS*(d: int): int +proc PANGO_ASCENT*(rect: TRectangle): int32 +proc PANGO_DESCENT*(rect: TRectangle): int32 +proc PANGO_LBEARING*(rect: TRectangle): int32 +proc PANGO_RBEARING*(rect: TRectangle): int32 +proc PANGO_TYPE_LANGUAGE*(): GType +proc pango_language_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_language_get_type".} +proc pango_language_from_string*(language: cstring): PLanguage{.cdecl, + dynlib: pangolib, importc: "pango_language_from_string".} +proc pango_language_to_string*(language: PLanguage): cstring +proc pango_language_matches*(language: PLanguage, range_list: cstring): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_language_matches".} +const + PANGO_ATTR_INVALID* = 0 + PANGO_ATTR_LANGUAGE* = 1 + PANGO_ATTR_FAMILY* = 2 + PANGO_ATTR_STYLE* = 3 + PANGO_ATTR_WEIGHT* = 4 + PANGO_ATTR_VARIANT* = 5 + PANGO_ATTR_STRETCH* = 6 + PANGO_ATTR_SIZE* = 7 + PANGO_ATTR_FONT_DESC* = 8 + PANGO_ATTR_FOREGROUND* = 9 + PANGO_ATTR_BACKGROUND* = 10 + PANGO_ATTR_UNDERLINE* = 11 + PANGO_ATTR_STRIKETHROUGH* = 12 + PANGO_ATTR_RISE* = 13 + PANGO_ATTR_SHAPE* = 14 + PANGO_ATTR_SCALE* = 15 + PANGO_UNDERLINE_NONE* = 0 + PANGO_UNDERLINE_SINGLE* = 1 + PANGO_UNDERLINE_DOUBLE* = 2 + PANGO_UNDERLINE_LOW* = 3 + +proc PANGO_TYPE_COLOR*(): GType +proc pango_color_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_color_get_type".} +proc pango_color_copy*(src: PColor): PColor{.cdecl, dynlib: pangolib, + importc: "pango_color_copy".} +proc pango_color_free*(color: PColor){.cdecl, dynlib: pangolib, + importc: "pango_color_free".} +proc pango_color_parse*(color: PColor, spec: cstring): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_color_parse".} +proc PANGO_TYPE_ATTR_LIST*(): GType +proc pango_attr_type_register*(name: cstring): TAttrType{.cdecl, + dynlib: pangolib, importc: "pango_attr_type_register".} +proc pango_attribute_copy*(attr: PAttribute): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attribute_copy".} +proc pango_attribute_destroy*(attr: PAttribute){.cdecl, dynlib: pangolib, + importc: "pango_attribute_destroy".} +proc pango_attribute_equal*(attr1: PAttribute, attr2: PAttribute): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_attribute_equal".} +proc pango_attr_language_new*(language: PLanguage): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_language_new".} +proc pango_attr_family_new*(family: cstring): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_family_new".} +proc pango_attr_foreground_new*(red: guint16, green: guint16, blue: guint16): PAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_foreground_new".} +proc pango_attr_background_new*(red: guint16, green: guint16, blue: guint16): PAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_background_new".} +proc pango_attr_size_new*(size: int32): PAttribute{.cdecl, dynlib: pangolib, + importc: "pango_attr_size_new".} +proc pango_attr_style_new*(style: TStyle): PAttribute{.cdecl, dynlib: pangolib, + importc: "pango_attr_style_new".} +proc pango_attr_weight_new*(weight: TWeight): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_weight_new".} +proc pango_attr_variant_new*(variant: TVariant): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_variant_new".} +proc pango_attr_stretch_new*(stretch: TStretch): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_stretch_new".} +proc pango_attr_font_desc_new*(desc: PFontDescription): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_font_desc_new".} +proc pango_attr_underline_new*(underline: TUnderline): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_underline_new".} +proc pango_attr_strikethrough_new*(strikethrough: gboolean): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_strikethrough_new".} +proc pango_attr_rise_new*(rise: int32): PAttribute{.cdecl, dynlib: pangolib, + importc: "pango_attr_rise_new".} +proc pango_attr_shape_new*(ink_rect: PRectangle, logical_rect: PRectangle): PAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_shape_new".} +proc pango_attr_scale_new*(scale_factor: gdouble): PAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_scale_new".} +proc pango_attr_list_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_attr_list_get_type".} +proc pango_attr_list_new*(): PAttrList{.cdecl, dynlib: pangolib, + importc: "pango_attr_list_new".} +proc pango_attr_list_ref*(list: PAttrList){.cdecl, dynlib: pangolib, + importc: "pango_attr_list_ref".} +proc pango_attr_list_unref*(list: PAttrList){.cdecl, dynlib: pangolib, + importc: "pango_attr_list_unref".} +proc pango_attr_list_copy*(list: PAttrList): PAttrList{.cdecl, dynlib: pangolib, + importc: "pango_attr_list_copy".} +proc pango_attr_list_insert*(list: PAttrList, attr: PAttribute){.cdecl, + dynlib: pangolib, importc: "pango_attr_list_insert".} +proc pango_attr_list_insert_before*(list: PAttrList, attr: PAttribute){.cdecl, + dynlib: pangolib, importc: "pango_attr_list_insert_before".} +proc pango_attr_list_change*(list: PAttrList, attr: PAttribute){.cdecl, + dynlib: pangolib, importc: "pango_attr_list_change".} +proc pango_attr_list_splice*(list: PAttrList, other: PAttrList, pos: gint, + len: gint){.cdecl, dynlib: pangolib, + importc: "pango_attr_list_splice".} +proc pango_attr_list_get_iterator*(list: PAttrList): PAttrIterator{.cdecl, + dynlib: pangolib, importc: "pango_attr_list_get_iterator".} +proc pango_attr_iterator_range*(`iterator`: PAttrIterator, start: Pgint, + theEnd: Pgint){.cdecl, dynlib: pangolib, + importc: "pango_attr_iterator_range".} +proc pango_attr_iterator_next*(`iterator`: PAttrIterator): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_attr_iterator_next".} +proc pango_attr_iterator_copy*(`iterator`: PAttrIterator): PAttrIterator{.cdecl, + dynlib: pangolib, importc: "pango_attr_iterator_copy".} +proc pango_attr_iterator_destroy*(`iterator`: PAttrIterator){.cdecl, + dynlib: pangolib, importc: "pango_attr_iterator_destroy".} +proc pango_attr_iterator_get*(`iterator`: PAttrIterator, `type`: TAttrType): PAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_iterator_get".} +proc pango_attr_iterator_get_font*(`iterator`: PAttrIterator, + desc: PFontDescription, + language: var PLanguage, + extra_attrs: PPGSList){.cdecl, + dynlib: pangolib, importc: "pango_attr_iterator_get_font".} +proc pango_parse_markup*(markup_text: cstring, length: int32, + accel_marker: gunichar, attr_list: var PAttrList, + text: PPchar, accel_char: Pgunichar, error: pointer): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_parse_markup".} +const + bm_TPangoLogAttr_is_line_break* = 0x0001'i16 + bp_TPangoLogAttr_is_line_break* = 0'i16 + bm_TPangoLogAttr_is_mandatory_break* = 0x0002'i16 + bp_TPangoLogAttr_is_mandatory_break* = 1'i16 + bm_TPangoLogAttr_is_char_break* = 0x0004'i16 + bp_TPangoLogAttr_is_char_break* = 2'i16 + bm_TPangoLogAttr_is_white* = 0x0008'i16 + bp_TPangoLogAttr_is_white* = 3'i16 + bm_TPangoLogAttr_is_cursor_position* = 0x0010'i16 + bp_TPangoLogAttr_is_cursor_position* = 4'i16 + bm_TPangoLogAttr_is_word_start* = 0x0020'i16 + bp_TPangoLogAttr_is_word_start* = 5'i16 + bm_TPangoLogAttr_is_word_end* = 0x0040'i16 + bp_TPangoLogAttr_is_word_end* = 6'i16 + bm_TPangoLogAttr_is_sentence_boundary* = 0x0080'i16 + bp_TPangoLogAttr_is_sentence_boundary* = 7'i16 + bm_TPangoLogAttr_is_sentence_start* = 0x0100'i16 + bp_TPangoLogAttr_is_sentence_start* = 8'i16 + bm_TPangoLogAttr_is_sentence_end* = 0x0200'i16 + bp_TPangoLogAttr_is_sentence_end* = 9'i16 + +proc is_line_break*(a: var TLogAttr): guint +proc set_is_line_break*(a: var TLogAttr, `is_line_break`: guint) +proc is_mandatory_break*(a: var TLogAttr): guint +proc set_is_mandatory_break*(a: var TLogAttr, `is_mandatory_break`: guint) +proc is_char_break*(a: var TLogAttr): guint +proc set_is_char_break*(a: var TLogAttr, `is_char_break`: guint) +proc is_white*(a: var TLogAttr): guint +proc set_is_white*(a: var TLogAttr, `is_white`: guint) +proc is_cursor_position*(a: var TLogAttr): guint +proc set_is_cursor_position*(a: var TLogAttr, `is_cursor_position`: guint) +proc is_word_start*(a: var TLogAttr): guint +proc set_is_word_start*(a: var TLogAttr, `is_word_start`: guint) +proc is_word_end*(a: var TLogAttr): guint +proc set_is_word_end*(a: var TLogAttr, `is_word_end`: guint) +proc is_sentence_boundary*(a: var TLogAttr): guint +proc set_is_sentence_boundary*(a: var TLogAttr, `is_sentence_boundary`: guint) +proc is_sentence_start*(a: var TLogAttr): guint +proc set_is_sentence_start*(a: var TLogAttr, `is_sentence_start`: guint) +proc is_sentence_end*(a: var TLogAttr): guint +proc set_is_sentence_end*(a: var TLogAttr, `is_sentence_end`: guint) +proc pango_break*(text: cstring, length: int32, analysis: PAnalysis, + attrs: PLogAttr, attrs_len: int32){.cdecl, dynlib: pangolib, + importc: "pango_break".} +proc pango_find_paragraph_boundary*(text: cstring, length: gint, + paragraph_delimiter_index: Pgint, + next_paragraph_start: Pgint){.cdecl, + dynlib: pangolib, importc: "pango_find_paragraph_boundary".} +proc pango_get_log_attrs*(text: cstring, length: int32, level: int32, + language: PLanguage, log_attrs: PLogAttr, + attrs_len: int32){.cdecl, dynlib: pangolib, + importc: "pango_get_log_attrs".} +proc PANGO_TYPE_CONTEXT*(): GType +proc PANGO_CONTEXT*(anObject: pointer): PContext +proc PANGO_CONTEXT_CLASS*(klass: pointer): PContextClass +proc PANGO_IS_CONTEXT*(anObject: pointer): bool +proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool +proc PANGO_CONTEXT_GET_CLASS*(obj: PContext): PContextClass +proc pango_context_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_context_get_type".} +proc pango_context_list_families*(context: PContext, + families: openarray[ptr PFontFamily]){.cdecl, + dynlib: pangolib, importc: "pango_context_list_families".} +proc pango_context_load_font*(context: PContext, desc: PFontDescription): PFont{. + cdecl, dynlib: pangolib, importc: "pango_context_load_font".} +proc pango_context_load_fontset*(context: PContext, desc: PFontDescription, + language: PLanguage): PFontset{.cdecl, + dynlib: pangolib, importc: "pango_context_load_fontset".} +proc pango_context_get_metrics*(context: PContext, desc: PFontDescription, + language: PLanguage): PFontMetrics{.cdecl, + dynlib: pangolib, importc: "pango_context_get_metrics".} +proc pango_context_set_font_description*(context: PContext, + desc: PFontDescription){.cdecl, dynlib: pangolib, + importc: "pango_context_set_font_description".} +proc pango_context_get_font_description*(context: PContext): PFontDescription{. + cdecl, dynlib: pangolib, importc: "pango_context_get_font_description".} +proc pango_context_get_language*(context: PContext): PLanguage{.cdecl, + dynlib: pangolib, importc: "pango_context_get_language".} +proc pango_context_set_language*(context: PContext, language: PLanguage){.cdecl, + dynlib: pangolib, importc: "pango_context_set_language".} +proc pango_context_set_base_dir*(context: PContext, direction: TDirection){. + cdecl, dynlib: pangolib, importc: "pango_context_set_base_dir".} +proc pango_context_get_base_dir*(context: PContext): TDirection{.cdecl, + dynlib: pangolib, importc: "pango_context_get_base_dir".} +proc pango_itemize*(context: PContext, text: cstring, start_index: int32, + length: int32, attrs: PAttrList, cached_iter: PAttrIterator): PGList{. + cdecl, dynlib: pangolib, importc: "pango_itemize".} +proc pango_coverage_new*(): PCoverage{.cdecl, dynlib: pangolib, + importc: "pango_coverage_new".} +proc pango_coverage_ref*(coverage: PCoverage): PCoverage{.cdecl, + dynlib: pangolib, importc: "pango_coverage_ref".} +proc pango_coverage_unref*(coverage: PCoverage){.cdecl, dynlib: pangolib, + importc: "pango_coverage_unref".} +proc pango_coverage_copy*(coverage: PCoverage): PCoverage{.cdecl, + dynlib: pangolib, importc: "pango_coverage_copy".} +proc pango_coverage_get*(coverage: PCoverage, index: int32): TCoverageLevel{. + cdecl, dynlib: pangolib, importc: "pango_coverage_get".} +proc pango_coverage_set*(coverage: PCoverage, index: int32, + level: TCoverageLevel){.cdecl, dynlib: pangolib, + importc: "pango_coverage_set".} +proc pango_coverage_max*(coverage: PCoverage, other: PCoverage){.cdecl, + dynlib: pangolib, importc: "pango_coverage_max".} +proc pango_coverage_to_bytes*(coverage: PCoverage, bytes: PPguchar, + n_bytes: var int32){.cdecl, dynlib: pangolib, + importc: "pango_coverage_to_bytes".} +proc pango_coverage_from_bytes*(bytes: Pguchar, n_bytes: int32): PCoverage{. + cdecl, dynlib: pangolib, importc: "pango_coverage_from_bytes".} +proc PANGO_TYPE_FONTSET*(): GType +proc PANGO_FONTSET*(anObject: pointer): PFontset +proc PANGO_IS_FONTSET*(anObject: pointer): bool +proc pango_fontset_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_fontset_get_type".} +proc pango_fontset_get_font*(fontset: PFontset, wc: guint): PFont{.cdecl, + dynlib: pangolib, importc: "pango_fontset_get_font".} +proc pango_fontset_get_metrics*(fontset: PFontset): PFontMetrics{.cdecl, + dynlib: pangolib, importc: "pango_fontset_get_metrics".} +const + PANGO_STYLE_NORMAL* = 0 + PANGO_STYLE_OBLIQUE* = 1 + PANGO_STYLE_ITALIC* = 2 + PANGO_VARIANT_NORMAL* = 0 + PANGO_VARIANT_SMALL_CAPS* = 1 + PANGO_WEIGHT_ULTRALIGHT* = 200 + PANGO_WEIGHT_LIGHT* = 300 + PANGO_WEIGHT_NORMAL* = 400 + PANGO_WEIGHT_BOLD* = 700 + PANGO_WEIGHT_ULTRABOLD* = 800 + PANGO_WEIGHT_HEAVY* = 900 + PANGO_STRETCH_ULTRA_CONDENSED* = 0 + PANGO_STRETCH_EXTRA_CONDENSED* = 1 + PANGO_STRETCH_CONDENSED* = 2 + PANGO_STRETCH_SEMI_CONDENSED* = 3 + PANGO_STRETCH_NORMAL* = 4 + PANGO_STRETCH_SEMI_EXPANDED* = 5 + PANGO_STRETCH_EXPANDED* = 6 + PANGO_STRETCH_EXTRA_EXPANDED* = 7 + PANGO_STRETCH_ULTRA_EXPANDED* = 8 + PANGO_FONT_MASK_FAMILY* = 1 shl 0 + PANGO_FONT_MASK_STYLE* = 1 shl 1 + PANGO_FONT_MASK_VARIANT* = 1 shl 2 + PANGO_FONT_MASK_WEIGHT* = 1 shl 3 + PANGO_FONT_MASK_STRETCH* = 1 shl 4 + PANGO_FONT_MASK_SIZE* = 1 shl 5 + PANGO_SCALE_XX_SMALL* = 0.578704 + PANGO_SCALE_X_SMALL* = 0.644444 + PANGO_SCALE_SMALL* = 0.833333 + PANGO_SCALE_MEDIUM* = 1.00000 + PANGO_SCALE_LARGE* = 1.20000 + PANGO_SCALE_X_LARGE* = 1.44000 + PANGO_SCALE_XX_LARGE* = 1.72800 + +proc PANGO_TYPE_FONT_DESCRIPTION*(): GType +proc pango_font_description_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_description_get_type".} +proc pango_font_description_new*(): PFontDescription{.cdecl, dynlib: pangolib, + importc: "pango_font_description_new".} +proc pango_font_description_copy*(desc: PFontDescription): PFontDescription{. + cdecl, dynlib: pangolib, importc: "pango_font_description_copy".} +proc pango_font_description_copy_static*(desc: PFontDescription): PFontDescription{. + cdecl, dynlib: pangolib, importc: "pango_font_description_copy_static".} +proc pango_font_description_hash*(desc: PFontDescription): guint{.cdecl, + dynlib: pangolib, importc: "pango_font_description_hash".} +proc pango_font_description_equal*(desc1: PFontDescription, + desc2: PFontDescription): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_font_description_equal".} +proc pango_font_description_free*(desc: PFontDescription){.cdecl, + dynlib: pangolib, importc: "pango_font_description_free".} +proc pango_font_descriptions_free*(descs: var PFontDescription, n_descs: int32){. + cdecl, dynlib: pangolib, importc: "pango_font_descriptions_free".} +proc pango_font_description_set_family*(desc: PFontDescription, family: cstring){. + cdecl, dynlib: pangolib, importc: "pango_font_description_set_family".} +proc pango_font_description_set_family_static*(desc: PFontDescription, + family: cstring){.cdecl, dynlib: pangolib, + importc: "pango_font_description_set_family_static".} +proc pango_font_description_get_family*(desc: PFontDescription): cstring{.cdecl, + dynlib: pangolib, importc: "pango_font_description_get_family".} +proc pango_font_description_set_style*(desc: PFontDescription, style: TStyle){. + cdecl, dynlib: pangolib, importc: "pango_font_description_set_style".} +proc pango_font_description_get_style*(desc: PFontDescription): TStyle{.cdecl, + dynlib: pangolib, importc: "pango_font_description_get_style".} +proc pango_font_description_set_variant*(desc: PFontDescription, + variant: TVariant){.cdecl, dynlib: pangolib, + importc: "pango_font_description_set_variant".} +proc pango_font_description_get_variant*(desc: PFontDescription): TVariant{. + cdecl, dynlib: pangolib, importc: "pango_font_description_get_variant".} +proc pango_font_description_set_weight*(desc: PFontDescription, weight: TWeight){. + cdecl, dynlib: pangolib, importc: "pango_font_description_set_weight".} +proc pango_font_description_get_weight*(desc: PFontDescription): TWeight{.cdecl, + dynlib: pangolib, importc: "pango_font_description_get_weight".} +proc pango_font_description_set_stretch*(desc: PFontDescription, + stretch: TStretch){.cdecl, dynlib: pangolib, + importc: "pango_font_description_set_stretch".} +proc pango_font_description_get_stretch*(desc: PFontDescription): TStretch{. + cdecl, dynlib: pangolib, importc: "pango_font_description_get_stretch".} +proc pango_font_description_set_size*(desc: PFontDescription, size: gint){. + cdecl, dynlib: pangolib, importc: "pango_font_description_set_size".} +proc pango_font_description_get_size*(desc: PFontDescription): gint{.cdecl, + dynlib: pangolib, importc: "pango_font_description_get_size".} +proc pango_font_description_set_absolute_size*(desc: PFontDescription, + size: float64){.cdecl, dynlib: pangolib, + importc: "pango_font_description_set_absolute_size".} +proc pango_font_description_get_size_is_absolute*(desc: PFontDescription, + size: float64): gboolean{.cdecl, dynlib: pangolib, importc: "pango_font_description_get_size_is_absolute".} +proc pango_font_description_get_set_fields*(desc: PFontDescription): TFontMask{. + cdecl, dynlib: pangolib, importc: "pango_font_description_get_set_fields".} +proc pango_font_description_unset_fields*(desc: PFontDescription, + to_unset: TFontMask){.cdecl, dynlib: pangolib, + importc: "pango_font_description_unset_fields".} +proc pango_font_description_merge*(desc: PFontDescription, + desc_to_merge: PFontDescription, + replace_existing: gboolean){.cdecl, + dynlib: pangolib, importc: "pango_font_description_merge".} +proc pango_font_description_merge_static*(desc: PFontDescription, + desc_to_merge: PFontDescription, replace_existing: gboolean){.cdecl, + dynlib: pangolib, importc: "pango_font_description_merge_static".} +proc pango_font_description_better_match*(desc: PFontDescription, + old_match: PFontDescription, new_match: PFontDescription): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_font_description_better_match".} +proc pango_font_description_from_string*(str: cstring): PFontDescription{.cdecl, + dynlib: pangolib, importc: "pango_font_description_from_string".} +proc pango_font_description_to_string*(desc: PFontDescription): cstring{.cdecl, + dynlib: pangolib, importc: "pango_font_description_to_string".} +proc pango_font_description_to_filename*(desc: PFontDescription): cstring{. + cdecl, dynlib: pangolib, importc: "pango_font_description_to_filename".} +proc PANGO_TYPE_FONT_METRICS*(): GType +proc pango_font_metrics_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_metrics_get_type".} +proc pango_font_metrics_ref*(metrics: PFontMetrics): PFontMetrics{.cdecl, + dynlib: pangolib, importc: "pango_font_metrics_ref".} +proc pango_font_metrics_unref*(metrics: PFontMetrics){.cdecl, dynlib: pangolib, + importc: "pango_font_metrics_unref".} +proc pango_font_metrics_get_ascent*(metrics: PFontMetrics): int32{.cdecl, + dynlib: pangolib, importc: "pango_font_metrics_get_ascent".} +proc pango_font_metrics_get_descent*(metrics: PFontMetrics): int32{.cdecl, + dynlib: pangolib, importc: "pango_font_metrics_get_descent".} +proc pango_font_metrics_get_approximate_char_width*(metrics: PFontMetrics): int32{. + cdecl, dynlib: pangolib, + importc: "pango_font_metrics_get_approximate_char_width".} +proc pango_font_metrics_get_approximate_digit_width*(metrics: PFontMetrics): int32{. + cdecl, dynlib: pangolib, + importc: "pango_font_metrics_get_approximate_digit_width".} +proc PANGO_TYPE_FONT_FAMILY*(): GType +proc PANGO_FONT_FAMILY*(anObject: Pointer): PFontFamily +proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool +proc pango_font_family_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_family_get_type".} +proc pango_font_family_list_faces*(family: PFontFamily, + faces: var openarray[ptr PFontFace]){.cdecl, + dynlib: pangolib, importc: "pango_font_family_list_faces".} +proc pango_font_family_get_name*(family: PFontFamily): cstring{.cdecl, + dynlib: pangolib, importc: "pango_font_family_get_name".} +proc PANGO_TYPE_FONT_FACE*(): GType +proc PANGO_FONT_FACE*(anObject: pointer): PFontFace +proc PANGO_IS_FONT_FACE*(anObject: pointer): bool +proc pango_font_face_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_face_get_type".} +proc pango_font_face_describe*(face: PFontFace): PFontDescription{.cdecl, + dynlib: pangolib, importc: "pango_font_face_describe".} +proc pango_font_face_get_face_name*(face: PFontFace): cstring{.cdecl, + dynlib: pangolib, importc: "pango_font_face_get_face_name".} +proc PANGO_TYPE_FONT*(): GType +proc PANGO_FONT*(anObject: pointer): PFont +proc PANGO_IS_FONT*(anObject: pointer): bool +proc pango_font_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_get_type".} +proc pango_font_describe*(font: PFont): PFontDescription{.cdecl, + dynlib: pangolib, importc: "pango_font_describe".} +proc pango_font_get_coverage*(font: PFont, language: PLanguage): PCoverage{. + cdecl, dynlib: pangolib, importc: "pango_font_get_coverage".} +proc pango_font_find_shaper*(font: PFont, language: PLanguage, ch: guint32): PEngineShape{. + cdecl, dynlib: pangolib, importc: "pango_font_find_shaper".} +proc pango_font_get_metrics*(font: PFont, language: PLanguage): PFontMetrics{. + cdecl, dynlib: pangolib, importc: "pango_font_get_metrics".} +proc pango_font_get_glyph_extents*(font: PFont, glyph: TGlyph, + ink_rect: PRectangle, + logical_rect: PRectangle){.cdecl, + dynlib: pangolib, importc: "pango_font_get_glyph_extents".} +proc PANGO_TYPE_FONT_MAP*(): GType +proc PANGO_FONT_MAP*(anObject: pointer): PFontMap +proc PANGO_IS_FONT_MAP*(anObject: pointer): bool +proc pango_font_map_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_map_get_type".} +proc pango_font_map_load_font*(fontmap: PFontMap, context: PContext, + desc: PFontDescription): PFont{.cdecl, + dynlib: pangolib, importc: "pango_font_map_load_font".} +proc pango_font_map_load_fontset*(fontmap: PFontMap, context: PContext, + desc: PFontDescription, language: PLanguage): PFontset{. + cdecl, dynlib: pangolib, importc: "pango_font_map_load_fontset".} +proc pango_font_map_list_families*(fontmap: PFontMap, + families: var openarray[ptr PFontFamily]){. + cdecl, dynlib: pangolib, importc: "pango_font_map_list_families".} +const + bm_TPangoGlyphVisAttr_is_cluster_start* = 0x0001'i16 + bp_TPangoGlyphVisAttr_is_cluster_start* = 0'i16 + +proc is_cluster_start*(a: var TGlyphVisAttr): guint +proc set_is_cluster_start*(a: var TGlyphVisAttr, `is_cluster_start`: guint) +proc PANGO_TYPE_GLYPH_STRING*(): GType +proc pango_glyph_string_new*(): PGlyphString{.cdecl, dynlib: pangolib, + importc: "pango_glyph_string_new".} +proc pango_glyph_string_set_size*(`string`: PGlyphString, new_len: gint){.cdecl, + dynlib: pangolib, importc: "pango_glyph_string_set_size".} +proc pango_glyph_string_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_glyph_string_get_type".} +proc pango_glyph_string_copy*(`string`: PGlyphString): PGlyphString{.cdecl, + dynlib: pangolib, importc: "pango_glyph_string_copy".} +proc pango_glyph_string_free*(`string`: PGlyphString){.cdecl, dynlib: pangolib, + importc: "pango_glyph_string_free".} +proc pango_glyph_string_extents*(glyphs: PGlyphString, font: PFont, + ink_rect: PRectangle, logical_rect: PRectangle){. + cdecl, dynlib: pangolib, importc: "pango_glyph_string_extents".} +proc pango_glyph_string_extents_range*(glyphs: PGlyphString, start: int32, + theEnd: int32, font: PFont, + ink_rect: PRectangle, + logical_rect: PRectangle){.cdecl, + dynlib: pangolib, importc: "pango_glyph_string_extents_range".} +proc pango_glyph_string_get_logical_widths*(glyphs: PGlyphString, text: cstring, + length: int32, embedding_level: int32, logical_widths: var int32){.cdecl, + dynlib: pangolib, importc: "pango_glyph_string_get_logical_widths".} +proc pango_glyph_string_index_to_x*(glyphs: PGlyphString, text: cstring, + length: int32, analysis: PAnalysis, + index: int32, trailing: gboolean, + x_pos: var int32){.cdecl, dynlib: pangolib, + importc: "pango_glyph_string_index_to_x".} +proc pango_glyph_string_x_to_index*(glyphs: PGlyphString, text: cstring, + length: int32, analysis: PAnalysis, + x_pos: int32, index, trailing: var int32){. + cdecl, dynlib: pangolib, importc: "pango_glyph_string_x_to_index".} +proc pango_shape*(text: cstring, length: gint, analysis: PAnalysis, + glyphs: PGlyphString){.cdecl, dynlib: pangolib, + importc: "pango_shape".} +proc pango_reorder_items*(logical_items: PGList): PGList{.cdecl, + dynlib: pangolib, importc: "pango_reorder_items".} +proc pango_item_new*(): PItem{.cdecl, dynlib: pangolib, + importc: "pango_item_new".} +proc pango_item_copy*(item: PItem): PItem{.cdecl, dynlib: pangolib, + importc: "pango_item_copy".} +proc pango_item_free*(item: PItem){.cdecl, dynlib: pangolib, + importc: "pango_item_free".} +proc pango_item_split*(orig: PItem, split_index: int32, split_offset: int32): PItem{. + cdecl, dynlib: pangolib, importc: "pango_item_split".} +proc PANGO_TYPE_LAYOUT*(): GType +proc PANGO_LAYOUT*(anObject: pointer): PLayout +proc PANGO_LAYOUT_CLASS*(klass: pointer): PLayoutClass +proc PANGO_IS_LAYOUT*(anObject: pointer): bool +proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool +proc PANGO_LAYOUT_GET_CLASS*(obj: PLayout): PLayoutClass +proc pango_layout_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_layout_get_type".} +proc pango_layout_new*(context: PContext): PLayout{.cdecl, dynlib: pangolib, + importc: "pango_layout_new".} +proc pango_layout_copy*(src: PLayout): PLayout{.cdecl, dynlib: pangolib, + importc: "pango_layout_copy".} +proc pango_layout_get_context*(layout: PLayout): PContext{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_context".} +proc pango_layout_set_attributes*(layout: PLayout, attrs: PAttrList){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_attributes".} +proc pango_layout_get_attributes*(layout: PLayout): PAttrList{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_attributes".} +proc pango_layout_set_text*(layout: PLayout, text: cstring, length: int32){. + cdecl, dynlib: pangolib, importc: "pango_layout_set_text".} +proc pango_layout_get_text*(layout: PLayout): cstring{.cdecl, dynlib: pangolib, + importc: "pango_layout_get_text".} +proc pango_layout_set_markup*(layout: PLayout, markup: cstring, length: int32){. + cdecl, dynlib: pangolib, importc: "pango_layout_set_markup".} +proc pango_layout_set_markup_with_accel*(layout: PLayout, markup: cstring, + length: int32, accel_marker: gunichar, accel_char: Pgunichar){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_markup_with_accel".} +proc pango_layout_set_font_description*(layout: PLayout, desc: PFontDescription){. + cdecl, dynlib: pangolib, importc: "pango_layout_set_font_description".} +proc pango_layout_set_width*(layout: PLayout, width: int32){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_width".} +proc pango_layout_get_width*(layout: PLayout): int32{.cdecl, dynlib: pangolib, + importc: "pango_layout_get_width".} +proc pango_layout_set_wrap*(layout: PLayout, wrap: TWrapMode){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_wrap".} +proc pango_layout_get_wrap*(layout: PLayout): TWrapMode{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_wrap".} +proc pango_layout_set_indent*(layout: PLayout, indent: int32){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_indent".} +proc pango_layout_get_indent*(layout: PLayout): int32{.cdecl, dynlib: pangolib, + importc: "pango_layout_get_indent".} +proc pango_layout_set_spacing*(layout: PLayout, spacing: int32){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_spacing".} +proc pango_layout_get_spacing*(layout: PLayout): int32{.cdecl, dynlib: pangolib, + importc: "pango_layout_get_spacing".} +proc pango_layout_set_justify*(layout: PLayout, justify: gboolean){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_justify".} +proc pango_layout_get_justify*(layout: PLayout): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_justify".} +proc pango_layout_set_alignment*(layout: PLayout, alignment: TAlignment){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_alignment".} +proc pango_layout_get_alignment*(layout: PLayout): TAlignment{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_alignment".} +proc pango_layout_set_tabs*(layout: PLayout, tabs: PTabArray){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_tabs".} +proc pango_layout_get_tabs*(layout: PLayout): PTabArray{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_tabs".} +proc pango_layout_set_single_paragraph_mode*(layout: PLayout, setting: gboolean){. + cdecl, dynlib: pangolib, importc: "pango_layout_set_single_paragraph_mode".} +proc pango_layout_get_single_paragraph_mode*(layout: PLayout): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_single_paragraph_mode".} +proc pango_layout_context_changed*(layout: PLayout){.cdecl, dynlib: pangolib, + importc: "pango_layout_context_changed".} +proc pango_layout_get_log_attrs*(layout: PLayout, attrs: var PLogAttr, + n_attrs: Pgint){.cdecl, dynlib: pangolib, + importc: "pango_layout_get_log_attrs".} +proc pango_layout_index_to_pos*(layout: PLayout, index: int32, pos: PRectangle){. + cdecl, dynlib: pangolib, importc: "pango_layout_index_to_pos".} +proc pango_layout_get_cursor_pos*(layout: PLayout, index: int32, + strong_pos: PRectangle, weak_pos: PRectangle){. + cdecl, dynlib: pangolib, importc: "pango_layout_get_cursor_pos".} +proc pango_layout_move_cursor_visually*(layout: PLayout, strong: gboolean, + old_index: int32, old_trailing: int32, + direction: int32, + new_index, new_trailing: var int32){. + cdecl, dynlib: pangolib, importc: "pango_layout_move_cursor_visually".} +proc pango_layout_xy_to_index*(layout: PLayout, x: int32, y: int32, + index, trailing: var int32): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_xy_to_index".} +proc pango_layout_get_extents*(layout: PLayout, ink_rect: PRectangle, + logical_rect: PRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_get_extents".} +proc pango_layout_get_pixel_extents*(layout: PLayout, ink_rect: PRectangle, + logical_rect: PRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_get_pixel_extents".} +proc pango_layout_get_size*(layout: PLayout, width: var int32, height: var int32){. + cdecl, dynlib: pangolib, importc: "pango_layout_get_size".} +proc pango_layout_get_pixel_size*(layout: PLayout, width: var int32, + height: var int32){.cdecl, dynlib: pangolib, + importc: "pango_layout_get_pixel_size".} +proc pango_layout_get_line_count*(layout: PLayout): int32{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_line_count".} +proc pango_layout_get_line*(layout: PLayout, line: int32): PLayoutLine{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_line".} +proc pango_layout_get_lines*(layout: PLayout): PGSList{.cdecl, dynlib: pangolib, + importc: "pango_layout_get_lines".} +proc pango_layout_line_ref*(line: PLayoutLine){.cdecl, dynlib: pangolib, + importc: "pango_layout_line_ref".} +proc pango_layout_line_unref*(line: PLayoutLine){.cdecl, dynlib: pangolib, + importc: "pango_layout_line_unref".} +proc pango_layout_line_x_to_index*(line: PLayoutLine, x_pos: int32, + index: var int32, trailing: var int32): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_layout_line_x_to_index".} +proc pango_layout_line_index_to_x*(line: PLayoutLine, index: int32, + trailing: gboolean, x_pos: var int32){.cdecl, + dynlib: pangolib, importc: "pango_layout_line_index_to_x".} +proc pango_layout_line_get_extents*(line: PLayoutLine, ink_rect: PRectangle, + logical_rect: PRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_line_get_extents".} +proc pango_layout_line_get_pixel_extents*(layout_line: PLayoutLine, + ink_rect: PRectangle, logical_rect: PRectangle){.cdecl, dynlib: pangolib, + importc: "pango_layout_line_get_pixel_extents".} +proc pango_layout_get_iter*(layout: PLayout): PLayoutIter{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_iter".} +proc pango_layout_iter_free*(iter: PLayoutIter){.cdecl, dynlib: pangolib, + importc: "pango_layout_iter_free".} +proc pango_layout_iter_get_index*(iter: PLayoutIter): int32{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_index".} +proc pango_layout_iter_get_run*(iter: PLayoutIter): PLayoutRun{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_run".} +proc pango_layout_iter_get_line*(iter: PLayoutIter): PLayoutLine{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_line".} +proc pango_layout_iter_at_last_line*(iter: PLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_at_last_line".} +proc pango_layout_iter_next_char*(iter: PLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_next_char".} +proc pango_layout_iter_next_cluster*(iter: PLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_next_cluster".} +proc pango_layout_iter_next_run*(iter: PLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_next_run".} +proc pango_layout_iter_next_line*(iter: PLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_next_line".} +proc pango_layout_iter_get_char_extents*(iter: PLayoutIter, + logical_rect: PRectangle){.cdecl, dynlib: pangolib, + importc: "pango_layout_iter_get_char_extents".} +proc pango_layout_iter_get_cluster_extents*(iter: PLayoutIter, + ink_rect: PRectangle, logical_rect: PRectangle){.cdecl, dynlib: pangolib, + importc: "pango_layout_iter_get_cluster_extents".} +proc pango_layout_iter_get_run_extents*(iter: PLayoutIter, ink_rect: PRectangle, + logical_rect: PRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_run_extents".} +proc pango_layout_iter_get_line_extents*(iter: PLayoutIter, + ink_rect: PRectangle, logical_rect: PRectangle){.cdecl, dynlib: pangolib, + importc: "pango_layout_iter_get_line_extents".} +proc pango_layout_iter_get_line_yrange*(iter: PLayoutIter, y0: var int32, + y1: var int32){.cdecl, dynlib: pangolib, + importc: "pango_layout_iter_get_line_yrange".} +proc pango_layout_iter_get_layout_extents*(iter: PLayoutIter, + ink_rect: PRectangle, logical_rect: PRectangle){.cdecl, dynlib: pangolib, + importc: "pango_layout_iter_get_layout_extents".} +proc pango_layout_iter_get_baseline*(iter: PLayoutIter): int32{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_baseline".} +proc PANGO_TYPE_TAB_ARRAY*(): GType +proc pango_tab_array_new*(initial_size: gint, positions_in_pixels: gboolean): PTabArray{. + cdecl, dynlib: pangolib, importc: "pango_tab_array_new".} +proc pango_tab_array_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_tab_array_get_type".} +proc pango_tab_array_copy*(src: PTabArray): PTabArray{.cdecl, dynlib: pangolib, + importc: "pango_tab_array_copy".} +proc pango_tab_array_free*(tab_array: PTabArray){.cdecl, dynlib: pangolib, + importc: "pango_tab_array_free".} +proc pango_tab_array_get_size*(tab_array: PTabArray): gint{.cdecl, + dynlib: pangolib, importc: "pango_tab_array_get_size".} +proc pango_tab_array_resize*(tab_array: PTabArray, new_size: gint){.cdecl, + dynlib: pangolib, importc: "pango_tab_array_resize".} +proc pango_tab_array_set_tab*(tab_array: PTabArray, tab_index: gint, + alignment: TTabAlign, location: gint){.cdecl, + dynlib: pangolib, importc: "pango_tab_array_set_tab".} +proc pango_tab_array_get_tab*(tab_array: PTabArray, tab_index: gint, + alignment: PTabAlign, location: Pgint){.cdecl, + dynlib: pangolib, importc: "pango_tab_array_get_tab".} +proc pango_tab_array_get_positions_in_pixels*(tab_array: PTabArray): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_tab_array_get_positions_in_pixels".} +proc PANGO_ASCENT*(rect: TRectangle): int32 = + result = - int(rect.y) + +proc PANGO_DESCENT*(rect: TRectangle): int32 = + result = int(rect.y) + int(rect.height) + +proc PANGO_LBEARING*(rect: TRectangle): int32 = + result = rect.x + +proc PANGO_RBEARING*(rect: TRectangle): int32 = + result = (rect.x) + (rect.width) + +proc PANGO_TYPE_LANGUAGE*(): GType = + result = pango_language_get_type() + +proc pango_language_to_string*(language: PLanguage): cstring = + result = cast[cstring](language) + +proc PANGO_PIXELS*(d: int): int = + if d >= 0: + result = (d + (PANGO_SCALE div 2)) div PANGO_SCALE + else: + result = (d - (PANGO_SCALE div 2)) div PANGO_SCALE + +proc PANGO_TYPE_COLOR*(): GType = + result = pango_color_get_type() + +proc PANGO_TYPE_ATTR_LIST*(): GType = + result = pango_attr_list_get_type() + +proc is_line_break*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_line_break) shr + bp_TPangoLogAttr_is_line_break + +proc set_is_line_break*(a: var TLogAttr, `is_line_break`: guint) = + a.flag0 = a.flag0 or + (int16(`is_line_break` shl bp_TPangoLogAttr_is_line_break) and + bm_TPangoLogAttr_is_line_break) + +proc is_mandatory_break*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_mandatory_break) shr + bp_TPangoLogAttr_is_mandatory_break + +proc set_is_mandatory_break*(a: var TLogAttr, `is_mandatory_break`: guint) = + a.flag0 = a.flag0 or + (int16(`is_mandatory_break` shl bp_TPangoLogAttr_is_mandatory_break) and + bm_TPangoLogAttr_is_mandatory_break) + +proc is_char_break*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_char_break) shr + bp_TPangoLogAttr_is_char_break + +proc set_is_char_break*(a: var TLogAttr, `is_char_break`: guint) = + a.flag0 = a.flag0 or + (int16(`is_char_break` shl bp_TPangoLogAttr_is_char_break) and + bm_TPangoLogAttr_is_char_break) + +proc is_white*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_white) shr + bp_TPangoLogAttr_is_white + +proc set_is_white*(a: var TLogAttr, `is_white`: guint) = + a.flag0 = a.flag0 or + (int16(`is_white` shl bp_TPangoLogAttr_is_white) and + bm_TPangoLogAttr_is_white) + +proc is_cursor_position*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_cursor_position) shr + bp_TPangoLogAttr_is_cursor_position + +proc set_is_cursor_position*(a: var TLogAttr, `is_cursor_position`: guint) = + a.flag0 = a.flag0 or + (int16(`is_cursor_position` shl bp_TPangoLogAttr_is_cursor_position) and + bm_TPangoLogAttr_is_cursor_position) + +proc is_word_start*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_word_start) shr + bp_TPangoLogAttr_is_word_start + +proc set_is_word_start*(a: var TLogAttr, `is_word_start`: guint) = + a.flag0 = a.flag0 or + (int16(`is_word_start` shl bp_TPangoLogAttr_is_word_start) and + bm_TPangoLogAttr_is_word_start) + +proc is_word_end*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_word_end) shr + bp_TPangoLogAttr_is_word_end + +proc set_is_word_end*(a: var TLogAttr, `is_word_end`: guint) = + a.flag0 = a.flag0 or + (int16(`is_word_end` shl bp_TPangoLogAttr_is_word_end) and + bm_TPangoLogAttr_is_word_end) + +proc is_sentence_boundary*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_sentence_boundary) shr + bp_TPangoLogAttr_is_sentence_boundary + +proc set_is_sentence_boundary*(a: var TLogAttr, `is_sentence_boundary`: guint) = + a.flag0 = a.flag0 or + (int16(`is_sentence_boundary` shl bp_TPangoLogAttr_is_sentence_boundary) and + bm_TPangoLogAttr_is_sentence_boundary) + +proc is_sentence_start*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_sentence_start) shr + bp_TPangoLogAttr_is_sentence_start + +proc set_is_sentence_start*(a: var TLogAttr, `is_sentence_start`: guint) = + a.flag0 = a.flag0 or + (int16(`is_sentence_start` shl bp_TPangoLogAttr_is_sentence_start) and + bm_TPangoLogAttr_is_sentence_start) + +proc is_sentence_end*(a: var TLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_sentence_end) shr + bp_TPangoLogAttr_is_sentence_end + +proc set_is_sentence_end*(a: var TLogAttr, `is_sentence_end`: guint) = + a.flag0 = a.flag0 or + (int16(`is_sentence_end` shl bp_TPangoLogAttr_is_sentence_end) and + bm_TPangoLogAttr_is_sentence_end) + +proc PANGO_TYPE_CONTEXT*(): GType = + result = pango_context_get_type() + +proc PANGO_CONTEXT*(anObject: pointer): PContext = + result = cast[PContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_CONTEXT())) + +proc PANGO_CONTEXT_CLASS*(klass: pointer): PContextClass = + result = cast[PContextClass](G_TYPE_CHECK_CLASS_CAST(klass, + PANGO_TYPE_CONTEXT())) + +proc PANGO_IS_CONTEXT*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_CONTEXT()) + +proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_CONTEXT()) + +proc PANGO_CONTEXT_GET_CLASS*(obj: PContext): PContextClass = + result = cast[PContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, + PANGO_TYPE_CONTEXT())) + +proc PANGO_TYPE_FONTSET*(): GType = + result = pango_fontset_get_type() + +proc PANGO_FONTSET*(anObject: pointer): PFontset = + result = cast[PFontset](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_FONTSET())) + +proc PANGO_IS_FONTSET*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET()) + +proc PANGO_FONTSET_CLASS*(klass: pointer): PFontsetClass = + result = cast[PFontsetClass](G_TYPE_CHECK_CLASS_CAST(klass, + PANGO_TYPE_FONTSET())) + +proc PANGO_IS_FONTSET_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONTSET()) + +proc PANGO_FONTSET_GET_CLASS*(obj: PFontset): PFontsetClass = + result = cast[PFontsetClass](G_TYPE_INSTANCE_GET_CLASS(obj, + PANGO_TYPE_FONTSET())) + +proc pango_fontset_simple_get_type(): GType{. + importc: "pango_fontset_simple_get_type", cdecl, dynlib: pangolib.} +proc PANGO_TYPE_FONTSET_SIMPLE*(): GType = + result = pango_fontset_simple_get_type() + +proc PANGO_FONTSET_SIMPLE*(anObject: pointer): PFontsetSimple = + result = cast[PFontsetSimple](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_FONTSET_SIMPLE())) + +proc PANGO_IS_FONTSET_SIMPLE*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET_SIMPLE()) + +proc PANGO_TYPE_FONT_DESCRIPTION*(): GType = + result = pango_font_description_get_type() + +proc PANGO_TYPE_FONT_METRICS*(): GType = + result = pango_font_metrics_get_type() + +proc PANGO_TYPE_FONT_FAMILY*(): GType = + result = pango_font_family_get_type() + +proc PANGO_FONT_FAMILY*(anObject: pointer): PFontFamily = + result = cast[PFontFamily](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_FONT_FAMILY())) + +proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FAMILY()) + +proc PANGO_FONT_FAMILY_CLASS*(klass: Pointer): PFontFamilyClass = + result = cast[PFontFamilyClass](G_TYPE_CHECK_CLASS_CAST(klass, + PANGO_TYPE_FONT_FAMILY())) + +proc PANGO_IS_FONT_FAMILY_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FAMILY()) + +proc PANGO_FONT_FAMILY_GET_CLASS*(obj: PFontFamily): PFontFamilyClass = + result = cast[PFontFamilyClass](G_TYPE_INSTANCE_GET_CLASS(obj, + PANGO_TYPE_FONT_FAMILY())) + +proc PANGO_TYPE_FONT_FACE*(): GType = + result = pango_font_face_get_type() + +proc PANGO_FONT_FACE*(anObject: Pointer): PFontFace = + result = cast[PFontFace](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_FONT_FACE())) + +proc PANGO_IS_FONT_FACE*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FACE()) + +proc PANGO_FONT_FACE_CLASS*(klass: Pointer): PFontFaceClass = + result = cast[PFontFaceClass](G_TYPE_CHECK_CLASS_CAST(klass, + PANGO_TYPE_FONT_FACE())) + +proc PANGO_IS_FONT_FACE_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FACE()) + +proc PANGO_FONT_FACE_GET_CLASS*(obj: Pointer): PFontFaceClass = + result = cast[PFontFaceClass](G_TYPE_INSTANCE_GET_CLASS(obj, + PANGO_TYPE_FONT_FACE())) + +proc PANGO_TYPE_FONT*(): GType = + result = pango_font_get_type() + +proc PANGO_FONT*(anObject: Pointer): PFont = + result = cast[PFont](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_FONT())) + +proc PANGO_IS_FONT*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT()) + +proc PANGO_FONT_CLASS*(klass: Pointer): PFontClass = + result = cast[PFontClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONT())) + +proc PANGO_IS_FONT_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT()) + +proc PANGO_FONT_GET_CLASS*(obj: PFont): PFontClass = + result = cast[PFontClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONT())) + +proc PANGO_TYPE_FONT_MAP*(): GType = + result = pango_font_map_get_type() + +proc PANGO_FONT_MAP*(anObject: pointer): PFontmap = + result = cast[PFontmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_FONT_MAP())) + +proc PANGO_IS_FONT_MAP*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_MAP()) + +proc PANGO_FONT_MAP_CLASS*(klass: pointer): PFontMapClass = + result = cast[PFontMapClass](G_TYPE_CHECK_CLASS_CAST(klass, + PANGO_TYPE_FONT_MAP())) + +proc PANGO_IS_FONT_MAP_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_MAP()) + +proc PANGO_FONT_MAP_GET_CLASS*(obj: PFontMap): PFontMapClass = + result = cast[PFontMapClass](G_TYPE_INSTANCE_GET_CLASS(obj, + PANGO_TYPE_FONT_MAP())) + +proc is_cluster_start*(a: var TGlyphVisAttr): guint = + result = (a.flag0 and bm_TPangoGlyphVisAttr_is_cluster_start) shr + bp_TPangoGlyphVisAttr_is_cluster_start + +proc set_is_cluster_start*(a: var TGlyphVisAttr, `is_cluster_start`: guint) = + a.flag0 = a.flag0 or + (int16(`is_cluster_start` shl bp_TPangoGlyphVisAttr_is_cluster_start) and + bm_TPangoGlyphVisAttr_is_cluster_start) + +proc PANGO_TYPE_GLYPH_STRING*(): GType = + result = pango_glyph_string_get_type() + +proc PANGO_TYPE_LAYOUT*(): GType = + result = pango_layout_get_type() + +proc PANGO_LAYOUT*(anObject: pointer): PLayout = + result = cast[PLayout](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_LAYOUT())) + +proc PANGO_LAYOUT_CLASS*(klass: pointer): PLayoutClass = + result = cast[PLayoutClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_LAYOUT())) + +proc PANGO_IS_LAYOUT*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_LAYOUT()) + +proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_LAYOUT()) + +proc PANGO_LAYOUT_GET_CLASS*(obj: PLayout): PLayoutClass = + result = cast[PLayoutClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_LAYOUT())) + +proc PANGO_TYPE_TAB_ARRAY*(): GType = + result = pango_tab_array_get_type() diff --git a/lib/newwrap/gtk/pangoutils.nim b/lib/newwrap/gtk/pangoutils.nim new file mode 100644 index 000000000..552362b9a --- /dev/null +++ b/lib/newwrap/gtk/pangoutils.nim @@ -0,0 +1,45 @@ +{.deadCodeElim: on.} +import + glib2, pango + +type + pint32* = ptr int32 + +proc pango_split_file_list*(str: cstring): PPchar{.cdecl, dynlib: pangolib, + importc: "pango_split_file_list".} +proc pango_trim_string*(str: cstring): cstring{.cdecl, dynlib: pangolib, + importc: "pango_trim_string".} +proc pango_read_line*(stream: TFile, str: PGString): gint{.cdecl, + dynlib: pangolib, importc: "pango_read_line".} +proc pango_skip_space*(pos: PPchar): gboolean{.cdecl, dynlib: pangolib, + importc: "pango_skip_space".} +proc pango_scan_word*(pos: PPchar, OutStr: PGString): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_scan_word".} +proc pango_scan_string*(pos: PPchar, OutStr: PGString): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_scan_string".} +proc pango_scan_int*(pos: PPchar, OutInt: pint32): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_scan_int".} +proc pango_config_key_get(key: cstring): cstring{.cdecl, dynlib: pangolib, + importc: "pango_config_key_get".} +proc pango_lookup_aliases(fontname: cstring, families: PPPchar, + n_families: pint32){.cdecl, dynlib: pangolib, + importc: "pango_lookup_aliases".} +proc pango_parse_style*(str: cstring, style: PStyle, warn: gboolean): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_parse_style".} +proc pango_parse_variant*(str: cstring, variant: PVariant, warn: gboolean): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_parse_variant".} +proc pango_parse_weight*(str: cstring, weight: PWeight, warn: gboolean): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_parse_weight".} +proc pango_parse_stretch*(str: cstring, stretch: PStretch, warn: gboolean): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_parse_stretch".} +proc pango_get_sysconf_subdirectory(): cstring{.cdecl, dynlib: pangolib, + importc: "pango_get_sysconf_subdirectory".} +proc pango_get_lib_subdirectory(): cstring{.cdecl, dynlib: pangolib, + importc: "pango_get_lib_subdirectory".} +proc pango_log2vis_get_embedding_levels*(str: Pgunichar, len: int32, + pbase_dir: PDirection, embedding_level_list: Pguint8): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_log2vis_get_embedding_levels".} +proc pango_get_mirror_char*(ch: gunichar, mirrored_ch: Pgunichar): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_get_mirror_char".} +proc pango_language_get_sample_string*(language: PLanguage): cstring{.cdecl, + dynlib: pangolib, importc: "pango_language_get_sample_string".} \ No newline at end of file |