File indexing completed on 2024-05-12 17:10:55
0001 #ifndef EMERALD_TITLEBAR_H 0002 #define EMERALD_TITLEBAR_H 0003 0004 #define IN_EVENT_WINDOW (1 << 0) 0005 #define PRESSED_EVENT_WINDOW (1 << 1) 0006 enum buttons 0007 { 0008 B_CLOSE, 0009 B_MAXIMIZE, 0010 B_RESTORE, 0011 B_MINIMIZE, 0012 B_HELP, 0013 B_MENU, 0014 B_SHADE, 0015 B_UNSHADE, 0016 B_ABOVE, 0017 B_UNABOVE, 0018 B_STICK, 0019 B_UNSTICK, 0020 B_COUNT 0021 }; 0022 enum states 0023 { 0024 S_ACTIVE, 0025 S_ACTIVE_HOVER, 0026 S_ACTIVE_PRESS, 0027 S_INACTIVE, 0028 S_INACTIVE_HOVER, 0029 S_INACTIVE_PRESS, 0030 S_COUNT 0031 }; 0032 enum btypes 0033 { 0034 B_T_CLOSE, 0035 B_T_MAXIMIZE, 0036 B_T_MINIMIZE, 0037 B_T_HELP, 0038 B_T_MENU, 0039 B_T_SHADE, 0040 B_T_ABOVE, 0041 B_T_STICKY, 0042 B_T_COUNT 0043 }; 0044 #ifdef NEED_BUTTON_BISTATES 0045 static const gboolean btbistate[B_T_COUNT]={ 0046 FALSE, 0047 TRUE, 0048 FALSE, 0049 FALSE, 0050 FALSE, 0051 TRUE, 0052 TRUE, 0053 TRUE, 0054 }; 0055 #endif 0056 #ifdef NEED_BUTTON_STATE_FLAGS 0057 static const int btstateflag[B_T_COUNT] = 0058 { 0059 0, 0060 WNCK_WINDOW_STATE_MAXIMIZED_HORIZONTALLY | WNCK_WINDOW_STATE_MAXIMIZED_VERTICALLY, 0061 0, 0062 0, 0063 0, 0064 WNCK_WINDOW_STATE_SHADED, 0065 WNCK_WINDOW_STATE_ABOVE, 0066 WNCK_WINDOW_STATE_STICKY, 0067 }; 0068 #endif 0069 enum tbtypes 0070 { 0071 TBT_CLOSE=B_T_CLOSE, 0072 TBT_MAXIMIZE=B_T_MAXIMIZE, 0073 TBT_MINIMIZE=B_T_MINIMIZE, 0074 TBT_HELP=B_T_HELP, 0075 TBT_MENU=B_T_MENU, 0076 TBT_SHADE=B_T_SHADE, 0077 TBT_ONTOP=B_T_ABOVE, 0078 TBT_STICKY=B_T_STICKY, 0079 TBT_TITLE=B_T_COUNT, 0080 TBT_ICON, 0081 TBT_ONBOTTOM, 0082 TBT_COUNT, 0083 }; 0084 #define BX_COUNT B_COUNT+2 0085 #ifdef NEED_BUTTON_ACTIONS 0086 static const guint button_actions[B_T_COUNT] = { 0087 WNCK_WINDOW_ACTION_CLOSE, 0088 WNCK_WINDOW_ACTION_MAXIMIZE, 0089 WNCK_WINDOW_ACTION_MINIMIZE, 0090 FAKE_WINDOW_ACTION_HELP, 0091 0xFFFFFFFF, // any action should match 0092 WNCK_WINDOW_ACTION_SHADE, 0093 0xFFFFFFFF,//WNCK_WINDOW_ACTION_ABOVE, 0094 WNCK_WINDOW_ACTION_STICK, 0095 }; 0096 #endif 0097 #ifdef NEED_BUTTON_FILE_NAMES 0098 static const gchar * const b_types[]= 0099 { 0100 "close", 0101 "max", 0102 "restore", 0103 "min", 0104 "help", 0105 "menu", 0106 "shade", 0107 "unshade", 0108 "above", 0109 "unabove", 0110 "sticky", 0111 "unsticky", 0112 "glow", 0113 "inactive_glow" 0114 }; 0115 #endif 0116 #ifdef NEED_BUTTON_NAMES 0117 static const gchar * const b_names[]={ 0118 "Close", 0119 "Maximize", 0120 "Restore", 0121 "Minimize", 0122 "Help", 0123 "Menu", 0124 "Shade", 0125 "Un-Shade", 0126 "Set Above", 0127 "Un-Set Above", 0128 "Stick", 0129 "Un-Stick", 0130 "Glow(Halo)", 0131 "Inactive Glow" 0132 }; 0133 #endif 0134 enum { 0135 DOUBLE_CLICK_SHADE=0, 0136 DOUBLE_CLICK_MAXIMIZE, 0137 DOUBLE_CLICK_MINIMIZE, 0138 TITLEBAR_ACTION_COUNT 0139 }; 0140 #ifdef NEED_TITLEBAR_ACTION_NAMES 0141 static const gchar * const titlebar_action_name[TITLEBAR_ACTION_COUNT] = 0142 { 0143 "Shade", 0144 "Maximize/Restore", 0145 "Minimize", 0146 }; 0147 #endif 0148 0149 0150 #endif