From 0707e358b29089bf419327bf034aff39c5f31001 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Fri, 29 Jul 2016 22:21:49 +0200 Subject: Added graphics settings menu. --- src/client/graphicssettingsmenu.h | 92 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 src/client/graphicssettingsmenu.h (limited to 'src/client/graphicssettingsmenu.h') diff --git a/src/client/graphicssettingsmenu.h b/src/client/graphicssettingsmenu.h new file mode 100644 index 0000000..b25215a --- /dev/null +++ b/src/client/graphicssettingsmenu.h @@ -0,0 +1,92 @@ +/* + client/graphicssettingsmenu.h + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_CLIENT_GRAPHICSSETTINGSMENU_H__ +#define __INCLUDED_CLIENT_GRAPHICSSETTINGSMENU_H__ + +#include "ui/window.h" + +namespace ui +{ + class Button; + class Checkbox; + class IconButton; + class Label; + class Slider; +} + +namespace client +{ + +/** + * @brief the audio settings menu + * */ +class GraphicsSettingsMenu : public ui::Window +{ +public: + /** + * @brief default constructor + * */ + GraphicsSettingsMenu(ui::Widget *parent = 0, const char *label = 0); + + /** + * @brief default destructor + * */ + virtual ~GraphicsSettingsMenu(); + + /** + * @brief show window + * */ + virtual void show(); + +protected: + /** + * @brief emit event handler + * */ + virtual bool on_emit(ui::Widget *sender, const ui::Widget::Event event, void *data); + + /** + * @brief resize event handler + * */ + virtual void resize(); + +private: + /** + * @brief refresh widget content + * */ + void refresh(); + + /** + * @brief apply changes + * */ + void apply(); + + ui::Label *_titlelabel; + ui::IconButton *_closebutton; + + ui::Widget *_frame; + + ui::Label *_optionslabel; + ui::Checkbox *_optionfullscreencheckbox; + ui::Checkbox *_optiongridcheckbox; + ui::Checkbox *_optionskycheckbox; + ui::Checkbox *_optionparticlescheckbox; + ui::Checkbox *_optionindicatorscheckbox; + + ui::Label *_debuglabel; + ui::Checkbox *_debugstatscheckbox; + ui::Checkbox *_debugwireframecheckbox; + ui::Checkbox *_debugkeypresscheckbox; + ui::Checkbox *_debugphysicscheckbox; + + ui::Button *_applybutton; + ui::Button *_resetbutton; +}; + +} + +#endif // __INCLUDED_CLIENT_GRAPHICSSETTINGSMENU_H__ + -- cgit v1.2.3