1 #include "../../lib/aftersteplib.h"
2 
3 /*************************************************************************
4  *
5  * Subroutine Prototypes
6  *
7  *************************************************************************/
8 extern void   CreateWindow(void);
9 extern Pixel  GetColor(char *name);
10 extern void   nocolor(char *a, char *b);
11 extern void   RedrawWindow(Window *win, int firstbutton, int newbutton, int num_rows, int num_columns);
12 extern void   match_string(char *tline);
13 #ifdef ENABLE_SOUND
14 extern void   bind_sound(char *tline);
15 extern void   PlaySound(int event);
16 #endif
17 extern void   Loop(void);
18 extern void   ParseOptions(char *);
19 extern char   *safemalloc(int length);
20 extern void   change_window_name(char *str);
21 extern int    My_XNextEvent(Display *dpy, XEvent *event);
22 extern void   DeadPipe(int nonsense);
23 extern void   LoadIconFile(int button,int ico);
24 extern void   CreateIconWindow(int button, Window *win);
25 extern void   ConfigureIconWindow(int button,int row, int column);
26 extern void   GetBitmapFile(int button,int ico);
27 extern int    GetXPMFile(int button,int ico);
28 extern int    GetXPMData(int button, char **data);
29 extern int    GetXPMGradient(int button, int from[3], int to[3], int maxcols,
30 		   int type);
31 extern int    GetSolidXPM(int button, Pixel pixel);
32 extern Bool Pushed;
33 extern Bool ForceSize;
34 extern void DrawOutline(Drawable d, int w, int h);
35 void process_message(unsigned long type,unsigned long *body);
36 void send_clientmessage (Window w, Atom a, Time timestamp);
37 void swallow(unsigned long *body);
38 void ConstrainSize (XSizeHints *hints, int *widthp, int *height);
39 void MapFolder(int folder, int *LastMapped, int base_x, int base_y, int row, int col);
40 void CloseFolder(int folder);
41 void OpenFolder(int folder,int x, int y, int w, int h,  int direction);
42 void RedrawPushed(Window *win, int i, int j);
43 void RedrawUnpushed(Window *win, int i, int j);
44 void RedrawUnpushedOutline(Window *win, int i,int j);
45 void RedrawPushedOutline(Window *win, int i, int j);
46 void CreateShadowGC(void);
47 extern Display *dpy;			/* which display are we talking to */
48 extern Window Root;
49 extern Window main_win;
50 extern int screen;
51 extern long d_depth;
52 extern Pixel back_pix, fore_pix;
53 extern GC  NormalGC, HiReliefGC, HiInnerGC;
54 extern GC  MaskGC;
55 extern int BUTTONWIDTH, BUTTONHEIGHT;
56 extern XFontStruct *font;
57 #define MAX_BUTTONS 100
58 #define BACK_BUTTON 100
59 
60 #define MAX_OVERLAY 3
61 
62 #define BUTTON_ARRAY_LN 102
63 #define FOLDER_ARRAY_LN 10
64 
65 #define ICON_WIN_WIDTH	48
66 #define ICON_WIN_HEIGHT 48
67 
68 #define ISMAPPED 0
69 #define NOTMAPPED 1
70 
71 typedef struct icon_info {
72     char *file;
73     short w, h;
74     Pixmap icon, mask;
75     char depth;
76 } icon_info;
77 
78 struct button_info
79 {
80   char *action;
81   char *title;
82   int iconno;
83   icon_info icons[MAX_OVERLAY];
84 
85   Pixmap completeIcon;		/* icon with background */
86   Window IconWin;
87   Window *parent;
88   XSizeHints hints;
89   char *hangon;
90   char up;
91   char swallow;
92   char maxsize;
93   char module;
94   int folder;
95 #ifdef ENABLE_DND
96   char *drop_action;
97 #endif
98 };
99 
100 struct folder_info
101 {
102   Window win;         /* Window of the Folder */
103   int firstbutton;    /* index to Buttons, starting at end */
104   int count;          /* count folded buttons */
105   int mapped;         /* is the window visible or not ?? */
106   int cols;           /* either 1 or me.count */
107   int rows;           /* either me.count or 1 */
108   int direction;      /* direction of the folder */
109 };
110 
111 extern struct button_info Buttons[MAX_BUTTONS+2];
112 extern struct folder_info Folders[FOLDER_ARRAY_LN];
113 
114 extern char *iconPath;
115 extern char *pixmapPath;
116 
117 #ifdef BROKEN_SUN_HEADERS
118 #include "../../afterstep/sun_headers.h"
119 #endif
120 
121 #ifdef NEEDS_ALPHA_HEADER
122 #include "../../afterstep/alpha_header.h"
123 #endif /* NEEDS_ALPHA_HEADER */
124 
125 
126