src/widget/window_events.hpp
author KUDr
Sat, 10 Mar 2007 08:53:59 +0000
branchcpp_gui
changeset 6295 a88d8c2cff6e
parent 6282 c5b92f2d924f
permissions -rw-r--r--
(svn r9091) [cpp_gui] -Codechange: Widgets now use container's coordinate space instead of window's space
/* $Id$ */

#ifndef WINDOW_EVENT_H
#define WINDOW_EVENT_H

namespace gui {


template <> struct EventT<EVT_CREATE> : public EventBaseT<EVT_CREATE, &Widget::OnCreate> {
};

template <> struct EventT<EVT_DESTROY> : public EventBaseT<EVT_DESTROY, &Widget::OnDestroy> {
};

template <> struct EventT<EVT_PAINT> : public EventBaseT<EVT_PAINT, &Widget::OnPaint> {
};

template <> struct EventT<EVT_KEYPRESS> : public EventBaseT<EVT_KEYPRESS, &Widget::OnKeyPress> {
	bool   m_cont;     // continue the search? (default true)
	uint16 m_key;      // 16-bit Unicode value of the key
	uint16 m_keycode;  // untranslated key (including shift-state)

	EventT(bool cont, uint16 key, uint16 keycode)
		: m_cont(cont)
		, m_key(key)
		, m_keycode(keycode)
	{}
};

template <> struct EventT<EVT_LBUTTON_DOWN> : public EventBaseT<EVT_LBUTTON_DOWN, &Widget::OnLeftButtonDown> {
	Point m_pt;

	EventT(const PointRaw &pt)
		: m_pt(pt)
	{}
};

template <> struct EventT<EVT_LEFT_CLICK> : public EventBaseT<EVT_LEFT_CLICK, &Widget::OnLeftClick> {
	Point m_pt;

	EventT(const PointRaw &pt)
		: m_pt(pt)
	{}
};

template <> struct EventT<EVT_RBUTTON_DOWN> : public EventBaseT<EVT_RBUTTON_DOWN, &Widget::OnRightButtonDown> {
	Point m_pt;

	EventT(const PointRaw &pt)
		: m_pt(pt)
	{}
};

template <> struct EventT<EVT_MOUSEOVER> : public EventBaseT<EVT_MOUSEOVER, &Widget::OnMouseOver> {
	Point m_pt;

	EventT(const PointRaw &pt)
		: m_pt(pt)
	{}
};

template <> struct EventT<EVT_RESIZE> : public EventBaseT<EVT_RESIZE, &Widget::OnResize> {
	Point16 m_change;

	EventT(const PointRaw16 &change)
		: m_change(change)
	{}
};

template <> struct EventT<EVT_RESIZE_PARENT> : public EventBaseT<EVT_RESIZE_PARENT, &Widget::OnResizeParent> {
	Point16 m_change;

	EventT(const PointRaw16 &change)
		: m_change(change)
	{}

	EventT(const EvtResize &src)
		: m_change(src.m_change)
	{}
};




}; // namespace gui

#endif /* WINDOW_EVENT_H */