summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2019-11-25 17:58:04 +0100
committertrustable-code <krauter.simon@arcor.de>2019-11-25 17:58:04 +0100
commite27e7739535586a859a50fd0d10a9740baa2019a (patch)
treec2e4e60efc7c375a1250d9bced73badd09458fd4
parentd9c6d77a38a3ab2d3025f9d63057411cbee59426 (diff)
downloadNiGui-e27e7739535586a859a50fd0d10a9740baa2019a.tar.gz
NiGui-e27e7739535586a859a50fd0d10a9740baa2019a.zip
Cleanup: Remove value of importc pragmas, since we use original proc names
-rwxr-xr-xsrc/nigui/private/gtk3/gtk3.nim548
-rwxr-xr-xsrc/nigui/private/gtk3/platform_impl.nim2
-rwxr-xr-xsrc/nigui/private/windows/platform_impl.nim2
-rwxr-xr-xsrc/nigui/private/windows/windows.nim270
4 files changed, 411 insertions, 411 deletions
diff --git a/src/nigui/private/gtk3/gtk3.nim b/src/nigui/private/gtk3/gtk3.nim
index 4992f88..efd04ae 100755
--- a/src/nigui/private/gtk3/gtk3.nim
+++ b/src/nigui/private/gtk3/gtk3.nim
@@ -230,285 +230,285 @@ const
# General Gtk Procs
# ----------------------------------------------------------------------------------------
-proc g_slist_length*(list: pointer): int {.importc: "g_slist_length", libgtk3.}
-proc g_slist_nth_data_string*(list: pointer, n: int): cstring {.importc: "g_slist_nth_data", libgtk3.}
-proc g_object_unref*(`object`: pointer) {.importc: "g_object_unref", libgtk3.}
-
-proc gtk_init*(argc, argv: pointer) {.importc: "gtk_init", libgtk3.}
-
-proc gtk_main*() {.importc: "gtk_main", libgtk3.}
-proc gtk_main_quit*() {.importc: "gtk_main_quit", libgtk3.}
-proc gtk_events_pending*(): cint {.importc: "gtk_events_pending", libgtk3.}
-proc gtk_main_iteration*(): cint {.importc: "gtk_main_iteration", libgtk3.}
-proc g_timeout_add*(interval: cint, function, data: pointer): cint {.importc: "g_timeout_add", libgtk3.}
-proc g_source_remove*(tag: cint): bool {.importc: "g_source_remove", libgtk3.}
-proc g_signal_connect_data*(instance: pointer, detailed_signal: cstring, c_handler: pointer, data, destroy_data, connect_flags: pointer = nil): pointer {.importc: "g_signal_connect_data", libgtk3.}
-proc g_signal_handlers_block_matched*(instance: pointer, mask, signal_id: cint, detail, closure, function, data: pointer = nil) {.importc: "g_signal_handlers_block_matched", libgtk3.}
-proc g_signal_handlers_unblock_matched*(instance: pointer, mask, signal_id: cint, detail, closure, function, data: pointer = nil) {.importc: "g_signal_handlers_unblock_matched", libgtk3.}
-
-proc gtk_window_new*(`type`: cint): pointer {.importc: "gtk_window_new", libgtk3.}
-proc gtk_window_set_title*(window: pointer, title: cstring) {.importc: "gtk_window_set_title", libgtk3.}
-# proc gtk_window_get_title*(window: pointer): cstring {.importc: "gtk_window_get_title", libgtk3.}
-proc gtk_window_set_transient_for*(window, parent: pointer) {.importc: "gtk_window_set_transient_for", libgtk3.}
-proc gtk_window_set_modal*(window: pointer, modal: cint) {.importc: "gtk_window_set_modal", libgtk3.}
-# proc gtk_window_set_default_size*(window: pointer, width, height: cint) {.importc: "gtk_window_set_default_size", libgtk3.}
-proc gtk_window_resize*(window: pointer, width, height: cint) {.importc: "gtk_window_resize", libgtk3.}
-proc gtk_window_resize_to_geometry*(window: pointer, width, height: cint) {.importc: "gtk_window_resize_to_geometry", libgtk3.}
-proc gtk_window_get_size*(window: pointer, width, height: var cint) {.importc: "gtk_window_get_size", libgtk3.}
-proc gtk_window_get_position*(window: pointer, x, y: var cint) {.importc: "gtk_window_get_position", libgtk3.}
-proc gtk_window_move*(window: pointer, x, y: cint) {.importc: "gtk_window_move", libgtk3.}
-proc gtk_window_set_icon_from_file*(window: pointer, filename: cstring, err: pointer): bool {.importc: "gtk_window_set_icon_from_file", libgtk3.}
-proc gtk_window_iconify*(window: pointer) {.importc: "gtk_window_iconify", libgtk3.}
-proc gtk_window_deiconify*(window: pointer) {.importc: "gtk_window_deiconify", libgtk3.}
-proc gtk_window_present*(window: pointer) {.importc: "gtk_window_present", libgtk3.}
-
-proc gdk_window_begin_paint_rect*(window: pointer, rectangle: var GdkRectangle) {.importc: "gdk_window_begin_paint_rect", libgtk3.}
-proc gdk_window_begin_paint_region*(window: pointer, region: pointer) {.importc: "gdk_window_begin_paint_region", libgtk3.}
-proc gdk_window_end_paint*(window: pointer) {.importc: "gdk_window_end_paint", libgtk3.}
-proc gdk_window_get_clip_region*(window: pointer): pointer {.importc: "gdk_window_get_clip_region", libgtk3.}
-
-proc gtk_widget_destroy*(widget: pointer) {.importc: "gtk_widget_destroy", libgtk3.}
-proc gtk_widget_show*(widget: pointer) {.importc: "gtk_widget_show", libgtk3.}
-proc gtk_widget_hide*(widget: pointer) {.importc: "gtk_widget_hide", libgtk3.}
-proc gtk_widget_set_size_request*(widget: pointer, width, height: cint) {.importc: "gtk_widget_set_size_request", libgtk3.}
-proc gtk_widget_size_allocate*(widget: pointer, allocation: var GdkRectangle) {.importc: "gtk_widget_size_allocate", libgtk3.}
-proc gtk_widget_get_size_request*(widget: pointer, width, height: var cint) {.importc: "gtk_widget_get_size_request", libgtk3.}
-proc gtk_widget_get_allocation*(widget: pointer, allocation: var GdkRectangle) {.importc: "gtk_widget_get_allocation", libgtk3.}
-# proc gtk_widget_set_allocation*(widget: pointer, allocation: var GdkRectangle) {.importc: "gtk_widget_set_allocation", libgtk3.}
-# proc gtk_widget_set_hexpand*(widget: pointer, expand: cint) {.importc: "gtk_widget_set_hexpand", libgtk3.}
-proc gtk_widget_queue_draw*(widget: pointer) {.importc: "gtk_widget_queue_draw", libgtk3.}
-proc gtk_widget_set_margin_top*(widget: pointer, margin: cint) {.importc: "gtk_widget_set_margin_top", libgtk3.}
-proc gtk_widget_add_events*(widget: pointer, events: cint) {.importc: "gtk_widget_add_events", libgtk3.}
-proc gtk_widget_set_can_focus*(widget: pointer, can_focus: cint) {.importc: "gtk_widget_set_can_focus", libgtk3.}
-proc gtk_widget_modify_font*(widget: pointer, font_desc: pointer) {.importc: "gtk_widget_modify_font", libgtk3.}
-proc gtk_widget_override_color*(widget: pointer, state: cint, color: var GdkRGBA) {.importc: "gtk_widget_override_color", libgtk3.}
-proc gtk_widget_override_background_color*(widget: pointer, state: cint, color: var GdkRGBA) {.importc: "gtk_widget_override_background_color", libgtk3.}
-proc gtk_widget_get_path*(widget: pointer): pointer {.importc: "gtk_widget_get_path", libgtk3.}
-proc gtk_widget_style_get*(widget: pointer, first_property_name: cstring, value: pointer, passNil: pointer) {.importc: "gtk_widget_style_get", libgtk3.}
-proc gtk_widget_get_style_context*(widget: pointer): pointer {.importc: "gtk_widget_get_style_context", libgtk3.}
-proc gtk_widget_grab_focus*(widget: pointer) {.importc: "gtk_widget_grab_focus", libgtk3.}
-proc gtk_widget_is_focus*(widget: pointer): bool {.importc: "gtk_widget_is_focus", libgtk3.}
-proc gtk_widget_realize*(widget: pointer) {.importc: "gtk_widget_realize", libgtk3.}
-proc gtk_widget_draw*(widget, cr: pointer) {.importc: "gtk_widget_draw", libgtk3.}
-proc gtk_widget_set_sensitive*(widget: pointer, sensitive: bool) {.importc: "gtk_widget_set_sensitive", libgtk3.}
-
-proc gtk_container_add*(container, widget: pointer) {.importc: "gtk_container_add", libgtk3.}
-proc gtk_container_remove*(container, widget: pointer) {.importc: "gtk_container_remove", libgtk3.}
-# proc gtk_container_foreach*(container, callback, callback_data: pointer) {.importc: "gtk_container_foreach", libgtk3.}
-proc gtk_container_get_children*(container: pointer): GList {.importc: "gtk_container_get_children", libgtk3.}
-proc gtk_container_set_border_width*(container: pointer, width: cint) {.importc: "gtk_container_set_border_width", libgtk3.}
-
-proc gtk_fixed_new*(): pointer {.importc: "gtk_fixed_new", libgtk3.}
-proc gtk_fixed_move*(fixed, widget: pointer, x, y: cint) {.importc: "gtk_fixed_move", libgtk3.}
-
-proc gtk_layout_new*(hadjustment, vadjustment: pointer): pointer {.importc: "gtk_layout_new", libgtk3.}
-# proc gtk_layout_put*(layout, child_widget: pointer, x, y: cint) {.importc: "gtk_layout_put", libgtk3.}
-proc gtk_layout_move*(layout, child_widget: pointer, x, y: cint) {.importc: "gtk_layout_move", libgtk3.}
-# proc gtk_layout_set_size*(layout: pointer, width, height: cint) {.importc: "gtk_layout_set_size", libgtk3.}
-# proc gtk_layout_get_hadjustment*(layout: pointer): pointer {.importc: "gtk_layout_get_hadjustment", libgtk3.}
-# proc gtk_layout_get_vadjustment*(layout: pointer): pointer {.importc: "gtk_layout_get_vadjustment", libgtk3.}
-
-# proc gtk_scrollbar_new*(orientation: GtkOrientation, adjustment: pointer): pointer {.importc: "gtk_scrollbar_new", libgtk3.}
-
-proc gtk_dialog_new*(): pointer {.importc: "gtk_dialog_new", libgtk3.}
-proc gtk_dialog_run*(dialog: pointer): cint {.importc: "gtk_dialog_run", libgtk3.}
-proc gtk_dialog_add_button*(dialog: pointer, button_text: cstring, response_id: cint): pointer {.importc: "gtk_dialog_add_button", libgtk3.}
-proc gtk_dialog_get_content_area*(dialog: pointer): pointer {.importc: "gtk_dialog_get_content_area", libgtk3.}
-proc gtk_dialog_get_action_area*(dialog: pointer): pointer {.importc: "gtk_dialog_get_action_area", libgtk3.}
-
-proc gtk_file_chooser_dialog_new*(title: cstring, parent: pointer, action: int, text1: cstring, response1: int, text2: cstring, response2: int, ending: pointer): pointer {.importc: "gtk_file_chooser_dialog_new", libgtk3.}
-proc gtk_file_chooser_set_current_name*(chooser: pointer, name: cstring): bool {.importc: "gtk_file_chooser_set_current_name", libgtk3.}
-proc gtk_file_chooser_get_filename*(chooser: pointer): cstring {.importc: "gtk_file_chooser_get_filename", libgtk3.}
-proc gtk_file_chooser_get_filenames*(chooser: pointer): pointer {.importc: "gtk_file_chooser_get_filenames", libgtk3.}
-proc gtk_file_chooser_set_select_multiple*(chooser: pointer, select_multiple: bool) {.importc: "gtk_file_chooser_set_select_multiple", libgtk3.}
-proc gtk_file_chooser_set_current_folder*(chooser: pointer, filename: cstring): bool {.importc: "gtk_file_chooser_set_current_folder", libgtk3.}
-
-proc gtk_button_box_set_layout*(widget: pointer, layout_style: cint) {.importc: "gtk_button_box_set_layout", libgtk3.}
-
-# proc gtk_message_dialog_new*(parent: pointer, flags: GtkDialogFlags, `type`: GtkMessageType, buttons: GtkButtonsType, message_format: cstring): pointer {.importc: "gtk_message_dialog_new", libgtk3.}
-
-proc gtk_label_new*(str: cstring): pointer {.importc: "gtk_label_new", libgtk3.}
-proc gtk_label_set_text*(label: pointer, str: cstring) {.importc: "gtk_label_set_text", libgtk3.}
-# proc gtk_label_get_text*(label: pointer): cstring {.importc: "gtk_label_get_text", libgtk3.}
-proc gtk_label_set_ellipsize*(label: pointer, mode: cint) {.importc: "gtk_label_set_ellipsize", libgtk3.}
-# proc gtk_label_set_justify*(label: pointer, jtype: cint) {.importc: "gtk_label_set_justify", libgtk3.}
-proc gtk_label_set_xalign*(label: pointer, xalign: cfloat) {.importc: "gtk_label_set_xalign", libgtk3.}
-proc gtk_label_set_yalign*(label: pointer, yalign: cfloat) {.importc: "gtk_label_set_yalign", libgtk3.}
-
-proc gtk_progress_bar_new*(): pointer {.importc: "gtk_progress_bar_new", libgtk3.}
-proc gtk_progress_bar_set_fraction*(pbar: pointer, fraction: cdouble) {.importc: "gtk_progress_bar_set_fraction", libgtk3.}
-
-# proc gtk_box_new*(orientation: GtkOrientation, spacing: cint): pointer {.importc: "gtk_box_new", libgtk3.}
-proc gtk_box_pack_start*(box, child: pointer, expand, fill: cint, padding: cint) {.importc: "gtk_box_pack_start", libgtk3.}
-
-proc gtk_button_new*(): pointer {.importc: "gtk_button_new", libgtk3.}
-# proc gtk_button_new_with_label*(label: cstring): pointer {.importc: "gtk_button_new_with_label", libgtk3.}
-# proc gtk_button_get_label*(button: pointer): cstring {.importc: "gtk_button_get_label", libgtk3.}
-proc gtk_button_set_label*(button: pointer, label: cstring) {.importc: "gtk_button_set_label", libgtk3.}
-
-proc gtk_check_button_new*(): pointer {.importc: "gtk_check_button_new", libgtk3.}
-proc gtk_toggle_button_set_active*(toggle_button: pointer, is_active: bool) {.importc: "gtk_toggle_button_set_active", libgtk3.}
-proc gtk_toggle_button_get_active*(toggle_button: pointer): bool {.importc: "gtk_toggle_button_get_active", libgtk3.}
-
-proc gtk_entry_new*(): pointer {.importc: "gtk_entry_new", libgtk3.}
-proc gtk_entry_set_text*(entry: pointer, text: cstring) {.importc: "gtk_entry_set_text", libgtk3.}
-proc gtk_entry_get_text*(entry: pointer): cstring {.importc: "gtk_entry_get_text", libgtk3.}
-proc gtk_entry_set_width_chars*(entry: pointer, n_chars: cint) {.importc: "gtk_entry_set_width_chars", libgtk3.}
-proc gtk_editable_get_selection_bounds*(editable: pointer, start_pos, end_pos: var cint): bool {.importc: "gtk_editable_get_selection_bounds", libgtk3.}
-proc gtk_editable_get_chars*(editable: pointer, start_pos, end_pos: cint): cstring {.importc: "gtk_editable_get_chars", libgtk3.}
-proc gtk_editable_select_region*(editable: pointer, start_pos, end_pos: cint) {.importc: "gtk_editable_select_region", libgtk3.}
-proc gtk_editable_get_position*(editable: pointer): cint {.importc: "gtk_editable_get_position", libgtk3.}
-proc gtk_editable_set_position*(editable: pointer, position: cint) {.importc: "gtk_editable_set_position", libgtk3.}
-proc gtk_editable_set_editable*(editable: pointer, is_editable: bool) {.importc: "gtk_editable_set_editable", libgtk3.}
-
-proc gtk_text_view_new*(): pointer {.importc: "gtk_text_view_new", libgtk3.}
-proc gtk_text_view_set_buffer*(text_view, buffer: pointer) {.importc: "gtk_text_view_set_buffer", libgtk3.}
-proc gtk_text_view_get_buffer*(text_view: pointer): pointer {.importc: "gtk_text_view_get_buffer", libgtk3.}
-proc gtk_text_view_set_wrap_mode*(text_view: pointer, wrap_mode: cint) {.importc: "gtk_text_view_set_wrap_mode", libgtk3.}
-proc gtk_text_view_set_left_margin*(text_view: pointer, margin: cint) {.importc: "gtk_text_view_set_left_margin", libgtk3.}
-proc gtk_text_view_set_right_margin*(text_view: pointer, margin: cint) {.importc: "gtk_text_view_set_right_margin", libgtk3.}
-proc gtk_text_view_set_top_margin*(text_view: pointer, margin: cint) {.importc: "gtk_text_view_set_top_margin", libgtk3.}
-proc gtk_text_view_set_bottom_margin*(text_view: pointer, margin: cint) {.importc: "gtk_text_view_set_bottom_margin", libgtk3.}
-proc gtk_text_view_scroll_to_iter*(text_view: pointer, iter: var GtkTextIter, within_margin: cfloat, use_align: bool, xalign, yalign: cfloat) {.importc: "gtk_text_view_scroll_to_iter", libgtk3.}
-# proc gtk_text_view_scroll_to_mark*(text_view, mark: pointer, within_margin: cfloat, use_align: bool, xalign, yalign: cfloat) {.importc: "gtk_text_view_scroll_to_mark", libgtk3.}
-# proc gtk_text_view_place_cursor_onscreen*(text_view: pointer): bool {.importc: "gtk_text_view_place_cursor_onscreen", libgtk3.}
-proc gtk_text_view_set_editable*(text_view: pointer, setting: bool) {.importc: "gtk_text_view_set_editable", libgtk3.}
-
-# proc gtk_text_buffer_new*(table: pointer): pointer {.importc: "gtk_text_buffer_new", libgtk3.}
-proc gtk_text_buffer_set_text*(text_buffer: pointer, text: cstring, len: cint) {.importc: "gtk_text_buffer_set_text", libgtk3.}
-proc gtk_text_buffer_get_text*(text_buffer: pointer, start, `end`: var GtkTextIter, include_hidden_chars: bool): cstring {.importc: "gtk_text_buffer_get_text", libgtk3.}
-proc gtk_text_buffer_get_start_iter*(text_buffer: pointer, iter: var GtkTextIter) {.importc: "gtk_text_buffer_get_start_iter", libgtk3.}
-proc gtk_text_buffer_get_end_iter*(text_buffer: pointer, iter: var GtkTextIter) {.importc: "gtk_text_buffer_get_end_iter", libgtk3.}
-# proc gtk_text_buffer_add_mark*(buffer, mark: pointer, where: var GtkTextIter) {.importc: "gtk_text_buffer_add_mark", libgtk3.}
-proc gtk_text_buffer_get_insert*(buffer: pointer): pointer {.importc: "gtk_text_buffer_get_insert", libgtk3.}
-# proc gtk_text_buffer_get_iter_at_line*(buffer: pointer, iter: var GtkTextIter, line_number: cint) {.importc: "gtk_text_buffer_get_iter_at_line", libgtk3.}
-proc gtk_text_buffer_insert*(buffer: pointer, iter: var GtkTextIter, text: cstring, len: cint) {.importc: "gtk_text_buffer_insert", libgtk3.}
-proc gtk_text_buffer_get_selection_bounds*(buffer: pointer, start, `end`: var GtkTextIter): bool {.importc: "gtk_text_buffer_get_selection_bounds", libgtk3.}
-proc gtk_text_buffer_select_range*(buffer: pointer, ins, bound: var GtkTextIter) {.importc: "gtk_text_buffer_select_range", libgtk3.}
-proc gtk_text_buffer_get_iter_at_offset*(buffer: pointer, iter: var GtkTextIter, char_offset: cint) {.importc: "gtk_text_buffer_get_iter_at_offset", libgtk3.}
-proc gtk_text_buffer_get_iter_at_mark*(buffer: pointer, iter: var GtkTextIter, mark: pointer) {.importc: "gtk_text_buffer_get_iter_at_mark", libgtk3.}
-
-proc gtk_text_iter_get_offset*(iter: var GtkTextIter): cint {.importc: "gtk_text_iter_get_offset", libgtk3.}
-# proc gtk_text_mark_new*(name: cstring, left_gravity: bool): pointer {.importc: "gtk_text_mark_new", libgtk3.}
-
-proc gtk_scrolled_window_new*(hadjustment, vadjustment: pointer): pointer {.importc: "gtk_scrolled_window_new", libgtk3.}
-proc gtk_scrolled_window_set_policy*(scrolled_window: pointer, hscrollbar_policy, vscrollbar_policy: cint) {.importc: "gtk_scrolled_window_set_policy", libgtk3.}
-proc gtk_scrolled_window_get_hscrollbar*(scrolled_window: pointer): pointer {.importc: "gtk_scrolled_window_get_hscrollbar", libgtk3.}
-proc gtk_scrolled_window_get_vscrollbar*(scrolled_window: pointer): pointer {.importc: "gtk_scrolled_window_get_vscrollbar", libgtk3.}
-proc gtk_scrolled_window_get_hadjustment*(scrolled_window: pointer): pointer {.importc: "gtk_scrolled_window_get_hadjustment", libgtk3.}
-proc gtk_scrolled_window_get_vadjustment*(scrolled_window: pointer): pointer {.importc: "gtk_scrolled_window_get_vadjustment", libgtk3.}
-# proc gtk_scrolled_window_get_max_content_width*(scrolled_window: pointer): cint {.importc: "gtk_scrolled_window_get_max_content_width", libgtk3.}
-# proc gtk_scrolled_window_get_min_content_width*(scrolled_window: pointer): cint {.importc: "gtk_scrolled_window_get_min_content_width", libgtk3.}
-# proc gtk_scrolled_window_set_overlay_scrolling*(scrolled_window: pointer, overlay_scrolling: bool) {.importc: "gtk_scrolled_window_set_overlay_scrolling", libgtk3.}
-
-proc gtk_frame_new*(label: cstring): pointer {.importc: "gtk_frame_new", libgtk3.}
-proc gtk_frame_set_label*(frame: pointer, label: cstring) {.importc: "gtk_frame_set_label", libgtk3.}
-proc gtk_frame_get_label_widget*(frame: pointer): pointer {.importc: "gtk_frame_get_label_widget", libgtk3.}
-
-proc gtk_drawing_area_new*(): pointer {.importc: "gtk_drawing_area_new", libgtk3.}
-
-proc gtk_adjustment_get_value*(adjustment: pointer): cdouble {.importc: "gtk_adjustment_get_value", libgtk3.}
-proc gtk_adjustment_set_value*(adjustment: pointer, value: cdouble) {.importc: "gtk_adjustment_set_value", libgtk3.}
-proc gtk_adjustment_set_upper*(adjustment: pointer, upper: cdouble) {.importc: "gtk_adjustment_set_upper", libgtk3.}
-proc gtk_adjustment_get_upper*(adjustment: pointer): cdouble {.importc: "gtk_adjustment_get_upper", libgtk3.}
-proc gtk_adjustment_set_page_size*(adjustment: pointer, page_size: cdouble) {.importc: "gtk_adjustment_set_page_size", libgtk3.}
-proc gtk_adjustment_get_page_size*(adjustment: pointer): cdouble {.importc: "gtk_adjustment_get_page_size", libgtk3.}
-
-proc gtk_drag_dest_set*(widget: pointer, flags: cint, targets: pointer, n_targets: cint, actions: cint) {.importc: "gtk_drag_dest_set", libgtk3.}
-
-proc gdk_keyval_to_unicode*(keyval: cint): cint {.importc: "gdk_keyval_to_unicode", libgtk3.}
-
-proc gdk_screen_get_default*(): pointer {.importc: "gdk_screen_get_default", libgtk3.}
-proc gdk_screen_get_primary_monitor*(screen: pointer): cint {.importc: "gdk_screen_get_primary_monitor", libgtk3.}
-# proc gdk_screen_get_width*(screen: pointer): cint {.importc: "gdk_screen_get_width", libgtk3.}
-# proc gdk_screen_get_height*(screen: pointer): cint {.importc: "gdk_screen_get_height", libgtk3.}
-proc gdk_screen_get_monitor_workarea*(screen: pointer, monitor_num: cint, dest: var GdkRectangle) {.importc: "gdk_screen_get_monitor_workarea", libgtk3.}
-
-proc gtk_style_context_get_padding*(context: pointer, state: cint, padding: var GtkBorder) {.importc: "gtk_style_context_get_padding", libgtk3.}
-proc gtk_style_context_get_background_color*(context: pointer, state: cint, color: var GdkRGBA) {.importc: "gtk_style_context_get_background_color", libgtk3.}
-proc gtk_style_context_get_color*(context: pointer, state: cint, color: var GdkRGBA) {.importc: "gtk_style_context_get_color", libgtk3.}
-# proc gtk_style_context_get_font*(context: pointer, state: cint): pointer {.importc: "gtk_style_context_get_font", libgtk3.}
-
-proc gtk_border_new*(): pointer {.importc: "gtk_border_new", libgtk3.}
-
-# proc gdk_threads_init*() {.importc: "gdk_threads_init", libgtk3.}
-# proc gdk_threads_add_idle*(function, data: pointer): cint {.importc: "gdk_threads_add_idle", libgtk3.}
-
-proc gtk_scrollbar_new*(orientation: cint, adjustment: pointer): pointer {.importc: "gtk_scrollbar_new", libgtk3.}
-
-proc gtk_adjustment_new*(value, lower, upper, step_increment, page_increment, page_size: cdouble): pointer {.importc: "gtk_adjustment_new", libgtk3.}
-
-# proc gtk_selection_data_get_length*(selection_data: pointer): cint {.importc: "gtk_selection_data_get_length", libgtk3.}
-# proc gtk_selection_data_get_text*(selection_data: pointer): cstring {.importc: "gtk_selection_data_get_text", libgtk3.}
-
-proc gtk_selection_data_get_uris*(selection_data: pointer): ptr cstring {.importc: "gtk_selection_data_get_uris", libgtk3.}
-proc g_filename_from_uri*(uri: pointer): cstring {.importc: "g_filename_from_uri", libgtk3.}
-
-proc gtk_clipboard_get*(selection: pointer): pointer {.importc: "gtk_clipboard_get", libgtk3.}
-proc gtk_clipboard_set_text*(clipboard: pointer, text: cstring, len: cint) {.importc: "gtk_clipboard_set_text", libgtk3.}
-proc gtk_clipboard_request_text*(clipboard, callback, user_data: pointer) {.importc: "gtk_clipboard_request_text", libgtk3.}
-proc gtk_clipboard_store*(clipboard: pointer) {.importc: "gtk_clipboard_store", libgtk3.}
-
-proc gtk_accelerator_get_default_mod_mask*(): cint {.importc: "gtk_accelerator_get_default_mod_mask", libgtk3.}
-
-proc gtk_im_multicontext_new*(): pointer {.importc: "gtk_im_multicontext_new", libgtk3.}
-proc gtk_im_context_filter_keypress*(context: pointer, event: var GdkEventKey): bool {.importc: "gtk_im_context_filter_keypress", libgtk3.}
+proc g_slist_length*(list: pointer): int {.importc, libgtk3.}
+proc g_slist_nth_data*(list: pointer, n: int): cstring {.importc, libgtk3.}
+proc g_object_unref*(`object`: pointer) {.importc, libgtk3.}
+
+proc gtk_init*(argc, argv: pointer) {.importc, libgtk3.}
+
+proc gtk_main*() {.importc, libgtk3.}
+proc gtk_main_quit*() {.importc, libgtk3.}
+proc gtk_events_pending*(): cint {.importc, libgtk3.}
+proc gtk_main_iteration*(): cint {.importc, libgtk3.}
+proc g_timeout_add*(interval: cint, function, data: pointer): cint {.importc, libgtk3.}
+proc g_source_remove*(tag: cint): bool {.importc, libgtk3.}
+proc g_signal_connect_data*(instance: pointer, detailed_signal: cstring, c_handler: pointer, data, destroy_data, connect_flags: pointer = nil): pointer {.importc, libgtk3.}
+proc g_signal_handlers_block_matched*(instance: pointer, mask, signal_id: cint, detail, closure, function, data: pointer = nil) {.importc, libgtk3.}
+proc g_signal_handlers_unblock_matched*(instance: pointer, mask, signal_id: cint, detail, closure, function, data: pointer = nil) {.importc, libgtk3.}
+
+proc gtk_window_new*(`type`: cint): pointer {.importc, libgtk3.}
+proc gtk_window_set_title*(window: pointer, title: cstring) {.importc, libgtk3.}
+# proc gtk_window_get_title*(window: pointer): cstring {.importc, libgtk3.}
+proc gtk_window_set_transient_for*(window, parent: pointer) {.importc, libgtk3.}
+proc gtk_window_set_modal*(window: pointer, modal: cint) {.importc, libgtk3.}
+# proc gtk_window_set_default_size*(window: pointer, width, height: cint) {.importc, libgtk3.}
+proc gtk_window_resize*(window: pointer, width, height: cint) {.importc, libgtk3.}
+proc gtk_window_resize_to_geometry*(window: pointer, width, height: cint) {.importc, libgtk3.}
+proc gtk_window_get_size*(window: pointer, width, height: var cint) {.importc, libgtk3.}
+proc gtk_window_get_position*(window: pointer, x, y: var cint) {.importc, libgtk3.}
+proc gtk_window_move*(window: pointer, x, y: cint) {.importc, libgtk3.}
+proc gtk_window_set_icon_from_file*(window: pointer, filename: cstring, err: pointer): bool {.importc, libgtk3.}
+proc gtk_window_iconify*(window: pointer) {.importc, libgtk3.}
+proc gtk_window_deiconify*(window: pointer) {.importc, libgtk3.}
+proc gtk_window_present*(window: pointer) {.importc, libgtk3.}
+
+proc gdk_window_begin_paint_rect*(window: pointer, rectangle: var GdkRectangle) {.importc, libgtk3.}
+proc gdk_window_begin_paint_region*(window: pointer, region: pointer) {.importc, libgtk3.}
+proc gdk_window_end_paint*(window: pointer) {.importc, libgtk3.}
+proc gdk_window_get_clip_region*(window: pointer): pointer {.importc, libgtk3.}
+
+proc gtk_widget_destroy*(widget: pointer) {.importc, libgtk3.}
+proc gtk_widget_show*(widget: pointer) {.importc, libgtk3.}
+proc gtk_widget_hide*(widget: pointer) {.importc, libgtk3.}
+proc gtk_widget_set_size_request*(widget: pointer, width, height: cint) {.importc, libgtk3.}
+proc gtk_widget_size_allocate*(widget: pointer, allocation: var GdkRectangle) {.importc, libgtk3.}
+proc gtk_widget_get_size_request*(widget: pointer, width, height: var cint) {.importc, libgtk3.}
+proc gtk_widget_get_allocation*(widget: pointer, allocation: var GdkRectangle) {.importc, libgtk3.}
+# proc gtk_widget_set_allocation*(widget: pointer, allocation: var GdkRectangle) {.importc, libgtk3.}
+# proc gtk_widget_set_hexpand*(widget: pointer, expand: cint) {.importc, libgtk3.}
+proc gtk_widget_queue_draw*(widget: pointer) {.importc, libgtk3.}
+proc gtk_widget_set_margin_top*(widget: pointer, margin: cint) {.importc, libgtk3.}
+proc gtk_widget_add_events*(widget: pointer, events: cint) {.importc, libgtk3.}
+proc gtk_widget_set_can_focus*(widget: pointer, can_focus: cint) {.importc, libgtk3.}
+proc gtk_widget_modify_font*(widget: pointer, font_desc: pointer) {.importc, libgtk3.}
+proc gtk_widget_override_color*(widget: pointer, state: cint, color: var GdkRGBA) {.importc, libgtk3.}
+proc gtk_widget_override_background_color*(widget: pointer, state: cint, color: var GdkRGBA) {.importc, libgtk3.}
+proc gtk_widget_get_path*(widget: pointer): pointer {.importc, libgtk3.}
+proc gtk_widget_style_get*(widget: pointer, first_property_name: cstring, value: pointer, passNil: pointer) {.importc, libgtk3.}
+proc gtk_widget_get_style_context*(widget: pointer): pointer {.importc, libgtk3.}
+proc gtk_widget_grab_focus*(widget: pointer) {.importc, libgtk3.}
+proc gtk_widget_is_focus*(widget: pointer): bool {.importc, libgtk3.}
+proc gtk_widget_realize*(widget: pointer) {.importc, libgtk3.}
+proc gtk_widget_draw*(widget, cr: pointer) {.importc, libgtk3.}
+proc gtk_widget_set_sensitive*(widget: pointer, sensitive: bool) {.importc, libgtk3.}
+
+proc gtk_container_add*(container, widget: pointer) {.importc, libgtk3.}
+proc gtk_container_remove*(container, widget: pointer) {.importc, libgtk3.}
+# proc gtk_container_foreach*(container, callback, callback_data: pointer) {.importc, libgtk3.}
+proc gtk_container_get_children*(container: pointer): GList {.importc, libgtk3.}
+proc gtk_container_set_border_width*(container: pointer, width: cint) {.importc, libgtk3.}
+
+proc gtk_fixed_new*(): pointer {.importc, libgtk3.}
+proc gtk_fixed_move*(fixed, widget: pointer, x, y: cint) {.importc, libgtk3.}
+
+proc gtk_layout_new*(hadjustment, vadjustment: pointer): pointer {.importc, libgtk3.}
+# proc gtk_layout_put*(layout, child_widget: pointer, x, y: cint) {.importc, libgtk3.}
+proc gtk_layout_move*(layout, child_widget: pointer, x, y: cint) {.importc, libgtk3.}
+# proc gtk_layout_set_size*(layout: pointer, width, height: cint) {.importc, libgtk3.}
+# proc gtk_layout_get_hadjustment*(layout: pointer): pointer {.importc, libgtk3.}
+# proc gtk_layout_get_vadjustment*(layout: pointer): pointer {.importc, libgtk3.}
+
+# proc gtk_scrollbar_new*(orientation: GtkOrientation, adjustment: pointer): pointer {.importc, libgtk3.}
+
+proc gtk_dialog_new*(): pointer {.importc, libgtk3.}
+proc gtk_dialog_run*(dialog: pointer): cint {.importc, libgtk3.}
+proc gtk_dialog_add_button*(dialog: pointer, button_text: cstring, response_id: cint): pointer {.importc, libgtk3.}
+proc gtk_dialog_get_content_area*(dialog: pointer): pointer {.importc, libgtk3.}
+proc gtk_dialog_get_action_area*(dialog: pointer): pointer {.importc, libgtk3.}
+
+proc gtk_file_chooser_dialog_new*(title: cstring, parent: pointer, action: int, text1: cstring, response1: int, text2: cstring, response2: int, ending: pointer): pointer {.importc, libgtk3.}
+proc gtk_file_chooser_set_current_name*(chooser: pointer, name: cstring): bool {.importc, libgtk3.}
+proc gtk_file_chooser_get_filename*(chooser: pointer): cstring {.importc, libgtk3.}
+proc gtk_file_chooser_get_filenames*(chooser: pointer): pointer {.importc, libgtk3.}
+proc gtk_file_chooser_set_select_multiple*(chooser: pointer, select_multiple: bool) {.importc, libgtk3.}
+proc gtk_file_chooser_set_current_folder*(chooser: pointer, filename: cstring): bool {.importc, libgtk3.}
+
+proc gtk_button_box_set_layout*(widget: pointer, layout_style: cint) {.importc, libgtk3.}
+
+# proc gtk_message_dialog_new*(parent: pointer, flags: GtkDialogFlags, `type`: GtkMessageType, buttons: GtkButtonsType, message_format: cstring): pointer {.importc, libgtk3.}
+
+proc gtk_label_new*(str: cstring): pointer {.importc, libgtk3.}
+proc gtk_label_set_text*(label: pointer, str: cstring) {.importc, libgtk3.}
+# proc gtk_label_get_text*(label: pointer): cstring {.importc, libgtk3.}
+proc gtk_label_set_ellipsize*(label: pointer, mode: cint) {.importc, libgtk3.}
+# proc gtk_label_set_justify*(label: pointer, jtype: cint) {.importc, libgtk3.}
+proc gtk_label_set_xalign*(label: pointer, xalign: cfloat) {.importc, libgtk3.}
+proc gtk_label_set_yalign*(label: pointer, yalign: cfloat) {.importc, libgtk3.}
+
+proc gtk_progress_bar_new*(): pointer {.importc, libgtk3.}
+proc gtk_progress_bar_set_fraction*(pbar: pointer, fraction: cdouble) {.importc, libgtk3.}
+
+# proc gtk_box_new*(orientation: GtkOrientation, spacing: cint): pointer {.importc, libgtk3.}
+proc gtk_box_pack_start*(box, child: pointer, expand, fill: cint, padding: cint) {.importc, libgtk3.}
+
+proc gtk_button_new*(): pointer {.importc, libgtk3.}
+# proc gtk_button_new_with_label*(label: cstring): pointer {.importc, libgtk3.}
+# proc gtk_button_get_label*(button: pointer): cstring {.importc, libgtk3.}
+proc gtk_button_set_label*(button: pointer, label: cstring) {.importc, libgtk3.}
+
+proc gtk_check_button_new*(): pointer {.importc, libgtk3.}
+proc gtk_toggle_button_set_active*(toggle_button: pointer, is_active: bool) {.importc, libgtk3.}
+proc gtk_toggle_button_get_active*(toggle_button: pointer): bool {.importc, libgtk3.}
+
+proc gtk_entry_new*(): pointer {.importc, libgtk3.}
+proc gtk_entry_set_text*(entry: pointer, text: cstring) {.importc, libgtk3.}
+proc gtk_entry_get_text*(entry: pointer): cstring {.importc, libgtk3.}
+proc gtk_entry_set_width_chars*(entry: pointer, n_chars: cint) {.importc, libgtk3.}
+proc gtk_editable_get_selection_bounds*(editable: pointer, start_pos, end_pos: var cint): bool {.importc, libgtk3.}
+proc gtk_editable_get_chars*(editable: pointer, start_pos, end_pos: cint): cstring {.importc, libgtk3.}
+proc gtk_editable_select_region*(editable: pointer, start_pos, end_pos: cint) {.importc, libgtk3.}
+proc gtk_editable_get_position*(editable: pointer): cint {.importc, libgtk3.}
+proc gtk_editable_set_position*(editable: pointer, position: cint) {.importc, libgtk3.}
+proc gtk_editable_set_editable*(editable: pointer, is_editable: bool) {.importc, libgtk3.}
+
+proc gtk_text_view_new*(): pointer {.importc, libgtk3.}
+proc gtk_text_view_set_buffer*(text_view, buffer: pointer) {.importc, libgtk3.}
+proc gtk_text_view_get_buffer*(text_view: pointer): pointer {.importc, libgtk3.}
+proc gtk_text_view_set_wrap_mode*(text_view: pointer, wrap_mode: cint) {.importc, libgtk3.}
+proc gtk_text_view_set_left_margin*(text_view: pointer, margin: cint) {.importc, libgtk3.}
+proc gtk_text_view_set_right_margin*(text_view: pointer, margin: cint) {.importc, libgtk3.}
+proc gtk_text_view_set_top_margin*(text_view: pointer, margin: cint) {.importc, libgtk3.}
+proc gtk_text_view_set_bottom_margin*(text_view: pointer, margin: cint) {.importc, libgtk3.}
+proc gtk_text_view_scroll_to_iter*(text_view: pointer, iter: var GtkTextIter, within_margin: cfloat, use_align: bool, xalign, yalign: cfloat) {.importc, libgtk3.}
+# proc gtk_text_view_scroll_to_mark*(text_view, mark: pointer, within_margin: cfloat, use_align: bool, xalign, yalign: cfloat) {.importc, libgtk3.}
+# proc gtk_text_view_place_cursor_onscreen*(text_view: pointer): bool {.importc, libgtk3.}
+proc gtk_text_view_set_editable*(text_view: pointer, setting: bool) {.importc, libgtk3.}
+
+# proc gtk_text_buffer_new*(table: pointer): pointer {.importc, libgtk3.}
+proc gtk_text_buffer_set_text*(text_buffer: pointer, text: cstring, len: cint) {.importc, libgtk3.}
+proc gtk_text_buffer_get_text*(text_buffer: pointer, start, `end`: var GtkTextIter, include_hidden_chars: bool): cstring {.importc, libgtk3.}
+proc gtk_text_buffer_get_start_iter*(text_buffer: pointer, iter: var GtkTextIter) {.importc, libgtk3.}
+proc gtk_text_buffer_get_end_iter*(text_buffer: pointer, iter: var GtkTextIter) {.importc, libgtk3.}
+# proc gtk_text_buffer_add_mark*(buffer, mark: pointer, where: var GtkTextIter) {.importc, libgtk3.}
+proc gtk_text_buffer_get_insert*(buffer: pointer): pointer {.importc, libgtk3.}
+# proc gtk_text_buffer_get_iter_at_line*(buffer: pointer, iter: var GtkTextIter, line_number: cint) {.importc, libgtk3.}
+proc gtk_text_buffer_insert*(buffer: pointer, iter: var GtkTextIter, text: cstring, len: cint) {.importc, libgtk3.}
+proc gtk_text_buffer_get_selection_bounds*(buffer: pointer, start, `end`: var GtkTextIter): bool {.importc, libgtk3.}
+proc gtk_text_buffer_select_range*(buffer: pointer, ins, bound: var GtkTextIter) {.importc, libgtk3.}
+proc gtk_text_buffer_get_iter_at_offset*(buffer: pointer, iter: var GtkTextIter, char_offset: cint) {.importc, libgtk3.}
+proc gtk_text_buffer_get_iter_at_mark*(buffer: pointer, iter: var GtkTextIter, mark: pointer) {.importc, libgtk3.}
+
+proc gtk_text_iter_get_offset*(iter: var GtkTextIter): cint {.importc, libgtk3.}
+# proc gtk_text_mark_new*(name: cstring, left_gravity: bool): pointer {.importc, libgtk3.}
+
+proc gtk_scrolled_window_new*(hadjustment, vadjustment: pointer): pointer {.importc, libgtk3.}
+proc gtk_scrolled_window_set_policy*(scrolled_window: pointer, hscrollbar_policy, vscrollbar_policy: cint) {.importc, libgtk3.}
+proc gtk_scrolled_window_get_hscrollbar*(scrolled_window: pointer): pointer {.importc, libgtk3.}
+proc gtk_scrolled_window_get_vscrollbar*(scrolled_window: pointer): pointer {.importc, libgtk3.}
+proc gtk_scrolled_window_get_hadjustment*(scrolled_window: pointer): pointer {.importc, libgtk3.}
+proc gtk_scrolled_window_get_vadjustment*(scrolled_window: pointer): pointer {.importc, libgtk3.}
+# proc gtk_scrolled_window_get_max_content_width*(scrolled_window: pointer): cint {.importc, libgtk3.}
+# proc gtk_scrolled_window_get_min_content_width*(scrolled_window: pointer): cint {.importc, libgtk3.}
+# proc gtk_scrolled_window_set_overlay_scrolling*(scrolled_window: pointer, overlay_scrolling: bool) {.importc, libgtk3.}
+
+proc gtk_frame_new*(label: cstring): pointer {.importc, libgtk3.}
+proc gtk_frame_set_label*(frame: pointer, label: cstring) {.importc, libgtk3.}
+proc gtk_frame_get_label_widget*(frame: pointer): pointer {.importc, libgtk3.}
+
+proc gtk_drawing_area_new*(): pointer {.importc, libgtk3.}
+
+proc gtk_adjustment_get_value*(adjustment: pointer): cdouble {.importc, libgtk3.}
+proc gtk_adjustment_set_value*(adjustment: pointer, value: cdouble) {.importc, libgtk3.}
+proc gtk_adjustment_set_upper*(adjustment: pointer, upper: cdouble) {.importc, libgtk3.}
+proc gtk_adjustment_get_upper*(adjustment: pointer): cdouble {.importc, libgtk3.}
+proc gtk_adjustment_set_page_size*(adjustment: pointer, page_size: cdouble) {.importc, libgtk3.}
+proc gtk_adjustment_get_page_size*(adjustment: pointer): cdouble {.importc, libgtk3.}
+
+proc gtk_drag_dest_set*(widget: pointer, flags: cint, targets: pointer, n_targets: cint, actions: cint) {.importc, libgtk3.}
+
+proc gdk_keyval_to_unicode*(keyval: cint): cint {.importc, libgtk3.}
+
+proc gdk_screen_get_default*(): pointer {.importc, libgtk3.}
+proc gdk_screen_get_primary_monitor*(screen: pointer): cint {.importc, libgtk3.}
+# proc gdk_screen_get_width*(screen: pointer): cint {.importc, libgtk3.}
+# proc gdk_screen_get_height*(screen: pointer): cint {.importc, libgtk3.}
+proc gdk_screen_get_monitor_workarea*(screen: pointer, monitor_num: cint, dest: var GdkRectangle) {.importc, libgtk3.}
+
+proc gtk_style_context_get_padding*(context: pointer, state: cint, padding: var GtkBorder) {.importc, libgtk3.}
+proc gtk_style_context_get_background_color*(context: pointer, state: cint, color: var GdkRGBA) {.importc, libgtk3.}
+proc gtk_style_context_get_color*(context: pointer, state: cint, color: var GdkRGBA) {.importc, libgtk3.}
+# proc gtk_style_context_get_font*(context: pointer, state: cint): pointer {.importc, libgtk3.}
+
+proc gtk_border_new*(): pointer {.importc, libgtk3.}
+
+# proc gdk_threads_init*() {.importc, libgtk3.}
+# proc gdk_threads_add_idle*(function, data: pointer): cint {.importc, libgtk3.}
+
+proc gtk_scrollbar_new*(orientation: cint, adjustment: pointer): pointer {.importc, libgtk3.}
+
+proc gtk_adjustment_new*(value, lower, upper, step_increment, page_increment, page_size: cdouble): pointer {.importc, libgtk3.}
+
+# proc gtk_selection_data_get_length*(selection_data: pointer): cint {.importc, libgtk3.}
+# proc gtk_selection_data_get_text*(selection_data: pointer): cstring {.importc, libgtk3.}
+
+proc gtk_selection_data_get_uris*(selection_data: pointer): ptr cstring {.importc, libgtk3.}
+proc g_filename_from_uri*(uri: pointer): cstring {.importc, libgtk3.}
+
+proc gtk_clipboard_get*(selection: pointer): pointer {.importc, libgtk3.}
+proc gtk_clipboard_set_text*(clipboard: pointer, text: cstring, len: cint) {.importc, libgtk3.}
+proc gtk_clipboard_request_text*(clipboard, callback, user_data: pointer) {.importc, libgtk3.}
+proc gtk_clipboard_store*(clipboard: pointer) {.importc, libgtk3.}
+
+proc gtk_accelerator_get_default_mod_mask*(): cint {.importc, libgtk3.}
+
+proc gtk_im_multicontext_new*(): pointer {.importc, libgtk3.}
+proc gtk_im_context_filter_keypress*(context: pointer, event: var GdkEventKey): bool {.importc, libgtk3.}
# ----------------------------------------------------------------------------------------
# Drawing Related Procs
# ----------------------------------------------------------------------------------------
-proc gtk_widget_create_pango_layout*(widget: pointer, text: cstring): pointer {.importc: "gtk_widget_create_pango_layout", libgtk3.}
-proc gdk_cairo_set_source_rgba*(cr: pointer, rgba: var GdkRGBA) {.importc: "gdk_cairo_set_source_rgba", libgtk3.}
-proc gdk_cairo_surface_create_from_pixbuf*(pixbuf: pointer, scale: cint, for_window: pointer): pointer {.importc: "gdk_cairo_surface_create_from_pixbuf", libgtk3.}
-proc gdk_pixbuf_new_from_file*(filename: cstring, error: pointer): pointer {.importc: "gdk_pixbuf_new_from_file", libgtk3.}
-proc gdk_pixbuf_save*(pixbuf: pointer, filename, `type`: cstring, error: pointer, param5, param6, param7: cstring): bool {.importc: "gdk_pixbuf_save", libgtk3.}
-proc gdk_pixbuf_get_from_surface*(surface: pointer, src_x, src_y, width, height: cint): pointer {.importc: "gdk_pixbuf_get_from_surface", libgtk3.}
-# proc gdk_pixmap_create_from_data*(drawable, data: pointer, width, height, depth: cint, fg, bg: var GdkRGBA): pointer {.importc: "gdk_pixmap_create_from_data", libgtk3.}
-
-proc cairo_image_surface_create*(format: cint, width, height: cint): pointer {.importc: "cairo_image_surface_create", libgtk3.}
-# proc cairo_image_surface_create_for_data*(data: pointer, format: cairo_format_t, width, height, stride: cint): pointer {.importc: "cairo_image_surface_create_for_data", libgtk3.}
-proc cairo_image_surface_get_width*(surface: pointer): cint {.importc: "cairo_image_surface_get_width", libgtk3.}
-proc cairo_image_surface_get_height*(surface: pointer): cint {.importc: "cairo_image_surface_get_height", libgtk3.}
-proc cairo_image_surface_get_stride*(surface: pointer): cint {.importc: "cairo_image_surface_get_stride", libgtk3.}
-proc cairo_image_surface_get_data*(surface: pointer): ptr UncheckedArray[byte] {.importc: "cairo_image_surface_get_data", libgtk3.}
-proc cairo_surface_flush*(surface: pointer) {.importc: "cairo_surface_flush", libgtk3.}
-proc cairo_surface_mark_dirty*(surface: pointer) {.importc: "cairo_surface_mark_dirty", libgtk3.}
-proc cairo_surface_destroy*(surface: pointer) {.importc: "cairo_surface_destroy", libgtk3.}
-
-# proc cairo_format_stride_for_width*(format: cairo_format_t, width: cint): cint {.importc: "cairo_format_stride_for_width", libgtk3.}
-
-proc cairo_create*(target: pointer): pointer {.importc: "cairo_create", libgtk3.}
-proc cairo_get_target*(cr: pointer): pointer {.importc: "cairo_get_target", libgtk3.}
-proc cairo_set_source_rgb*(cr: pointer, red, green, blue: cdouble) {.importc: "cairo_set_source_rgb", libgtk3.}
-proc cairo_set_source_surface*(cr, surface: pointer, x, y: cdouble) {.importc: "cairo_set_source_surface", libgtk3.}
-proc cairo_fill*(cr: pointer) {.importc: "cairo_fill", libgtk3.}
-proc cairo_stroke*(cr: pointer) {.importc: "cairo_stroke", libgtk3.}
-proc cairo_rectangle*(cr: pointer, x, y, width, height: cdouble) {.importc: "cairo_rectangle", libgtk3.}
-proc cairo_arc*(cr: pointer, xc, yc, radius, angle1, angle2: cdouble) {.importc: "cairo_arc", libgtk3.}
-proc cairo_line_to*(cr: pointer, x, y: cdouble) {.importc: "cairo_line_to", libgtk3.}
-proc cairo_move_to*(cr: pointer, x, y: cdouble) {.importc: "cairo_move_to", libgtk3.}
-proc cairo_set_line_width*(cr: pointer, width: cdouble) {.importc: "cairo_set_line_width", libgtk3.}
-# proc cairo_image_surface_create_from_png*(filename: cstring): pointer {.importc: "cairo_image_surface_create_from_png", libgtk3.}
-proc cairo_paint*(cr: pointer) {.importc: "cairo_paint", libgtk3.}
-proc cairo_scale*(cr: pointer, x, y: cdouble) {.importc: "cairo_scale", libgtk3.}
-proc cairo_translate*(cr: pointer, tx, ty: cdouble) {.importc: "cairo_translate", libgtk3.}
-# proc cairo_set_antialias*(cr: pointer, antialias: cint) {.importc: "cairo_set_antialias", libgtk3.}
-proc cairo_save*(cr: pointer) {.importc: "cairo_save", libgtk3.}
-proc cairo_restore*(cr: pointer) {.importc: "cairo_restore", libgtk3.}
-
-proc pango_cairo_show_layout*(cr, layout: pointer) {.importc: "pango_cairo_show_layout", libgtk3.}
-proc pango_cairo_create_layout*(cr: pointer): pointer {.importc: "pango_cairo_create_layout", libgtk3.}
-proc pango_layout_set_text*(layout: pointer, text: cstring, length: cint) {.importc: "pango_layout_set_text", libgtk3.}
-proc pango_layout_get_pixel_size*(layout: pointer, width, height: var cint) {.importc: "pango_layout_get_pixel_size", libgtk3.}
-proc pango_layout_set_font_description*(layout, desc: pointer) {.importc: "pango_layout_set_font_description", libgtk3.}
-proc pango_font_description_new*(): pointer {.importc: "pango_font_description_new", libgtk3.}
-proc pango_font_description_set_family*(desc: pointer, family: cstring) {.importc: "pango_font_description_set_family", libgtk3.}
-proc pango_font_description_set_size*(desc: pointer, size: cint) {.importc: "pango_font_description_set_size", libgtk3.}
-proc pango_font_description_set_weight*(desc: pointer, weight: cint) {.importc: "pango_font_description_set_weight", libgtk3.}
-# proc pango_font_description_get_size*(desc: pointer): cint {.importc: "pango_font_description_get_size", libgtk3.}
-# proc pango_layout_set_markup*(layout: pointer, markup: cstring, length: cint) {.importc: "pango_layout_set_markup", libgtk3.}
-# proc pango_layout_new*(context: pointer): pointer {.importc: "pango_layout_new", libgtk3.}
+proc gtk_widget_create_pango_layout*(widget: pointer, text: cstring): pointer {.importc, libgtk3.}
+proc gdk_cairo_set_source_rgba*(cr: pointer, rgba: var GdkRGBA) {.importc, libgtk3.}
+proc gdk_cairo_surface_create_from_pixbuf*(pixbuf: pointer, scale: cint, for_window: pointer): pointer {.importc, libgtk3.}
+proc gdk_pixbuf_new_from_file*(filename: cstring, error: pointer): pointer {.importc, libgtk3.}
+proc gdk_pixbuf_save*(pixbuf: pointer, filename, `type`: cstring, error: pointer, param5, param6, param7: cstring): bool {.importc, libgtk3.}
+proc gdk_pixbuf_get_from_surface*(surface: pointer, src_x, src_y, width, height: cint): pointer {.importc, libgtk3.}
+# proc gdk_pixmap_create_from_data*(drawable, data: pointer, width, height, depth: cint, fg, bg: var GdkRGBA): pointer {.importc, libgtk3.}
+
+proc cairo_image_surface_create*(format: cint, width, height: cint): pointer {.importc, libgtk3.}
+# proc cairo_image_surface_create_for_data*(data: pointer, format: cairo_format_t, width, height, stride: cint): pointer {.importc, libgtk3.}
+proc cairo_image_surface_get_width*(surface: pointer): cint {.importc, libgtk3.}
+proc cairo_image_surface_get_height*(surface: pointer): cint {.importc, libgtk3.}
+proc cairo_image_surface_get_stride*(surface: pointer): cint {.importc, libgtk3.}
+proc cairo_image_surface_get_data*(surface: pointer): ptr UncheckedArray[byte] {.importc, libgtk3.}
+proc cairo_surface_flush*(surface: pointer) {.importc, libgtk3.}
+proc cairo_surface_mark_dirty*(surface: pointer) {.importc, libgtk3.}
+proc cairo_surface_destroy*(surface: pointer) {.importc, libgtk3.}
+
+# proc cairo_format_stride_for_width*(format: cairo_format_t, width: cint): cint {.importc, libgtk3.}
+
+proc cairo_create*(target: pointer): pointer {.importc, libgtk3.}
+proc cairo_get_target*(cr: pointer): pointer {.importc, libgtk3.}
+proc cairo_set_source_rgb*(cr: pointer, red, green, blue: cdouble) {.importc, libgtk3.}
+proc cairo_set_source_surface*(cr, surface: pointer, x, y: cdouble) {.importc, libgtk3.}
+proc cairo_fill*(cr: pointer) {.importc, libgtk3.}
+proc cairo_stroke*(cr: pointer) {.importc, libgtk3.}
+proc cairo_rectangle*(cr: pointer, x, y, width, height: cdouble) {.importc, libgtk3.}
+proc cairo_arc*(cr: pointer, xc, yc, radius, angle1, angle2: cdouble) {.importc, libgtk3.}
+proc cairo_line_to*(cr: pointer, x, y: cdouble) {.importc, libgtk3.}
+proc cairo_move_to*(cr: pointer, x, y: cdouble) {.importc, libgtk3.}
+proc cairo_set_line_width*(cr: pointer, width: cdouble) {.importc, libgtk3.}
+# proc cairo_image_surface_create_from_png*(filename: cstring): pointer {.importc, libgtk3.}
+proc cairo_paint*(cr: pointer) {.importc, libgtk3.}
+proc cairo_scale*(cr: pointer, x, y: cdouble) {.importc, libgtk3.}
+proc cairo_translate*(cr: pointer, tx, ty: cdouble) {.importc, libgtk3.}
+# proc cairo_set_antialias*(cr: pointer, antialias: cint) {.importc, libgtk3.}
+proc cairo_save*(cr: pointer) {.importc, libgtk3.}
+proc cairo_restore*(cr: pointer) {.importc, libgtk3.}
+
+proc pango_cairo_show_layout*(cr, layout: pointer) {.importc, libgtk3.}
+proc pango_cairo_create_layout*(cr: pointer): pointer {.importc, libgtk3.}
+proc pango_layout_set_text*(layout: pointer, text: cstring, length: cint) {.importc, libgtk3.}
+proc pango_layout_get_pixel_size*(layout: pointer, width, height: var cint) {.importc, libgtk3.}
+proc pango_layout_set_font_description*(layout, desc: pointer) {.importc, libgtk3.}
+proc pango_font_description_new*(): pointer {.importc, libgtk3.}
+proc pango_font_description_set_family*(desc: pointer, family: cstring) {.importc, libgtk3.}
+proc pango_font_description_set_size*(desc: pointer, size: cint) {.importc, libgtk3.}
+proc pango_font_description_set_weight*(desc: pointer, weight: cint) {.importc, libgtk3.}
+# proc pango_font_description_get_size*(desc: pointer): cint {.importc, libgtk3.}
+# proc pango_layout_set_markup*(layout: pointer, markup: cstring, length: cint) {.importc, libgtk3.}
+# proc pango_layout_new*(context: pointer): pointer {.importc, libgtk3.}
diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim
index 8717198..3f6faa6 100755
--- a/src/nigui/private/gtk3/platform_impl.nim
+++ b/src/nigui/private/gtk3/platform_impl.nim
@@ -409,7 +409,7 @@ method run*(dialog: OpenFileDialog) =
let list = gtk_file_chooser_get_filenames(chooser)
let count = g_slist_length(list)
for i in 0..count - 1:
- dialog.files.add($g_slist_nth_data_string(list, i))
+ dialog.files.add($g_slist_nth_data(list, i))
gtk_widget_destroy(chooser)
method run(dialog: SaveFileDialog) =
diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim
index 2876448..1e184b4 100755
--- a/src/nigui/private/windows/platform_impl.nim
+++ b/src/nigui/private/windows/platform_impl.nim
@@ -939,7 +939,7 @@ method `iconPath=`(window: WindowImpl, iconPath: string) =
var bitmap: pointer
pGdipCreateBitmapFromFileWrapped(iconPath, bitmap)
var icon: pointer
- pCheckGdiplusStatus(GdipGetHicon(bitmap, icon))
+ pCheckGdiplusStatus(GdipCreateHICONFromBitmap(bitmap, icon))
discard SendMessageA(window.fHandle, WM_SETICON, cast[pointer](ICON_BIG), icon)
discard SendMessageA(window.fHandle, WM_SETICON, cast[pointer](ICON_SMALL), icon)
diff --git a/src/nigui/private/windows/windows.nim b/src/nigui/private/windows/windows.nim
index 5defd80..d3a4d8c 100755
--- a/src/nigui/private/windows/windows.nim
+++ b/src/nigui/private/windows/windows.nim
@@ -382,178 +382,178 @@ proc hiWord*(param: pointer): int =
# Kernel32 Procs
# ----------------------------------------------------------------------------------------
-proc LoadLibraryA*(lpFileName: cstring): pointer {.importc: "LoadLibraryA", libKernel32.}
-# proc GetModuleHandleA*(lpModuleName: cstring): pointer {.importc: "GetModuleHandleA", libKernel32.}
-proc GetLastError*(): int {.importc: "GetLastError", libKernel32.}
-proc CreateActCtxA*(pActCtx: var ActCtx): pointer {.importc: "CreateActCtxA", libKernel32.}
-proc GetSystemDirectoryA*(lpBuffer: pointer, uSize: int32): int32 {.importc: "GetSystemDirectoryA", libKernel32.}
-proc MultiByteToWideChar*(CodePage, dwFlags: int32, lpMultiByteStr: cstring, cbMultiByte: int32, lpWideCharStr: cstring, cchWideChar: int32): int32 {.importc: "MultiByteToWideChar", libKernel32.}
-proc WideCharToMultiByte*(CodePage, dwFlags: int32, lpWideCharStr: cstring, cchWideChar: int32, lpMultiByteStr: cstring, cbMultiByte: int32, lpDefaultChar: cstring, lpUsedDefaultChar: pointer): int32 {.importc: "WideCharToMultiByte", libKernel32.}
-proc GlobalLock*(hMem: pointer): pointer {.importc: "GlobalLock", libKernel32.}
-proc GlobalUnlock*(hMem: pointer): bool {.importc: "GlobalUnlock", libKernel32.}
-proc GlobalAlloc*(uFlags, dwBytes: int32): pointer {.importc: "GlobalAlloc", libKernel32.}
+proc LoadLibraryA*(lpFileName: cstring): pointer {.importc, libKernel32.}
+# proc GetModuleHandleA*(lpModuleName: cstring): pointer {.importc, libKernel32.}
+proc GetLastError*(): int {.importc, libKernel32.}
+proc CreateActCtxA*(pActCtx: var ActCtx): pointer {.importc, libKernel32.}
+proc GetSystemDirectoryA*(lpBuffer: pointer, uSize: int32): int32 {.importc, libKernel32.}
+proc MultiByteToWideChar*(CodePage, dwFlags: int32, lpMultiByteStr: cstring, cbMultiByte: int32, lpWideCharStr: cstring, cchWideChar: int32): int32 {.importc, libKernel32.}
+proc WideCharToMultiByte*(CodePage, dwFlags: int32, lpWideCharStr: cstring, cchWideChar: int32, lpMultiByteStr: cstring, cbMultiByte: int32, lpDefaultChar: cstring, lpUsedDefaultChar: pointer): int32 {.importc, libKernel32.}
+proc GlobalLock*(hMem: pointer): pointer {.importc, libKernel32.}
+proc GlobalUnlock*(hMem: pointer): bool {.importc, libKernel32.}
+proc GlobalAlloc*(uFlags, dwBytes: int32): pointer {.importc, libKernel32.}
# ----------------------------------------------------------------------------------------
# User32 Procs
# ----------------------------------------------------------------------------------------
-proc MessageBoxW*(hWnd: pointer, lpText, lpCaption: cstring, uType: int) {.importc: "MessageBoxW", libUser32.}
-proc RegisterClassExW*(lpwcx: var WndClassEx): int16 {.importc: "RegisterClassExW", libUser32.}
-proc CreateWindowExW*(dwExStyle: int32, lpClassName, lpWindowName: cstring, dwStyle: int32, x, y, nWidth, nHeight: int, hWndParent, hMenu, hInstance, lpParam: pointer): pointer {.importc: "CreateWindowExW", libUser32.}
-proc DestroyWindow*(hWnd: pointer): bool {.importc: "DestroyWindow", libUser32.}
-proc ShowWindow*(hWnd: pointer, nCmdShow: int32): bool {.importc: "ShowWindow", libUser32.}
-proc EnableWindow*(hWnd: pointer, bEnable: bool): bool {.importc: "EnableWindow", libUser32.}
-proc DefWindowProcW*(hWnd: pointer, uMsg: int, wParam, lParam: pointer): pointer {.importc: "DefWindowProcW", libUser32.}
-proc GetMessageW*(lpMsg, hWnd: pointer, wMsgFilterMin, wMsgFilterMax: int32): bool {.importc: "GetMessageW", libUser32.}
-proc PeekMessageW*(lpMsg, hWnd: pointer, wMsgFilterMin, wMsgFilterMax, wRemoveMsg: int32): bool {.importc: "PeekMessageW", libUser32.}
-proc TranslateMessage*(lpMsg: pointer): bool {.importc: "TranslateMessage", libUser32.}
-proc DispatchMessageW*(lpMsg: pointer): pointer {.importc: "DispatchMessageW", libUser32.}
-proc SetParent*(hWndChild, hWndNewParent: pointer): pointer {.importc: "SetParent", libUser32.}
-proc SetWindowLongA*(hWnd: pointer, nIndex, dwNewLong: int32): int32 {.importc: "SetWindowLongA", libUser32.}
-proc GetWindowLongA*(hWnd: pointer, nIndex: int32): int32 {.importc: "GetWindowLongA", libUser32.}
-proc SetWindowTextW*(hWnd: pointer, lpString: cstring): bool {.importc: "SetWindowTextW", libUser32.}
-proc GetWindowTextW*(hWnd: pointer, lpString: cstring, nMaxCount: int32): int32 {.importc: "GetWindowTextW", libUser32.}
-proc GetWindowTextLengthW*(hWnd: pointer): int32 {.importc: "GetWindowTextLengthW", libUser32.}
-proc UpdateWindow*(hWnd: pointer): bool {.importc: "UpdateWindow", libUser32.}
-proc SetWindowPos*(wnd, hWndInsertAfter: pointer, x, y, cx, cy: int32, uFlags: int): bool {.importc: "SetWindowPos", libUser32.}
-proc MoveWindow*(wnd: pointer, x, y, nWidth, nHeight: int32, bRepaint: bool): bool {.importc: "MoveWindow", libUser32.}
-proc SetFocus*(hWnd: pointer): pointer {.importc: "SetFocus", libUser32.}
-proc GetWindowRect*(wnd: pointer, lpRect: var Rect): bool {.importc: "GetWindowRect", libUser32.}
-proc GetClientRect*(wnd: pointer, lpRect: var Rect): bool {.importc: "GetClientRect", libUser32.}
-proc BeginPaint*(hWnd: pointer, lpPaint: var PaintStruct): pointer {.importc: "BeginPaint", libUser32.}
-proc EndPaint*(hWnd: pointer, lpPaint: var PaintStruct): bool {.importc: "EndPaint", libUser32.}
-proc SendMessageA*(hWnd: pointer, msg: int32, wParam, lParam: pointer): pointer {.importc: "SendMessageA", libUser32.}
-proc PostMessageA*(hWnd: pointer, msg: int32, wParam, lParam: pointer): pointer {.importc: "PostMessageA", libUser32.}
-proc GetSysColor*(nIndex: int32): RGB32 {.importc: "GetSysColor", libUser32.}
-proc InvalidateRect*(hWnd: pointer, lpRect: ref Rect, bErase: bool): bool {.importc: "InvalidateRect", libUser32.}
-proc PostQuitMessage*(nExitCode: int32) {.importc: "PostQuitMessage", libUser32.}
-proc GetDesktopWindow*(): pointer {.importc: "GetDesktopWindow", libUser32.}
-proc SystemParametersInfoW*(uiAction, uiParam: int32, pvParam: pointer, fWinIni: int32): bool {.importc: "SystemParametersInfoW", libUser32.}
-proc ClientToScreen*(hWnd: pointer, lpPoint: var Point): bool {.importc: "ClientToScreen", libUser32.}
-proc AdjustWindowRect*(lpRect: var Rect, dwStyle: int32, bMenu: bool): bool {.importc: "AdjustWindowRect", libUser32.}
-proc LoadCursorA*(hInstance: pointer, lpCursorName: cstring): pointer {.importc: "LoadCursorA", libUser32.}
-proc SetScrollInfo*(hWnd: pointer, fnBar: int32, lpsi: var ScrollInfo, fRedraw: bool): int32 {.importc: "SetScrollInfo", libUser32.}
-proc GetMonitorInfoA*(hMonitor: pointer, lpmi: var MonitorInfo): bool {.importc: "GetMonitorInfoA", libUser32.}
-proc MonitorFromRect*(lprc: var Rect, dwFlags: int32): pointer {.importc: "MonitorFromRect", libUser32.}
-proc GetSystemMetrics*(nIndex: int32): int32 {.importc: "GetSystemMetrics", libUser32.}
-proc CallWindowProcW*(lpPrevWndFunc, hWnd: pointer, uMsg: int32, wParam, lParam: pointer): pointer {.importc: "CallWindowProcW", libUser32.}
-proc IsDialogMessageW*(hDlg, lpMsg: pointer): bool {.importc: "IsDialogMessageW", libUser32.}
-proc GetNextDlgTabItem*(hDlg, hCtl: pointer, bPrevious: bool): pointer {.importc: "GetNextDlgTabItem", libUser32.}
-proc GetParent*(hWnd: pointer): pointer {.importc: "GetParent", libUser32.}
-proc GetDC*(hWnd: pointer): pointer {.importc: "GetDC", libUser32.}
-# proc DrawTextW*(hdc: pointer, lpchText: cstring, nCount: int32, lpRect: var Rect, uFormat: int32): int32 {.importc: "DrawTextW", libUser32.}
-proc GetKeyboardState*(lpKeyState: var KeyState): bool {.importc: "GetKeyboardState", libUser32.}
-proc ToUnicode*(wVirtKey, wScanCode: int32, lpKeyState: var KeyState, pwszBuff: cstring, cchBuff, wFlags: int32): int32 {.importc: "ToUnicode", libUser32.}
-proc ShowScrollBar*(hWnd: pointer, wBar: int32, bShow: bool): bool {.importc: "ShowScrollBar", libUser32.}
-proc LoadImageW*(hinst: pointer, lpszName: cstring, uType, cxDesired, cyDesired, fuLoad: int32): int32 {.importc: "LoadImageW", libUser32.}
-proc SetTimer*(hWnd, nIDEvent: pointer, uElapse: int32, lpTimerFunc: pointer): pointer {.importc: "SetTimer", libUser32.}
-proc KillTimer*(hWnd, nIDEvent: pointer): bool {.importc: "KillTimer", libUser32.}
-proc FillRect*(hDC: pointer, lprc: var Rect, hbr: pointer): int32 {.importc: "FillRect", libUser32.}
-proc FrameRect*(hDC: pointer, lprc: var Rect, hbr: pointer): int32 {.importc: "FrameRect", libUser32.}
-proc GetKeyState*(nVirtKey: int32): int16 {.importc: "GetKeyState", libUser32.}
-proc OpenClipboard*(hWndNewOwner: pointer): bool {.importc: "OpenClipboard", libUser32.}
-proc CloseClipboard*(): bool {.importc: "CloseClipboard", libUser32.}
-proc GetClipboardData*(uFormat: int32): pointer {.importc: "GetClipboardData", libUser32.}
-proc SetClipboardData*(uFormat: int32, hMem: pointer): pointer {.importc: "SetClipboardData", libUser32.}
-proc EmptyClipboard*(): bool {.importc: "EmptyClipboard", libUser32.}
-proc MapVirtualKeyW*(uCode, uMapType: int32): int32 {.importc: "MapVirtualKeyW", libUser32.}
+proc MessageBoxW*(hWnd: pointer, lpText, lpCaption: cstring, uType: int) {.importc, libUser32.}
+proc RegisterClassExW*(lpwcx: var WndClassEx): int16 {.importc, libUser32.}
+proc CreateWindowExW*(dwExStyle: int32, lpClassName, lpWindowName: cstring, dwStyle: int32, x, y, nWidth, nHeight: int, hWndParent, hMenu, hInstance, lpParam: pointer): pointer {.importc, libUser32.}
+proc DestroyWindow*(hWnd: pointer): bool {.importc, libUser32.}
+proc ShowWindow*(hWnd: pointer, nCmdShow: int32): bool {.importc, libUser32.}
+proc EnableWindow*(hWnd: pointer, bEnable: bool): bool {.importc, libUser32.}
+proc DefWindowProcW*(hWnd: pointer, uMsg: int, wParam, lParam: pointer): pointer {.importc, libUser32.}
+proc GetMessageW*(lpMsg, hWnd: pointer, wMsgFilterMin, wMsgFilterMax: int32): bool {.importc, libUser32.}
+proc PeekMessageW*(lpMsg, hWnd: pointer, wMsgFilterMin, wMsgFilterMax, wRemoveMsg: int32): bool {.importc, libUser32.}
+proc TranslateMessage*(lpMsg: pointer): bool {.importc, libUser32.}
+proc DispatchMessageW*(lpMsg: pointer): pointer {.importc, libUser32.}
+proc SetParent*(hWndChild, hWndNewParent: pointer): pointer {.importc, libUser32.}
+proc SetWindowLongA*(hWnd: pointer, nIndex, dwNewLong: int32): int32 {.importc, libUser32.}
+proc GetWindowLongA*(hWnd: pointer, nIndex: int32): int32 {.importc, libUser32.}
+proc SetWindowTextW*(hWnd: pointer, lpString: cstring): bool {.importc, libUser32.}
+proc GetWindowTextW*(hWnd: pointer, lpString: cstring, nMaxCount: int32): int32 {.importc, libUser32.}
+proc GetWindowTextLengthW*(hWnd: pointer): int32 {.importc, libUser32.}
+proc UpdateWindow*(hWnd: pointer): bool {.importc, libUser32.}
+proc SetWindowPos*(wnd, hWndInsertAfter: pointer, x, y, cx, cy: int32, uFlags: int): bool {.importc, libUser32.}
+proc MoveWindow*(wnd: pointer, x, y, nWidth, nHeight: int32, bRepaint: bool): bool {.importc, libUser32.}
+proc SetFocus*(hWnd: pointer): pointer {.importc, libUser32.}
+proc GetWindowRect*(wnd: pointer, lpRect: var Rect): bool {.importc, libUser32.}
+proc GetClientRect*(wnd: pointer, lpRect: var Rect): bool {.importc, libUser32.}
+proc BeginPaint*(hWnd: pointer, lpPaint: var PaintStruct): pointer {.importc, libUser32.}
+proc EndPaint*(hWnd: pointer, lpPaint: var PaintStruct): bool {.importc, libUser32.}
+proc SendMessageA*(hWnd: pointer, msg: int32, wParam, lParam: pointer): pointer {.importc, libUser32.}
+proc PostMessageA*(hWnd: pointer, msg: int32, wParam, lParam: pointer): pointer {.importc, libUser32.}
+proc GetSysColor*(nIndex: int32): RGB32 {.importc, libUser32.}
+proc InvalidateRect*(hWnd: pointer, lpRect: ref Rect, bErase: bool): bool {.importc, libUser32.}
+proc PostQuitMessage*(nExitCode: int32) {.importc, libUser32.}
+proc GetDesktopWindow*(): pointer {.importc, libUser32.}
+proc SystemParametersInfoW*(uiAction, uiParam: int32, pvParam: pointer, fWinIni: int32): bool {.importc, libUser32.}
+proc ClientToScreen*(hWnd: pointer, lpPoint: var Point): bool {.importc, libUser32.}
+proc AdjustWindowRect*(lpRect: var Rect, dwStyle: int32, bMenu: bool): bool {.importc, libUser32.}
+proc LoadCursorA*(hInstance: pointer, lpCursorName: cstring): pointer {.importc, libUser32.}
+proc SetScrollInfo*(hWnd: pointer, fnBar: int32, lpsi: var ScrollInfo, fRedraw: bool): int32 {.importc, libUser32.}
+proc GetMonitorInfoA*(hMonitor: pointer, lpmi: var MonitorInfo): bool {.importc, libUser32.}
+proc MonitorFromRect*(lprc: var Rect, dwFlags: int32): pointer {.importc, libUser32.}
+proc GetSystemMetrics*(nIndex: int32): int32 {.importc, libUser32.}
+proc CallWindowProcW*(lpPrevWndFunc, hWnd: pointer, uMsg: int32, wParam, lParam: pointer): pointer {.importc, libUser32.}
+proc IsDialogMessageW*(hDlg, lpMsg: pointer): bool {.importc, libUser32.}
+proc GetNextDlgTabItem*(hDlg, hCtl: pointer, bPrevious: bool): pointer {.importc, libUser32.}
+proc GetParent*(hWnd: pointer): pointer {.importc, libUser32.}
+proc GetDC*(hWnd: pointer): pointer {.importc, libUser32.}
+# proc DrawTextW*(hdc: pointer, lpchText: cstring, nCount: int32, lpRect: var Rect, uFormat: int32): int32 {.importc, libUser32.}
+proc GetKeyboardState*(lpKeyState: var KeyState): bool {.importc, libUser32.}
+proc ToUnicode*(wVirtKey, wScanCode: int32, lpKeyState: var KeyState, pwszBuff: cstring, cchBuff, wFlags: int32): int32 {.importc, libUser32.}
+proc ShowScrollBar*(hWnd: pointer, wBar: int32, bShow: bool): bool {.importc, libUser32.}
+proc LoadImageW*(hinst: pointer, lpszName: cstring, uType, cxDesired, cyDesired, fuLoad: int32): int32 {.importc, libUser32.}
+proc SetTimer*(hWnd, nIDEvent: pointer, uElapse: int32, lpTimerFunc: pointer): pointer {.importc, libUser32.}
+proc KillTimer*(hWnd, nIDEvent: pointer): bool {.importc, libUser32.}
+proc FillRect*(hDC: pointer, lprc: var Rect, hbr: pointer): int32 {.importc, libUser32.}
+proc FrameRect*(hDC: pointer, lprc: var Rect, hbr: pointer): int32 {.importc, libUser32.}
+proc GetKeyState*(nVirtKey: int32): int16 {.importc, libUser32.}
+proc OpenClipboard*(hWndNewOwner: pointer): bool {.importc, libUser32.}
+proc CloseClipboard*(): bool {.importc, libUser32.}
+proc GetClipboardData*(uFormat: int32): pointer {.importc, libUser32.}
+proc SetClipboardData*(uFormat: int32, hMem: pointer): pointer {.importc, libUser32.}
+proc EmptyClipboard*(): bool {.importc, libUser32.}
+proc MapVirtualKeyW*(uCode, uMapType: int32): int32 {.importc, libUser32.}
type GetDpiForWindowType* = proc(hWnd: pointer): int32 {.gcsafe, stdcall.} # not available on Windows 7
when defined(cpu64):
# Only available on 64-bit Windows:
- proc GetWindowLongPtrW*(hWnd: pointer, nIndex: int32): pointer {.importc: "GetWindowLongPtrW", libUser32.}
- proc SetWindowLongPtrW*(hWnd: pointer, nIndex: int32, dwNewLong: pointer): pointer {.importc: "SetWindowLongPtrW", libUser32.}
+ proc GetWindowLongPtrW*(hWnd: pointer, nIndex: int32): pointer {.importc, libUser32.}
+ proc SetWindowLongPtrW*(hWnd: pointer, nIndex: int32, dwNewLong: pointer): pointer {.importc, libUser32.}
else:
# Should only be used on 32-bit Windows:
- proc GetWindowLongW*(hWnd: pointer, nIndex: int32): pointer {.importc: "GetWindowLongW", libUser32.}
- proc SetWindowLongW*(hWnd: pointer, nIndex: int32, dwNewLong: pointer): pointer {.importc: "SetWindowLongW", libUser32.}
+ proc GetWindowLongW*(hWnd: pointer, nIndex: int32): pointer {.importc, libUser32.}
+ proc SetWindowLongW*(hWnd: pointer, nIndex: int32, dwNewLong: pointer): pointer {.importc, libUser32.}
# ----------------------------------------------------------------------------------------
# GDI Procs
# ----------------------------------------------------------------------------------------
-proc DeleteDC*(hdc: pointer): bool {.importc: "DeleteDC", libGdi32.}
-proc DeleteObject*(hObject: pointer): bool {.importc: "DeleteObject", libGdi32.}
-proc GetCurrentObject*(hdc: pointer, uObjectType: int32): pointer {.importc: "GetCurrentObject", libGdi32.}
-proc SelectObject*(hdc, hgdiobj: pointer): pointer {.importc: "SelectObject", libGdi32.}
-proc TextOutW*(hdc: pointer, nXStart, nYStart: int32, lpString: cstring, cchString: int32): bool {.importc: "TextOutW", libGdi32.}
-proc CreateSolidBrush*(crColor: RGB32): pointer {.importc: "CreateSolidBrush", libGdi32.}
-proc CreatePen*(fnPenStyle, nWidth: int32, crColor: RGB32): pointer {.importc: "CreatePen", libGdi32.}
-# proc GetStockObject*(fnObject: int32): pointer {.importc: "GetStockObject", libGdi32.}
-proc CreateFontW*(nHeight, nWidth, nEscapement, nOrientation, fnWeight, fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily: int32, lpszFace: cstring): pointer {.importc: "CreateFontW", libGdi32.}
-proc GetTextExtentPoint32W*(hdc: pointer, lpString: cstring, c: int32, lpSize: var Size): bool {.importc: "GetTextExtentPoint32W", libGdi32.}
-proc SetBkMode*(hdc: pointer, iBkMode: int32): int32 {.importc: "SetBkMode", libGdi32.}
-proc SetTextColor*(hdc: pointer, crColor: RGB32): RGB32 {.importc: "SetTextColor", libGdi32.}
-proc SetBkColor*(hdc: pointer, crColor: RGB32): RGB32 {.importc: "SetBkColor", libGdi32.}
-proc MoveToEx*(hdc: pointer, x, y: int32, lpPoint: pointer): bool {.importc: "MoveToEx", libGdi32.}
-proc LineTo*(hdc: pointer, nXEnd, nYEnd: int): bool {.importc: "LineTo", libGdi32.}
-proc CreateCompatibleDC*(hdc: pointer): pointer {.importc: "CreateCompatibleDC", libGdi32.}
-proc SetPixel*(hdc: pointer, x, y: int32, crColor: RGB32): int32 {.importc: "SetPixel", libGdi32.}
-# proc BitBlt*(hdcDest: pointer, nXDest, nYDest, nWidth, nHeight: int32, hdcSrc: pointer, nXSrc, nYSrc, dwRop: int32): bool {.importc: "BitBlt", libGdi32.}
+proc DeleteDC*(hdc: pointer): bool {.importc, libGdi32.}
+proc DeleteObject*(hObject: pointer): bool {.importc, libGdi32.}
+proc GetCurrentObject*(hdc: pointer, uObjectType: int32): pointer {.importc, libGdi32.}
+proc SelectObject*(hdc, hgdiobj: pointer): pointer {.importc, libGdi32.}
+proc TextOutW*(hdc: pointer, nXStart, nYStart: int32, lpString: cstring, cchString: int32): bool {.importc, libGdi32.}
+proc CreateSolidBrush*(crColor: RGB32): pointer {.importc, libGdi32.}
+proc CreatePen*(fnPenStyle, nWidth: int32, crColor: RGB32): pointer {.importc, libGdi32.}
+# proc GetStockObject*(fnObject: int32): pointer {.importc, libGdi32.}
+proc CreateFontW*(nHeight, nWidth, nEscapement, nOrientation, fnWeight, fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily: int32, lpszFace: cstring): pointer {.importc, libGdi32.}
+proc GetTextExtentPoint32W*(hdc: pointer, lpString: cstring, c: int32, lpSize: var Size): bool {.importc, libGdi32.}
+proc SetBkMode*(hdc: pointer, iBkMode: int32): int32 {.importc, libGdi32.}
+proc SetTextColor*(hdc: pointer, crColor: RGB32): RGB32 {.importc, libGdi32.}
+proc SetBkColor*(hdc: pointer, crColor: RGB32): RGB32 {.importc, libGdi32.}
+proc MoveToEx*(hdc: pointer, x, y: int32, lpPoint: pointer): bool {.importc, libGdi32.}
+proc LineTo*(hdc: pointer, nXEnd, nYEnd: int): bool {.importc, libGdi32.}
+proc CreateCompatibleDC*(hdc: pointer): pointer {.importc, libGdi32.}
+proc SetPixel*(hdc: pointer, x, y: int32, crColor: RGB32): int32 {.importc, libGdi32.}
+# proc BitBlt*(hdcDest: pointer, nXDest, nYDest, nWidth, nHeight: int32, hdcSrc: pointer, nXSrc, nYSrc, dwRop: int32): bool {.importc, libGdi32.}
# ----------------------------------------------------------------------------------------
# GDI+ Procs
# ----------------------------------------------------------------------------------------
-proc GdiplusStartup*(token: var pointer, input: var GdiplusStartupInput, output: pointer): int32 {.importc: "GdiplusStartup", libGdiplus.}
-proc GdipCreateBitmapFromFile*(filename: cstring, bitmap: var pointer): int32 {.importc: "GdipCreateBitmapFromFile", libGdiplus.}
-# proc GdipLoadImageFromFile*(filename: cstring, image: var pointer): int32 {.importc: "GdipLoadImageFromFile", libGdiplus.}
-proc GdipGetHicon*(bitmap: pointer, hicon: var pointer): int32 {.importc: "GdipCreateHICONFromBitmap", libGdiplus.}
-proc GdipCreateFromHDC*(hdc: pointer, graphics: var pointer): int32 {.importc: "GdipCreateFromHDC", libGdiplus.}
-proc GdipDeleteGraphics*(graphics: pointer): int32 {.importc: "GdipDeleteGraphics", libGdiplus.}
-proc GdipDrawImageRectI*(graphics, image: pointer, x, y, width, height: int32): int32 {.importc: "GdipDrawImageRectI", libGdiplus.}
-proc GdipGetImageWidth*(image: pointer, width: var int32): int32 {.importc: "GdipGetImageWidth", libGdiplus.}
-proc GdipGetImageHeight*(image: pointer, height: var int32): int32 {.importc: "GdipGetImageHeight", libGdiplus.}
-# proc GdipGetImageDimension*(image: pointer, width, height: var float): int32 {.importc: "GdipGetImageDimension", libGdiplus.}
-proc GdipCreateBitmapFromGraphics*(width, height: int32, target: pointer, bitmap: var pointer): int32 {.importc: "GdipCreateBitmapFromGraphics", libGdiplus.}
-proc GdipBitmapSetPixel*(bitmap: pointer, x, y: int32, color: ARGB): int32 {.importc: "GdipBitmapSetPixel", libGdiplus.}
-proc GdipSaveImageToFile*(image: pointer, filename: cstring, clsidEncoder, encoderParams: pointer): int32 {.importc: "GdipSaveImageToFile", libGdiplus.}
-# proc GdipGetImageEncodersSize*(numEncoders, size: var int32): int32 {.importc: "GdipGetImageEncodersSize", libGdiplus.}
-# proc GdipGetImageEncoders*(numEncoders, size: int32, encoders: pointer): int32 {.importc: "GdipGetImageEncoders", libGdiplus.}
-proc GdipGetImageGraphicsContext*(image: pointer, graphics: var pointer): int32 {.importc: "GdipGetImageGraphicsContext", libGdiplus.} # does not exist
-proc GdipDisposeImage*(image: pointer): int32 {.importc: "GdipDisposeImage", libGdiplus.}
-proc GdipFillRectangleI*(graphics, brush: pointer, x, y, width, height: int32): int32 {.importc: "GdipFillRectangleI", libGdiplus.}
-proc GdipDrawRectangleI*(graphics, pen: pointer, x, y, width, height: int32): int32 {.importc: "GdipDrawRectangleI", libGdiplus.}
-proc GdipDrawLineI*(graphics, pen: pointer, x1, y1, x2, y2: int32): int32 {.importc: "GdipDrawLineI", libGdiplus.}
-proc GdipDrawArc*(graphics, pen: pointer, x, y, width, height, startAngle, sweepAngle: cfloat): int32 {.importc: "GdipDrawArc", libGdiplus.}
-proc GdipFillEllipseI*(graphics, brush: pointer, x, y, width, height: int32): int32 {.importc: "GdipFillEllipseI", libGdiplus.}
-proc GdipDrawEllipseI*(graphics, pen: pointer, x, y, width, height: int32): int32 {.importc: "GdipDrawEllipseI", libGdiplus.}
-proc GdipCreateSolidFill*(color: ARGB, brush: var pointer): int32 {.importc: "GdipCreateSolidFill", libGdiplus.}
-proc GdipDeleteBrush*(brush: pointer): int32 {.importc: "GdipDeleteBrush", libGdiplus.}
-proc GdipCreatePen1*(color: ARGB, width: cfloat, unit: int32, pen: var pointer): int32 {.importc: "GdipCreatePen1", libGdiplus.}
-proc GdipDeletePen*(pen: pointer): int32 {.importc: "GdipDeletePen", libGdiplus.}
-proc GdipDrawString*(graphics: pointer, `string`: cstring, length: int32, font: pointer, layoutRect: var RectF, stringFormat, brush: pointer): int32 {.importc: "GdipDrawString", libGdiplus.}
-proc GdipMeasureString*(graphics: pointer, `string`: cstring, length: int32, font: pointer, layoutRect: var RectF, stringFormat: pointer, boundingBox: var RectF, codepointsFitted, linesFilled: pointer): int32 {.importc: "GdipMeasureString", libGdiplus.}
-proc GdipCreateFont*(fontFamily: pointer, emSize: cfloat, style, unit: int32, font: var pointer): int32 {.importc: "GdipCreateFont", libGdiplus.}
-proc GdipDeleteFont*(font: pointer): int32 {.importc: "GdipDeleteFont", libGdiplus.}
-proc GdipCreateFontFamilyFromName*(name: cstring, fontCollection: pointer, fontFamily: var pointer): int32 {.importc: "GdipCreateFontFamilyFromName", libGdiplus.}
-proc GdipDeleteFontFamily*(fontFamily: pointer): int32 {.importc: "GdipDeleteFontFamily", libGdiplus.}
-proc GdipBitmapLockBits*(bitmap: pointer, rect: var Rect, flags: int32, format: int32, lockedBitmapData: var BitmapData): int32 {.importc: "GdipBitmapLockBits", libGdiplus.}
-proc GdipBitmapUnlockBits*(bitmap: pointer, lockedBitmapData: var BitmapData): int32 {.importc: "GdipBitmapUnlockBits", libGdiplus.}
+proc GdiplusStartup*(token: var pointer, input: var GdiplusStartupInput, output: pointer): int32 {.importc, libGdiplus.}
+proc GdipCreateBitmapFromFile*(filename: cstring, bitmap: var pointer): int32 {.importc, libGdiplus.}
+# proc GdipLoadImageFromFile*(filename: cstring, image: var pointer): int32 {.importc, libGdiplus.}
+proc GdipCreateHICONFromBitmap*(bitmap: pointer, hicon: var pointer): int32 {.importc, libGdiplus.}
+proc GdipCreateFromHDC*(hdc: pointer, graphics: var pointer): int32 {.importc, libGdiplus.}
+proc GdipDeleteGraphics*(graphics: pointer): int32 {.importc, libGdiplus.}
+proc GdipDrawImageRectI*(graphics, image: pointer, x, y, width, height: int32): int32 {.importc, libGdiplus.}
+proc GdipGetImageWidth*(image: pointer, width: var int32): int32 {.importc, libGdiplus.}
+proc GdipGetImageHeight*(image: pointer, height: var int32): int32 {.importc, libGdiplus.}
+# proc GdipGetImageDimension*(image: pointer, width, height: var float): int32 {.importc, libGdiplus.}
+proc GdipCreateBitmapFromGraphics*(width, height: int32, target: pointer, bitmap: var pointer): int32 {.importc, libGdiplus.}
+proc GdipBitmapSetPixel*(bitmap: pointer, x, y: int32, color: ARGB): int32 {.importc, libGdiplus.}
+proc GdipSaveImageToFile*(image: pointer, filename: cstring, clsidEncoder, encoderParams: pointer): int32 {.importc, libGdiplus.}
+# proc GdipGetImageEncodersSize*(numEncoders, size: var int32): int32 {.importc, libGdiplus.}
+# proc GdipGetImageEncoders*(numEncoders, size: int32, encoders: pointer): int32 {.importc, libGdiplus.}
+proc GdipGetImageGraphicsContext*(image: pointer, graphics: var pointer): int32 {.importc, libGdiplus.} # does not exist
+proc GdipDisposeImage*(image: pointer): int32 {.importc, libGdiplus.}
+proc GdipFillRectangleI*(graphics, brush: pointer, x, y, width, height: int32): int32 {.importc, libGdiplus.}
+proc GdipDrawRectangleI*(graphics, pen: pointer, x, y, width, height: int32): int32 {.importc, libGdiplus.}
+proc GdipDrawLineI*(graphics, pen: pointer, x1, y1, x2, y2: int32): int32 {.importc, libGdiplus.}
+proc GdipDrawArc*(graphics, pen: pointer, x, y, width, height, startAngle, sweepAngle: cfloat): int32 {.importc, libGdiplus.}
+proc GdipFillEllipseI*(graphics, brush: pointer, x, y, width, height: int32): int32 {.importc, libGdiplus.}
+proc GdipDrawEllipseI*(graphics, pen: pointer, x, y, width, height: int32): int32 {.importc, libGdiplus.}
+proc GdipCreateSolidFill*(color: ARGB, brush: var pointer): int32 {.importc, libGdiplus.}
+proc GdipDeleteBrush*(brush: pointer): int32 {.importc, libGdiplus.}
+proc GdipCreatePen1*(color: ARGB, width: cfloat, unit: int32, pen: var pointer): int32 {.importc, libGdiplus.}
+proc GdipDeletePen*(pen: pointer): int32 {.importc, libGdiplus.}
+proc GdipDrawString*(graphics: pointer, `string`: cstring, length: int32, font: pointer, layoutRect: var RectF, stringFormat, brush: pointer): int32 {.importc, libGdiplus.}
+proc GdipMeasureString*(graphics: pointer, `string`: cstring, length: int32, font: pointer, layoutRect: var RectF, stringFormat: pointer, boundingBox: var RectF, codepointsFitted, linesFilled: pointer): int32 {.importc, libGdiplus.}
+proc GdipCreateFont*(fontFamily: pointer, emSize: cfloat, style, unit: int32, font: var pointer): int32 {.importc, libGdiplus.}
+proc GdipDeleteFont*(font: pointer): int32 {.importc, libGdiplus.}
+proc GdipCreateFontFamilyFromName*(name: cstring, fontCollection: pointer, fontFamily: var pointer): int32 {.importc, libGdiplus.}
+proc GdipDeleteFontFamily*(fontFamily: pointer): int32 {.importc, libGdiplus.}
+proc GdipBitmapLockBits*(bitmap: pointer, rect: var Rect, flags: int32, format: int32, lockedBitmapData: var BitmapData): int32 {.importc, libGdiplus.}
+proc GdipBitmapUnlockBits*(bitmap: pointer, lockedBitmapData: var BitmapData): int32 {.importc, libGdiplus.}
# ----------------------------------------------------------------------------------------
# Shell32 Procs
# ----------------------------------------------------------------------------------------
-proc DragAcceptFiles*(hWnd: pointer, fAccept: bool) {.importc: "DragAcceptFiles", libShell32.}
-proc DragQueryFileW*(hDrop: pointer, iFile: uint32, lpszFile: cstring, cch: int32): int32 {.importc: "DragQueryFileW", libShell32.}
-proc DragFinish*(hDrop: pointer) {.importc: "DragFinish", libShell32.}
-proc SHBrowseForFolderW*(lpbi: var BrowseInfo): pointer {.importc: "SHBrowseForFolderW", libShell32.}
-proc SHGetPathFromIDListW*(pidl: pointer, pszPath: cstring) {.importc: "SHGetPathFromIDListW", libShell32.}
+proc DragAcceptFiles*(hWnd: pointer, fAccept: bool) {.importc, libShell32.}
+proc DragQueryFileW*(hDrop: pointer, iFile: uint32, lpszFile: cstring, cch: int32): int32 {.importc, libShell32.}
+proc DragFinish*(hDrop: pointer) {.importc, libShell32.}
+proc SHBrowseForFolderW*(lpbi: var BrowseInfo): pointer {.importc, libShell32.}
+proc SHGetPathFromIDListW*(pidl: pointer, pszPath: cstring) {.importc, libShell32.}
# ----------------------------------------------------------------------------------------
# Comdlg32 Procs
# ----------------------------------------------------------------------------------------
-proc CommDlgExtendedError*(): int32 {.importc: "CommDlgExtendedError", libComdlg32.}
-proc GetOpenFileNameW*(lpofn: var OpenFileName): bool {.importc: "GetOpenFileNameW", libComdlg32.}
-proc GetSaveFileNameW*(lpofn: var OpenFileName): bool {.importc: "GetSaveFileNameW", libComdlg32.}
+proc CommDlgExtendedError*(): int32 {.importc, libComdlg32.}
+proc GetOpenFileNameW*(lpofn: var OpenFileName): bool {.importc, libComdlg32.}
+proc GetSaveFileNameW*(lpofn: var OpenFileName): bool {.importc, libComdlg32.}
# ----------------------------------------------------------------------------------------