diff options
author | Kodexky <kodexky@gmail.com> | 2014-12-09 23:27:25 -0430 |
---|---|---|
committer | Craig Robbins <kde.psych@gmail.com> | 2014-12-30 00:30:28 +1000 |
commit | 62feade05da387cd6b230e7a0edf558c6fd7c099 (patch) | |
tree | 62e9e07c61ace66aace860d8f85eb9f0d010bea9 /src | |
parent | 4150e533b307fc2e00a298615a5bb0b4dfe3434b (diff) | |
download | minetest-62feade05da387cd6b230e7a0edf558c6fd7c099.tar.gz minetest-62feade05da387cd6b230e7a0edf558c6fd7c099.tar.bz2 minetest-62feade05da387cd6b230e7a0edf558c6fd7c099.zip |
Add extra buttons to Android GUI. All icons are licensed by freepik.com under CC BY 3.0
Diffstat (limited to 'src')
-rw-r--r-- | src/touchscreengui.cpp | 86 | ||||
-rw-r--r-- | src/touchscreengui.h | 9 |
2 files changed, 86 insertions, 9 deletions
diff --git a/src/touchscreengui.cpp b/src/touchscreengui.cpp index a04b7fe5e..1a5d42e9d 100644 --- a/src/touchscreengui.cpp +++ b/src/touchscreengui.cpp @@ -40,10 +40,17 @@ const char** touchgui_button_imagenames = (const char*[]) { "down_arrow.png", "left_arrow.png", "right_arrow.png", + "inventory_btn.png", + "drop_btn.png", "jump_btn.png", "down.png", - "inventory_btn.png", - "chat_btn.png" + "fly_btn.png", + "noclip_btn.png", + "fast_btn.png", + "debug_btn.png", + "chat_btn.png", + "camera_btn.png", + "rangeview_btn.png" }; static irr::EKEY_CODE id2keycode(touch_gui_button_id id) @@ -62,17 +69,38 @@ static irr::EKEY_CODE id2keycode(touch_gui_button_id id) case backward_id: key = "backward"; break; + case inventory_id: + key = "inventory"; + break; + case drop_id: + key = "drop"; + break; case jump_id: key = "jump"; break; - case inventory_id: - key = "inventory"; + case crunch_id: + key = "sneak"; + break; + case fly_id: + key = "freemove"; + break; + case noclip_id: + key = "noclip"; + break; + case fast_id: + key = "fastmove"; + break; + case debug_id: + key = "toggle_debug"; break; case chat_id: key = "chat"; break; - case crunch_id: - key = "sneak"; + case camera_id: + key = "camera_mode"; + break; + case range_id: + key = "rangeselect"; break; } assert(key != ""); @@ -186,6 +214,11 @@ void TouchScreenGUI::init(ISimpleTextureSource* tsrc, float density) rect<s32>(0, m_screensize.Y - (button_size/2), (button_size/2), m_screensize.Y), L"inv", true); + /* init drop button */ + initButton(drop_id, + rect<s32>(2.5*button_size, m_screensize.Y - (button_size/2), + 3*button_size, m_screensize.Y), L"drop", true); + /* init jump button */ initButton(jump_id, rect<s32>(m_screensize.X-(1.75*button_size), @@ -202,11 +235,48 @@ void TouchScreenGUI::init(ISimpleTextureSource* tsrc, float density) m_screensize.Y), L"H",false); + /* init fly button */ + initButton(fly_id, + rect<s32>(m_screensize.X - (0.75*button_size), + m_screensize.Y - (2.25*button_size), + m_screensize.X, m_screensize.Y - (button_size*1.5)), + L"fly", true); + + /* init noclip button */ + initButton(noclip_id, + rect<s32>(m_screensize.X - (0.75*button_size), 2.25*button_size, + m_screensize.X, 3*button_size), + L"clip", true); + + /* init fast button */ + initButton(fast_id, + rect<s32>(m_screensize.X - (0.75*button_size), 1.5*button_size, + m_screensize.X, 2.25*button_size), + L"fast", true); + + /* init debug button */ + initButton(debug_id, + rect<s32>(m_screensize.X - (0.75*button_size), 0.75*button_size, + m_screensize.X, 1.5*button_size), + L"dbg", true); + /* init chat button */ initButton(chat_id, - rect<s32>(m_screensize.X-(1.5*button_size), 0, - m_screensize.X, button_size), + rect<s32>(m_screensize.X - (0.75*button_size), 0, + m_screensize.X, 0.75*button_size), L"Chat", true); + + /* init camera button */ + initButton(camera_id, + rect<s32>(m_screensize.X - (1.5*button_size), 0, + m_screensize.X - (0.75*button_size), 0.75*button_size), + L"cam", true); + + /* init rangeselect button */ + initButton(range_id, + rect<s32>(m_screensize.X - (2.25*button_size), 0, + m_screensize.X - (1.5*button_size), 0.75*button_size), + L"far", true); } touch_gui_button_id TouchScreenGUI::getButtonID(s32 x, s32 y) diff --git a/src/touchscreengui.h b/src/touchscreengui.h index 8dc482034..4fe731513 100644 --- a/src/touchscreengui.h +++ b/src/touchscreengui.h @@ -38,10 +38,17 @@ typedef enum { backward_id, left_id, right_id, + inventory_id, + drop_id, jump_id, crunch_id, - inventory_id, + fly_id, + noclip_id, + fast_id, + debug_id, chat_id, + camera_id, + range_id, after_last_element_id } touch_gui_button_id; |