diff options
author | ShadowNinja <shadowninja@minetest.net> | 2017-06-03 14:55:10 -0400 |
---|---|---|
committer | ShadowNinja <shadowninja@minetest.net> | 2017-06-03 14:55:10 -0400 |
commit | caecdb681c428c1aab9c0f7eec2570c0460f995c (patch) | |
tree | e5115982ea59bbf2343ba9b35bc4a0cfbb56f407 /src/touchscreengui.h | |
parent | 81d56b94919dceb7b2e51d70b21a7ca22f852bd5 (diff) | |
parent | 80dc961d24e1964e25d57039ddb2ba639f9f4d22 (diff) | |
download | minetest-caecdb681c428c1aab9c0f7eec2570c0460f995c.tar.gz minetest-caecdb681c428c1aab9c0f7eec2570c0460f995c.tar.bz2 minetest-caecdb681c428c1aab9c0f7eec2570c0460f995c.zip |
Merge 0.4.16 into stable-0.4
Diffstat (limited to 'src/touchscreengui.h')
-rw-r--r-- | src/touchscreengui.h | 115 |
1 files changed, 59 insertions, 56 deletions
diff --git a/src/touchscreengui.h b/src/touchscreengui.h index 53fc6d683..f4f1766c9 100644 --- a/src/touchscreengui.h +++ b/src/touchscreengui.h @@ -19,15 +19,15 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef TOUCHSCREENGUI_HEADER #define TOUCHSCREENGUI_HEADER -#include <IGUIEnvironment.h> -#include <IGUIButton.h> #include <IEventReceiver.h> +#include <IGUIButton.h> +#include <IGUIEnvironment.h> -#include <vector> #include <map> +#include <vector> -#include "game.h" #include "client/tile.h" +#include "game.h" using namespace irr; using namespace irr::core; @@ -68,32 +68,32 @@ typedef enum { #define SETTINGS_BAR_Y_OFFSET 6.5 #define RARE_CONTROLS_BAR_Y_OFFSET 4 -extern const char** touchgui_button_imagenames; +extern const char **touchgui_button_imagenames; -struct button_info { - float repeatcounter; - float repeatdelay; - irr::EKEY_CODE keycode; +struct button_info +{ + float repeatcounter; + float repeatdelay; + irr::EKEY_CODE keycode; std::vector<int> ids; - IGUIButton* guibutton = NULL; - bool immediate_release; + IGUIButton *guibutton = NULL; + bool immediate_release; }; class AutoHideButtonBar { public: + AutoHideButtonBar(IrrlichtDevice *device, IEventReceiver *receiver); - AutoHideButtonBar( IrrlichtDevice *device, IEventReceiver* receiver ); - - void init(ISimpleTextureSource* tsrc, const char* starter_img, - int button_id, v2s32 UpperLeft, v2s32 LowerRight, - autohide_button_bar_dir dir, float timeout); + void init(ISimpleTextureSource *tsrc, const char *starter_img, int button_id, + v2s32 UpperLeft, v2s32 LowerRight, autohide_button_bar_dir dir, + float timeout); ~AutoHideButtonBar(); /* add button to be shown */ - void addButton(touch_gui_button_id id, const wchar_t* caption, - const char* btn_image); + void addButton(touch_gui_button_id id, const wchar_t *caption, + const char *btn_image); /* detect settings bar button events */ bool isButton(const SEvent &event); @@ -114,40 +114,41 @@ public: void show(); private: - ISimpleTextureSource* m_texturesource; - irr::video::IVideoDriver* m_driver; - IGUIEnvironment* m_guienv; - IEventReceiver* m_receiver; - v2u32 m_screensize; - button_info m_starter; - std::vector<button_info*> m_buttons; + ISimpleTextureSource *m_texturesource; + irr::video::IVideoDriver *m_driver; + IGUIEnvironment *m_guienv; + IEventReceiver *m_receiver; + v2u32 m_screensize; + button_info m_starter; + std::vector<button_info *> m_buttons; - v2s32 m_upper_left; - v2s32 m_lower_right; + v2s32 m_upper_left; + v2s32 m_lower_right; /* show settings bar */ - bool m_active; + bool m_active; - bool m_visible; + bool m_visible; /* settings bar timeout */ - float m_timeout; - float m_timeout_value; - bool m_initialized; - autohide_button_bar_dir m_dir; + float m_timeout; + float m_timeout_value; + bool m_initialized; + autohide_button_bar_dir m_dir; }; class TouchScreenGUI { public: - TouchScreenGUI(IrrlichtDevice *device, IEventReceiver* receiver); + TouchScreenGUI(IrrlichtDevice *device, IEventReceiver *receiver); ~TouchScreenGUI(); void translateEvent(const SEvent &event); - void init(ISimpleTextureSource* tsrc); + void init(ISimpleTextureSource *tsrc); - double getYawChange() { + double getYawChange() + { double res = m_camera_yaw_change; m_camera_yaw_change = 0; return res; @@ -166,28 +167,28 @@ public: void show(); private: - IrrlichtDevice* m_device; - IGUIEnvironment* m_guienv; - IEventReceiver* m_receiver; - ISimpleTextureSource* m_texturesource; - v2u32 m_screensize; - std::map<int,rect<s32> > m_hud_rects; - std::map<int,irr::EKEY_CODE> m_hud_ids; - bool m_visible; // is the gui visible + IrrlichtDevice *m_device; + IGUIEnvironment *m_guienv; + IEventReceiver *m_receiver; + ISimpleTextureSource *m_texturesource; + v2u32 m_screensize; + std::map<int, rect<s32> > m_hud_rects; + std::map<int, irr::EKEY_CODE> m_hud_ids; + bool m_visible; // is the gui visible /* value in degree */ - double m_camera_yaw_change; - double m_camera_pitch; + double m_camera_yaw_change; + double m_camera_pitch; - line3d<f32> m_shootline; + line3d<f32> m_shootline; - rect<s32> m_control_pad_rect; + rect<s32> m_control_pad_rect; - int m_move_id; - bool m_move_has_really_moved; - s32 m_move_downtime; - bool m_move_sent_as_mouse_event; - v2s32 m_move_downlocation; + int m_move_id; + bool m_move_has_really_moved; + s64 m_move_downtime; + bool m_move_sent_as_mouse_event; + v2s32 m_move_downlocation; button_info m_buttons[after_last_element_id]; @@ -206,9 +207,10 @@ private: float repeat_delay = BUTTON_REPEAT_DELAY); /* load texture */ - void loadButtonTexture(button_info* btn, const char* path, rect<s32> button_rect); + void loadButtonTexture(button_info *btn, const char *path, rect<s32> button_rect); - struct id_status{ + struct id_status + { int id; int X; int Y; @@ -236,7 +238,8 @@ private: int getGuiButtonSize(); /* doubleclick detection variables */ - struct key_event { + struct key_event + { unsigned int down_time; s32 x; s32 y; |