summaryrefslogtreecommitdiff
path: root/gui.cpp
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2011-04-18 19:35:48 +0200
committerJon Bergli Heier <snakebite@jvnv.net>2011-04-18 19:35:48 +0200
commit55e76bdaafa1e2a94fbd717335c1c7bd8c8fc156 (patch)
treecb9e0b4a9dd9f069098fead2f1b0fd0dd7311a62 /gui.cpp
parent0986cf8f33df8926dd8da67f98ed18f696141313 (diff)
Basic tool implementation.
Diffstat (limited to 'gui.cpp')
-rw-r--r--gui.cpp149
1 files changed, 54 insertions, 95 deletions
diff --git a/gui.cpp b/gui.cpp
index 8824237..72275c8 100644
--- a/gui.cpp
+++ b/gui.cpp
@@ -2,18 +2,21 @@
#include "video.h"
#include <boost/format.hpp>
+#include <RendererModules/OpenGL/CEGUIOpenGLRenderer.h>
using namespace CEGUI;
-GUI::GUI() {
+CEGUI::Window *GUI::root = NULL;
+void GUI::init() {
OpenGLRenderer::bootstrapSystem();
+
DefaultResourceProvider* rp = static_cast<DefaultResourceProvider*>
(System::getSingleton().getResourceProvider());
rp->setResourceGroupDirectory("schemes", "GUI/");
rp->setResourceGroupDirectory("imagesets", "GUI/");
rp->setResourceGroupDirectory("fonts", "fonts/");
- rp->setResourceGroupDirectory("layouts", "GUI/");
+ rp->setResourceGroupDirectory("layouts", "GUI/layouts/");
rp->setResourceGroupDirectory("looknfeels", "GUI/");
Imageset::setDefaultResourceGroup("imagesets");
@@ -33,112 +36,68 @@ GUI::GUI() {
root = wmgr.createWindow("DefaultWindow", "root");
System::getSingleton().setGUISheet(root);
+}
- wnd = static_cast<FrameWindow*>(wmgr.createWindow("Vanilla/FrameWindow", "foo"));
- root->addChildWindow(wnd);
-
- wnd->setPosition(UVector2(UDim(.25, 0), UDim(.25, 0)));
- wnd->setSize(UVector2(UDim(.5, 0), UDim(.5, 0)));
- wnd->setText("foobar");
-
- btn = static_cast<PushButton*>(wmgr.createWindow("Vanilla/Button", "button"));
- wnd->addChildWindow(btn);
-
- btn->setPosition(UVector2(UDim(0, 0), UDim(.9, 0)));
- btn->setSize(UVector2(UDim(.3, 0), UDim(.1, 0)));
- btn->setText("buttan");
-
- /* radius */
- radius_lbl = wmgr.createWindow("Vanilla/StaticText", "radius_lbl");
- wnd->addChildWindow(radius_lbl);
-
- radius_lbl->setPosition(UVector2(UDim(0, 0), UDim(0, 0)));
- radius_lbl->setSize(UVector2(UDim(.2, 0), UDim(.1, 0)));
- radius_lbl->setText("Radius");
-
- radius_sb = static_cast<Scrollbar*>(wmgr.createWindow("Vanilla/HorizontalScrollbar", "radius_sb"));
- wnd->addChildWindow(radius_sb);
-
- radius_sb->setPosition(UVector2(UDim(.2, 0), UDim(0, 0)));
- radius_sb->setSize(UVector2(UDim(.65, 0), UDim(.1, 0)));
- radius_sb->setDocumentSize(50.0);
-
- radius_sb_lbl = wmgr.createWindow("Vanilla/StaticText", "radius_sb_lbl");
- wnd->addChildWindow(radius_sb_lbl);
-
- radius_sb_lbl->setPosition(UVector2(UDim(.85, 0), UDim(0, 0)));
- radius_sb_lbl->setSize(UVector2(UDim(.15, 0), UDim(.1, 0)));
-
- /* focus */
- focus_lbl = wmgr.createWindow("Vanilla/StaticText", "focus_lbl");
- wnd->addChildWindow(focus_lbl);
-
- focus_lbl->setPosition(UVector2(UDim(0, 0), UDim(.1, 0)));
- focus_lbl->setSize(UVector2(UDim(.2, 0), UDim(.1, 0)));
- focus_lbl->setText("Focus");
-
- focus_sb = static_cast<Scrollbar*>(wmgr.createWindow("Vanilla/HorizontalScrollbar", "focus_sb"));
- wnd->addChildWindow(focus_sb);
-
- focus_sb->setPosition(UVector2(UDim(.2, 0), UDim(.1, 0)));
- focus_sb->setSize(UVector2(UDim(.65, 0), UDim(.1, 0)));
- focus_sb->setDocumentSize(2.0);
- focus_sb->setStepSize(.1);
-
- focus_sb_lbl = wmgr.createWindow("Vanilla/StaticText", "focus_sb_lbl");
- wnd->addChildWindow(focus_sb_lbl);
-
- focus_sb_lbl->setPosition(UVector2(UDim(.85, 0), UDim(.1, 0)));
- focus_sb_lbl->setSize(UVector2(UDim(.15, 0), UDim(.1, 0)));
-
- /* strength */
- strength_lbl = wmgr.createWindow("Vanilla/StaticText", "strength_lbl");
- wnd->addChildWindow(strength_lbl);
+void GUI::render() {
+ /* Disable depth testing to avoid cursor bugginess. */
+ glDisable(GL_DEPTH_TEST);
+ System::getSingleton().renderGUI();
+ glEnable(GL_DEPTH_TEST);
+}
- strength_lbl->setPosition(UVector2(UDim(0, 0), UDim(.2, 0)));
- strength_lbl->setSize(UVector2(UDim(.2, 0), UDim(.1, 0)));
- strength_lbl->setText("Strength");
+/* RaiseWindow */
- strength_sb = static_cast<Scrollbar*>(wmgr.createWindow("Vanilla/HorizontalScrollbar", "strength_sb"));
- wnd->addChildWindow(strength_sb);
+/* default values */
+float RaiseWindow::radius = 5;
+float RaiseWindow::focus = .8;
+float RaiseWindow::strength = .3;
- strength_sb->setPosition(UVector2(UDim(.2, 0), UDim(.2, 0)));
- strength_sb->setSize(UVector2(UDim(.65, 0), UDim(.1, 0)));
- strength_sb->setDocumentSize(1.0);
- strength_sb->setStepSize(.1);
+RaiseWindow::RaiseWindow() {
+ WindowManager& wmgr(WindowManager::getSingleton());
- strength_sb_lbl = wmgr.createWindow("Vanilla/StaticText", "strength_sb_lbl");
- wnd->addChildWindow(strength_sb_lbl);
+ wnd = static_cast<FrameWindow*>(wmgr.loadWindowLayout("raisewnd.layout"));
+ root->addChildWindow(wnd);
- strength_sb_lbl->setPosition(UVector2(UDim(.85, 0), UDim(.2, 0)));
- strength_sb_lbl->setSize(UVector2(UDim(.15, 0), UDim(.1, 0)));
+ radius_sb = static_cast<Scrollbar*>(wmgr.getWindow("radius_sb"));
+ radius_sb_lbl = wmgr.getWindow("radius_sb_lbl");
+ focus_sb = static_cast<Scrollbar*>(wmgr.getWindow("focus_sb"));
+ focus_sb_lbl = wmgr.getWindow("focus_sb_lbl");
+ strength_sb = static_cast<Scrollbar*>(wmgr.getWindow("strength_sb"));
+ strength_sb_lbl = wmgr.getWindow("strength_sb_lbl");
+
+ /* load default/last used values */
+ radius_sb->setScrollPosition(radius);
+ focus_sb->setScrollPosition(focus);
+ strength_sb->setScrollPosition(strength);
}
-GUI::~GUI() {
- delete root;
- delete wnd;
- delete btn;
-
- delete radius_lbl;
- delete radius_sb;
- delete radius_sb_lbl;
-
- delete focus_lbl;
- delete focus_sb;
- delete focus_sb_lbl;
+RaiseWindow::~RaiseWindow() {
+ /* store current values */
+ radius = get_radius();
+ focus = get_focus();
+ strength = get_strength();
- delete strength_lbl;
- delete strength_sb;
- delete strength_sb_lbl;
+ WindowManager& wmgr(WindowManager::getSingleton());
+ wmgr.destroyWindow(wnd);
+ wmgr.cleanDeadPool();
}
-void GUI::render() {
+void RaiseWindow::render() {
radius_sb_lbl->setText((boost::format("%.2f") % radius_sb->getScrollPosition()).str().c_str());
focus_sb_lbl->setText((boost::format("%.2f") % focus_sb->getScrollPosition()).str().c_str());
strength_sb_lbl->setText((boost::format("%.2f") % strength_sb->getScrollPosition()).str().c_str());
- /* Disable depth testing to avoid cursor bugginess. */
- glDisable(GL_DEPTH_TEST);
- System::getSingleton().renderGUI();
- glEnable(GL_DEPTH_TEST);
+ GUI::render();
+}
+
+float RaiseWindow::get_radius() {
+ return radius_sb->getScrollPosition();
+}
+
+float RaiseWindow::get_focus() {
+ return focus_sb->getScrollPosition();
+}
+
+float RaiseWindow::get_strength() {
+ return strength_sb->getScrollPosition();
}