Revamp of command-line handling. Most command line options should
[u/mdw/putty] / winstuff.h
CommitLineData
8c3cd914 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
16GLOBAL HINSTANCE hinst;
17
18/*
19 * Exports from winctrls.c.
20 */
21
22struct ctlpos {
23 HWND hwnd;
24 WPARAM font;
25 int dlu4inpix;
26 int ypos, width;
27 int xoff;
3ac9cd9f 28 int boxystart, boxid;
8c3cd914 29 char *boxtext;
30};
31
ca20bfcf 32/*
c0a81592 33 * Exports from winutils.c.
34 */
35void split_into_argv(char *, int *, char ***);
36
37/*
ca20bfcf 38 * Private structure for prefslist state. Only in the header file
39 * so that we can delegate allocation to callers.
40 */
41struct prefslist {
42 int listid, upbid, dnbid;
43 int srcitem;
44 int dummyitem;
45 int dragging;
46};
47
8c3cd914 48void ctlposinit(struct ctlpos *cp, HWND hwnd,
32874aea 49 int leftborder, int rightborder, int topborder);
ca20bfcf 50HWND doctl(struct ctlpos *cp, RECT r,
32874aea 51 char *wclass, int wstyle, int exstyle, char *wtext, int wid);
8c3cd914 52void bartitle(struct ctlpos *cp, char *name, int id);
3ac9cd9f 53void beginbox(struct ctlpos *cp, char *name, int idbox);
8c3cd914 54void endbox(struct ctlpos *cp);
55void multiedit(struct ctlpos *cp, ...);
32874aea 56void radioline(struct ctlpos *cp, char *text, int id, int nacross, ...);
d74d141c 57void bareradioline(struct ctlpos *cp, int nacross, ...);
8c3cd914 58void radiobig(struct ctlpos *cp, char *text, int id, ...);
59void checkbox(struct ctlpos *cp, char *text, int id);
66ee282a 60void statictext(struct ctlpos *cp, char *text, int lines, int id);
8c3cd914 61void staticbtn(struct ctlpos *cp, char *stext, int sid,
32874aea 62 char *btext, int bid);
af282e3b 63void static2btn(struct ctlpos *cp, char *stext, int sid,
64 char *btext1, int bid1, char *btext2, int bid2);
8c3cd914 65void staticedit(struct ctlpos *cp, char *stext,
32874aea 66 int sid, int eid, int percentedit);
b8ae1f0f 67void combobox(struct ctlpos *cp, char *text, int staticid, int listid);
6e522441 68void staticpassedit(struct ctlpos *cp, char *stext,
32874aea 69 int sid, int eid, int percentedit);
6e522441 70void bigeditctrl(struct ctlpos *cp, char *stext,
32874aea 71 int sid, int eid, int lines);
72void ersatztab(struct ctlpos *cp, char *stext, int sid, int lid, int s2id);
8c3cd914 73void editbutton(struct ctlpos *cp, char *stext, int sid,
32874aea 74 int eid, char *btext, int bid);
8c3cd914 75void sesssaver(struct ctlpos *cp, char *text,
32874aea 76 int staticid, int editid, int listid, ...);
8c3cd914 77void envsetter(struct ctlpos *cp, char *stext, int sid,
32874aea 78 char *e1stext, int e1sid, int e1id,
79 char *e2stext, int e2sid, int e2id,
80 int listid, char *b1text, int b1id, char *b2text, int b2id);
8c3cd914 81void charclass(struct ctlpos *cp, char *stext, int sid, int listid,
32874aea 82 char *btext, int bid, int eid, char *s2text, int s2id);
8c3cd914 83void colouredit(struct ctlpos *cp, char *stext, int sid, int listid,
32874aea 84 char *btext, int bid, ...);
ca20bfcf 85void prefslist(struct prefslist *hdl, struct ctlpos *cp, char *stext,
86 int sid, int listid, int upbid, int dnbid);
87int handle_prefslist(struct prefslist *hdl,
88 int *array, int maxmemb,
89 int is_dlmsg, HWND hwnd,
90 WPARAM wParam, LPARAM lParam);
6e522441 91void progressbar(struct ctlpos *cp, int id);
d74d141c 92void fwdsetter(struct ctlpos *cp, int listid, char *stext, int sid,
93 char *e1stext, int e1sid, int e1id,
94 char *e2stext, int e2sid, int e2id,
95 char *btext, int bid);