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