gui: keyboard: add HitTestKey method, minor simplifications
Change-Id: I6cd0251dd9d933e6ebef977a553be7473e2d7034
diff --git a/gui/objects.hpp b/gui/objects.hpp
index b5675d9..6eeefc2 100644
--- a/gui/objects.hpp
+++ b/gui/objects.hpp
@@ -844,17 +844,14 @@
virtual int SetRenderPos(int x, int y, int w = 0, int h = 0);
protected:
- virtual int GetSelection(int x, int y);
-
-protected:
- struct keyboard_key_class
+ struct Key
{
- unsigned char key;
+ unsigned char key; // ASCII code or one of the special KEYBOARD_* codes above
unsigned char longpresskey;
int end_x;
int layout;
};
- int ParseKey(const char* keyinfo, keyboard_key_class& key, int& Xindex, int keyWidth, bool longpress);
+ int ParseKey(const char* keyinfo, Key& key, int& Xindex, int keyWidth, bool longpress);
struct capslock_tracking_struct
{
int capslock;
@@ -862,8 +859,11 @@
int revert_layout;
};
+ // Find key at screen coordinates
+ Key* HitTestKey(int x, int y);
+
ImageResource* keyboardImg[MAX_KEYBOARD_LAYOUTS];
- struct keyboard_key_class keyboard_keys[MAX_KEYBOARD_LAYOUTS][MAX_KEYBOARD_ROWS][MAX_KEYBOARD_KEYS];
+ struct Key keyboard_keys[MAX_KEYBOARD_LAYOUTS][MAX_KEYBOARD_ROWS][MAX_KEYBOARD_KEYS];
struct capslock_tracking_struct caps_tracking[MAX_KEYBOARD_LAYOUTS];
bool mRendered;
std::string mVariable;