summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/graphics/gui/keyboard_icon.xml4
-rw-r--r--src/touchmanager.cpp27
-rw-r--r--src/touchmanager.h1
3 files changed, 26 insertions, 6 deletions
diff --git a/data/graphics/gui/keyboard_icon.xml b/data/graphics/gui/keyboard_icon.xml
index 5b84f50b2..4b157ef10 100644
--- a/data/graphics/gui/keyboard_icon.xml
+++ b/data/graphics/gui/keyboard_icon.xml
@@ -1,5 +1,9 @@
<skinset name="Default" image="window.png">
<widget type="Window">
+ <option name="padding" value="5" />
+ <option name="x" value="10" />
+ <option name="y" value="10" />
+
<part type="standart" xpos="168" ypos="220" width="28" height="28" />
</widget>
</skinset>
diff --git a/src/touchmanager.cpp b/src/touchmanager.cpp
index 0278b9ddb..c2fd1ff00 100644
--- a/src/touchmanager.cpp
+++ b/src/touchmanager.cpp
@@ -41,11 +41,28 @@ TouchManager::~TouchManager()
void TouchManager::init()
{
#ifdef ANDROID
- Image *image = Theme::getImageFromThemeXml("keyboard_icon.xml", "");
- TouchItem *keyboard = new TouchItem(gcn::Rectangle(10, 10,
- image->getWidth(), image->getHeight()), image, 10, 10,
- nullptr, nullptr, &showKeyboard);
- mObjects.push_back(keyboard);
+ Theme *theme = Theme::instance();
+ if (!theme)
+ return;
+ Skin *skin = theme->load("keyboard_icon.xml", "");
+ if (skin)
+ {
+ const ImageRect &images = skin->getBorder();
+ Image *image = images.grid[0];
+ if (image)
+ {
+ image->incRef();
+ const int x = skin->getOption("x", 10);
+ const int y = skin->getOption("y", 10);
+ const int pad = skin->getPadding();
+ const int pad2 = 2 * pad;
+ TouchItem *keyboard = new TouchItem(gcn::Rectangle(x, y,
+ image->getWidth() + pad2, image->getHeight() + pad2),
+ image, x + pad, y + pad, nullptr, nullptr, &showKeyboard);
+ mObjects.push_back(keyboard);
+ }
+ theme->unload(skin);
+ }
#endif
}
diff --git a/src/touchmanager.h b/src/touchmanager.h
index c37a1aeae..97d7d5625 100644
--- a/src/touchmanager.h
+++ b/src/touchmanager.h
@@ -82,7 +82,6 @@ class TouchManager final
private:
TouchItemVector mObjects;
-
// std::map <std::string, int> mNameToRect;
};