1 #include <gtk/gtk.h> 2 #include "ge-support.h" 3 4 typedef struct _ThiniceRcStyle ThiniceRcStyle; 5 typedef struct _ThiniceRcStyleClass ThiniceRcStyleClass; 6 7 #define THINICE_TYPE_RC_STYLE (thinice_rc_style_get_type ()) 8 #define THINICE_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), THINICE_TYPE_RC_STYLE, ThiniceRcStyle)) 9 #define THINICE_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THINICE_TYPE_RC_STYLE, ThiniceRcStyleClass)) 10 #define THINICE_IS_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), THINICE_TYPE_RC_STYLE)) 11 #define THINICE_IS_RC_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THINICE_TYPE_RC_STYLE)) 12 #define THINICE_RC_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THINICE_TYPE_RC_STYLE, ThiniceRcStyleClass)) 13 14 typedef enum { 15 THINICE_FLAG_SCROLLBAR_TYPE = 1 << 0, 16 THINICE_FLAG_SCROLLBAR_MARKS = 1 << 1, 17 THINICE_FLAG_SCROLL_BUTTON_MARKS = 1 << 2, 18 THINICE_FLAG_HANDLEBOX_MARKS = 1 << 3, 19 THINICE_FLAG_MARK_TYPE1 = 1 << 4, 20 THINICE_FLAG_MARK_TYPE2 = 1 << 5, 21 THINICE_FLAG_PANED_DOTS = 1 << 6 22 } ThiniceRcFlags; 23 24 struct _ThiniceRcStyle 25 { 26 GtkRcStyle parent_instance; 27 28 ThiniceRcFlags flags; 29 guint scrollbar_type:1; 30 guint scrollbar_marks:1; 31 guint scroll_button_marks:1; 32 guint handlebox_marks:1; 33 guint mark_type1; 34 guint mark_type2; 35 guint paned_dots; 36 }; 37 38 struct _ThiniceRcStyleClass 39 { 40 GtkRcStyleClass parent_class; 41 }; 42 43 GE_INTERNAL void thinice_rc_style_register_types (GTypeModule *module); 44 GE_INTERNAL GType thinice_rc_style_get_type (void); 45 46 /* Default stuff */ 47 #define DEFAULT_SCROLLSHAPE SCROLL_SHAPED 48 #define DEFAULT_SCROLLBARMARKS MARKS_ON 49 #define DEFAULT_SCROLLBUTTONMARKS MARKS_ON 50 #define DEFAULT_HANDLEBOXMARKS MARKS_ON 51 #define DEFAULT_MARKTYPE1 MARKS_SLASH 52 #define DEFAULT_MARKTYPE2 MARKS_INVSLASH 53 #define DEFAULT_PANEDDOTS PANED_DOTSFULL 54 55 #define DEFAULT_SCROLLTHUMB_SIZE 12 56 #define DEFAULT_MIN_SLIDER_SIZE 9 57 #define SMALLEST_HANDLE 17 58 59 enum 60 { 61 TOKEN_RECTSCROLLBAR = G_TOKEN_LAST + 1, 62 TOKEN_SCROLLBARMARKS, 63 TOKEN_SCROLLBUTTONMARKS, 64 TOKEN_HANDLEBOXMARKS, 65 TOKEN_MARKTYPE1, 66 TOKEN_MARKTYPE2, 67 TOKEN_PANEDDOTS, 68 69 TOKEN_TRUE, 70 TOKEN_FALSE, 71 72 TOKEN_NOTHING, 73 TOKEN_SLASH, 74 TOKEN_INVSLASH, 75 TOKEN_DOT, 76 TOKEN_INVDOT, 77 TOKEN_ARROW, 78 79 TOKEN_FULL, 80 TOKEN_SOME, 81 TOKEN_NONE 82 }; 83 84 enum 85 { 86 SCROLL_RECT = 0, 87 SCROLL_SHAPED = 1, 88 89 MARKS_OFF = 0, 90 MARKS_ON = 1, 91 92 MARKS_NOTHING = 0, 93 MARKS_SLASH = 1, 94 MARKS_INVSLASH = 2, 95 MARKS_DOT = 3, 96 MARKS_INVDOT = 4, 97 MARKS_ARROW = 5, 98 99 PANED_DOTSFULL = 0, 100 PANED_DOTSSOME = 1, 101 PANED_DOTSNONE = 2 102 }; 103 104