#ifndef WINDOW_H
#define WINDOW_H
#include "SignalSlot.h"
#include "Widget.h"
#include "Namespace.h"
BEGIN_NAMESPACE
class Window : public Widget
{
public:
Window(const char* a_title, bool a_fullscreen = false);
~Window();
void resize(int a_newW, int a_newH);
void mouseUpdate(int a_x, int a_y, int a_buttonMask, MouseButtons a_mouseButton, MouseState a_mouseState);
void wheelUpdate(int a_wheelVal);
void keyUpdate(int a_keyCode, bool a_keyDown);
void paintUpdate();
void update(Rectangle& a_rectangle);
void sizeOptions(SizeOptions& a_sizeOptions);
void timerUpdate(TimerId a_timerId);
TimerId startTimer(int a_milliSeconds);
void killTimer(TimerId a_timerId);
CUTE_PaintTarget& targetBuffer();
void deactivate();
typedef struct HWND__ *HWND;
void initialize(HWND a_hwnd); // TODO: this is ugly
void paintGL(HWND a_hwnd);
void destroy(HWND a_hwnd); // TODO: this is ugly
private:
struct WindowData* m_data;
};
END_NAMESPACE
#endif // WINDOW_H