1 #ifndef dynamicgtk_h_ 2 #define dynamicgtk_h_ 3 4 #include <gdk-pixbuf/gdk-pixdata.h> 5 #include <gdk-pixbuf/gdk-pixbuf.h> 6 #include <gdk/gdkkeysyms.h> 7 #include <gtk/gtk.h> 8 9 #include "compat.h" 10 11 #if !GTK_CHECK_VERSION(2,4,0) 12 #error You need at least 2.4.0 version of GTK+ 13 #endif 14 15 #ifndef G_GNUC_NULL_TERMINATED 16 /* this is a glib-2.8.x thing: */ 17 #define G_GNUC_NULL_TERMINATED 18 #endif 19 20 21 // glib.h 22 typedef void (*g_free_ptr) (gpointer mem); 23 24 // gobject.h 25 typedef gpointer (*g_object_get_data_ptr) (GObject *object, const gchar *key); 26 typedef void (*g_object_set_data_ptr) (GObject *object, const gchar *key, gpointer data); 27 typedef void (*g_object_set_data_full_ptr) (GObject *object, const gchar *key, gpointer data, GDestroyNotify destroy); 28 typedef void (*g_object_unref_ptr) (gpointer object); 29 30 // gsignal.h 31 typedef gulong (*g_signal_connect_data_ptr) (gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify destroy_data, GConnectFlags connect_flags); 32 typedef guint (*g_signal_handlers_block_matched_ptr) (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data); 33 typedef guint (*g_signal_handlers_unblock_matched_ptr) (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data); 34 35 // gtype.h 36 typedef GTypeInstance* (*g_type_check_instance_cast_ptr) (GTypeInstance *instance, GType iface_type); 37 38 // gdk-pixdata.h 39 typedef GdkPixbuf* (*gdk_pixbuf_from_pixdata_ptr) (const GdkPixdata *pixdata, gboolean copy_pixels, GError **error); 40 41 // gdk-pixbuf-core.h 42 typedef GdkPixbuf *(*gdk_pixbuf_new_from_data_ptr) (const guchar *data, GdkColorspace colorspace, gboolean has_alpha, int32_t bits_per_sample, int32_t width, int32_t height, int32_t rowstride, GdkPixbufDestroyNotify destroy_fn, gpointer destroy_fn_data); 43 44 // gtkaccelgroup.h 45 typedef GtkAccelGroup* (*gtk_accel_group_new_ptr) (void); 46 47 // gtkalignment.h 48 typedef GtkWidget* (*gtk_alignment_new_ptr) (gfloat xalign, gfloat yalign, gfloat xscale, gfloat yscale); 49 50 // gtkbox.h 51 typedef GType (*gtk_box_get_type_ptr) (void) G_GNUC_CONST; 52 typedef void (*gtk_box_pack_start_ptr) (GtkBox *box, GtkWidget *child, gboolean expand, gboolean fill, guint padding); 53 54 // gtkbbox.h 55 typedef GType (*gtk_button_box_get_type_ptr) (void) G_GNUC_CONST; 56 typedef void (*gtk_button_box_set_layout_ptr) (GtkButtonBox *widget, GtkButtonBoxStyle layout_style); 57 58 // gtkbutton.h 59 typedef GtkWidget* (*gtk_button_new_ptr) (void); 60 61 // gtkcelllayout.h 62 typedef GType (*gtk_cell_layout_get_type_ptr) (void) G_GNUC_CONST; 63 typedef void (*gtk_cell_layout_pack_start_ptr) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand); 64 typedef void (*gtk_cell_layout_set_attributes_ptr) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, ...) G_GNUC_NULL_TERMINATED; 65 66 // gtkcellrenderertext.h 67 typedef GtkCellRenderer *(*gtk_cell_renderer_text_new_ptr) (void); 68 69 // gtkcheckbutton.h 70 typedef GtkWidget* (*gtk_check_button_new_with_mnemonic_ptr) (const gchar *label); 71 72 // gtkcombobox.h 73 typedef gint (*gtk_combo_box_get_active_ptr) (GtkComboBox *combo_box); 74 typedef gboolean (*gtk_combo_box_get_active_iter_ptr) (GtkComboBox *combo_box, GtkTreeIter *iter); 75 typedef gchar (*gtk_combo_box_get_active_text_ptr) (GtkComboBox *combo_box); 76 typedef GtkTreeModel *(*gtk_combo_box_get_model_ptr) (GtkComboBox *combo_box); 77 typedef GType (*gtk_combo_box_get_type_ptr) (void) G_GNUC_CONST; 78 typedef GtkWidget *(*gtk_combo_box_new_text_ptr) (void); 79 typedef GtkWidget *(*gtk_combo_box_new_with_model_ptr) (GtkTreeModel *model); 80 typedef void (*gtk_combo_box_set_active_ptr) (GtkComboBox *combo_box, gint index_); 81 typedef void (*gtk_combo_box_set_active_iter_ptr) (GtkComboBox *combo_box, GtkTreeIter *iter); 82 83 // gtkcontainer.h 84 typedef void (*gtk_container_add_ptr) (GtkContainer *container, GtkWidget *widget); 85 typedef void (*gtk_container_foreach_ptr) (GtkContainer *container, GtkCallback callback, gpointer callback_data); 86 typedef GType (*gtk_container_get_type_ptr) (void) G_GNUC_CONST; 87 typedef void (*gtk_container_set_border_width_ptr) (GtkContainer *container, guint border_width); 88 89 // gtkdialog.h 90 typedef GType (*gtk_dialog_get_type_ptr) (void) G_GNUC_CONST; 91 typedef gint (*gtk_dialog_run_ptr) (GtkDialog *dialog); 92 93 // gtkhbox.h 94 typedef GtkWidget* (*gtk_hbox_new_ptr) (gboolean homogeneous, gint spacing); 95 96 // gtkhbbox.h 97 typedef GtkWidget* (*gtk_hbutton_box_new_ptr) (void); 98 99 // gtkimage.h 100 typedef GtkWidget* (*gtk_image_new_from_pixbuf_ptr) (GdkPixbuf *pixbuf); 101 typedef GtkWidget* (*gtk_image_new_from_stock_ptr) (const gchar *stock_id, GtkIconSize size); 102 103 // gtkmain.h 104 typedef gboolean (*gtk_init_check_ptr) (int32_t *argc, char ***argv); 105 106 // gtklabel.h 107 typedef GType (*gtk_label_get_type_ptr) (void) G_GNUC_CONST; 108 typedef GtkWidget* (*gtk_label_new_ptr) (const gchar *str); 109 typedef GtkWidget* (*gtk_label_new_with_mnemonic_ptr) (const gchar *str); 110 typedef void (*gtk_label_set_mnemonic_widget_ptr) (GtkLabel *label, GtkWidget *widget); 111 112 // gtkliststore.h 113 typedef void (*gtk_list_store_append_ptr) (GtkListStore *list_store, GtkTreeIter *iter); 114 typedef void (*gtk_list_store_clear_ptr) (GtkListStore *list_store); 115 typedef GType (*gtk_list_store_get_type_ptr) (void) G_GNUC_CONST; 116 typedef GtkListStore *(*gtk_list_store_new_ptr) (gint n_columns, ...); 117 typedef void (*gtk_list_store_set_ptr) (GtkListStore *list_store, GtkTreeIter *iter, ...); 118 119 // gtkmain.h 120 typedef gboolean (*gtk_events_pending_ptr) (void); 121 typedef void (*gtk_main_ptr) (void); 122 typedef gboolean (*gtk_main_iteration_do_ptr) (gboolean blocking); 123 typedef void (*gtk_main_quit_ptr) (void); 124 125 // gtkmessagedialog.h 126 typedef GtkWidget* (*gtk_message_dialog_new_ptr) (GtkWindow *parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const gchar *message_format, ...) G_GNUC_PRINTF (5, 6); 127 128 // gtkmisc.h 129 typedef GType (*gtk_misc_get_type_ptr) (void) G_GNUC_CONST; 130 typedef void (*gtk_misc_set_alignment_ptr) (GtkMisc *misc, gfloat xalign, gfloat yalign); 131 132 // gtknotebook.h 133 typedef GtkWidget* (*gtk_notebook_get_nth_page_ptr) (GtkNotebook *notebook, gint page_num); 134 typedef GType (*gtk_notebook_get_type_ptr) (void) G_GNUC_CONST; 135 typedef GtkWidget * (*gtk_notebook_new_ptr) (void); 136 typedef void (*gtk_notebook_set_current_page_ptr) (GtkNotebook *notebook, gint page_num); 137 typedef void (*gtk_notebook_set_tab_label_ptr) (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label); 138 139 // gtkobject.h 140 typedef GtkType (*gtk_object_get_type_ptr) (void) G_GNUC_CONST; 141 142 // gtkscrolledwindow.h 143 typedef GType (*gtk_scrolled_window_get_type_ptr) (void) G_GNUC_CONST; 144 typedef GtkWidget* (*gtk_scrolled_window_new_ptr) (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); 145 typedef void (*gtk_scrolled_window_set_policy_ptr) (GtkScrolledWindow *scrolled_window, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy); 146 typedef void (*gtk_scrolled_window_set_shadow_type_ptr) (GtkScrolledWindow *scrolled_window, GtkShadowType type); 147 148 // gtktable.h 149 typedef GType (*gtk_table_get_type_ptr) (void) G_GNUC_CONST; 150 typedef GtkWidget* (*gtk_table_new_ptr) (guint rows, guint columns, gboolean homogeneous); 151 typedef void (*gtk_table_attach_ptr) (GtkTable *table, GtkWidget *child, guint left_attach, guint right_attach, guint top_attach, guint bottom_attach, GtkAttachOptions xoptions, GtkAttachOptions yoptions, guint xpadding, guint ypadding); 152 153 // gtktextbuffer.h 154 typedef gboolean (*gtk_text_buffer_backspace_ptr) (GtkTextBuffer *buffer, GtkTextIter *iter, gboolean interactive, gboolean default_editable); 155 typedef GtkTextMark *(*gtk_text_buffer_create_mark_ptr) (GtkTextBuffer *buffer, const gchar *mark_name, const GtkTextIter *where, gboolean left_gravity); 156 typedef void (*gtk_text_buffer_delete_mark_ptr) (GtkTextBuffer *buffer, GtkTextMark *mark); 157 typedef void (*gtk_text_buffer_get_end_iter_ptr) (GtkTextBuffer *buffer, GtkTextIter *iter); 158 typedef void (*gtk_text_buffer_insert_ptr) (GtkTextBuffer *buffer, GtkTextIter *iter, const gchar *text, gint len); 159 160 // gtktextiter.h 161 // FIXME: should I put a #if !GTK_CHECK_VERSION(2,6,0) 162 // around these three, or should I not care? 163 typedef gboolean (*gtk_text_iter_backward_cursor_position_ptr) (GtkTextIter *iter); 164 typedef gboolean (*gtk_text_iter_equal_ptr) (const GtkTextIter *lhs, const GtkTextIter *rhs); 165 typedef gboolean (*gtk_text_buffer_delete_interactive_ptr) (GtkTextBuffer *buffer, GtkTextIter *start_iter, GtkTextIter *end_iter, gboolean default_editable); 166 167 // gtktextview.h 168 typedef GtkTextBuffer *(*gtk_text_view_get_buffer_ptr) (GtkTextView *text_view); 169 typedef GType (*gtk_text_view_get_type_ptr) (void) G_GNUC_CONST; 170 typedef GtkWidget * (*gtk_text_view_new_ptr) (void); 171 typedef void (*gtk_text_view_scroll_to_mark_ptr) (GtkTextView *text_view, GtkTextMark *mark, gdouble within_margin, gboolean use_align, gdouble xalign, gdouble yalign); 172 typedef void (*gtk_text_view_set_cursor_visible_ptr) (GtkTextView *text_view, gboolean setting); 173 typedef void (*gtk_text_view_set_editable_ptr) (GtkTextView *text_view, gboolean setting); 174 typedef void (*gtk_text_view_set_left_margin_ptr) (GtkTextView *text_view, gint left_margin); 175 typedef void (*gtk_text_view_set_right_margin_ptr) (GtkTextView *text_view, gint right_margin); 176 typedef void (*gtk_text_view_set_wrap_mode_ptr) (GtkTextView *text_view, GtkWrapMode wrap_mode); 177 178 // gtktogglebutton.h 179 typedef gboolean (*gtk_toggle_button_get_active_ptr) (GtkToggleButton *toggle_button); 180 typedef GType (*gtk_toggle_button_get_type_ptr) (void) G_GNUC_CONST; 181 typedef void (*gtk_toggle_button_set_active_ptr) (GtkToggleButton *toggle_button, gboolean is_active); 182 183 // gtktreemodel.h 184 typedef void (*gtk_tree_model_get_ptr) (GtkTreeModel *tree_model, GtkTreeIter *iter, ...); 185 typedef gboolean (*gtk_tree_model_get_iter_ptr) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path); 186 typedef GtkTreePath * (*gtk_tree_model_get_path_ptr) (GtkTreeModel *tree_model, GtkTreeIter *iter); 187 typedef GType (*gtk_tree_model_get_type_ptr) (void) G_GNUC_CONST; 188 typedef gint *(*gtk_tree_path_get_indices_ptr) (GtkTreePath *path); 189 typedef GtkTreePath *(*gtk_tree_path_new_from_indices_ptr) (gint first_index, ...); 190 191 // gtktreeselection.h 192 typedef gboolean (*gtk_tree_selection_get_selected_ptr) (GtkTreeSelection *selection, GtkTreeModel **model, GtkTreeIter *iter); 193 typedef void (*gtk_tree_selection_select_iter_ptr) (GtkTreeSelection *selection, GtkTreeIter *iter); 194 typedef GType (*gtk_tree_selection_get_type_ptr) (void) G_GNUC_CONST; 195 typedef void (*gtk_tree_selection_set_mode_ptr) (GtkTreeSelection *selection, GtkSelectionMode type); 196 197 // gtktreesortable.h 198 typedef GType (*gtk_tree_sortable_get_type_ptr) (void) G_GNUC_CONST; 199 typedef void (*gtk_tree_sortable_set_sort_column_id_ptr) (GtkTreeSortable *sortable, gint sort_column_id, GtkSortType order); 200 typedef void (*gtk_tree_sortable_set_sort_func_ptr) (GtkTreeSortable *sortable, gint sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GtkDestroyNotify destroy); 201 202 // gtktreeview.h 203 typedef GType (*gtk_tree_view_get_type_ptr) (void) G_GNUC_CONST; 204 typedef GtkWidget *(*gtk_tree_view_new_with_model_ptr) (GtkTreeModel *model); 205 typedef GtkTreeModel *(*gtk_tree_view_get_model_ptr) (GtkTreeView *tree_view); 206 typedef GtkTreeSelection *(*gtk_tree_view_get_selection_ptr) (GtkTreeView *tree_view); 207 typedef gint (*gtk_tree_view_append_column_ptr) (GtkTreeView *tree_view, GtkTreeViewColumn *column); 208 typedef void (*gtk_tree_view_set_enable_search_ptr) (GtkTreeView *tree_view, gboolean enable_search); 209 typedef void (*gtk_tree_view_set_headers_visible_ptr) (GtkTreeView *tree_view, gboolean headers_visible); 210 211 // gtktreeviewcolumn.h 212 typedef GtkTreeViewColumn *(*gtk_tree_view_column_new_with_attributes_ptr) (const gchar *title, GtkCellRenderer *cell, ...) G_GNUC_NULL_TERMINATED; 213 typedef void (*gtk_tree_view_column_set_expand_ptr) (GtkTreeViewColumn *tree_column, gboolean expand); 214 typedef void (*gtk_tree_view_column_set_min_width_ptr) (GtkTreeViewColumn *tree_column, gint min_width); 215 216 // gtkvbox.h 217 typedef GtkWidget* (*gtk_vbox_new_ptr) (gboolean homogeneous, gint spacing); 218 219 // gtkwidget.h 220 typedef void (*gtk_widget_add_accelerator_ptr) (GtkWidget *widget, const gchar *accel_signal, GtkAccelGroup *accel_group, guint accel_key, GdkModifierType accel_mods, GtkAccelFlags accel_flags); 221 typedef void (*gtk_widget_destroy_ptr) (GtkWidget *widget); 222 typedef GtkWidget* (*gtk_widget_ref_ptr) (GtkWidget *widget); 223 typedef void (*gtk_widget_set_sensitive_ptr) (GtkWidget *widget, gboolean sensitive); 224 typedef void (*gtk_widget_set_size_request_ptr) (GtkWidget *widget, gint width, gint height); 225 typedef void (*gtk_widget_show_all_ptr) (GtkWidget *widget); 226 typedef void (*gtk_widget_unref_ptr) (GtkWidget *widget); 227 228 // gtkwindow.h 229 typedef void (*gtk_window_add_accel_group_ptr) (GtkWindow *window, GtkAccelGroup *accel_group); 230 typedef GType (*gtk_window_get_type_ptr) (void) G_GNUC_CONST; 231 typedef GtkWidget* (*gtk_window_new_ptr) (GtkWindowType type); 232 typedef void (*gtk_window_set_default_icon_ptr) (GdkPixbuf *icon); 233 typedef void (*gtk_window_set_position_ptr) (GtkWindow *window, GtkWindowPosition position); 234 typedef void (*gtk_window_set_resizable_ptr) (GtkWindow *window, gboolean resizable); 235 typedef void (*gtk_window_set_title_ptr) (GtkWindow *window, const gchar *title); 236 typedef void (*gtk_window_set_type_hint_ptr) (GtkWindow *window, GdkWindowTypeHint hint); 237 typedef void (*gtk_window_set_default_ptr) (GtkWindow *window, GtkWidget *default_widget); 238 239 // gunicode.h 240 typedef gint (*g_utf8_collate_ptr) (const gchar *str1, const gchar *str2); 241 242 243 struct _dynamicgtksyms { 244 g_free_ptr g_free; 245 g_object_get_data_ptr g_object_get_data; 246 g_object_set_data_ptr g_object_set_data; 247 g_object_set_data_full_ptr g_object_set_data_full; 248 g_object_unref_ptr g_object_unref; 249 g_signal_connect_data_ptr g_signal_connect_data; 250 g_signal_handlers_block_matched_ptr g_signal_handlers_block_matched; 251 g_signal_handlers_unblock_matched_ptr g_signal_handlers_unblock_matched; 252 g_type_check_instance_cast_ptr g_type_check_instance_cast; 253 gdk_pixbuf_from_pixdata_ptr gdk_pixbuf_from_pixdata; 254 gdk_pixbuf_new_from_data_ptr gdk_pixbuf_new_from_data; 255 gtk_accel_group_new_ptr gtk_accel_group_new; 256 gtk_alignment_new_ptr gtk_alignment_new; 257 gtk_box_get_type_ptr gtk_box_get_type; 258 gtk_box_pack_start_ptr gtk_box_pack_start; 259 gtk_button_box_get_type_ptr gtk_button_box_get_type; 260 gtk_button_box_set_layout_ptr gtk_button_box_set_layout; 261 gtk_button_new_ptr gtk_button_new; 262 gtk_cell_layout_get_type_ptr gtk_cell_layout_get_type; 263 gtk_cell_layout_pack_start_ptr gtk_cell_layout_pack_start; 264 gtk_cell_layout_set_attributes_ptr gtk_cell_layout_set_attributes; 265 gtk_cell_renderer_text_new_ptr gtk_cell_renderer_text_new; 266 gtk_check_button_new_with_mnemonic_ptr gtk_check_button_new_with_mnemonic; 267 gtk_combo_box_get_active_ptr gtk_combo_box_get_active; 268 gtk_combo_box_get_active_iter_ptr gtk_combo_box_get_active_iter; 269 gtk_combo_box_get_active_text_ptr gtk_combo_box_get_active_text; 270 gtk_combo_box_get_model_ptr gtk_combo_box_get_model; 271 gtk_combo_box_get_type_ptr gtk_combo_box_get_type; 272 gtk_combo_box_new_text_ptr gtk_combo_box_new_text; 273 gtk_combo_box_new_with_model_ptr gtk_combo_box_new_with_model; 274 gtk_combo_box_set_active_ptr gtk_combo_box_set_active; 275 gtk_combo_box_set_active_iter_ptr gtk_combo_box_set_active_iter; 276 gtk_container_add_ptr gtk_container_add; 277 gtk_container_foreach_ptr gtk_container_foreach; 278 gtk_container_get_type_ptr gtk_container_get_type; 279 gtk_container_set_border_width_ptr gtk_container_set_border_width; 280 gtk_dialog_get_type_ptr gtk_dialog_get_type; 281 gtk_dialog_run_ptr gtk_dialog_run; 282 gtk_hbox_new_ptr gtk_hbox_new; 283 gtk_hbutton_box_new_ptr gtk_hbutton_box_new; 284 gtk_image_new_from_pixbuf_ptr gtk_image_new_from_pixbuf; 285 gtk_image_new_from_stock_ptr gtk_image_new_from_stock; 286 gtk_init_check_ptr gtk_init_check; 287 gtk_label_get_type_ptr gtk_label_get_type; 288 gtk_label_new_ptr gtk_label_new; 289 gtk_label_new_with_mnemonic_ptr gtk_label_new_with_mnemonic; 290 gtk_label_set_mnemonic_widget_ptr gtk_label_set_mnemonic_widget; 291 gtk_list_store_append_ptr gtk_list_store_append; 292 gtk_list_store_clear_ptr gtk_list_store_clear; 293 gtk_list_store_get_type_ptr gtk_list_store_get_type; 294 gtk_list_store_new_ptr gtk_list_store_new; 295 gtk_list_store_set_ptr gtk_list_store_set; 296 gtk_events_pending_ptr gtk_events_pending; 297 gtk_main_ptr gtk_main; 298 gtk_main_iteration_do_ptr gtk_main_iteration_do; 299 gtk_main_quit_ptr gtk_main_quit; 300 gtk_message_dialog_new_ptr gtk_message_dialog_new; 301 gtk_misc_get_type_ptr gtk_misc_get_type; 302 gtk_misc_set_alignment_ptr gtk_misc_set_alignment; 303 gtk_notebook_get_nth_page_ptr gtk_notebook_get_nth_page; 304 gtk_notebook_get_type_ptr gtk_notebook_get_type; 305 gtk_notebook_new_ptr gtk_notebook_new; 306 gtk_notebook_set_current_page_ptr gtk_notebook_set_current_page; 307 gtk_notebook_set_tab_label_ptr gtk_notebook_set_tab_label; 308 gtk_object_get_type_ptr gtk_object_get_type; 309 gtk_scrolled_window_get_type_ptr gtk_scrolled_window_get_type; 310 gtk_scrolled_window_new_ptr gtk_scrolled_window_new; 311 gtk_scrolled_window_set_policy_ptr gtk_scrolled_window_set_policy; 312 gtk_scrolled_window_set_shadow_type_ptr gtk_scrolled_window_set_shadow_type; 313 gtk_table_get_type_ptr gtk_table_get_type; 314 gtk_table_new_ptr gtk_table_new; 315 gtk_table_attach_ptr gtk_table_attach; 316 gtk_text_buffer_backspace_ptr gtk_text_buffer_backspace; 317 gtk_text_buffer_create_mark_ptr gtk_text_buffer_create_mark; 318 gtk_text_buffer_delete_mark_ptr gtk_text_buffer_delete_mark; 319 gtk_text_buffer_get_end_iter_ptr gtk_text_buffer_get_end_iter; 320 gtk_text_buffer_insert_ptr gtk_text_buffer_insert; 321 // FIXME: should I put a #if !GTK_CHECK_VERSION(2,6,0) 322 // around these three, or should I not care? 323 gtk_text_iter_backward_cursor_position_ptr gtk_text_iter_backward_cursor_position; 324 gtk_text_iter_equal_ptr gtk_text_iter_equal; 325 gtk_text_buffer_delete_interactive_ptr gtk_text_buffer_delete_interactive; 326 // 327 gtk_text_view_get_buffer_ptr gtk_text_view_get_buffer; 328 gtk_text_view_get_type_ptr gtk_text_view_get_type; 329 gtk_text_view_new_ptr gtk_text_view_new; 330 gtk_text_view_scroll_to_mark_ptr gtk_text_view_scroll_to_mark; 331 gtk_text_view_set_cursor_visible_ptr gtk_text_view_set_cursor_visible; 332 gtk_text_view_set_editable_ptr gtk_text_view_set_editable; 333 gtk_text_view_set_left_margin_ptr gtk_text_view_set_left_margin; 334 gtk_text_view_set_right_margin_ptr gtk_text_view_set_right_margin; 335 gtk_text_view_set_wrap_mode_ptr gtk_text_view_set_wrap_mode; 336 gtk_toggle_button_get_active_ptr gtk_toggle_button_get_active; 337 gtk_toggle_button_get_type_ptr gtk_toggle_button_get_type; 338 gtk_toggle_button_set_active_ptr gtk_toggle_button_set_active; 339 gtk_tree_model_get_ptr gtk_tree_model_get; 340 gtk_tree_model_get_iter_ptr gtk_tree_model_get_iter; 341 gtk_tree_model_get_path_ptr gtk_tree_model_get_path; 342 gtk_tree_model_get_type_ptr gtk_tree_model_get_type; 343 gtk_tree_path_get_indices_ptr gtk_tree_path_get_indices; 344 gtk_tree_path_new_from_indices_ptr gtk_tree_path_new_from_indices; 345 gtk_tree_selection_get_selected_ptr gtk_tree_selection_get_selected; 346 gtk_tree_selection_select_iter_ptr gtk_tree_selection_select_iter; 347 gtk_tree_selection_set_mode_ptr gtk_tree_selection_set_mode; 348 gtk_tree_sortable_get_type_ptr gtk_tree_sortable_get_type; 349 gtk_tree_sortable_set_sort_column_id_ptr gtk_tree_sortable_set_sort_column_id; 350 gtk_tree_sortable_set_sort_func_ptr gtk_tree_sortable_set_sort_func; 351 gtk_tree_view_append_column_ptr gtk_tree_view_append_column; 352 gtk_tree_view_column_new_with_attributes_ptr gtk_tree_view_column_new_with_attributes; 353 gtk_tree_view_column_set_expand_ptr gtk_tree_view_column_set_expand; 354 gtk_tree_view_column_set_min_width_ptr gtk_tree_view_column_set_min_width; 355 gtk_tree_view_get_model_ptr gtk_tree_view_get_model; 356 gtk_tree_view_get_selection_ptr gtk_tree_view_get_selection; 357 gtk_tree_view_get_type_ptr gtk_tree_view_get_type; 358 gtk_tree_view_new_with_model_ptr gtk_tree_view_new_with_model; 359 gtk_tree_view_set_enable_search_ptr gtk_tree_view_set_enable_search; 360 gtk_tree_view_set_headers_visible_ptr gtk_tree_view_set_headers_visible; 361 gtk_vbox_new_ptr gtk_vbox_new; 362 gtk_widget_add_accelerator_ptr gtk_widget_add_accelerator; 363 gtk_widget_destroy_ptr gtk_widget_destroy; 364 gtk_widget_ref_ptr gtk_widget_ref; 365 gtk_widget_set_sensitive_ptr gtk_widget_set_sensitive; 366 gtk_widget_set_size_request_ptr gtk_widget_set_size_request; 367 gtk_widget_show_all_ptr gtk_widget_show_all; 368 gtk_widget_unref_ptr gtk_widget_unref; 369 gtk_window_add_accel_group_ptr gtk_window_add_accel_group; 370 gtk_window_get_type_ptr gtk_window_get_type; 371 gtk_window_new_ptr gtk_window_new; 372 gtk_window_set_default_icon_ptr gtk_window_set_default_icon; 373 gtk_window_set_position_ptr gtk_window_set_position; 374 gtk_window_set_resizable_ptr gtk_window_set_resizable; 375 gtk_window_set_title_ptr gtk_window_set_title; 376 gtk_window_set_type_hint_ptr gtk_window_set_type_hint; 377 gtk_window_set_default_ptr gtk_window_set_default; 378 g_utf8_collate_ptr g_utf8_collate; 379 }; 380 extern struct _dynamicgtksyms dynamicgtksyms; 381 382 383 int32_t dynamicgtk_init(void); 384 void dynamicgtk_uninit(void); 385 386 #ifndef dynamicgtkfoo__ 387 388 // glib.h 389 #define g_free dynamicgtksyms.g_free 390 391 // gobject.h 392 #define g_object_get_data dynamicgtksyms.g_object_get_data 393 #define g_object_set_data dynamicgtksyms.g_object_set_data 394 #define g_object_set_data_full dynamicgtksyms.g_object_set_data_full 395 #define g_object_unref dynamicgtksyms.g_object_unref 396 397 // gsignal.h 398 #define g_signal_connect_data dynamicgtksyms.g_signal_connect_data 399 #define g_signal_handlers_block_matched dynamicgtksyms.g_signal_handlers_block_matched 400 #define g_signal_handlers_unblock_matched dynamicgtksyms.g_signal_handlers_unblock_matched 401 402 // gtype.h 403 #define g_type_check_instance_cast dynamicgtksyms.g_type_check_instance_cast 404 405 // gdk-pixdata.h 406 #define gdk_pixbuf_from_pixdata dynamicgtksyms.gdk_pixbuf_from_pixdata 407 408 // gdk-pixbuf-core.h 409 #define gdk_pixbuf_new_from_data dynamicgtksyms.gdk_pixbuf_new_from_data 410 411 // gtkaccelgroup.h 412 #define gtk_accel_group_new dynamicgtksyms.gtk_accel_group_new 413 414 // gtkalignment.h 415 #define gtk_alignment_new dynamicgtksyms.gtk_alignment_new 416 417 // gtkbox.h 418 #define gtk_box_get_type dynamicgtksyms.gtk_box_get_type 419 #define gtk_box_pack_start dynamicgtksyms.gtk_box_pack_start 420 421 // gtkbbox.h 422 #define gtk_button_box_get_type dynamicgtksyms.gtk_button_box_get_type 423 #define gtk_button_box_set_layout dynamicgtksyms.gtk_button_box_set_layout 424 425 // gtkbutton.h 426 #define gtk_button_new dynamicgtksyms.gtk_button_new 427 428 // gtkcelllayout.h 429 #define gtk_cell_layout_get_type dynamicgtksyms.gtk_cell_layout_get_type 430 #define gtk_cell_layout_pack_start dynamicgtksyms.gtk_cell_layout_pack_start 431 #define gtk_cell_layout_set_attributes dynamicgtksyms.gtk_cell_layout_set_attributes 432 433 // gtkcellrenderertext.h 434 #define gtk_cell_renderer_text_new dynamicgtksyms.gtk_cell_renderer_text_new 435 436 // gtkcheckbutton.h 437 #define gtk_check_button_new_with_mnemonic dynamicgtksyms.gtk_check_button_new_with_mnemonic 438 439 // gtkcombobox.h 440 #define gtk_combo_box_get_active dynamicgtksyms.gtk_combo_box_get_active 441 #define gtk_combo_box_get_active_iter dynamicgtksyms.gtk_combo_box_get_active_iter 442 #define gtk_combo_box_get_active_text dynamicgtksyms.gtk_combo_box_get_active_text 443 #define gtk_combo_box_get_model dynamicgtksyms.gtk_combo_box_get_model 444 #define gtk_combo_box_get_type dynamicgtksyms.gtk_combo_box_get_type 445 #define gtk_combo_box_new_text dynamicgtksyms.gtk_combo_box_new_text 446 #define gtk_combo_box_new_with_model dynamicgtksyms.gtk_combo_box_new_with_model 447 #define gtk_combo_box_set_active dynamicgtksyms.gtk_combo_box_set_active 448 #define gtk_combo_box_set_active_iter dynamicgtksyms.gtk_combo_box_set_active_iter 449 450 // gtkcontainer.h 451 #define gtk_container_add dynamicgtksyms.gtk_container_add 452 #define gtk_container_foreach dynamicgtksyms.gtk_container_foreach 453 #define gtk_container_get_type dynamicgtksyms.gtk_container_get_type 454 #define gtk_container_set_border_width dynamicgtksyms.gtk_container_set_border_width 455 456 // gtkdialog.h 457 #define gtk_dialog_get_type dynamicgtksyms.gtk_dialog_get_type 458 #define gtk_dialog_run dynamicgtksyms.gtk_dialog_run 459 460 // gtkhbox.h 461 #define gtk_hbox_new dynamicgtksyms.gtk_hbox_new 462 463 // gtkhbbox.h 464 #define gtk_hbutton_box_new dynamicgtksyms.gtk_hbutton_box_new 465 466 // gtkimage.h 467 #define gtk_image_new_from_pixbuf dynamicgtksyms.gtk_image_new_from_pixbuf 468 #define gtk_image_new_from_stock dynamicgtksyms.gtk_image_new_from_stock 469 470 // gtkmain.h 471 #define gtk_init_check dynamicgtksyms.gtk_init_check 472 473 // gtklabel.h 474 #define gtk_label_get_type dynamicgtksyms.gtk_label_get_type 475 #define gtk_label_new dynamicgtksyms.gtk_label_new 476 #define gtk_label_new_with_mnemonic dynamicgtksyms.gtk_label_new_with_mnemonic 477 #define gtk_label_set_mnemonic_widget dynamicgtksyms.gtk_label_set_mnemonic_widget 478 479 // gtkliststore.h 480 #define gtk_list_store_append dynamicgtksyms.gtk_list_store_append 481 #define gtk_list_store_clear dynamicgtksyms.gtk_list_store_clear 482 #define gtk_list_store_get_type dynamicgtksyms.gtk_list_store_get_type 483 #define gtk_list_store_new dynamicgtksyms.gtk_list_store_new 484 #define gtk_list_store_set dynamicgtksyms.gtk_list_store_set 485 486 // gtkmain.h 487 #define gtk_events_pending dynamicgtksyms.gtk_events_pending 488 #define gtk_main dynamicgtksyms.gtk_main 489 #define gtk_main_iteration_do dynamicgtksyms.gtk_main_iteration_do 490 #define gtk_main_quit dynamicgtksyms.gtk_main_quit 491 492 // gtkmessagedialog.h 493 #define gtk_message_dialog_new dynamicgtksyms.gtk_message_dialog_new 494 495 // gtkmisc.h 496 #define gtk_misc_get_type dynamicgtksyms.gtk_misc_get_type 497 #define gtk_misc_set_alignment dynamicgtksyms.gtk_misc_set_alignment 498 499 // gtknotebook.h 500 #define gtk_notebook_get_nth_page dynamicgtksyms.gtk_notebook_get_nth_page 501 #define gtk_notebook_get_type dynamicgtksyms.gtk_notebook_get_type 502 #define gtk_notebook_new dynamicgtksyms.gtk_notebook_new 503 #define gtk_notebook_set_current_page dynamicgtksyms.gtk_notebook_set_current_page 504 #define gtk_notebook_set_tab_label dynamicgtksyms.gtk_notebook_set_tab_label 505 506 // gtkobject.h 507 #define gtk_object_get_type dynamicgtksyms.gtk_object_get_type 508 509 // gtkscrolledwindow.h 510 #define gtk_scrolled_window_get_type dynamicgtksyms.gtk_scrolled_window_get_type 511 #define gtk_scrolled_window_new dynamicgtksyms.gtk_scrolled_window_new 512 #define gtk_scrolled_window_set_policy dynamicgtksyms.gtk_scrolled_window_set_policy 513 #define gtk_scrolled_window_set_shadow_type dynamicgtksyms.gtk_scrolled_window_set_shadow_type 514 515 // gtktable.h 516 #define gtk_table_get_type dynamicgtksyms.gtk_table_get_type 517 #define gtk_table_new dynamicgtksyms.gtk_table_new 518 #define gtk_table_attach dynamicgtksyms.gtk_table_attach 519 520 // gtktextbuffer.h 521 #define gtk_text_buffer_backspace dynamicgtksyms.gtk_text_buffer_backspace 522 #define gtk_text_buffer_create_mark dynamicgtksyms.gtk_text_buffer_create_mark 523 #define gtk_text_buffer_delete_mark dynamicgtksyms.gtk_text_buffer_delete_mark 524 #define gtk_text_buffer_get_end_iter dynamicgtksyms.gtk_text_buffer_get_end_iter 525 #define gtk_text_buffer_insert dynamicgtksyms.gtk_text_buffer_insert 526 527 // gtktextiter.h 528 #define gtk_text_iter_backward_cursor_position dynamicgtksyms.gtk_text_iter_backward_cursor_position 529 #define gtk_text_iter_equal dynamicgtksyms.gtk_text_iter_equal 530 #define gtk_text_buffer_delete_interactive dynamicgtksyms.gtk_text_buffer_delete_interactive 531 532 // gtktextview.h 533 #define gtk_text_view_get_buffer dynamicgtksyms.gtk_text_view_get_buffer 534 #define gtk_text_view_get_type dynamicgtksyms.gtk_text_view_get_type 535 #define gtk_text_view_new dynamicgtksyms.gtk_text_view_new 536 #define gtk_text_view_scroll_to_mark dynamicgtksyms.gtk_text_view_scroll_to_mark 537 #define gtk_text_view_set_cursor_visible dynamicgtksyms.gtk_text_view_set_cursor_visible 538 #define gtk_text_view_set_editable dynamicgtksyms.gtk_text_view_set_editable 539 #define gtk_text_view_set_left_margin dynamicgtksyms.gtk_text_view_set_left_margin 540 #define gtk_text_view_set_right_margin dynamicgtksyms.gtk_text_view_set_right_margin 541 #define gtk_text_view_set_wrap_mode dynamicgtksyms.gtk_text_view_set_wrap_mode 542 543 // gtktogglebutton.h 544 #define gtk_toggle_button_get_active dynamicgtksyms.gtk_toggle_button_get_active 545 #define gtk_toggle_button_get_type dynamicgtksyms.gtk_toggle_button_get_type 546 #define gtk_toggle_button_set_active dynamicgtksyms.gtk_toggle_button_set_active 547 548 // gtktreemodel.h 549 #define gtk_tree_model_get dynamicgtksyms.gtk_tree_model_get 550 #define gtk_tree_model_get_iter dynamicgtksyms.gtk_tree_model_get_iter 551 #define gtk_tree_model_get_path dynamicgtksyms.gtk_tree_model_get_path 552 #define gtk_tree_model_get_type dynamicgtksyms.gtk_tree_model_get_type 553 #define gtk_tree_path_get_indices dynamicgtksyms.gtk_tree_path_get_indices 554 #define gtk_tree_path_new_from_indices dynamicgtksyms.gtk_tree_path_new_from_indices 555 556 // gtktreeselection.h 557 #define gtk_tree_selection_get_selected dynamicgtksyms.gtk_tree_selection_get_selected 558 #define gtk_tree_selection_select_iter dynamicgtksyms.gtk_tree_selection_select_iter 559 #define gtk_tree_selection_set_mode dynamicgtksyms.gtk_tree_selection_set_mode 560 561 // gtktreesortable.h 562 #define gtk_tree_sortable_get_type dynamicgtksyms.gtk_tree_sortable_get_type 563 #define gtk_tree_sortable_set_sort_column_id dynamicgtksyms.gtk_tree_sortable_set_sort_column_id 564 #define gtk_tree_sortable_set_sort_func dynamicgtksyms.gtk_tree_sortable_set_sort_func 565 566 // gtktreeview.h 567 #define gtk_tree_view_append_column dynamicgtksyms.gtk_tree_view_append_column 568 #define gtk_tree_view_get_model dynamicgtksyms.gtk_tree_view_get_model 569 #define gtk_tree_view_get_selection dynamicgtksyms.gtk_tree_view_get_selection 570 #define gtk_tree_view_get_type dynamicgtksyms.gtk_tree_view_get_type 571 #define gtk_tree_view_new_with_model dynamicgtksyms.gtk_tree_view_new_with_model 572 #define gtk_tree_view_set_enable_search dynamicgtksyms.gtk_tree_view_set_enable_search 573 #define gtk_tree_view_set_headers_visible dynamicgtksyms.gtk_tree_view_set_headers_visible 574 575 // gtktreeviewcolumn.h 576 #define gtk_tree_view_column_new_with_attributes dynamicgtksyms.gtk_tree_view_column_new_with_attributes 577 #define gtk_tree_view_column_set_expand dynamicgtksyms.gtk_tree_view_column_set_expand 578 #define gtk_tree_view_column_set_min_width dynamicgtksyms.gtk_tree_view_column_set_min_width 579 580 581 // gtkvbox.h 582 #define gtk_vbox_new dynamicgtksyms.gtk_vbox_new 583 584 // gtkwidget.h 585 #define gtk_widget_add_accelerator dynamicgtksyms.gtk_widget_add_accelerator 586 #define gtk_widget_destroy dynamicgtksyms.gtk_widget_destroy 587 #define gtk_widget_ref dynamicgtksyms.gtk_widget_ref 588 #define gtk_widget_set_sensitive dynamicgtksyms.gtk_widget_set_sensitive 589 #define gtk_widget_set_size_request dynamicgtksyms.gtk_widget_set_size_request 590 #define gtk_widget_show_all dynamicgtksyms.gtk_widget_show_all 591 #define gtk_widget_unref dynamicgtksyms.gtk_widget_unref 592 593 // gtkwindow.h 594 #define gtk_window_add_accel_group dynamicgtksyms.gtk_window_add_accel_group 595 #define gtk_window_get_type dynamicgtksyms.gtk_window_get_type 596 #define gtk_window_new dynamicgtksyms.gtk_window_new 597 #define gtk_window_set_default_icon dynamicgtksyms.gtk_window_set_default_icon 598 #define gtk_window_set_position dynamicgtksyms.gtk_window_set_position 599 #define gtk_window_set_resizable dynamicgtksyms.gtk_window_set_resizable 600 #define gtk_window_set_title dynamicgtksyms.gtk_window_set_title 601 #define gtk_window_set_type_hint dynamicgtksyms.gtk_window_set_type_hint 602 #define gtk_window_set_default dynamicgtksyms.gtk_window_set_default 603 604 // gunicode.h 605 #define g_utf8_collate dynamicgtksyms.g_utf8_collate 606 607 #endif /* __dynamicgtkfoo__ */ 608 609 #endif /* dynamicgtk_h_ */ 610