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 */ 91