absence_thelab
annotate src/nwt/nucwin.h @ 0:1cffe3409164
initial commit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 23 Oct 2014 01:46:07 +0300 |
parents | |
children |
rev | line source |
---|---|
nuclear@0 | 1 #ifndef _NUCWIN_H_ |
nuclear@0 | 2 #define _NUCWIN_H_ |
nuclear@0 | 3 |
nuclear@0 | 4 #include <string> |
nuclear@0 | 5 #include "widget.h" |
nuclear@0 | 6 |
nuclear@0 | 7 struct Point { |
nuclear@0 | 8 int x, y; |
nuclear@0 | 9 inline Point(int x=0, int y=0) {this->x = x; this->y = y;} |
nuclear@0 | 10 }; |
nuclear@0 | 11 |
nuclear@0 | 12 struct Rect : public RECT { |
nuclear@0 | 13 inline Rect() {} |
nuclear@0 | 14 inline Rect(int l, int t, int r, int b) {left=l; top=t; right=r; bottom=b;} |
nuclear@0 | 15 }; |
nuclear@0 | 16 |
nuclear@0 | 17 |
nuclear@0 | 18 #define HandlerFunctionPtr int (*)(Widget*, int) |
nuclear@0 | 19 |
nuclear@0 | 20 extern char *Arguments; |
nuclear@0 | 21 |
nuclear@0 | 22 enum HandlerType { |
nuclear@0 | 23 HANDLER_KEY, |
nuclear@0 | 24 HANDLER_CLOSE, |
nuclear@0 | 25 HANDLER_MOUSE, |
nuclear@0 | 26 HANDLER_WHEEL, |
nuclear@0 | 27 HANDLER_WINMOVE, |
nuclear@0 | 28 HANDLER_MOUSEUP, |
nuclear@0 | 29 HANDLER_PAINT |
nuclear@0 | 30 }; |
nuclear@0 | 31 enum MainLoopMode {EventLoop, RealTimeLoop}; |
nuclear@0 | 32 |
nuclear@0 | 33 void SetHandler(HandlerType htype, int (*Handler)(Widget*, int)); |
nuclear@0 | 34 |
nuclear@0 | 35 void SetMainLoopFunc(void (*func)()); |
nuclear@0 | 36 |
nuclear@0 | 37 Point NWGetScreenSize(); |
nuclear@0 | 38 |
nuclear@0 | 39 int NWMainLoop(MainLoopMode mode = EventLoop); |
nuclear@0 | 40 bool NWCheckForMessages(); |
nuclear@0 | 41 LRESULT CALLBACK MainHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); |
nuclear@0 | 42 |
nuclear@0 | 43 void NWCloseWindow(Widget *win); |
nuclear@0 | 44 |
nuclear@0 | 45 std::string NWFileSaveChooser(Widget *win, const char *title, const char *filetypes, const char *defext); |
nuclear@0 | 46 |
nuclear@0 | 47 #endif // _NUCWIN_H_ |