]> git.ipfire.org Git - thirdparty/newt.git/blob - newt_pr.h
0.52.24
[thirdparty/newt.git] / newt_pr.h
1 #ifndef H_NEWT_PR
2 #define H_NEWT_PR
3
4 #define COLORSET_ROOT NEWT_COLORSET_ROOT
5 #define COLORSET_BORDER NEWT_COLORSET_BORDER
6 #define COLORSET_WINDOW NEWT_COLORSET_WINDOW
7 #define COLORSET_SHADOW NEWT_COLORSET_SHADOW
8 #define COLORSET_TITLE NEWT_COLORSET_TITLE
9 #define COLORSET_BUTTON NEWT_COLORSET_BUTTON
10 #define COLORSET_ACTBUTTON NEWT_COLORSET_ACTBUTTON
11 #define COLORSET_CHECKBOX NEWT_COLORSET_CHECKBOX
12 #define COLORSET_ACTCHECKBOX NEWT_COLORSET_ACTCHECKBOX
13 #define COLORSET_ENTRY NEWT_COLORSET_ENTRY
14 #define COLORSET_LABEL NEWT_COLORSET_LABEL
15 #define COLORSET_LISTBOX NEWT_COLORSET_LISTBOX
16 #define COLORSET_ACTLISTBOX NEWT_COLORSET_ACTLISTBOX
17 #define COLORSET_TEXTBOX NEWT_COLORSET_TEXTBOX
18 #define COLORSET_ACTTEXTBOX NEWT_COLORSET_ACTTEXTBOX
19
20 int newtSetFlags(int oldFlags, int newFlags, enum newtFlagsSense sense);
21
22 void newtGotorc(int row, int col);
23 void newtGetrc(int * row, int * col);
24 void newtGetWindowPos(int * x, int * y);
25 void newtDrawBox(int left, int top, int width, int height, int shadow);
26 void newtClearBox(int left, int top, int width, int height);
27
28 int newtGetKey(void);
29 void newtTrashScreen(void);
30
31 struct newtComponent_struct {
32 /* common data */
33 int height, width;
34 int top, left;
35 int takesFocus;
36 int isMapped;
37
38 struct componentOps * ops;
39
40 newtCallback callback;
41 void * callbackData;
42
43 newtCallback destroyCallback;
44 void * destroyCallbackData;
45
46 void * data;
47 } ;
48
49 enum eventResultTypes { ER_IGNORED, ER_SWALLOWED, ER_EXITFORM, ER_SETFOCUS,
50 ER_NEXTCOMP };
51 struct eventResult {
52 enum eventResultTypes result;
53 union {
54 newtComponent focus;
55 } u;
56 };
57
58 enum eventTypes { EV_FOCUS, EV_UNFOCUS, EV_KEYPRESS, EV_MOUSE };
59 enum eventSequence { EV_EARLY, EV_NORMAL, EV_LATE };
60
61 struct event {
62 enum eventTypes event;
63 enum eventSequence when;
64 union {
65 int key;
66 struct {
67 enum { MOUSE_MOTION, MOUSE_BUTTON_DOWN, MOUSE_BUTTON_UP } type;
68 int x, y;
69 } mouse;
70 } u;
71 } ;
72
73 struct componentOps {
74 void (* draw)(newtComponent c);
75 struct eventResult (* event)(newtComponent c, struct event ev);
76 void (* destroy)(newtComponent c);
77 void (* place)(newtComponent c, int newLeft, int newTop);
78 void (* mapped)(newtComponent c, int isMapped);
79 } ;
80
81 void newtDefaultPlaceHandler(newtComponent c, int newLeft, int newTop);
82 void newtDefaultMappedHandler(newtComponent c, int isMapped);
83 struct eventResult newtDefaultEventHandler(newtComponent c,
84 struct event ev);
85
86 int _newt_wstrlen(const char *str, int len);
87 #define wstrlen(str,len) _newt_wstrlen((str),(len))
88 void trim_string(char *title, int chrs);
89
90 #endif /* H_NEWT_PR */