Go to the documentation of this file.00001
00002 #include "Input.h"
00003 #include "def.h"
00004
00005 typedef void* pCursor;
00006 typedef void* pScreen;
00007
00011 typedef
00012 class IWindow {
00013 public:
00014 virtual ~IWindow() {}
00015
00020 virtual bool init(int x, int y, int width, int height, const wchar* title,
00021 STATE state = stateWindowed, STYLE style = styleNormal,
00022 IWindow* parent = 0, float alpha = 1.f) = 0;
00023
00028 virtual void uninit(void) = 0;
00029
00033 virtual int fileDialog(wchar* out, uint outSize, const wchar* title, DIALOGFLAGS flags, const wchar* filter) = 0;
00034
00036 virtual void* getWindow(void) = 0;
00038 virtual void* getDisplay(void) = 0;
00040 virtual IWindow* getParent(void) = 0;
00041
00043 virtual void setSize(int x, int y, int width, int height) = 0;
00045 virtual void setSize(WindowSize) = 0;
00047 virtual WindowSize getSize(void) = 0;
00048
00050 virtual void setState(STATE) = 0;
00052 virtual STATE getState(void) = 0;
00053
00055 virtual void setStyle(STYLE) = 0;
00057 virtual STYLE getStyle(void) = 0;
00058
00060 virtual void setTitle(const wchar* title) = 0;
00062 virtual const wchar* getTitle(void) = 0;
00063
00064 virtual const MouseMap& getMouseMap(void) = 0;
00065 virtual const KeyboardMap& getKeyboardMap(void) = 0;
00066
00068 virtual bool activateInput(DEVICE type) = 0;
00070 virtual void deactivateInput(DEVICE type) = 0;
00072 virtual uint getDevices(DeviceInfo* array, uint size) = 0;
00074 virtual pDevice activateDevice(DEVICE type, int ID = 0) = 0;
00076 virtual void deactivateDevice(pDevice device) = 0;
00077
00079 virtual pCursor createCursor(const wchar* file) = 0;
00081 virtual void freeCursor(pCursor&) = 0;
00083 virtual void setCursor(pCursor cur) = 0;
00085 virtual pCursor getCursor(void) = 0;
00087 virtual void showCursor(bool) = 0;
00089 virtual void setCursorPosition(int x, int y) = 0;
00091 virtual void setCursorPosition(CursorPosition) = 0;
00093 virtual CursorPosition getCursorPosition(void) = 0;
00094
00096 virtual void addListener(pEventRenderListener) = 0;
00098 virtual void addListener(pEventWindowListener) = 0;
00100 virtual void addListener(pEventDeviceListener) = 0;
00102 virtual void removeListener(pEventRenderListener) = 0;
00104 virtual void removeListener(pEventWindowListener) = 0;
00106 virtual void removeListener(pEventDeviceListener) = 0;
00107
00109 virtual pScreen createScreen(const wchar* imageFile, float alpha = 1.f) = 0;
00111 virtual void freeScreen(pScreen& screen) = 0;
00112
00116 virtual void loop(void) = 0;
00117
00119 virtual void close(void) = 0;
00120
00123 bool IsOpen;
00124 } *pIWindow;