21560ba95a0b56caca6a7bbc719805e6fb8e5583
[u/mdw/putty] / winstuff.h
1 /*
2 * winstuff.h: Windows-specific inter-module stuff.
3 */
4
5 /*
6 * Global variables. Most modules declare these `extern', but
7 * window.c will do `#define PUTTY_DO_GLOBALS' before including this
8 * module, and so will get them properly defined.
9 */
10 #ifdef PUTTY_DO_GLOBALS
11 #define GLOBAL
12 #else
13 #define GLOBAL extern
14 #endif
15
16 GLOBAL HINSTANCE hinst;
17
18 /*
19 * Exports from winctrls.c.
20 */
21
22 struct ctlpos {
23 HWND hwnd;
24 WPARAM font;
25 int dlu4inpix;
26 int ypos, width;
27 int xoff;
28 int boxystart, boxid;
29 char *boxtext;
30 };
31
32 /*
33 * Private structure for prefslist state. Only in the header file
34 * so that we can delegate allocation to callers.
35 */
36 struct prefslist {
37 int listid, upbid, dnbid;
38 int srcitem;
39 int dummyitem;
40 int dragging;
41 };
42
43 void ctlposinit(struct ctlpos *cp, HWND hwnd,
44 int leftborder, int rightborder, int topborder);
45 HWND doctl(struct ctlpos *cp, RECT r,
46 char *wclass, int wstyle, int exstyle, char *wtext, int wid);
47 void bartitle(struct ctlpos *cp, char *name, int id);
48 void beginbox(struct ctlpos *cp, char *name, int idbox);
49 void endbox(struct ctlpos *cp);
50 void multiedit(struct ctlpos *cp, ...);
51 void radioline(struct ctlpos *cp, char *text, int id, int nacross, ...);
52 void bareradioline(struct ctlpos *cp, int nacross, ...);
53 void radiobig(struct ctlpos *cp, char *text, int id, ...);
54 void checkbox(struct ctlpos *cp, char *text, int id);
55 void statictext(struct ctlpos *cp, char *text, int lines, int id);
56 void staticbtn(struct ctlpos *cp, char *stext, int sid,
57 char *btext, int bid);
58 void static2btn(struct ctlpos *cp, char *stext, int sid,
59 char *btext1, int bid1, char *btext2, int bid2);
60 void staticedit(struct ctlpos *cp, char *stext,
61 int sid, int eid, int percentedit);
62 void combobox(struct ctlpos *cp, char *text, int staticid, int listid);
63 void staticpassedit(struct ctlpos *cp, char *stext,
64 int sid, int eid, int percentedit);
65 void bigeditctrl(struct ctlpos *cp, char *stext,
66 int sid, int eid, int lines);
67 void ersatztab(struct ctlpos *cp, char *stext, int sid, int lid, int s2id);
68 void editbutton(struct ctlpos *cp, char *stext, int sid,
69 int eid, char *btext, int bid);
70 void sesssaver(struct ctlpos *cp, char *text,
71 int staticid, int editid, int listid, ...);
72 void envsetter(struct ctlpos *cp, char *stext, int sid,
73 char *e1stext, int e1sid, int e1id,
74 char *e2stext, int e2sid, int e2id,
75 int listid, char *b1text, int b1id, char *b2text, int b2id);
76 void charclass(struct ctlpos *cp, char *stext, int sid, int listid,
77 char *btext, int bid, int eid, char *s2text, int s2id);
78 void colouredit(struct ctlpos *cp, char *stext, int sid, int listid,
79 char *btext, int bid, ...);
80 void prefslist(struct prefslist *hdl, struct ctlpos *cp, char *stext,
81 int sid, int listid, int upbid, int dnbid);
82 int handle_prefslist(struct prefslist *hdl,
83 int *array, int maxmemb,
84 int is_dlmsg, HWND hwnd,
85 WPARAM wParam, LPARAM lParam);
86 void progressbar(struct ctlpos *cp, int id);
87 void fwdsetter(struct ctlpos *cp, int listid, char *stext, int sid,
88 char *e1stext, int e1sid, int e1id,
89 char *e2stext, int e2sid, int e2id,
90 char *btext, int bid);