From 155607f1886a8b39bb4d53444df6e9c1aef90e20 Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Fri, 22 Apr 2016 14:53:43 +0300 Subject: [PATCH] implement #245 - TOUCH_MODE flag; true for Android --- src/dlangui/platforms/android/androidapp.d | 2 ++ src/dlangui/widgets/widget.d | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/dlangui/platforms/android/androidapp.d b/src/dlangui/platforms/android/androidapp.d index d0e0f538..20be9955 100644 --- a/src/dlangui/platforms/android/androidapp.d +++ b/src/dlangui/platforms/android/androidapp.d @@ -7,6 +7,7 @@ import core.stdc.string : memset; import dlangui.core.logger; import dlangui.widgets.styles; +import dlangui.widgets.widget; import dlangui.graphics.drawbuf; import dlangui.graphics.gldrawbuf; import dlangui.graphics.glsupport; @@ -650,6 +651,7 @@ extern (C) void android_main(android_app* state) { } initResourceManagers(); SCREEN_DPI = getDensityDpi(state); + TOUCH_MODE = true; Log.i("SCREEN_DPI=", SCREEN_DPI); //currentTheme = createDefaultTheme(); diff --git a/src/dlangui/widgets/widget.d b/src/dlangui/widgets/widget.d index 60150adc..2568d802 100644 --- a/src/dlangui/widgets/widget.d +++ b/src/dlangui/widgets/widget.d @@ -177,7 +177,7 @@ protected: public: /// mouse movement processing flag (when true, widget will change Hover state while mouse is moving) - @property bool trackHover() const { return _trackHover; } + @property bool trackHover() const { return _trackHover && !TOUCH_MODE; } /// set new trackHover flag value (when true, widget will change Hover state while mouse is moving) @property Widget trackHover(bool v) { _trackHover = v; return this; } @@ -1212,7 +1212,8 @@ public: if (event.action == MouseAction.Move) { if (!(state & State.Hovered)) { debug(mouse) Log.d("Hover ", id); - setState(State.Hovered); + if (!TOUCH_MODE) + setState(State.Hovered); } return true; } @@ -1820,3 +1821,4 @@ string generatePropertySettersMethodOverride(string methodName, string typeName, } +__gshared bool TOUCH_MODE = false;