Newer
Older
invertedlogic / InvertedLogic / iLFramework / toolkit / include / Window.h
@John Ryland John Ryland on 10 Nov 2019 1 KB rename
#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