diff --git a/3rdparty/DerelictFI/DerelictFI.dproj b/3rdparty/DerelictFI/DerelictFI.dproj
new file mode 100644
index 00000000..c512ac7f
--- /dev/null
+++ b/3rdparty/DerelictFI/DerelictFI.dproj
@@ -0,0 +1,67 @@
+
+
+
+ Debug
+ AnyCPU
+ 10.0.0
+ 2.0
+ {ED644EF9-A446-4987-873F-B7F3CC28E3B7}
+ true
+ true
+ DMD2
+ true
+
+
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}
+
+
+
+
+ ../../../DerelictUtil/source
+
+
+
+
+ true
+ bin\Debug
+ obj/Debug
+ false
+ false
+ DerelictFI
+ StaticLibrary
+ true
+ 0
+
+
+ bin\Release
+ obj/Release
+ false
+ false
+ DerelictFI
+ Executable
+ true
+ 0
+
+
+ true
+ bin\Unittest
+ obj/Unittest
+ false
+ true
+ DerelictFI
+ Executable
+ true
+ 0
+
+
+
+ freeimage.d
+
+
+ functions.d
+
+
+ types.d
+
+
+
\ No newline at end of file
diff --git a/3rdparty/DerelictFT/DerelictFT.dproj b/3rdparty/DerelictFT/DerelictFT.dproj
new file mode 100644
index 00000000..b2665d4c
--- /dev/null
+++ b/3rdparty/DerelictFT/DerelictFT.dproj
@@ -0,0 +1,67 @@
+
+
+
+ Debug
+ AnyCPU
+ 10.0.0
+ 2.0
+ {2B088613-C536-4E5C-8B74-7913267D75DA}
+ true
+ true
+ DMD2
+ true
+
+
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}
+
+
+
+
+ ../../../DerelictUtil/source
+
+
+
+
+ true
+ bin\Debug
+ obj/Debug
+ false
+ false
+ DerelictFT
+ StaticLibrary
+ true
+ 0
+
+
+ bin\Release
+ obj/Release
+ false
+ false
+ DerelictFT
+ Executable
+ true
+ 0
+
+
+ true
+ bin\Unittest
+ obj/Unittest
+ false
+ true
+ DerelictFT
+ Executable
+ true
+ 0
+
+
+
+ ft.d
+
+
+ functions.d
+
+
+ types.d
+
+
+
\ No newline at end of file
diff --git a/3rdparty/DerelictGL3/DerelictGL3.dproj b/3rdparty/DerelictGL3/DerelictGL3.dproj
new file mode 100644
index 00000000..1e627435
--- /dev/null
+++ b/3rdparty/DerelictGL3/DerelictGL3.dproj
@@ -0,0 +1,103 @@
+
+
+
+ Debug
+ AnyCPU
+ 10.0.0
+ 2.0
+ {5355CB25-5AA9-4738-9A0F-C0673DBBCB07}
+ true
+ true
+ DMD2
+ true
+
+
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}
+
+
+
+
+ ../../../DerelictUtil/source
+
+
+
+
+ true
+ bin\Debug
+ obj/Debug
+ false
+ false
+ DerelictGL3
+ StaticLibrary
+ true
+ 0
+
+
+ bin\Release
+ obj/Release
+ false
+ false
+ DerelictGL3
+ Executable
+ true
+ 0
+
+
+ true
+ bin\Unittest
+ obj/Unittest
+ false
+ true
+ DerelictGL3
+ Executable
+ true
+ 0
+
+
+
+ arb.d
+
+
+ cgl.d
+
+
+ constants.d
+
+
+ deprecatedConstants.d
+
+
+ deprecatedFunctions.d
+
+
+ ext.d
+
+
+ functions.d
+
+
+ gl.d
+
+
+ gl3.d
+
+
+ glx.d
+
+
+ glxext.d
+
+
+ internal.d
+
+
+ types.d
+
+
+ wgl.d
+
+
+ wglext.d
+
+
+
\ No newline at end of file
diff --git a/3rdparty/DerelictSDL2/DerelictSDL2.dproj b/3rdparty/DerelictSDL2/DerelictSDL2.dproj
new file mode 100644
index 00000000..e37479b6
--- /dev/null
+++ b/3rdparty/DerelictSDL2/DerelictSDL2.dproj
@@ -0,0 +1,79 @@
+
+
+
+ Debug
+ AnyCPU
+ 10.0.0
+ 2.0
+ {87EE4E19-2409-4441-A0C0-2E6D08C555D9}
+ true
+ true
+ DMD2
+ true
+
+
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}
+
+
+
+
+ ../../../DerelictUtil/source
+
+
+
+
+ true
+ bin\Debug
+ obj/Debug
+ false
+ false
+ DerelictSDL2
+ StaticLibrary
+ true
+ 0
+
+
+ bin\Release
+ obj/Release
+ false
+ false
+ DerelictSDL2
+ Executable
+ true
+ 0
+
+
+ true
+ bin\Unittest
+ obj/Unittest
+ false
+ true
+ DerelictSDL2
+ Executable
+ true
+ 0
+
+
+
+ functions.d
+
+
+ image.d
+
+
+ mixer.d
+
+
+ net.d
+
+
+ sdl.d
+
+
+ ttf.d
+
+
+ types.d
+
+
+
\ No newline at end of file
diff --git a/3rdparty/DerelictUtil/DerelictUtil.dproj b/3rdparty/DerelictUtil/DerelictUtil.dproj
new file mode 100644
index 00000000..7e6fa74f
--- /dev/null
+++ b/3rdparty/DerelictUtil/DerelictUtil.dproj
@@ -0,0 +1,71 @@
+
+
+
+ Debug
+ AnyCPU
+ 10.0.0
+ 2.0
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}
+ true
+ true
+ DMD2
+ true
+
+
+ true
+ bin\Debug
+ obj/Debug
+ false
+ false
+ DerelictUtil
+ StaticLibrary
+ true
+ 0
+
+
+ dl
+
+
+
+
+ bin\Release
+ obj/Release
+ false
+ false
+ DerelictUtil
+ Executable
+ true
+ 0
+
+
+ true
+ bin\Unittest
+ obj/Unittest
+ false
+ true
+ DerelictUtil
+ Executable
+ true
+ 0
+
+
+
+ exception.d
+
+
+ loader.d
+
+
+ sharedlib.d
+
+
+ system.d
+
+
+ wintypes.d
+
+
+ xtypes.d
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 885a3fa3..b5b38e28 100644
--- a/README.md
+++ b/README.md
@@ -138,14 +138,23 @@ Linux builds
* TODO: entering of unicode characters not implemented
-To build dlangui apps, development packages for following libraries required:
+To build dlangui apps, development packages for following libraries required for XCB backend build:
xcb, xcb-util, xcb-shm, xcb-image, xcb-keysyms, X11-xcb, X11
+For SDL2 backend build:
+
+ libsdl2
+
E.g. in Ubuntu, you can use:
sudo apt-get install libxcb-image0-dev libxcb-shm0-dev libxcb-keysyms1-dev libfreeimage-dev
+or
+
+ sudo apt-get install libsdl2-dev
+
+
In runtime, .so for following libraries are being loaded (binary packages required):
freetype, opengl, freeimage
diff --git a/dlangui-monod-lib.dproj b/dlangui-monod-lib.dproj
new file mode 100644
index 00000000..de7587fb
--- /dev/null
+++ b/dlangui-monod-lib.dproj
@@ -0,0 +1,98 @@
+
+
+
+ Debug
+ AnyCPU
+ 10.0.0
+ 2.0
+ {84FCA922-7BD9-4B9E-A192-A52F0A830AF5}
+ true
+ true
+ DMD2
+ true
+
+
+ {ED644EF9-A446-4987-873F-B7F3CC28E3B7}
+ {2B088613-C536-4E5C-8B74-7913267D75DA}
+ {5355CB25-5AA9-4738-9A0F-C0673DBBCB07}
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}
+ {87EE4E19-2409-4441-A0C0-2E6D08C555D9}
+
+
+
+
+ ../DerelictUtil/source
+ ../DerelictFI/source
+ ../DerelictFT/source
+ ../DerelictSDL2/source
+ ../DerelictGL3/source
+
+
+
+
+ true
+ bin\Debug
+ obj/Debug
+ false
+ false
+ dlangui-monod-lib
+ StaticLibrary
+ true
+ 0
+
+
+ USE_SDL
+ USE_OPENGL
+
+
+
+
+ bin\Release
+ obj/Release
+ false
+ false
+ dlangui-monod-lib
+ Executable
+ true
+ 0
+
+
+ true
+ bin\Unittest
+ obj/Unittest
+ false
+ true
+ dlangui-monod-lib
+ Executable
+ true
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dlangui-monod.sln b/dlangui-monod.sln
new file mode 100644
index 00000000..ec4bbcdf
--- /dev/null
+++ b/dlangui-monod.sln
@@ -0,0 +1,71 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "dlangui-monod-lib", "dlangui-monod-lib.dproj", "{84FCA922-7BD9-4B9E-A192-A52F0A830AF5}"
+EndProject
+Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "DerelictFI", "3rdparty\DerelictFI\DerelictFI.dproj", "{ED644EF9-A446-4987-873F-B7F3CC28E3B7}"
+EndProject
+Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "DerelictFT", "3rdparty\DerelictFT\DerelictFT.dproj", "{2B088613-C536-4E5C-8B74-7913267D75DA}"
+EndProject
+Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "DerelictGL3", "3rdparty\DerelictGL3\DerelictGL3.dproj", "{5355CB25-5AA9-4738-9A0F-C0673DBBCB07}"
+EndProject
+Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "DerelictUtil", "3rdparty\DerelictUtil\DerelictUtil.dproj", "{0B737AB4-0C3B-4250-A133-3AD793E2D322}"
+EndProject
+Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "DerelictSDL2", "3rdparty\DerelictSDL2\DerelictSDL2.dproj", "{87EE4E19-2409-4441-A0C0-2E6D08C555D9}"
+EndProject
+Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "example1", "examples\example1\example1.dproj", "{11EEFA98-AAC1-45BD-8972-C97571D2D196}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ Unittest|Any CPU = Unittest|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}.Unittest|Any CPU.ActiveCfg = Unittest|Any CPU
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}.Unittest|Any CPU.Build.0 = Unittest|Any CPU
+ {11EEFA98-AAC1-45BD-8972-C97571D2D196}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {11EEFA98-AAC1-45BD-8972-C97571D2D196}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {11EEFA98-AAC1-45BD-8972-C97571D2D196}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {11EEFA98-AAC1-45BD-8972-C97571D2D196}.Release|Any CPU.Build.0 = Release|Any CPU
+ {11EEFA98-AAC1-45BD-8972-C97571D2D196}.Unittest|Any CPU.ActiveCfg = Unittest|Any CPU
+ {11EEFA98-AAC1-45BD-8972-C97571D2D196}.Unittest|Any CPU.Build.0 = Unittest|Any CPU
+ {2B088613-C536-4E5C-8B74-7913267D75DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2B088613-C536-4E5C-8B74-7913267D75DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2B088613-C536-4E5C-8B74-7913267D75DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2B088613-C536-4E5C-8B74-7913267D75DA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2B088613-C536-4E5C-8B74-7913267D75DA}.Unittest|Any CPU.ActiveCfg = Unittest|Any CPU
+ {2B088613-C536-4E5C-8B74-7913267D75DA}.Unittest|Any CPU.Build.0 = Unittest|Any CPU
+ {5355CB25-5AA9-4738-9A0F-C0673DBBCB07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5355CB25-5AA9-4738-9A0F-C0673DBBCB07}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5355CB25-5AA9-4738-9A0F-C0673DBBCB07}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5355CB25-5AA9-4738-9A0F-C0673DBBCB07}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5355CB25-5AA9-4738-9A0F-C0673DBBCB07}.Unittest|Any CPU.ActiveCfg = Unittest|Any CPU
+ {5355CB25-5AA9-4738-9A0F-C0673DBBCB07}.Unittest|Any CPU.Build.0 = Unittest|Any CPU
+ {84FCA922-7BD9-4B9E-A192-A52F0A830AF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {84FCA922-7BD9-4B9E-A192-A52F0A830AF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {84FCA922-7BD9-4B9E-A192-A52F0A830AF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {84FCA922-7BD9-4B9E-A192-A52F0A830AF5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {84FCA922-7BD9-4B9E-A192-A52F0A830AF5}.Unittest|Any CPU.ActiveCfg = Unittest|Any CPU
+ {84FCA922-7BD9-4B9E-A192-A52F0A830AF5}.Unittest|Any CPU.Build.0 = Unittest|Any CPU
+ {87EE4E19-2409-4441-A0C0-2E6D08C555D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {87EE4E19-2409-4441-A0C0-2E6D08C555D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {87EE4E19-2409-4441-A0C0-2E6D08C555D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {87EE4E19-2409-4441-A0C0-2E6D08C555D9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {87EE4E19-2409-4441-A0C0-2E6D08C555D9}.Unittest|Any CPU.ActiveCfg = Unittest|Any CPU
+ {87EE4E19-2409-4441-A0C0-2E6D08C555D9}.Unittest|Any CPU.Build.0 = Unittest|Any CPU
+ {ED644EF9-A446-4987-873F-B7F3CC28E3B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ED644EF9-A446-4987-873F-B7F3CC28E3B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ED644EF9-A446-4987-873F-B7F3CC28E3B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ED644EF9-A446-4987-873F-B7F3CC28E3B7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ED644EF9-A446-4987-873F-B7F3CC28E3B7}.Unittest|Any CPU.ActiveCfg = Unittest|Any CPU
+ {ED644EF9-A446-4987-873F-B7F3CC28E3B7}.Unittest|Any CPU.Build.0 = Unittest|Any CPU
+ EndGlobalSection
+ GlobalSection(MonoDevelopProperties) = preSolution
+ StartupItem = examples\example1\example1.dproj
+ EndGlobalSection
+EndGlobal
diff --git a/examples/example1/dub.json b/examples/example1/dub.json
index 696e28e6..038c583a 100644
--- a/examples/example1/dub.json
+++ b/examples/example1/dub.json
@@ -84,8 +84,6 @@
"libs-windows": ["dlanguilib", "phobos", "ole32", "kernel32", "user32", "comctl32", "comdlg32"],
- "libs-posix": ["xcb", "xcb-util", "xcb-shm", "xcb-image", "xcb-keysyms", "X11-xcb", "X11"],
-
"versions-windows": ["USE_OPENGL", "Unicode"],
"versions-posix": ["USE_OPENGL", "USE_SDL", "Unicode"],
diff --git a/examples/example1/example1.dproj b/examples/example1/example1.dproj
index b6e72654..43366f65 100644
--- a/examples/example1/example1.dproj
+++ b/examples/example1/example1.dproj
@@ -5,58 +5,57 @@
AnyCPU
10.0.0
2.0
- {440816C8-DBD6-454C-A0D7-B6E59CA1ED87}
+ {11EEFA98-AAC1-45BD-8972-C97571D2D196}
true
- true
true
+ DMD2
+ true
- {440816C8-DBD6-454C-A0D7-B6E59CA1ED86}
+ {84FCA922-7BD9-4B9E-A192-A52F0A830AF5}
+ {ED644EF9-A446-4987-873F-B7F3CC28E3B7}
+ {2B088613-C536-4E5C-8B74-7913267D75DA}
+ {5355CB25-5AA9-4738-9A0F-C0673DBBCB07}
+ {0B737AB4-0C3B-4250-A133-3AD793E2D322}
+ {87EE4E19-2409-4441-A0C0-2E6D08C555D9}
- DMD2
- /home/lve/src/d/dlangui/src
- /home/lve/src/d/DerelictGL3/source
- /home/lve/src/d/DerelictUtil/source
- /home/lve/src/d/DerelictFT/source
- /home/lve/src/d/dlangui/3rdparty/libpng/source
- /home/lve/src/d/dlangui/3rdparty/libpng/lib
+ ../../src
true
bin\Debug
- example1
obj/Debug
- true
- Executable
- false
false
+ false
+ example1
+ Executable
+ true
0
bin\Release
- dlanguilib
obj/Release
- true
- Executable
- false
false
+ false
+ example1
+ Executable
+ true
0
true
bin\Unittest
- -unittest
obj/Unittest
- dlanguilib
- true
- Executable
- false
false
+ true
+ example1
+ Executable
+ true
0