summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tilereg-crt.cc
diff options
context:
space:
mode:
authorEnne Walker <ennewalker@users.sourceforge.net>2010-04-19 20:00:06 -0400
committerEnne Walker <ennewalker@users.sourceforge.net>2010-04-25 19:33:13 -0400
commit8305dc11a61b732984b4bf2a2f8c8f48af84630e (patch)
tree9f605e327b60ab79111ae7c25bec938ed2261a0b /crawl-ref/source/tilereg-crt.cc
parentedacdc0db313c0f5385631dfcf560f1fdf8e7c8a (diff)
downloadcrawl-ref-8305dc11a61b732984b4bf2a2f8c8f48af84630e.tar.gz
crawl-ref-8305dc11a61b732984b4bf2a2f8c8f48af84630e.zip
Split tilereg.h/cc into multiple files.
No functional changes, just rearranging and exposing functions where needed.
Diffstat (limited to 'crawl-ref/source/tilereg-crt.cc')
-rw-r--r--crawl-ref/source/tilereg-crt.cc90
1 files changed, 90 insertions, 0 deletions
diff --git a/crawl-ref/source/tilereg-crt.cc b/crawl-ref/source/tilereg-crt.cc
new file mode 100644
index 0000000000..1a3d087548
--- /dev/null
+++ b/crawl-ref/source/tilereg-crt.cc
@@ -0,0 +1,90 @@
+/*
+ * File: tilereg-crt.cc
+ *
+ * Created by: ennewalker on Sat Jan 5 01:33:53 2008 UTC
+ */
+
+#include "AppHdr.h"
+
+#ifdef USE_TILE
+
+#include "cio.h"
+#include "menu.h"
+#include "options.h"
+#include "tilefont.h"
+#include "tilereg-crt.h"
+#include "viewgeom.h"
+
+CRTRegion::CRTRegion(FontWrapper *font) : TextRegion(font), m_attached_menu(NULL)
+{
+
+}
+
+CRTRegion::~CRTRegion()
+{
+ clear();
+}
+
+int CRTRegion::handle_mouse(MouseEvent &event)
+{
+ int ret_val = 0;
+ if (m_attached_menu == NULL)
+ {
+ if (event.event == MouseEvent::PRESS
+ && event.button == MouseEvent::LEFT)
+ {
+ ret_val = CK_MOUSE_CLICK;
+ }
+ }
+ else
+ {
+ ret_val = m_attached_menu->handle_mouse(event);
+ }
+ return ret_val;
+}
+
+void CRTRegion::on_resize()
+{
+ TextRegion::on_resize();
+ crawl_view.termsz.x = mx;
+ crawl_view.termsz.y = my;
+
+ // Todo: resize attached menu
+}
+
+void CRTRegion::clear()
+{
+ // clear all the texts
+ TextRegion::clear();
+ detach_menu();
+}
+
+void CRTRegion::render()
+{
+ set_transform();
+
+ // render all the inherited texts
+ TextRegion::render();
+
+ // render the attached menu if it exists
+ if (m_attached_menu != NULL)
+ {
+ m_attached_menu->draw_menu();
+ }
+}
+
+void CRTRegion::attach_menu(PrecisionMenu* menu)
+{
+ detach_menu();
+
+ m_attached_menu = menu;
+}
+
+void CRTRegion::detach_menu()
+{
+ // Tiles has no rights over the menu, thus the user must delete it
+ // Via other means
+ m_attached_menu = NULL;
+}
+
+#endif