win_gtk.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. /* ///////////////////////////////////////////////////////////////////////////
  2. // Name: wx/gtk1/win_gtk.h
  3. // Purpose: wxWidgets's GTK base widget = GtkPizza
  4. // Author: Robert Roebling
  5. // Copyright: (c) 1998 Robert Roebling
  6. // Licence: wxWindows licence
  7. /////////////////////////////////////////////////////////////////////////// */
  8. #ifndef __GTK_PIZZA_H__
  9. #define __GTK_PIZZA_H__
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif /* __cplusplus */
  13. #include <gdk/gdk.h>
  14. #include <gdk/gdkx.h>
  15. #include <gtk/gtkcontainer.h>
  16. #include <gtk/gtkadjustment.h>
  17. #include <gtk/gtkfeatures.h>
  18. #include "wx/dlimpexp.h"
  19. #define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
  20. #define GTK_PIZZA_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass)
  21. #define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
  22. /* Shadow types */
  23. typedef enum
  24. {
  25. GTK_MYSHADOW_NONE,
  26. GTK_MYSHADOW_THIN,
  27. GTK_MYSHADOW_IN,
  28. GTK_MYSHADOW_OUT
  29. } GtkMyShadowType;
  30. typedef struct _GtkPizzaChild GtkPizzaChild;
  31. typedef struct _GtkPizza GtkPizza;
  32. typedef struct _GtkPizzaClass GtkPizzaClass;
  33. struct _GtkPizzaChild
  34. {
  35. GtkWidget *widget;
  36. gint x;
  37. gint y;
  38. gint width;
  39. gint height;
  40. };
  41. struct _GtkPizza
  42. {
  43. GtkContainer container;
  44. GList *children;
  45. GtkMyShadowType shadow_type;
  46. guint width;
  47. guint height;
  48. guint xoffset;
  49. guint yoffset;
  50. GdkWindow *bin_window;
  51. GdkVisibilityState visibility;
  52. gulong configure_serial;
  53. gint scroll_x;
  54. gint scroll_y;
  55. gboolean clear_on_draw;
  56. gboolean use_filter;
  57. gboolean external_expose;
  58. };
  59. struct _GtkPizzaClass
  60. {
  61. GtkContainerClass parent_class;
  62. void (*set_scroll_adjustments) (GtkPizza *pizza,
  63. GtkAdjustment *hadjustment,
  64. GtkAdjustment *vadjustment);
  65. };
  66. WXDLLIMPEXP_CORE
  67. GtkType gtk_pizza_get_type (void);
  68. WXDLLIMPEXP_CORE
  69. GtkWidget* gtk_pizza_new (void);
  70. WXDLLIMPEXP_CORE
  71. void gtk_pizza_set_shadow_type (GtkPizza *pizza,
  72. GtkMyShadowType type);
  73. WXDLLIMPEXP_CORE
  74. void gtk_pizza_set_clear (GtkPizza *pizza,
  75. gboolean clear);
  76. WXDLLIMPEXP_CORE
  77. void gtk_pizza_set_filter (GtkPizza *pizza,
  78. gboolean use);
  79. WXDLLIMPEXP_CORE
  80. void gtk_pizza_set_external (GtkPizza *pizza,
  81. gboolean expose);
  82. WXDLLIMPEXP_CORE
  83. void gtk_pizza_scroll (GtkPizza *pizza,
  84. gint dx,
  85. gint dy);
  86. WXDLLIMPEXP_CORE
  87. gint gtk_pizza_child_resized (GtkPizza *pizza,
  88. GtkWidget *widget);
  89. WXDLLIMPEXP_CORE
  90. void gtk_pizza_put (GtkPizza *pizza,
  91. GtkWidget *widget,
  92. gint x,
  93. gint y,
  94. gint width,
  95. gint height);
  96. WXDLLIMPEXP_CORE
  97. void gtk_pizza_move (GtkPizza *pizza,
  98. GtkWidget *widget,
  99. gint x,
  100. gint y );
  101. WXDLLIMPEXP_CORE
  102. void gtk_pizza_resize (GtkPizza *pizza,
  103. GtkWidget *widget,
  104. gint width,
  105. gint height );
  106. WXDLLIMPEXP_CORE
  107. void gtk_pizza_set_size (GtkPizza *pizza,
  108. GtkWidget *widget,
  109. gint x,
  110. gint y,
  111. gint width,
  112. gint height);
  113. #ifdef __cplusplus
  114. }
  115. #endif /* __cplusplus */
  116. #endif /* __GTK_PIZZA_H__ */