00001 #ifndef _Window_H_
00002 #define _Window_H_
00003
00004 #include "Defines.h"
00005 #include "FileLog.h"
00006 #include "Input.h"
00007 #include "Messages.h"
00008
00009 namespace zak {
00010
00011 enum Return
00012 {
00013 WindowNone,
00014 WindowEscape,
00015 WindowReturn,
00016 };
00017
00022 class ZAKENGINE_API Window {
00023 private:
00024 HWND hWnd;
00025 int _width;
00026 int _height;
00027 bool _cursorVisible;
00028 HCURSOR _cursorType;
00029 RECT _rect;
00030
00031 public:
00032 RECT _margins;
00033 bool _canEnter;
00034 bool _blinked;
00035 bool _inserting;
00036 bool _textinput;
00037 int _lastElement;
00038 int _maxElement;
00039 int _cursor;
00040 int _return;
00041 int _blinking;
00042 string _string;
00043 bool _editing;
00044 basic_string <char>::iterator _iter;
00045
00046 bool ActiveWindow;
00047 int Reacquire;
00048
00049 ATOM RegistrarClase ();
00050
00051 bool CrearVentana (wstring *titulo,
00052 int iAncho, int iAlto);
00053
00061 void SaveScreenshot(char *szArchivo,int w,int h,int bpp);
00062
00067 int GetWidth() { return _width; }
00068
00073 int GetHeight() { return _height; }
00074
00079 void SetCursorFromFile(LPCWSTR filename) { _cursorType = LoadCursorFromFile(filename); }
00080
00085 void SetCursor(LPCWSTR cursor) { _cursorType = LoadCursor(NULL, cursor); }
00086
00091 HCURSOR GetCursor() { return _cursorType; }
00092
00097 void SetCursorVisible(bool cursor) { _cursorVisible = cursor; }
00098
00103 bool GetCursorVisible() { return _cursorVisible; }
00104
00109 HWND GetHWnd() { return hWnd; }
00110
00114 Window();
00115
00116 };
00117
00118 extern ZAKENGINE_API Window g_window;
00119
00120 }
00121
00122 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
00123
00124 #endif // _Window_H_