From 3d0805fc1fe5b629f14a5777ce5f6142c72d08e2 Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Fri, 6 Oct 2017 10:21:12 +0300 Subject: [PATCH] fix DSFML configuration build - close #472 --- .gitmodules | 3 + deps/DSFML | 1 + dlangui-msvc.visualdproj | 90 +++++++++++++++++++++++-- src/dlangui/core/config.d | 8 +-- src/dlangui/platforms/common/platform.d | 8 ++- src/dlangui/platforms/dsfml/dsfmlapp.d | 9 ++- 6 files changed, 106 insertions(+), 13 deletions(-) create mode 160000 deps/DSFML diff --git a/.gitmodules b/.gitmodules index 57fa66e1..699d82db 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,3 +16,6 @@ [submodule "deps/DerelictCocoa"] path = deps/DerelictCocoa url = https://github.com/p0nce/DerelictCocoa.git +[submodule "deps/DSFML"] + path = deps/DSFML + url = https://github.com/Jebbs/DSFML.git diff --git a/deps/DSFML b/deps/DSFML new file mode 160000 index 00000000..208ca646 --- /dev/null +++ b/deps/DSFML @@ -0,0 +1 @@ +Subproject commit 208ca646f2e762533fcb3227ce32effe49b1118e diff --git a/dlangui-msvc.visualdproj b/dlangui-msvc.visualdproj index d4f65926..37e6d5b9 100644 --- a/dlangui-msvc.visualdproj +++ b/dlangui-msvc.visualdproj @@ -73,7 +73,7 @@ 0 KeyInput 0 - EmbedStandardResources ForceLogs NO_OPENGL USE_FREETYPE + EmbedStandardResources ForceLogs USE_FREETYPE NO_OPENGL 0 0 0 @@ -279,7 +279,7 @@ 0 0 - EmbedStandardResources ForceLogs + EmbedStandardResources ForceLogs NO_OPENGL USE_FREETYPE 0 0 0 @@ -317,7 +317,7 @@ 0 0 0 - 1 + 0 0 0 0 @@ -382,7 +382,7 @@ 0 KeyInput 0 - EmbedStandardResources ForceLogs NO_OPENGL USE_FREETYPE + EmbedStandardResources ForceLogs USE_FREETYPE NO_OPENGL 0 0 0 @@ -588,7 +588,7 @@ 0 0 - EmbedStandardResources ForceLogs + EmbedStandardResources ForceLogs NO_OPENGL USE_FREETYPE 0 0 0 @@ -878,6 +878,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/dlangui/core/config.d b/src/dlangui/core/config.d index c0c0c006..2d956d27 100644 --- a/src/dlangui/core/config.d +++ b/src/dlangui/core/config.d @@ -87,11 +87,11 @@ version(USE_CONSOLE) { enum BACKEND_CONSOLE = false; } else version (USE_DSFML) { // DSFML backend already selected using version identifier - version (USE_OPENGL) { + //version (USE_OPENGL) { enum ENABLE_OPENGL = true; - } else { - enum ENABLE_OPENGL = false; - } + //} else { + // enum ENABLE_OPENGL = false; + //} enum BACKEND_SDL = false; enum BACKEND_X11 = false; enum BACKEND_DSFML = true; diff --git a/src/dlangui/platforms/common/platform.d b/src/dlangui/platforms/common/platform.d index 0e66885d..6162cd13 100644 --- a/src/dlangui/platforms/common/platform.d +++ b/src/dlangui/platforms/common/platform.d @@ -373,7 +373,9 @@ class Window : CustomEventTarget { /// close window abstract void close(); /// returns parent window - abstract @property Window parentWindow(); + @property Window parentWindow() { + return null; + } protected WindowState _windowState = WindowState.normal; /// returns current window state @@ -1027,7 +1029,9 @@ class Window : CustomEventTarget { return _focusedWidget; } - abstract @property bool isActive(); + @property bool isActive() { + return true; + } /// window state change signal Signal!OnWindowActivityHandler windowActivityChanged; diff --git a/src/dlangui/platforms/dsfml/dsfmlapp.d b/src/dlangui/platforms/dsfml/dsfmlapp.d index 0b8fa870..dea420a3 100644 --- a/src/dlangui/platforms/dsfml/dsfmlapp.d +++ b/src/dlangui/platforms/dsfml/dsfmlapp.d @@ -378,12 +378,17 @@ class DSFMLPlatform : Platform { } /// retrieves text from clipboard (when mouseBuffer == true, use mouse selection clipboard - under linux) override dstring getClipboardText(bool mouseBuffer = false) { - // TODO: + // TODO: implement if necessary return ""d; } + /// check has clipboard text + override bool hasClipboardText(bool mouseBuffer = false) { + // TODO: implement if necessary + return false; + } /// sets text to clipboard (when mouseBuffer == true, use mouse selection clipboard - under linux) override void setClipboardText(dstring text, bool mouseBuffer = false) { - // TODO: + // TODO: implement if necessary } /// calls request layout for all windows