digitalmars.D.announce - DlangUI
- Vadim Lopatin (113/113) May 20 2014 Hello!
- w0rp (7/7) May 20 2014 Nice work. As a guy who has worked on trying to get bindings for
- Dylan Knutson (2/2) May 20 2014 Awesome! I can't wait to try it out. Some screenshots in the
- Kiith-Sa (5/123) May 20 2014 Awesome.
- Vadim Lopatin (4/8) May 20 2014 Both ways available.
- FrankLike (5/44) May 20 2014 Nice work.
- Vadim Lopatin (12/17) May 20 2014 :)
- Mathias LANG (7/10) May 21 2014 You might want to store them in the "gh-pages" branch
- Vadim Lopatin (4/14) May 22 2014 Thank you!
- Vadim Lopatin (2/2) May 22 2014 Some screenshots added:
- John (3/5) May 22 2014 That would be even more cool, with component palettes like in the
- Vadim Lopatin (2/8) May 22 2014 It could be a killer feature :)
- Chris (8/126) May 23 2014 Thanks a million! Please keep it up. Finally we get our own GUI.
- Mike James (15/120) Jun 05 2014 Hi Vadim,
- "Casper =?UTF-8?B?RsOmcmdlbWFuZCI=?= <shorttail hotmail.com> (10/16) Jun 05 2014 I didn't compile this, so take it with a grain of salt.
- Mike James (6/25) Jun 05 2014 Hi Casper,
- "Casper =?UTF-8?B?RsOmcmdlbWFuZCI=?= <shorttail hotmail.com> (8/10) Jun 05 2014 I managed to get the files from github just fine, but dub says it
- Vadim Lopatin (9/19) Jun 11 2014 libpng is not needed anymore.
- Vadim Lopatin (47/55) Jun 11 2014 Search log file examples/example1/ui.log for lines like
- Vadim Lopatin (2/2) Jun 11 2014 Project Update:
- Jim Hewes (3/3) Jun 14 2014 Very nice, thanks. I'm looking forward to trying it out when I can find
- Gan (4/7) Jan 27 2015 This is looks fantastic. I tried the demo but I get an error:
- Vadim Lopatin (11/19) Jan 27 2015 Never tried it on mac.
- John Colvin (5/26) Jan 28 2015 All the projects in examples/ crash on OS X in functions relating
- Vadim Lopatin (4/32) Jan 28 2015 Could you please share file list of /Library/Fonts/ and
- John Colvin (199/235) Jan 28 2015 ls /Library/Fonts/ /System/Library/Fonts/
- John Colvin (293/333) Jan 28 2015 Apologies for the previous mess, this is what I have on 10.10:
- Vadim Lopatin (9/12) Jan 28 2015 ...
- John Colvin (5/18) Jan 28 2015 tetris and helloworld now work. example1 fails to build:
- Vadim Lopatin (3/24) Jan 28 2015 Checked on latest version from git - example1 works for me.
- John Colvin (8/34) Jan 28 2015 All working for me now.
- Vadim Lopatin (4/39) Jan 28 2015 Resizers in example1 are just for testing of mouse cursor change
- Vadim Lopatin (16/51) Jan 31 2015 I've added Gamma setting for font rendering. Now text looks
- John Colvin (9/12) Jan 28 2015 That works OK.
- Vadim Lopatin (9/21) Jan 28 2015 Is graphics scaled too? If so, it's due to scaling.
- John Colvin (4/20) Jan 29 2015 An example of what I see (with up-to-date git HEAD)
- Vadim Lopatin (6/27) Jan 29 2015 I see no additional blur comparing with other platforms.
- Kapps (4/33) Feb 24 2015 From what I can tell, it seems to be that it's using X11 for
- Kapps (3/23) Feb 24 2015 XQuartz Bug Report: http://xquartz.macosforge.org/trac/ticket/661
- Vadim Lopatin (4/7) Feb 24 2015 DlangUI just uses libsdl.
- Suliman (4/4) Feb 25 2015 Maybe it would be better to support yaml config instead of json?
- Chris (3/7) Feb 25 2015 Just tested your Tetris example. Very good. I really hope the IDE
- Dicebot (3/7) Feb 25 2015 dub will switch to sdl, not yaml (actually not switch but support
- Jonas Drewsen (7/14) Apr 10 2015 Which actually is kind of sad for those who is integrating with
- Dylan Allbee (9/9) Jan 27 2015 Was pleasantly surprised to see that it worked without having to
- ketmar (3/14) Jan 28 2015 as gdc will soon get official 2.066 upgrade, i believe that DlangUI will...
- Vadim Lopatin (2/5) Jan 28 2015 At least it builds with ldc2
- Vadim Lopatin (10/19) Jan 28 2015 Look & feel can be customized with themes.
- ketmar (6/12) Jan 28 2015 it already does, it's just not publicly released yet, as Johannes wants=...
- Mike James (45/45) Feb 02 2015 Hi Vadim,
- Vadim Lopatin (15/60) Feb 02 2015 Hello,
- Vadim Lopatin (9/19) Feb 24 2015 WARNING! Breaking change in dlangui!
- Meta (5/26) Feb 24 2015 This seems to have broken building DlangIDE for me. After
- Vadim Lopatin (3/36) Feb 24 2015 Upgrade dependencies:
- Meta (3/5) Feb 25 2015 Ah yes, that does it. Thank you.
- Vadim Lopatin (13/25) Mar 23 2015 Project Update:
- Vadim Lopatin (4/29) Mar 25 2015 DlangUI review and small tutorial is published on Habrahabr -
- Jean pierre (3/34) Mar 25 2015 It does not looks like something with a `soul`. It looks like a
- Jean pierre (3/40) Mar 25 2015 And i tell you something, mr Lopatin, people often like more the
- ketmar (4/14) Mar 25 2015 hm. Vadim is the author of DlangUI. and he wrote the article about it,=2...
-
Mike James
(25/27)
Mar 26 2015
- Vadim Lopatin (2/31) Mar 26 2015 Try `dub upgrade --force-remove` followed by `dub build --force`
- Mike James (3/43) Mar 26 2015 Thanks Vadim, That did the trick.
- Chris (3/4) Mar 26 2015 For the love of God, please put this on the github page under
- Vadim Lopatin (11/16) Mar 27 2015 Ok. Added following notice to README (you can see it on project
- Vadim Lopatin (6/35) Apr 12 2015 Did you try upgrade dependencies?
- tired_eyes (3/3) Apr 13 2015 Hi Vadim, I just want to say that your work is awesome and very
- John Colvin (3/121) Apr 13 2015 Is there any way I can debug a unittest build? "Start Debugging"
- Vadim Lopatin (4/151) Apr 13 2015 Are asking about DlangIDE?
- John Colvin (2/155) Apr 13 2015 Sorry, yes wrong thread. OK, thanks for the explanation
- Vadim Lopatin (8/13) Apr 14 2015 I've added first DlangUI tutorial on DlangUI Wiki:
- igor_p (87/87) Apr 15 2015 Great work!!
- igor_p (61/61) Apr 15 2015 after upgrade
- igor_p (1/1) Apr 15 2015 BTW, if I remove USE_OPENGL works fine :)
- karabuta (2/16) Dec 16 2015 Maybe tutorial on Menus, tabs, list view, and a little excell app
- Vadim Lopatin (6/9) Dec 17 2015 I started to work on Spreadsheet (Excel like app) example
- Vadim Lopatin (7/12) May 06 2015 Project Update:
- Suliman (6/6) Dec 16 2015 Is it's possible to use some native frontend with dlangui instead
- Vadim Lopatin (9/15) Dec 17 2015 OpenGL is just hardware acceleration for drawing. Resulting
- John Colvin (5/16) Dec 17 2015 In general I don't care about that sort of thing, but there is
- Vadim Lopatin (4/12) Dec 17 2015 Completely agree.
- Suliman (6/20) Dec 18 2015 Would it be possible to add native menu for Windows? I think all
- Vadim Lopatin (6/18) Dec 18 2015 I see no point in implementing native Windows menus.
- Xavier Bigand (8/21) Dec 20 2015 Having a GUI library fully compatible with QML request property binding
- Vadim Lopatin (15/21) Jan 14 2016 OpenGLDrawable is implemented - allows to use custom OpenGL
Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented. Actually, it's a port (with major redesign) of my library used for cross-platform version of my application CoolReader from C++. State of project: alpha. But, already can be used for simple 2D games and simple GUI apps. I'm keeping in mind a goal to write D language IDE based on dlangui. :) Adding support of 3D graphics is planned. Currently implemented widgets: TextWidget - simple static text (TODO: implement multiline formatting) ImageWidget - static image Button - simple button with text label ImageButton - image only button TextImageButton - button with icon and label CheckBox - check button with label RadioButton - radio button with label EditLine - single line edit EditBox - multiline editor VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts ScrollBar - scroll bar TabControl - tabs widget, allows to select one of tabs TabHost - container for pages controlled by TabControl TabWidget - combination of TabControl and TabHost Layouts - Similar to layouts in Android LinearLayout - layout children horizontally or vertically depending on orientation VerticalLayout - just a LinearLayout with vertical orientation HorizontalLayout - just a LinearLayout with vertical orientation FrameLayout - all children occupy the same place; usually onle one of them is visible TableLayout - children are aligned into rows and columns of table List Views - similar to lists in Android UI API. ListWidget - layout dynamic items horizontally or vertically (one in row/column) with automatic scrollbar; can reuse widgets for similar items ListAdapter - interface to provide data and widgets for ListWidget WidgetListAdapter - simple implementation of ListAdapter interface - just a list of widgets (one per list item) to show Sample project, example1 contains demo code for most of dlangui API. Try it using DUB: git clone https://github.com/buggins/dlangui.git cd dlangui dub run dlangui:example1 Fonts note: on Linux, several .TTFs are loaded from hardcoded paths (suitable for Ubuntu). TODO: add fontconfig support to access all available system fonts. Helloworld: // main.d import dlangui.all; mixin DLANGUI_ENTRY_POINT; /// entry point for dlangui based application extern (C) int UIAppMain(string[] args) { // resource directory search paths string[] resourceDirs = [ appendPath(exePath, "../res/"), // for Visual D and DUB builds appendPath(exePath, "../../res/") // for Mono-D builds ]; // setup resource directories - will use only existing directories Platform.instance.resourceDirs = resourceDirs; // select translation file - for english language Platform.instance.uiLanguage = "en"; // load theme from file "theme_default.xml" Platform.instance.uiTheme = "theme_default"; // create window Window window = Platform.instance.createWindow("My Window", null); // create some widget to show in window window.mainWidget = (new Button()).text("Hello world"d).textColor(0xFF0000); // red text // show window window.show(); // run message loop return Platform.instance.enterMessageLoop(); } DDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code. I would be glad to see any feedback. Can this project be useful for someone? What features/widgets are must have for you? Best regards, Vadim <coolreader.org gmail.com>
May 20 2014
Nice work. As a guy who has worked on trying to get bindings for existing GUI libraries to work and noting all of the issues, I appreciate any effort in writing native libraries. The way I see it, wrapper libraries might possibly be as good as using the libraries from the native language some day, but they will never be better. Native D GUI libraries hold more potential for the future.
May 20 2014
Awesome! I can't wait to try it out. Some screenshots in the README would be much appreciated, though
May 20 2014
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented. Actually, it's a port (with major redesign) of my library used for cross-platform version of my application CoolReader from C++. State of project: alpha. But, already can be used for simple 2D games and simple GUI apps. I'm keeping in mind a goal to write D language IDE based on dlangui. :) Adding support of 3D graphics is planned. Currently implemented widgets: TextWidget - simple static text (TODO: implement multiline formatting) ImageWidget - static image Button - simple button with text label ImageButton - image only button TextImageButton - button with icon and label CheckBox - check button with label RadioButton - radio button with label EditLine - single line edit EditBox - multiline editor VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts ScrollBar - scroll bar TabControl - tabs widget, allows to select one of tabs TabHost - container for pages controlled by TabControl TabWidget - combination of TabControl and TabHost Layouts - Similar to layouts in Android LinearLayout - layout children horizontally or vertically depending on orientation VerticalLayout - just a LinearLayout with vertical orientation HorizontalLayout - just a LinearLayout with vertical orientation FrameLayout - all children occupy the same place; usually onle one of them is visible TableLayout - children are aligned into rows and columns of table List Views - similar to lists in Android UI API. ListWidget - layout dynamic items horizontally or vertically (one in row/column) with automatic scrollbar; can reuse widgets for similar items ListAdapter - interface to provide data and widgets for ListWidget WidgetListAdapter - simple implementation of ListAdapter interface - just a list of widgets (one per list item) to show Sample project, example1 contains demo code for most of dlangui API. Try it using DUB: git clone https://github.com/buggins/dlangui.git cd dlangui dub run dlangui:example1 Fonts note: on Linux, several .TTFs are loaded from hardcoded paths (suitable for Ubuntu). TODO: add fontconfig support to access all available system fonts. Helloworld: // main.d import dlangui.all; mixin DLANGUI_ENTRY_POINT; /// entry point for dlangui based application extern (C) int UIAppMain(string[] args) { // resource directory search paths string[] resourceDirs = [ appendPath(exePath, "../res/"), // for Visual D and DUB builds appendPath(exePath, "../../res/") // for Mono-D builds ]; // setup resource directories - will use only existing directories Platform.instance.resourceDirs = resourceDirs; // select translation file - for english language Platform.instance.uiLanguage = "en"; // load theme from file "theme_default.xml" Platform.instance.uiTheme = "theme_default"; // create window Window window = Platform.instance.createWindow("My Window", null); // create some widget to show in window window.mainWidget = (new Button()).text("Hello world"d).textColor(0xFF0000); // red text // show window window.show(); // run message loop return Platform.instance.enterMessageLoop(); } DDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code. I would be glad to see any feedback. Can this project be useful for someone? What features/widgets are must have for you? Best regards, Vadim <coolreader.org gmail.com>Awesome. Does this work like a conventional GUI toolkit (Gtk/Qt) or could I integrate this in an OpenGL game? (or would I have to integrate the game in it?)
May 20 2014
On Tuesday, 20 May 2014 at 20:06:12 UTC, Kiith-Sa wrote:Awesome. Does this work like a conventional GUI toolkit (Gtk/Qt) or could I integrate this in an OpenGL game? (or would I have to integrate the game in it?)Both ways available. But I think, it's better to integrate game into it. Otherwise you have to write more code.
May 20 2014
Helloworld: // main.d import dlangui.all; mixin DLANGUI_ENTRY_POINT; /// entry point for dlangui based application extern (C) int UIAppMain(string[] args) { // resource directory search paths string[] resourceDirs = [ appendPath(exePath, "../res/"), // for Visual D and DUB builds appendPath(exePath, "../../res/") // for Mono-D builds ]; // setup resource directories - will use only existing directories Platform.instance.resourceDirs = resourceDirs; // select translation file - for english language Platform.instance.uiLanguage = "en"; // load theme from file "theme_default.xml" Platform.instance.uiTheme = "theme_default"; // create window Window window = Platform.instance.createWindow("My Window", null); // create some widget to show in window window.mainWidget = (new Button()).text("Hello world"d).textColor(0xFF0000); // red text // show window window.show(); // run message loop return Platform.instance.enterMessageLoop(); } DDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code. I would be glad to see any feedback. Can this project be useful for someone? What features/widgets are must have for you? Best regards, Vadim <coolreader.org gmail.com>Nice work. Some days ago,I test the hello world ,it need 19M Memory Usage,but now,it's 31M,maybe have some error? Thank you. Nice work.
May 20 2014
On Tuesday, 20 May 2014 at 22:18:14 UTC, FrankLike wrote:Nice work. Some days ago,I test the hello world ,it need 19M Memory Usage,but now,it's 31M,maybe have some error? Thank you. Nice work.:) Not as bad as you expected. Tried win32 release build w/o USE_SDL and USE_OPENGL version constants (using win32 API only). helloworld.exe executable size 813k, memory 6.6M on start example1.exe executable size 847k, memory 6.7M on start As I see, memory consumption grows while app is working. Probably, extra GC allocations, or some resources leaking. Can be reduced a bit, e.g. by moving to libpng from libfreeimage. Main limitation here - app needs buffer for 32bit RGBA bitmap buffer to draw into.
May 20 2014
Nice to hear ! Will definitely try it out ! Regarding documentation, just some notes:DDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code.You might want to store them in the "gh-pages" branch (https://pages.github.com/). That will provide you a website where you can host your pages (as versioning them will soon be very impractical to anyone cloning your repository). Also, you may be interested by DDOX (dub --build=ddox).
May 21 2014
On Thursday, 22 May 2014 at 04:32:27 UTC, Mathias LANG wrote:Nice to hear ! Will definitely try it out ! Regarding documentation, just some notes:Thank you! Docs moved to gh-pages: http://buggins.github.io/dlangui/index.htmlDDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code.You might want to store them in the "gh-pages" branch (https://pages.github.com/). That will provide you a website where you can host your pages (as versioning them will soon be very impractical to anyone cloning your repository). Also, you may be interested by DDOX (dub --build=ddox).
May 22 2014
Some screenshots added: http://buggins.github.io/dlangui/screenshots.html
May 22 2014
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:I'm keeping in mind a goal to write D language IDE based on dlangui. :)That would be even more cool, with component palettes like in the Lazarus IDE for Free Pascal! :)
May 22 2014
On Thursday, 22 May 2014 at 14:51:07 UTC, John wrote:On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:It could be a killer feature :)I'm keeping in mind a goal to write D language IDE based on dlangui. :)That would be even more cool, with component palettes like in the Lazarus IDE for Free Pascal! :)
May 22 2014
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented. Actually, it's a port (with major redesign) of my library used for cross-platform version of my application CoolReader from C++. State of project: alpha. But, already can be used for simple 2D games and simple GUI apps. I'm keeping in mind a goal to write D language IDE based on dlangui. :) Adding support of 3D graphics is planned. Currently implemented widgets: TextWidget - simple static text (TODO: implement multiline formatting) ImageWidget - static image Button - simple button with text label ImageButton - image only button TextImageButton - button with icon and label CheckBox - check button with label RadioButton - radio button with label EditLine - single line edit EditBox - multiline editor VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts ScrollBar - scroll bar TabControl - tabs widget, allows to select one of tabs TabHost - container for pages controlled by TabControl TabWidget - combination of TabControl and TabHost Layouts - Similar to layouts in Android LinearLayout - layout children horizontally or vertically depending on orientation VerticalLayout - just a LinearLayout with vertical orientation HorizontalLayout - just a LinearLayout with vertical orientation FrameLayout - all children occupy the same place; usually onle one of them is visible TableLayout - children are aligned into rows and columns of table List Views - similar to lists in Android UI API. ListWidget - layout dynamic items horizontally or vertically (one in row/column) with automatic scrollbar; can reuse widgets for similar items ListAdapter - interface to provide data and widgets for ListWidget WidgetListAdapter - simple implementation of ListAdapter interface - just a list of widgets (one per list item) to show Sample project, example1 contains demo code for most of dlangui API. Try it using DUB: git clone https://github.com/buggins/dlangui.git cd dlangui dub run dlangui:example1 Fonts note: on Linux, several .TTFs are loaded from hardcoded paths (suitable for Ubuntu). TODO: add fontconfig support to access all available system fonts. Helloworld: // main.d import dlangui.all; mixin DLANGUI_ENTRY_POINT; /// entry point for dlangui based application extern (C) int UIAppMain(string[] args) { // resource directory search paths string[] resourceDirs = [ appendPath(exePath, "../res/"), // for Visual D and DUB builds appendPath(exePath, "../../res/") // for Mono-D builds ]; // setup resource directories - will use only existing directories Platform.instance.resourceDirs = resourceDirs; // select translation file - for english language Platform.instance.uiLanguage = "en"; // load theme from file "theme_default.xml" Platform.instance.uiTheme = "theme_default"; // create window Window window = Platform.instance.createWindow("My Window", null); // create some widget to show in window window.mainWidget = (new Button()).text("Hello world"d).textColor(0xFF0000); // red text // show window window.show(); // run message loop return Platform.instance.enterMessageLoop(); } DDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code. I would be glad to see any feedback. Can this project be useful for someone? What features/widgets are must have for you? Best regards, Vadim <coolreader.org gmail.com>Thanks a million! Please keep it up. Finally we get our own GUI. I've been dreaming of this for years. As has been mentioned before, bindings are only as good as the UI they bind to. With a native UI you can use the full power of the language itself. Talking about templates and stuff ... Are you planning to make it C(++) compatible so that non-D-people could use it too?
May 23 2014
"Vadim Lopatin" <coolreader.org gmail.com> wrote in message news:fylchhowgmwmqhkewavo forum.dlang.org...Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented. Actually, it's a port (with major redesign) of my library used for cross-platform version of my application CoolReader from C++. State of project: alpha. But, already can be used for simple 2D games and simple GUI apps. I'm keeping in mind a goal to write D language IDE based on dlangui. :) Adding support of 3D graphics is planned. Currently implemented widgets: TextWidget - simple static text (TODO: implement multiline formatting) ImageWidget - static image Button - simple button with text label ImageButton - image only button TextImageButton - button with icon and label CheckBox - check button with label RadioButton - radio button with label EditLine - single line edit EditBox - multiline editor VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts ScrollBar - scroll bar TabControl - tabs widget, allows to select one of tabs TabHost - container for pages controlled by TabControl TabWidget - combination of TabControl and TabHost Layouts - Similar to layouts in Android LinearLayout - layout children horizontally or vertically depending on orientation VerticalLayout - just a LinearLayout with vertical orientation HorizontalLayout - just a LinearLayout with vertical orientation FrameLayout - all children occupy the same place; usually onle one of them is visible TableLayout - children are aligned into rows and columns of table List Views - similar to lists in Android UI API. ListWidget - layout dynamic items horizontally or vertically (one in row/column) with automatic scrollbar; can reuse widgets for similar items ListAdapter - interface to provide data and widgets for ListWidget WidgetListAdapter - simple implementation of ListAdapter interface - just a list of widgets (one per list item) to show Sample project, example1 contains demo code for most of dlangui API. Try it using DUB: git clone https://github.com/buggins/dlangui.git cd dlangui dub run dlangui:example1 Fonts note: on Linux, several .TTFs are loaded from hardcoded paths (suitable for Ubuntu). TODO: add fontconfig support to access all available system fonts. Helloworld: // main.d import dlangui.all; mixin DLANGUI_ENTRY_POINT; /// entry point for dlangui based application extern (C) int UIAppMain(string[] args) { // resource directory search paths string[] resourceDirs = [ appendPath(exePath, "../res/"), // for Visual D and DUB builds appendPath(exePath, "../../res/") // for Mono-D builds ]; // setup resource directories - will use only existing directories Platform.instance.resourceDirs = resourceDirs; // select translation file - for english language Platform.instance.uiLanguage = "en"; // load theme from file "theme_default.xml" Platform.instance.uiTheme = "theme_default"; // create window Window window = Platform.instance.createWindow("My Window", null); // create some widget to show in window window.mainWidget = (new Button()).text("Hello world"d).textColor(0xFF0000); // red text // show window window.show(); // run message loop return Platform.instance.enterMessageLoop(); } DDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code. I would be glad to see any feedback. Can this project be useful for someone? What features/widgets are must have for you? Best regards, Vadim <coolreader.org gmail.com>Hi Vadim, I am evaluating GUIs for a project I have in mind and the DLangUI looks interesting... First problem: you need to add gl3n to the git clone list for developing under Visual-D. I am having problems running (debugging) the example1 program. When loading the resources it gets to tab_up_background.9.png (line 579 in file resources.d) and then fails with an exception: "Unhandled exception at 0x0044f932 in example1.exe: 0xC0000005: Access violation reading location 0x00000000." Do you have any clues as to what the problem could be? Regards, -=mike=-
Jun 05 2014
On Thursday, 5 June 2014 at 14:22:46 UTC, Mike James wrote:I am having problems running (debugging) the example1 program. When loading the resources it gets to tab_up_background.9.png (line 579 in file resources.d) and then fails with an exception: "Unhandled exception at 0x0044f932 in example1.exe: 0xC0000005: Access violation reading location 0x00000000." Do you have any clues as to what the problem could be?I didn't compile this, so take it with a grain of salt. Access violation reading 0x00000000 is a null pointer dereference. Looking at the source: _drawbuf = loadImage(_filename); if (_filename.endsWith(".9.png")) _drawbuf.detectNinePatch(); I'm making a wild guess that loadImage returns a null if it can't find the file. Dereferencing thus throws. You probably lack the image or it's in the wrong place.
Jun 05 2014
On Thursday, 5 June 2014 at 15:15:48 UTC, Casper Færgemand wrote:On Thursday, 5 June 2014 at 14:22:46 UTC, Mike James wrote:Hi Casper, I checked the sub-directory the loading refers to and all the pngs seems to be there. Regards, -=mike=-I am having problems running (debugging) the example1 program. When loading the resources it gets to tab_up_background.9.png (line 579 in file resources.d) and then fails with an exception: "Unhandled exception at 0x0044f932 in example1.exe: 0xC0000005: Access violation reading location 0x00000000." Do you have any clues as to what the problem could be?I didn't compile this, so take it with a grain of salt. Access violation reading 0x00000000 is a null pointer dereference. Looking at the source: _drawbuf = loadImage(_filename); if (_filename.endsWith(".9.png")) _drawbuf.detectNinePatch(); I'm making a wild guess that loadImage returns a null if it can't find the file. Dereferencing thus throws. You probably lack the image or it's in the wrong place.
Jun 05 2014
On Thursday, 5 June 2014 at 16:10:00 UTC, Mike James wrote:I checked the sub-directory the loading refers to and all the pngs seems to be there.I managed to get the files from github just fine, but dub says it is unable to copy a libpng file to the example case. I'm not sure what is wrong, the instructions are three lines of code after all. =/ git clone https://github.com/buggins/dlangui.git cd dlangui dub run dlangui:example1
Jun 05 2014
On Thursday, 5 June 2014 at 19:58:10 UTC, Casper Færgemand wrote:On Thursday, 5 June 2014 at 16:10:00 UTC, Mike James wrote:libpng is not needed anymore. These three lines worked ok for me some time ago. But now I'm facing with another problem while trying dub build: Building dlangui:example1 configuration "application", build type debug. Compiling... Error: conflicting Ddoc and obj generation options Does anyone know how to fix it?I checked the sub-directory the loading refers to and all the pngs seems to be there.I managed to get the files from github just fine, but dub says it is unable to copy a libpng file to the example case. I'm not sure what is wrong, the instructions are three lines of code after all. =/ git clone https://github.com/buggins/dlangui.git cd dlangui dub run dlangui:example1
Jun 11 2014
On Thursday, 5 June 2014 at 14:22:46 UTC, Mike James wrote:First problem: you need to add gl3n to the git clone list for developing under Visual-D.Fixed. I've removed gl3n and libpng references from project.I am having problems running (debugging) the example1 program. When loading the resources it gets to tab_up_background.9.png (line 579 in file resources.d) and then fails with an exception: "Unhandled exception at 0x0044f932 in example1.exe: 0xC0000005: Access violation reading location 0x00000000." Do you have any clues as to what the problem could be?Search log file examples/example1/ui.log for lines like 2014-06-11 13:21:11.070 D DrawableCache: adding path C:\projects\d\dlangui\examples\example1\Debug\..\..\..\res\ to resource dir list. 2014-06-11 13:21:11.070 D DrawableCache: adding path C:\projects\d\dlangui\examples\example1\Debug\..\..\..\res\mdpi\ to resource dir list. 2014-06-11 13:21:11.070 D DrawableCache: path C:\projects\d\dlangui\examples\example1\Debug\..\..\..\..\res\ does not exist. .... 2014-06-11 13:21:11.086 D DrawableCache: path C:\projects\d\dlangui\examples\example1\Debug\..\..\res\mdpi\ does not exist. In examples/example1/main.d several directories are added as resource path candidates // resource directory search paths string[] resourceDirs = [ appendPath(exePath, "../../../res/"), // for Visual D and DUB builds appendPath(exePath, "../../../res/mdpi/"), // for Visual D and DUB builds appendPath(exePath, "../../../../res/"),// for Mono-D builds appendPath(exePath, "../../../../res/mdpi/"),// for Mono-D builds appendPath(exePath, "res/"), // when res dir is located at the same directory as executable appendPath(exePath, "../res/"), // when res dir is located at project directory appendPath(exePath, "../../res/"), // when res dir is located at the same directory as executable appendPath(exePath, "res/mdpi/"), // when res dir is located at the same directory as executable appendPath(exePath, "../res/mdpi/"), // when res dir is located at project directory appendPath(exePath, "../../res/mdpi/") // when res dir is located at the same directory as executable ]; If your executable is not located in examples/example1/Debug, probably you add path to your directory to list of resource dirs. Another possible reason - FreeImage.dll is found. Try to copy FreeImage.dll from lib directory to examples/example1/Debug
Jun 11 2014
Project Update: Grid control is implemented.
Jun 11 2014
Very nice, thanks. I'm looking forward to trying it out when I can find the time. I'm not a big fan of bindings/wrappers. Jim
Jun 14 2014
On Saturday, 14 June 2014 at 19:40:58 UTC, Jim Hewes wrote:Very nice, thanks. I'm looking forward to trying it out when I can find the time. I'm not a big fan of bindings/wrappers. JimThis is looks fantastic. I tried the demo but I get an error: SDL_GL_CreateContext failed: Failed creating OpenGL context Running Mac OS 10.10.2 on 2011 Macbook Pro
Jan 27 2015
On Tuesday, 27 January 2015 at 19:37:44 UTC, Gan wrote:On Saturday, 14 June 2014 at 19:40:58 UTC, Jim Hewes wrote:Never tried it on mac. I believe, if OpenGL context cannot be created, DlangUI SDL backend should switch to bare SDL (sw renderer). I would rather expect that app crashes on missing fonts. Linux (and mac) font paths are hardcoded. Where are .ttf files located on macos? Fast and dirty fix is possible - add paths for a few mac fonts. Could you please share startup logs? As well, you can try to build w/o OpenGL - clone repository and remove USE_OPENGL version from dub.jsonVery nice, thanks. I'm looking forward to trying it out when I can find the time. I'm not a big fan of bindings/wrappers. JimThis is looks fantastic. I tried the demo but I get an error: SDL_GL_CreateContext failed: Failed creating OpenGL context Running Mac OS 10.10.2 on 2011 Macbook Pro
Jan 27 2015
On Wednesday, 28 January 2015 at 04:11:20 UTC, Vadim Lopatin wrote:On Tuesday, 27 January 2015 at 19:37:44 UTC, Gan wrote:All the projects in examples/ crash on OS X in functions relating to text AFAICS. Font locations on OS X: http://support.apple.com/en-gb/HT201722On Saturday, 14 June 2014 at 19:40:58 UTC, Jim Hewes wrote:Never tried it on mac. I believe, if OpenGL context cannot be created, DlangUI SDL backend should switch to bare SDL (sw renderer). I would rather expect that app crashes on missing fonts. Linux (and mac) font paths are hardcoded. Where are .ttf files located on macos? Fast and dirty fix is possible - add paths for a few mac fonts. Could you please share startup logs? As well, you can try to build w/o OpenGL - clone repository and remove USE_OPENGL version from dub.jsonVery nice, thanks. I'm looking forward to trying it out when I can find the time. I'm not a big fan of bindings/wrappers. JimThis is looks fantastic. I tried the demo but I get an error: SDL_GL_CreateContext failed: Failed creating OpenGL context Running Mac OS 10.10.2 on 2011 Macbook Pro
Jan 28 2015
On Wednesday, 28 January 2015 at 10:01:44 UTC, John Colvin wrote:On Wednesday, 28 January 2015 at 04:11:20 UTC, Vadim Lopatin wrote:Could you please share file list of /Library/Fonts/ and /System/Library/Fonts/ ? What are good/standard Sans Serif and Monotype fonts on Macs?On Tuesday, 27 January 2015 at 19:37:44 UTC, Gan wrote:All the projects in examples/ crash on OS X in functions relating to text AFAICS. Font locations on OS X: http://support.apple.com/en-gb/HT201722On Saturday, 14 June 2014 at 19:40:58 UTC, Jim Hewes wrote:Never tried it on mac. I believe, if OpenGL context cannot be created, DlangUI SDL backend should switch to bare SDL (sw renderer). I would rather expect that app crashes on missing fonts. Linux (and mac) font paths are hardcoded. Where are .ttf files located on macos? Fast and dirty fix is possible - add paths for a few mac fonts. Could you please share startup logs? As well, you can try to build w/o OpenGL - clone repository and remove USE_OPENGL version from dub.jsonVery nice, thanks. I'm looking forward to trying it out when I can find the time. I'm not a big fan of bindings/wrappers. JimThis is looks fantastic. I tried the demo but I get an error: SDL_GL_CreateContext failed: Failed creating OpenGL context Running Mac OS 10.10.2 on 2011 Macbook Pro
Jan 28 2015
On Wednesday, 28 January 2015 at 10:13:12 UTC, Vadim Lopatin wrote:On Wednesday, 28 January 2015 at 10:01:44 UTC, John Colvin wrote:ls /Library/Fonts/ /System/Library/Fonts/ /Library/Fonts/: Al Nile.ttc Hannotate.ttc STIXSizFourSymBol.otf Al Tarikh.ttc Hanzipen.ttc STIXSizFourSymReg.otf AlBayan.ttc HeadlineA.ttf STIXSizOneSymBol.otf AmericanTypewriter.ttc Herculanum.ttf STIXSizOneSymReg.otf Andale Mono.ttf Hiragino Sans GB W3.otf STIXSizThreeSymBol.otf Apple Chancery.ttf Hiragino Sans GB W6.otf STIXSizThreeSymReg.otf AppleGothic.ttf Hoefler Text Ornaments.ttf STIXSizTwoSymBol.otf AppleMyungjo.ttf Hoefler Text.ttc STIXSizTwoSymReg.otf AppleSDGothicNeo-ExtraBold.otf ITFDevanagari.ttc STIXVar.otf AppleSDGothicNeo-Heavy.otf Impact.ttf STIXVarBol.otf AppleSDGothicNeo-Light.otf InaiMathi.ttf Sana.ttc AppleSDGothicNeo-Medium.otf Iowan Old Style.ttc Sathu.ttf AppleSDGothicNeo-SemiBold.otf Kailasa.ttf Savoye LET.ttc AppleSDGothicNeo-Thin.otf Kaiti.ttc Seravek.ttc AppleSDGothicNeo-UltraLight.otf Kannada MN.ttc Shree714.ttc Arial Black.ttf Kannada Sangam MN.ttc SignPainter.otf Arial Bold Italic.ttf Kefa.ttc Silom.ttf Arial Bold.ttf Khmer MN.ttc Sinhala MN.ttc Arial Italic.ttf Khmer Sangam MN.ttf Sinhala Sangam MN.ttc Arial Narrow Bold Italic.ttf Kokonor.ttf Skia.ttf Arial Narrow Bold.ttf Krungthep.ttf SnellRoundhand.ttc Arial Narrow Italic.ttf KufiStandardGK.ttc Songti.ttc Arial Narrow.ttf Lantinghei.ttc SukhumvitSet.ttc Arial Rounded Bold.ttf Lao MN.ttc SuperClarendon.ttc Arial Unicode.ttf Lao Sangam MN.ttf Tahoma Bold.ttf Arial.ttf Libian.ttc Tahoma.ttf Athelas.ttc Luminari.ttf Tamil MN.ttc Ayuthaya.ttf Malayalam MN.ttc Tamil Sangam MN.ttc Baghdad.ttc Malayalam Sangam MN.ttc Telugu MN.ttc Bangla MN.ttc Marion.ttc Telugu Sangam MN.ttc Bangla Sangam MN.ttc Microsoft Sans Serif.ttf Times New Roman Bold Italic.ttf Baoli.ttc Mishafi Gold.ttf Times New Roman Bold.ttf Baskerville.ttc Mishafi.ttf Times New Roman Italic.ttf Beirut.ttc MshtakanBold.ttf Times New Roman.ttf BigCaslon.ttf MshtakanBoldOblique.ttf Trattatello.ttf Bodoni 72 OS.ttc MshtakanOblique.ttf Trebuchet MS Bold Italic.ttf Bodoni 72 Smallcaps Book.ttf MshtakanRegular.ttf Trebuchet MS Bold.ttf Bodoni 72.ttc Muna.ttc Trebuchet MS Italic.ttf Bodoni Ornaments.ttf Myanmar MN.ttc Trebuchet MS.ttf Bradley Hand Bold.ttf Myanmar Sangam MN.ttf Verdana Bold Italic.ttf Brush Script.ttf NISC18030.ttf Verdana Bold.ttf Chalkboard.ttc Nadeem.ttc Verdana Italic.ttf ChalkboardSE.ttc NanumGothic.ttc Verdana.ttf Chalkduster.ttf NanumMyeongjo.ttc Waseem.ttc Charter.ttc NanumScript.ttc WawaSC-Regular.otf Cochin.ttc NewPeninimMT.ttc WawaTC-Regular.otf Comic Sans MS Bold.ttf Oriya MN.ttc Webdings.ttf Comic Sans MS.ttf Oriya Sangam MN.ttc WeibeiSC-Bold.otf Copperplate.ttc Osaka.ttf WeibeiTC-Bold.otf Corsiva.ttc OsakaMono.ttf Wingdings 2.ttf Courier New Bold Italic.ttf PCmyoungjo.ttf Wingdings 3.ttf Courier New Bold.ttf PTMono.ttc Wingdings.ttf Courier New Italic.ttf PTSans.ttc Xingkai.ttc Courier New.ttf PTSerif.ttc Yu Gothic Bold.otf DIN Alternate Bold.ttf PTSerifCaption.ttc Yu Gothic Medium.otf DIN Condensed Bold.ttf Papyrus.ttc Yu Mincho Demibold.otf Damascus.ttc Phosphate.ttc Yu Mincho Medium.otf DecoTypeNaskh.ttc Pilgiche.ttf Yuanti.ttc Devanagari Sangam MN.ttc PlantagenetCherokee.ttf YuppySC-Regular.otf DevanagariMT.ttc Raanana.ttc YuppyTC-Regular.otf Didot.ttc STIXGeneral.otf Zapfino.ttf Diwan Kufi.ttc STIXGeneralBol.otf encodings.dir Diwan Thuluth.ttf STIXGeneralBolIta.otf fonts.dir EuphemiaCAS.ttc STIXGeneralItalic.otf fonts.list Farah.ttc STIXIntDBol.otf fonts.scale Farisi.ttf STIXIntDReg.otf 儷宋 Pro.ttf Futura.ttc STIXIntSmBol.otf 儷黑 Pro.ttf Georgia Bold Italic.ttf STIXIntSmReg.otf 华文仿宋.ttf Georgia Bold.ttf STIXIntUpBol.otf 华文细黑.ttf Georgia Italic.ttf STIXIntUpDBol.otf 华文黑体.ttf Georgia.ttf STIXIntUpDReg.otf ヒラギノ明朝 Pro W3.otf GillSans.ttc STIXIntUpReg.otf ヒラギノ明朝 Pro W6.otf Gujarati Sangam MN.ttc STIXIntUpSmBol.otf ヒラギノ角ゴ Pro W3.otf GujaratiMT.ttf STIXIntUpSmReg.otf ヒラギノ丸ゴ Pro W4.otf GujaratiMTBold.ttf STIXNonUni.otf ヒラギノ角ゴ Pro W6.otf Gungseouche.ttf STIXNonUniBol.otf ヒラギノ丸ゴ ProN W4.otf Gurmukhi MN.ttc STIXNonUniBolIta.otf ヒラギノ角ゴ Std W8.otf Gurmukhi Sangam MN.ttc STIXNonUniIta.otf ヒラギノ角ゴ StdN W8.otf Gurmukhi.ttf STIXSizFiveSymReg.otf /System/Library/Fonts/: Apple Braille Outline 6 Dot.ttf Helvetica LT MM STHeiti Thin.ttc Apple Braille Outline 8 Dot.ttf Helvetica.dfont STHeiti UltraLight.ttc Apple Braille Pinpoint 6 Dot.ttf HelveticaNeue.dfont Symbol.ttf Apple Braille Pinpoint 8 Dot.ttf HelveticaNeueDeskInterface.ttc Thonburi.ttc Apple Braille.ttf HiraKakuInterface-W1.otf Times LT MM Apple Color Emoji.ttf HiraKakuInterface-W2.otf Times.dfont Apple Symbols.ttc Keyboard.ttf TimesLTMM AppleSDGothicNeo-Bold.otf Kohinoor.ttc ZapfDingbats.ttf AppleSDGothicNeo-Regular.otf LastResort.ttf encodings.dir AquaKana.ttc LucidaGrande.ttc fonts.dir ArialHB.ttc MarkerFelt.ttc fonts.list Avenir Next Condensed.ttc Menlo.ttc fonts.scale Avenir Next.ttc Monaco.dfont ヒラギノ明朝 ProN W3.otf Avenir.ttc Noteworthy.ttc ヒラギノ明朝 ProN W6.otf Courier.dfont Optima.ttc ヒラギノ角ゴ ProN W3.otf GeezaPro.ttc Palatino.ttc ヒラギノ角ゴ ProN W6.otf Geneva.dfont STHeiti Light.ttc HelveLTMM STHeiti Medium.ttcOn Wednesday, 28 January 2015 at 04:11:20 UTC, Vadim Lopatin wrote:Could you please share file list of /Library/Fonts/ and /System/Library/Fonts/ ?On Tuesday, 27 January 2015 at 19:37:44 UTC, Gan wrote:All the projects in examples/ crash on OS X in functions relating to text AFAICS. Font locations on OS X: http://support.apple.com/en-gb/HT201722On Saturday, 14 June 2014 at 19:40:58 UTC, Jim Hewes wrote:Never tried it on mac. I believe, if OpenGL context cannot be created, DlangUI SDL backend should switch to bare SDL (sw renderer). I would rather expect that app crashes on missing fonts. Linux (and mac) font paths are hardcoded. Where are .ttf files located on macos? Fast and dirty fix is possible - add paths for a few mac fonts. Could you please share startup logs? As well, you can try to build w/o OpenGL - clone repository and remove USE_OPENGL version from dub.jsonVery nice, thanks. I'm looking forward to trying it out when I can find the time. I'm not a big fan of bindings/wrappers. JimThis is looks fantastic. I tried the demo but I get an error: SDL_GL_CreateContext failed: Failed creating OpenGL context Running Mac OS 10.10.2 on 2011 Macbook ProWhat are good/standard Sans Serif and Monotype fonts on Macs?I think the system defaults are: Helvetica Neue (in OS X 10.10), Lucida Grande (in 10.9 and previous), Menlo Regular
Jan 28 2015
On Wednesday, 28 January 2015 at 10:28:09 UTC, John Colvin wrote:On Wednesday, 28 January 2015 at 10:13:12 UTC, Vadim Lopatin wrote:Apologies for the previous mess, this is what I have on 10.10: $ ls -1 /Library/Fonts/ /System/Library/Fonts/ /Library/Fonts/: Al Nile.ttc Al Tarikh.ttc AlBayan.ttc AmericanTypewriter.ttc Andale Mono.ttf Apple Chancery.ttf AppleGothic.ttf AppleMyungjo.ttf AppleSDGothicNeo-ExtraBold.otf AppleSDGothicNeo-Heavy.otf AppleSDGothicNeo-Light.otf AppleSDGothicNeo-Medium.otf AppleSDGothicNeo-SemiBold.otf AppleSDGothicNeo-Thin.otf AppleSDGothicNeo-UltraLight.otf Arial Black.ttf Arial Bold Italic.ttf Arial Bold.ttf Arial Italic.ttf Arial Narrow Bold Italic.ttf Arial Narrow Bold.ttf Arial Narrow Italic.ttf Arial Narrow.ttf Arial Rounded Bold.ttf Arial Unicode.ttf Arial.ttf Athelas.ttc Ayuthaya.ttf Baghdad.ttc Bangla MN.ttc Bangla Sangam MN.ttc Baoli.ttc Baskerville.ttc Beirut.ttc BigCaslon.ttf Bodoni 72 OS.ttc Bodoni 72 Smallcaps Book.ttf Bodoni 72.ttc Bodoni Ornaments.ttf Bradley Hand Bold.ttf Brush Script.ttf Chalkboard.ttc ChalkboardSE.ttc Chalkduster.ttf Charter.ttc Cochin.ttc Comic Sans MS Bold.ttf Comic Sans MS.ttf Copperplate.ttc Corsiva.ttc Courier New Bold Italic.ttf Courier New Bold.ttf Courier New Italic.ttf Courier New.ttf DIN Alternate Bold.ttf DIN Condensed Bold.ttf Damascus.ttc DecoTypeNaskh.ttc Devanagari Sangam MN.ttc DevanagariMT.ttc Didot.ttc Diwan Kufi.ttc Diwan Thuluth.ttf EuphemiaCAS.ttc Farah.ttc Farisi.ttf Futura.ttc Georgia Bold Italic.ttf Georgia Bold.ttf Georgia Italic.ttf Georgia.ttf GillSans.ttc Gujarati Sangam MN.ttc GujaratiMT.ttf GujaratiMTBold.ttf Gungseouche.ttf Gurmukhi MN.ttc Gurmukhi Sangam MN.ttc Gurmukhi.ttf Hannotate.ttc Hanzipen.ttc HeadlineA.ttf Herculanum.ttf Hiragino Sans GB W3.otf Hiragino Sans GB W6.otf Hoefler Text Ornaments.ttf Hoefler Text.ttc ITFDevanagari.ttc Impact.ttf InaiMathi.ttf Iowan Old Style.ttc Kailasa.ttf Kaiti.ttc Kannada MN.ttc Kannada Sangam MN.ttc Kefa.ttc Khmer MN.ttc Khmer Sangam MN.ttf Kokonor.ttf Krungthep.ttf KufiStandardGK.ttc Lantinghei.ttc Lao MN.ttc Lao Sangam MN.ttf Libian.ttc Luminari.ttf Malayalam MN.ttc Malayalam Sangam MN.ttc Marion.ttc Microsoft Sans Serif.ttf Mishafi Gold.ttf Mishafi.ttf MshtakanBold.ttf MshtakanBoldOblique.ttf MshtakanOblique.ttf MshtakanRegular.ttf Muna.ttc Myanmar MN.ttc Myanmar Sangam MN.ttf NISC18030.ttf Nadeem.ttc NanumGothic.ttc NanumMyeongjo.ttc NanumScript.ttc NewPeninimMT.ttc Oriya MN.ttc Oriya Sangam MN.ttc Osaka.ttf OsakaMono.ttf PCmyoungjo.ttf PTMono.ttc PTSans.ttc PTSerif.ttc PTSerifCaption.ttc Papyrus.ttc Phosphate.ttc Pilgiche.ttf PlantagenetCherokee.ttf Raanana.ttc STIXGeneral.otf STIXGeneralBol.otf STIXGeneralBolIta.otf STIXGeneralItalic.otf STIXIntDBol.otf STIXIntDReg.otf STIXIntSmBol.otf STIXIntSmReg.otf STIXIntUpBol.otf STIXIntUpDBol.otf STIXIntUpDReg.otf STIXIntUpReg.otf STIXIntUpSmBol.otf STIXIntUpSmReg.otf STIXNonUni.otf STIXNonUniBol.otf STIXNonUniBolIta.otf STIXNonUniIta.otf STIXSizFiveSymReg.otf STIXSizFourSymBol.otf STIXSizFourSymReg.otf STIXSizOneSymBol.otf STIXSizOneSymReg.otf STIXSizThreeSymBol.otf STIXSizThreeSymReg.otf STIXSizTwoSymBol.otf STIXSizTwoSymReg.otf STIXVar.otf STIXVarBol.otf Sana.ttc Sathu.ttf Savoye LET.ttc Seravek.ttc Shree714.ttc SignPainter.otf Silom.ttf Sinhala MN.ttc Sinhala Sangam MN.ttc Skia.ttf SnellRoundhand.ttc Songti.ttc SukhumvitSet.ttc SuperClarendon.ttc Tahoma Bold.ttf Tahoma.ttf Tamil MN.ttc Tamil Sangam MN.ttc Telugu MN.ttc Telugu Sangam MN.ttc Times New Roman Bold Italic.ttf Times New Roman Bold.ttf Times New Roman Italic.ttf Times New Roman.ttf Trattatello.ttf Trebuchet MS Bold Italic.ttf Trebuchet MS Bold.ttf Trebuchet MS Italic.ttf Trebuchet MS.ttf Verdana Bold Italic.ttf Verdana Bold.ttf Verdana Italic.ttf Verdana.ttf Waseem.ttc WawaSC-Regular.otf WawaTC-Regular.otf Webdings.ttf WeibeiSC-Bold.otf WeibeiTC-Bold.otf Wingdings 2.ttf Wingdings 3.ttf Wingdings.ttf Xingkai.ttc Yu Gothic Bold.otf Yu Gothic Medium.otf Yu Mincho Demibold.otf Yu Mincho Medium.otf Yuanti.ttc YuppySC-Regular.otf YuppyTC-Regular.otf Zapfino.ttf encodings.dir fonts.dir fonts.list fonts.scale 儷宋 Pro.ttf 儷黑 Pro.ttf 华文仿宋.ttf 华文细黑.ttf 华文黑体.ttf ヒラギノ明朝 Pro W3.otf ヒラギノ明朝 Pro W6.otf ヒラギノ角ゴ Pro W3.otf ヒラギノ丸ゴ Pro W4.otf ヒラギノ角ゴ Pro W6.otf ヒラギノ丸ゴ ProN W4.otf ヒラギノ角ゴ Std W8.otf ヒラギノ角ゴ StdN W8.otf /System/Library/Fonts/: Apple Braille Outline 6 Dot.ttf Apple Braille Outline 8 Dot.ttf Apple Braille Pinpoint 6 Dot.ttf Apple Braille Pinpoint 8 Dot.ttf Apple Braille.ttf Apple Color Emoji.ttf Apple Symbols.ttc AppleSDGothicNeo-Bold.otf AppleSDGothicNeo-Regular.otf AquaKana.ttc ArialHB.ttc Avenir Next Condensed.ttc Avenir Next.ttc Avenir.ttc Courier.dfont GeezaPro.ttc Geneva.dfont HelveLTMM Helvetica LT MM Helvetica.dfont HelveticaNeue.dfont HelveticaNeueDeskInterface.ttc HiraKakuInterface-W1.otf HiraKakuInterface-W2.otf Keyboard.ttf Kohinoor.ttc LastResort.ttf LucidaGrande.ttc MarkerFelt.ttc Menlo.ttc Monaco.dfont Noteworthy.ttc Optima.ttc Palatino.ttc STHeiti Light.ttc STHeiti Medium.ttc STHeiti Thin.ttc STHeiti UltraLight.ttc Symbol.ttf Thonburi.ttc Times LT MM Times.dfont TimesLTMM ZapfDingbats.ttf encodings.dir fonts.dir fonts.list fonts.scale ヒラギノ明朝 ProN W3.otf ヒラギノ明朝 ProN W6.otf ヒラギノ角ゴ ProN W3.otf ヒラギノ角ゴ ProN W6.otfOn Wednesday, 28 January 2015 at 10:01:44 UTC, John Colvin wrote:On Wednesday, 28 January 2015 at 04:11:20 UTC, Vadim Lopatin wrote:Could you please share file list of /Library/Fonts/ and /System/Library/Fonts/ ?On Tuesday, 27 January 2015 at 19:37:44 UTC, Gan wrote:All the projects in examples/ crash on OS X in functions relating to text AFAICS. Font locations on OS X: http://support.apple.com/en-gb/HT201722On Saturday, 14 June 2014 at 19:40:58 UTC, Jim Hewes wrote:Never tried it on mac. I believe, if OpenGL context cannot be created, DlangUI SDL backend should switch to bare SDL (sw renderer). I would rather expect that app crashes on missing fonts. Linux (and mac) font paths are hardcoded. Where are .ttf files located on macos? Fast and dirty fix is possible - add paths for a few mac fonts. Could you please share startup logs? As well, you can try to build w/o OpenGL - clone repository and remove USE_OPENGL version from dub.jsonVery nice, thanks. I'm looking forward to trying it out when I can find the time. I'm not a big fan of bindings/wrappers. JimThis is looks fantastic. I tried the demo but I get an error: SDL_GL_CreateContext failed: Failed creating OpenGL context Running Mac OS 10.10.2 on 2011 Macbook Pro
Jan 28 2015
On Wednesday, 28 January 2015 at 10:31:31 UTC, John Colvin wrote:$ ls -1 /Library/Fonts/ /System/Library/Fonts/ /Library/Fonts/: Al Nile.ttc... Thank you! Submitted fix with some mac font paths hardcoded. v0.4.22 Could you please try it? BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.
Jan 28 2015
On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:On Wednesday, 28 January 2015 at 10:31:31 UTC, John Colvin wrote:tetris and helloworld now work. example1 fails to build: src/example1.d(69): Error: undefined identifier setTimer src/example1.d(75): Error: undefined identifier cancelTimer$ ls -1 /Library/Fonts/ /System/Library/Fonts/ /Library/Fonts/: Al Nile.ttc... Thank you! Submitted fix with some mac font paths hardcoded. v0.4.22 Could you please try it? BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.
Jan 28 2015
On Wednesday, 28 January 2015 at 13:18:11 UTC, John Colvin wrote:On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:Checked on latest version from git - example1 works for me. Did you try to pull recent changes from git?On Wednesday, 28 January 2015 at 10:31:31 UTC, John Colvin wrote:tetris and helloworld now work. example1 fails to build: src/example1.d(69): Error: undefined identifier setTimer src/example1.d(75): Error: undefined identifier cancelTimer$ ls -1 /Library/Fonts/ /System/Library/Fonts/ /Library/Fonts/: Al Nile.ttc... Thank you! Submitted fix with some mac font paths hardcoded. v0.4.22 Could you please try it? BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.
Jan 28 2015
On Wednesday, 28 January 2015 at 13:30:59 UTC, Vadim Lopatin wrote:On Wednesday, 28 January 2015 at 13:18:11 UTC, John Colvin wrote:All working for me now. A few points: As I mentioned about dlangide, the font scaling is nasty. The Window menu name overflows and is clipped. Are the draggable dividers in the Buttons tab supposed to be able to move? They don't seem to do anything.On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:Checked on latest version from git - example1 works for me. Did you try to pull recent changes from git?On Wednesday, 28 January 2015 at 10:31:31 UTC, John Colvin wrote:tetris and helloworld now work. example1 fails to build: src/example1.d(69): Error: undefined identifier setTimer src/example1.d(75): Error: undefined identifier cancelTimer$ ls -1 /Library/Fonts/ /System/Library/Fonts/ /Library/Fonts/: Al Nile.ttc... Thank you! Submitted fix with some mac font paths hardcoded. v0.4.22 Could you please try it? BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.
Jan 28 2015
On Wednesday, 28 January 2015 at 13:53:00 UTC, John Colvin wrote:On Wednesday, 28 January 2015 at 13:30:59 UTC, Vadim Lopatin wrote:Resizers in example1 are just for testing of mouse cursor change - not fully implemented. You can see working resizers in dlangide so far.On Wednesday, 28 January 2015 at 13:18:11 UTC, John Colvin wrote:All working for me now. A few points: As I mentioned about dlangide, the font scaling is nasty. The Window menu name overflows and is clipped. Are the draggable dividers in the Buttons tab supposed to be able to move? They don't seem to do anything.On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:Checked on latest version from git - example1 works for me. Did you try to pull recent changes from git?On Wednesday, 28 January 2015 at 10:31:31 UTC, John Colvin wrote:tetris and helloworld now work. example1 fails to build: src/example1.d(69): Error: undefined identifier setTimer src/example1.d(75): Error: undefined identifier cancelTimer$ ls -1 /Library/Fonts/ /System/Library/Fonts/ /Library/Fonts/: Al Nile.ttc... Thank you! Submitted fix with some mac font paths hardcoded. v0.4.22 Could you please try it? BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.
Jan 28 2015
On Wednesday, 28 January 2015 at 13:53:00 UTC, John Colvin wrote:On Wednesday, 28 January 2015 at 13:30:59 UTC, Vadim Lopatin wrote:I've added Gamma setting for font rendering. Now text looks acceptable. In DlangIDE v0.1.4, I'm using FontManager.fontGamma = 0.8; FontManager.hintingMode = HintingMode.AutoHint; (as well, for Windows versions, USE_FREETYPE is set - but it falls back to win32 font rendering if no freetype.dll found) As for me, now font rendering look good with such settings. Latest features implemented: * Text cursor blinking * Update of actions state in UI (now working better for toolbars, has some bugs for menu items, will be fixed soon) Now DlangIDE allows to open DUB project, edit it, build and run, clean, rebuild, upgrade dependencies (using DUB). I hope it will become usable in a few weeks.On Wednesday, 28 January 2015 at 13:18:11 UTC, John Colvin wrote:All working for me now. A few points: As I mentioned about dlangide, the font scaling is nasty. The Window menu name overflows and is clipped. Are the draggable dividers in the Buttons tab supposed to be able to move? They don't seem to do anything.On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:Checked on latest version from git - example1 works for me. Did you try to pull recent changes from git?On Wednesday, 28 January 2015 at 10:31:31 UTC, John Colvin wrote:tetris and helloworld now work. example1 fails to build: src/example1.d(69): Error: undefined identifier setTimer src/example1.d(75): Error: undefined identifier cancelTimer$ ls -1 /Library/Fonts/ /System/Library/Fonts/ /Library/Fonts/: Al Nile.ttc... Thank you! Submitted fix with some mac font paths hardcoded. v0.4.22 Could you please try it? BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.
Jan 31 2015
On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.That works OK. The text is all horrible looking. This is probably due to (lack of) scaling support for high-res screens (retina). The main menu's open ok, but a second click to close them does nothing. Clicking elsewhere does close them though. Not using the native OS X menu system leads to a rather grating experience. You'll get a similar story from Ubuntu Unity users.
Jan 28 2015
On Wednesday, 28 January 2015 at 13:37:34 UTC, John Colvin wrote:On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:Is graphics scaled too? If so, it's due to scaling. Otherwise possible it's due to bad implementation of subpixel antialiasing (aka ClearType). I've submitted fix to disable subpixel antialiasing.BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.That works OK. The text is all horrible looking. This is probably due to (lack of) scaling support for high-res screens (retina).The main menu's open ok, but a second click to close them does nothing. Clicking elsewhere does close them though. Not using the native OS X menu system leads to a rather grating experience. You'll get a similar story from Ubuntu Unity users.It's known problem. But it requires some work to update system menu. I don't have mac to do it anyway. Probably, someone will implement it later.
Jan 28 2015
On Wednesday, 28 January 2015 at 14:21:36 UTC, Vadim Lopatin wrote:On Wednesday, 28 January 2015 at 13:37:34 UTC, John Colvin wrote:An example of what I see (with up-to-date git HEAD) https://www.dropbox.com/s/49n9m0b9uutzaa8/Screenshot%202015-01-29%2014.11.57.png?dl=0On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:Is graphics scaled too? If so, it's due to scaling. Otherwise possible it's due to bad implementation of subpixel antialiasing (aka ClearType). I've submitted fix to disable subpixel antialiasing.BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.That works OK. The text is all horrible looking. This is probably due to (lack of) scaling support for high-res screens (retina).
Jan 29 2015
On Thursday, 29 January 2015 at 14:13:22 UTC, John Colvin wrote:On Wednesday, 28 January 2015 at 14:21:36 UTC, Vadim Lopatin wrote:I see no additional blur comparing with other platforms. It's bad font rendering. Trying to improve. P.S: DlangIDE is now able to open DUB based projects, build and run them, edit files. Good sample project is dlangide/workspaces/tetris :)On Wednesday, 28 January 2015 at 13:37:34 UTC, John Colvin wrote:An example of what I see (with up-to-date git HEAD) https://www.dropbox.com/s/49n9m0b9uutzaa8/Screenshot%202015-01-29%2014.11.57.png?dl=0On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:Is graphics scaled too? If so, it's due to scaling. Otherwise possible it's due to bad implementation of subpixel antialiasing (aka ClearType). I've submitted fix to disable subpixel antialiasing.BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.That works OK. The text is all horrible looking. This is probably due to (lack of) scaling support for high-res screens (retina).
Jan 29 2015
On Thursday, 29 January 2015 at 15:29:15 UTC, Vadim Lopatin wrote:On Thursday, 29 January 2015 at 14:13:22 UTC, John Colvin wrote:From what I can tell, it seems to be that it's using X11 for rendering, which I think doesn't support high DPI properly when using a Retina screen, making it appear very blurry.On Wednesday, 28 January 2015 at 14:21:36 UTC, Vadim Lopatin wrote:I see no additional blur comparing with other platforms. It's bad font rendering. Trying to improve. P.S: DlangIDE is now able to open DUB based projects, build and run them, edit files. Good sample project is dlangide/workspaces/tetris :)On Wednesday, 28 January 2015 at 13:37:34 UTC, John Colvin wrote:An example of what I see (with up-to-date git HEAD) https://www.dropbox.com/s/49n9m0b9uutzaa8/Screenshot%202015-01-29%2014.11.57.png?dl=0On Wednesday, 28 January 2015 at 10:57:57 UTC, Vadim Lopatin wrote:Is graphics scaled too? If so, it's due to scaling. Otherwise possible it's due to bad implementation of subpixel antialiasing (aka ClearType). I've submitted fix to disable subpixel antialiasing.BTW, could you try on mac https://github.com/buggins/dlangide.git as well? It's dlangui-based D language IDE I'm currently working on.That works OK. The text is all horrible looking. This is probably due to (lack of) scaling support for high-res screens (retina).
Feb 24 2015
On Tuesday, 24 February 2015 at 16:46:12 UTC, Kapps wrote:On Thursday, 29 January 2015 at 15:29:15 UTC, Vadim Lopatin wrote:XQuartz Bug Report: http://xquartz.macosforge.org/trac/ticket/661 I don't know what makes dlangui (dlangide?) use X11 though.On Thursday, 29 January 2015 at 14:13:22 UTC, John Colvin wrote:From what I can tell, it seems to be that it's using X11 for rendering, which I think doesn't support high DPI properly when using a Retina screen, making it appear very blurry.On Wednesday, 28 January 2015 at 14:21:36 UTC, Vadim Lopatin wrote: An example of what I see (with up-to-date git HEAD) https://www.dropbox.com/s/49n9m0b9uutzaa8/Screenshot%202015-01-29%2014.11.57.png?dl=0I see no additional blur comparing with other platforms. It's bad font rendering. Trying to improve. P.S: DlangIDE is now able to open DUB based projects, build and run them, edit files. Good sample project is dlangide/workspaces/tetris :)
Feb 24 2015
On Tuesday, 24 February 2015 at 17:16:25 UTC, Kapps wrote:XQuartz Bug Report: http://xquartz.macosforge.org/trac/ticket/661 I don't know what makes dlangui (dlangide?) use X11 though.DlangUI just uses libsdl. The only possible reason of blurring is SDL2 implementation on MAC.
Feb 24 2015
Maybe it would be better to support yaml config instead of json? At least they have support of comments. http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/thread/2/ afaik DUB will switch to yaml too soon.
Feb 25 2015
On Wednesday, 25 February 2015 at 08:08:35 UTC, Suliman wrote:Maybe it would be better to support yaml config instead of json? At least they have support of comments. http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/thread/2/ afaik DUB will switch to yaml too soon.Just tested your Tetris example. Very good. I really hope the IDE will be part of the D toolchain one day.
Feb 25 2015
On Wednesday, 25 February 2015 at 08:08:35 UTC, Suliman wrote:Maybe it would be better to support yaml config instead of json? At least they have support of comments. http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/thread/2/ afaik DUB will switch to yaml too soon.dub will switch to sdl, not yaml (actually not switch but support both json and sdl)
Feb 25 2015
On Wednesday, 25 February 2015 at 13:47:04 UTC, Dicebot wrote:On Wednesday, 25 February 2015 at 08:08:35 UTC, Suliman wrote:Which actually is kind of sad for those who is integrating with dub. We also have to support two formats. An ideal solution would to have a libdub on code.dlang.org. The second best solution would be to stick to either json or sdl (in case of picking sdl make a migrate script from json to sdl). /JonasMaybe it would be better to support yaml config instead of json? At least they have support of comments. http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/thread/2/ afaik DUB will switch to yaml too soon.dub will switch to sdl, not yaml (actually not switch but support both json and sdl)
Apr 10 2015
Was pleasantly surprised to see that it worked without having to manually muck with any dependencies. Resource usage is minimal, interface feels smooth (though obviously ugly, but that isn't the point). I can't wait until I have some extra free time to build something with this and hopefully contribute. Great work! P.S. I noticed that it *almost* builds with gdc, but fails on freetype. Have you been attempting to target gdc at all for those performance gains?
Jan 27 2015
On Wed, 28 Jan 2015 06:44:15 +0000, Dylan Allbee wrote:Was pleasantly surprised to see that it worked without having to manually muck with any dependencies. Resource usage is minimal, interface feels smooth (though obviously ugly, but that isn't the point). =20 I can't wait until I have some extra free time to build something with this and hopefully contribute. Great work! =20 P.S. I noticed that it *almost* builds with gdc, but fails on freetype. Have you been attempting to target gdc at all for those performance gains?as gdc will soon get official 2.066 upgrade, i believe that DlangUI will=20 be buildable with gdc.=
Jan 28 2015
On Wednesday, 28 January 2015 at 08:04:05 UTC, ketmar wrote:as gdc will soon get official 2.066 upgrade, i believe that DlangUI will be buildable with gdc.At least it builds with ldc2
Jan 28 2015
On Wednesday, 28 January 2015 at 06:44:16 UTC, Dylan Allbee wrote:Was pleasantly surprised to see that it worked without having to manually muck with any dependencies. Resource usage is minimal, interface feels smooth (though obviously ugly, but that isn't the point).Look & feel can be customized with themes. Current default theme is near to look&feel of MS Visual Studio 2013. I hope by changes of theme you can make UI not so ugly.I can't wait until I have some extra free time to build something with this and hopefully contribute. Great work!It will be great if someone started to use it and contribute. So far, there is no much feedback from users.P.S. I noticed that it *almost* builds with gdc, but fails on freetype. Have you been attempting to target gdc at all for those performance gains?It looks like derelict-ft issue. gdc doesn't support nogc attribute
Jan 28 2015
On Wed, 28 Jan 2015 09:18:54 +0000, Vadim Lopatin wrote:it already does, it's just not publicly released yet, as Johannes wants=20 to fix some ARM-related bugs and Iain wants to prepare some proper=20 release statements. gdc is 2.066.1 now, with some features backported=20 from 2.067. so i don't think that there is any sense in supporting 2.065=20 branch.=P.S. I noticed that it *almost* builds with gdc, but fails on freetype. Have you been attempting to target gdc at all for those performance gains?It looks like derelict-ft issue. gdc doesn't support nogc attribute
Jan 28 2015
Hi Vadim, When I follow the Build and Run Demo App using DUB I get the following... C:\D\dmd2\src>git clone https://github.com/buggins/dlangui.git Cloning into 'dlangui'... remote: Counting objects: 13291, done. remote: Compressing objects: 100% (186/186), done. remote: Total 13291 (delta 113), reused 0 (delta 0) Receiving objects: 100% (13291/13291), 8.78 MiB | 538.00 KiB/s, done. Resolving deltas: 100% (10144/10144), done. C:\D\dmd2\src>cd dlangui C:\D\dmd2\src\dlangui>dub run dlangui:example1 --build=release Building package dlangui:example1 in C:\D\dmd2\src\dlangui\examples\example1\ Fetching derelict-util 1.9.1 (getting selected version)... Placing derelict-util 1.9.1 to C:\Users\mikej\AppData\Roaming\dub\packages\... Building dlib 0.4.1 configuration "library", build type release. Running dmd... Building derelict-util 1.9.1 configuration "library", build type release. Running dmd... Building derelict-ft 1.0.1 configuration "library", build type release. Running dmd... Building derelict-sdl2 1.9.1 configuration "library", build type release. Running dmd... Building derelict-gl3 1.0.12 configuration "library", build type release. Running dmd... Building dlangui:dlanguilib 0.4.35+commit.4.gf902ceb configuration "library", build type release. Running dmd... src\dlangui\graphics\resources.d(152): Error: file "btn_background.xml\x0d" cannot be found or not in a path specified with -J src\dlangui\graphics\resources.d(153): Error: data.length cannot be evaluated at compile time src\dlangui\graphics\resources.d(166): Error: template instance dlangui.graphics.resources.embedResource!"res/btn_background.xml\x0d" error instantiating src\dlangui\graphics\resources.d(173): Is the setup missing extra directories? Regards, -=mike=-
Feb 02 2015
On Monday, 2 February 2015 at 11:18:30 UTC, Mike James wrote:Hi Vadim, When I follow the Build and Run Demo App using DUB I get the following... C:\D\dmd2\src>git clone https://github.com/buggins/dlangui.git Cloning into 'dlangui'... remote: Counting objects: 13291, done. remote: Compressing objects: 100% (186/186), done. remote: Total 13291 (delta 113), reused 0 (delta 0) Receiving objects: 100% (13291/13291), 8.78 MiB | 538.00 KiB/s, done. Resolving deltas: 100% (10144/10144), done. C:\D\dmd2\src>cd dlangui C:\D\dmd2\src\dlangui>dub run dlangui:example1 --build=release Building package dlangui:example1 in C:\D\dmd2\src\dlangui\examples\example1\ Fetching derelict-util 1.9.1 (getting selected version)... Placing derelict-util 1.9.1 to C:\Users\mikej\AppData\Roaming\dub\packages\... Building dlib 0.4.1 configuration "library", build type release. Running dmd... Building derelict-util 1.9.1 configuration "library", build type release. Running dmd... Building derelict-ft 1.0.1 configuration "library", build type release. Running dmd... Building derelict-sdl2 1.9.1 configuration "library", build type release. Running dmd... Building derelict-gl3 1.0.12 configuration "library", build type release. Running dmd... Building dlangui:dlanguilib 0.4.35+commit.4.gf902ceb configuration "library", build type release. Running dmd... src\dlangui\graphics\resources.d(152): Error: file "btn_background.xml\x0d" cannot be found or not in a path specified with -J src\dlangui\graphics\resources.d(153): Error: data.length cannot be evaluated at compile time src\dlangui\graphics\resources.d(166): Error: template instance dlangui.graphics.resources.embedResource!"res/btn_background.xml\x0d" error instantiating src\dlangui\graphics\resources.d(173): Is the setup missing extra directories? Regards, -=mike=-Hello, Works for me - I cannot reproduce the problem. It looks like -J parameters are not passed properly to compiler. For embedding of resources into executable, -J include paths must be set for directories views, views/res, views/res/mdpi, views/res/i18. When I'm running dub with -v switch, I see -Jviews -Jviews/res -Jviews/res/mdpi -Jviews/res/i18 in DMD command line Probably, it depends on DUB version. My one is 0.9.22 Sep 16 2014 (downloaded from code.dlang.org/downloads) Best regards, Vadim
Feb 02 2015
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. Best regards, Vadim <coolreader.org gmail.com>WARNING! Breaking change in dlangui! Pull request to use package.d instead of dlangui/all.d is integrated. If you are using dlangui in your project, please change import dlangui.all; to import dlangui; in order to fix build.
Feb 24 2015
On Tuesday, 24 February 2015 at 08:01:41 UTC, Vadim Lopatin wrote:On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:This seems to have broken building DlangIDE for me. After updating from Git, doing `dub build` prints the following error: src/dlangide.d(3): Error: module dlangui is in file 'dlangui.d' which cannot be read.Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. Best regards, Vadim <coolreader.org gmail.com>WARNING! Breaking change in dlangui! Pull request to use package.d instead of dlangui/all.d is integrated. If you are using dlangui in your project, please change import dlangui.all; to import dlangui; in order to fix build.
Feb 24 2015
On Tuesday, 24 February 2015 at 18:24:51 UTC, Meta wrote:On Tuesday, 24 February 2015 at 08:01:41 UTC, Vadim Lopatin wrote:Upgrade dependencies: dub upgrade --force-removeOn Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:This seems to have broken building DlangIDE for me. After updating from Git, doing `dub build` prints the following error: src/dlangide.d(3): Error: module dlangui is in file 'dlangui.d' which cannot be read.Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. Best regards, Vadim <coolreader.org gmail.com>WARNING! Breaking change in dlangui! Pull request to use package.d instead of dlangui/all.d is integrated. If you are using dlangui in your project, please change import dlangui.all; to import dlangui; in order to fix build.
Feb 24 2015
On Wednesday, 25 February 2015 at 06:11:29 UTC, Vadim Lopatin wrote:Upgrade dependencies: dub upgrade --force-removeAh yes, that does it. Thank you.
Feb 25 2015
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy...........Best regards, Vadim <coolreader.org gmail.com>Project Update: ============== * Mac OSX OpenGL support fixed * High DPI (Retina) displays interface scaling is implemented * Separate resources for high DPI resolutions * Font sizes in themes can be specified in points and % of parent size, in addition to pixels * Dark theme is implemented * Settings dialogs support widgets * Multiline TextWidget * A lot of bugfixes
Mar 23 2015
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented.DlangUI review and small tutorial is published on Habrahabr - popular russian IT resource (in Russian) http://habrahabr.ru/post/253923/
Mar 25 2015
On Wednesday, 25 March 2015 at 14:14:13 UTC, Vadim Lopatin wrote:On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:It does not looks like something with a `soul`. It looks like a copy of something that already exists.Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented.DlangUI review and small tutorial is published on Habrahabr - popular russian IT resource (in Russian) http://habrahabr.ru/post/253923/
Mar 25 2015
On Thursday, 26 March 2015 at 03:03:02 UTC, Jean pierre wrote:On Wednesday, 25 March 2015 at 14:14:13 UTC, Vadim Lopatin wrote:And i tell you something, mr Lopatin, people often like more the original than the copy.On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:It does not looks like something with a `soul`. It looks like a copy of something that already exists.Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented.DlangUI review and small tutorial is published on Habrahabr - popular russian IT resource (in Russian) http://habrahabr.ru/post/253923/
Mar 25 2015
On Thu, 26 Mar 2015 03:41:11 +0000, Jean pierre wrote:hm. Vadim is the author of DlangUI. and he wrote the article about it,=20 where he shows how to use the library. so i presume that he... copies=20 himself? heh.==20 And i tell you something, mr Lopatin, people often like more the original than the copy.DlangUI review and small tutorial is published on Habrahabr - popular russian IT resource (in Russian) http://habrahabr.ru/post/253923/It does not looks like something with a `soul`. It looks like a copy of something that already exists.
Mar 25 2015
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Hello! I would like to announce my project, DlangUI library -<SNIP> Hi Vadim, I have just installed the latest D 2.067.0, ran the git install and the build now fails. The errors are as follows: C:\D\dmd2\gui\dlangui>dub run dlangui:example1 --build=release Building package dlangui:example1 in C:\D\dmd2\gui\dlangui\examples\example1\ Target gl3n 1.0.1 is up to date. Use --force to rebuild. Building dlib ~master configuration "library", build type release. Running dmd... ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\dlib\i age\io\jpeg.d(681): Warning: instead of C-style syntax, use D-style syntax 'ubyte[64] dezigzag' ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\dlib\filesystem\wind ws\directory.d(77): Error: undefin ed identifier wcslen FAIL ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\.dub\build\library-release-windows-x86-dmd_2067-17 3DBA1310DF90D85EA81F6AA09FBD95\ dlib staticLibrary Error executing command run: dmd failed with exit code 1. C:\D\dmd2\gui\dlangui> any clues? Thanks. Regards, Mike.
Mar 26 2015
On Thursday, 26 March 2015 at 11:41:17 UTC, Mike James wrote:On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Try `dub upgrade --force-remove` followed by `dub build --force`Hello! I would like to announce my project, DlangUI library -<SNIP> Hi Vadim, I have just installed the latest D 2.067.0, ran the git install and the build now fails. The errors are as follows: C:\D\dmd2\gui\dlangui>dub run dlangui:example1 --build=release Building package dlangui:example1 in C:\D\dmd2\gui\dlangui\examples\example1\ Target gl3n 1.0.1 is up to date. Use --force to rebuild. Building dlib ~master configuration "library", build type release. Running dmd... ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\dlib\i age\io\jpeg.d(681): Warning: instead of C-style syntax, use D-style syntax 'ubyte[64] dezigzag' ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\dlib\filesystem\wind ws\directory.d(77): Error: undefin ed identifier wcslen FAIL ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\.dub\build\library-release-windows-x86-dmd_2067-17 3DBA1310DF90D85EA81F6AA09FBD95\ dlib staticLibrary Error executing command run: dmd failed with exit code 1. C:\D\dmd2\gui\dlangui> any clues? Thanks. Regards, Mike.
Mar 26 2015
On Thursday, 26 March 2015 at 11:47:59 UTC, Vadim Lopatin wrote:On Thursday, 26 March 2015 at 11:41:17 UTC, Mike James wrote:Thanks Vadim, That did the trick. regards, -=mike=-On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Try `dub upgrade --force-remove` followed by `dub build --force`Hello! I would like to announce my project, DlangUI library -<SNIP> Hi Vadim, I have just installed the latest D 2.067.0, ran the git install and the build now fails. The errors are as follows: C:\D\dmd2\gui\dlangui>dub run dlangui:example1 --build=release Building package dlangui:example1 in C:\D\dmd2\gui\dlangui\examples\example1\ Target gl3n 1.0.1 is up to date. Use --force to rebuild. Building dlib ~master configuration "library", build type release. Running dmd... ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\dlib\i age\io\jpeg.d(681): Warning: instead of C-style syntax, use D-style syntax 'ubyte[64] dezigzag' ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\dlib\filesystem\wind ws\directory.d(77): Error: undefin ed identifier wcslen FAIL ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\.dub\build\library-release-windows-x86-dmd_2067-17 3DBA1310DF90D85EA81F6AA09FBD95\ dlib staticLibrary Error executing command run: dmd failed with exit code 1. C:\D\dmd2\gui\dlangui> any clues? Thanks. Regards, Mike.
Mar 26 2015
On Thursday, 26 March 2015 at 11:47:59 UTC, Vadim Lopatin wrote:Try `dub upgrade --force-remove` followed by `dub build --force`For the love of God, please put this on the github page under troubleshooting. It happens quite a lot.
Mar 26 2015
On Thursday, 26 March 2015 at 13:48:20 UTC, Chris wrote:On Thursday, 26 March 2015 at 11:47:59 UTC, Vadim Lopatin wrote:Ok. Added following notice to README (you can see it on project main page on GitHub) Important notice ================ If build of your app is failed due to dlangui or its dependencies, probably you have not upgraded dependencies. Try following: dub upgrade --force-remove dub build --force As well, sometimes removing of dub.json.selections can help.Try `dub upgrade --force-remove` followed by `dub build --force`For the love of God, please put this on the github page under troubleshooting. It happens quite a lot.
Mar 27 2015
On Thursday, 26 March 2015 at 11:41:17 UTC, Mike James wrote:On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Did you try upgrade dependencies? dub upgrade --force-remove dub build --force Best regards, VadimHello! I would like to announce my project, DlangUI library -<SNIP> Hi Vadim, I have just installed the latest D 2.067.0, ran the git install and the build now fails. The errors are as follows: C:\D\dmd2\gui\dlangui>dub run dlangui:example1 --build=release Building package dlangui:example1 in C:\D\dmd2\gui\dlangui\examples\example1\ Target gl3n 1.0.1 is up to date. Use --force to rebuild. Building dlib ~master configuration "library", build type release. Running dmd... ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\dlib\i age\io\jpeg.d(681): Warning: instead of C-style syntax, use D-style syntax 'ubyte[64] dezigzag' ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\dlib\filesystem\wind ws\directory.d(77): Error: undefin ed identifier wcslen FAIL ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master\.dub\build\library-release-windows-x86-dmd_2067-17 3DBA1310DF90D85EA81F6AA09FBD95\ dlib staticLibrary Error executing command run: dmd failed with exit code 1. C:\D\dmd2\gui\dlangui> any clues? Thanks. Regards, Mike.
Apr 12 2015
Hi Vadim, I just want to say that your work is awesome and very promising. Отличная работа!
Apr 13 2015
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented. Actually, it's a port (with major redesign) of my library used for cross-platform version of my application CoolReader from C++. State of project: alpha. But, already can be used for simple 2D games and simple GUI apps. I'm keeping in mind a goal to write D language IDE based on dlangui. :) Adding support of 3D graphics is planned. Currently implemented widgets: TextWidget - simple static text (TODO: implement multiline formatting) ImageWidget - static image Button - simple button with text label ImageButton - image only button TextImageButton - button with icon and label CheckBox - check button with label RadioButton - radio button with label EditLine - single line edit EditBox - multiline editor VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts ScrollBar - scroll bar TabControl - tabs widget, allows to select one of tabs TabHost - container for pages controlled by TabControl TabWidget - combination of TabControl and TabHost Layouts - Similar to layouts in Android LinearLayout - layout children horizontally or vertically depending on orientation VerticalLayout - just a LinearLayout with vertical orientation HorizontalLayout - just a LinearLayout with vertical orientation FrameLayout - all children occupy the same place; usually onle one of them is visible TableLayout - children are aligned into rows and columns of table List Views - similar to lists in Android UI API. ListWidget - layout dynamic items horizontally or vertically (one in row/column) with automatic scrollbar; can reuse widgets for similar items ListAdapter - interface to provide data and widgets for ListWidget WidgetListAdapter - simple implementation of ListAdapter interface - just a list of widgets (one per list item) to show Sample project, example1 contains demo code for most of dlangui API. Try it using DUB: git clone https://github.com/buggins/dlangui.git cd dlangui dub run dlangui:example1 Fonts note: on Linux, several .TTFs are loaded from hardcoded paths (suitable for Ubuntu). TODO: add fontconfig support to access all available system fonts. Helloworld: // main.d import dlangui.all; mixin DLANGUI_ENTRY_POINT; /// entry point for dlangui based application extern (C) int UIAppMain(string[] args) { // resource directory search paths string[] resourceDirs = [ appendPath(exePath, "../res/"), // for Visual D and DUB builds appendPath(exePath, "../../res/") // for Mono-D builds ]; // setup resource directories - will use only existing directories Platform.instance.resourceDirs = resourceDirs; // select translation file - for english language Platform.instance.uiLanguage = "en"; // load theme from file "theme_default.xml" Platform.instance.uiTheme = "theme_default"; // create window Window window = Platform.instance.createWindow("My Window", null); // create some widget to show in window window.mainWidget = (new Button()).text("Hello world"d).textColor(0xFF0000); // red text // show window window.show(); // run message loop return Platform.instance.enterMessageLoop(); } DDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code. I would be glad to see any feedback. Can this project be useful for someone? What features/widgets are must have for you? Best regards, Vadim <coolreader.org gmail.com>Is there any way I can debug a unittest build? "Start Debugging" seems bound to the debug build.
Apr 13 2015
On Monday, 13 April 2015 at 17:51:54 UTC, John Colvin wrote:On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Are asking about DlangIDE? There is no debugging here at all. Start Debugging currently just exdecutes `dub run`Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented. Actually, it's a port (with major redesign) of my library used for cross-platform version of my application CoolReader from C++. State of project: alpha. But, already can be used for simple 2D games and simple GUI apps. I'm keeping in mind a goal to write D language IDE based on dlangui. :) Adding support of 3D graphics is planned. Currently implemented widgets: TextWidget - simple static text (TODO: implement multiline formatting) ImageWidget - static image Button - simple button with text label ImageButton - image only button TextImageButton - button with icon and label CheckBox - check button with label RadioButton - radio button with label EditLine - single line edit EditBox - multiline editor VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts ScrollBar - scroll bar TabControl - tabs widget, allows to select one of tabs TabHost - container for pages controlled by TabControl TabWidget - combination of TabControl and TabHost Layouts - Similar to layouts in Android LinearLayout - layout children horizontally or vertically depending on orientation VerticalLayout - just a LinearLayout with vertical orientation HorizontalLayout - just a LinearLayout with vertical orientation FrameLayout - all children occupy the same place; usually onle one of them is visible TableLayout - children are aligned into rows and columns of table List Views - similar to lists in Android UI API. ListWidget - layout dynamic items horizontally or vertically (one in row/column) with automatic scrollbar; can reuse widgets for similar items ListAdapter - interface to provide data and widgets for ListWidget WidgetListAdapter - simple implementation of ListAdapter interface - just a list of widgets (one per list item) to show Sample project, example1 contains demo code for most of dlangui API. Try it using DUB: git clone https://github.com/buggins/dlangui.git cd dlangui dub run dlangui:example1 Fonts note: on Linux, several .TTFs are loaded from hardcoded paths (suitable for Ubuntu). TODO: add fontconfig support to access all available system fonts. Helloworld: // main.d import dlangui.all; mixin DLANGUI_ENTRY_POINT; /// entry point for dlangui based application extern (C) int UIAppMain(string[] args) { // resource directory search paths string[] resourceDirs = [ appendPath(exePath, "../res/"), // for Visual D and DUB builds appendPath(exePath, "../../res/") // for Mono-D builds ]; // setup resource directories - will use only existing directories Platform.instance.resourceDirs = resourceDirs; // select translation file - for english language Platform.instance.uiLanguage = "en"; // load theme from file "theme_default.xml" Platform.instance.uiTheme = "theme_default"; // create window Window window = Platform.instance.createWindow("My Window", null); // create some widget to show in window window.mainWidget = (new Button()).text("Hello world"d).textColor(0xFF0000); // red text // show window window.show(); // run message loop return Platform.instance.enterMessageLoop(); } DDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code. I would be glad to see any feedback. Can this project be useful for someone? What features/widgets are must have for you? Best regards, Vadim <coolreader.org gmail.com>Is there any way I can debug a unittest build? "Start Debugging" seems bound to the debug build.
Apr 13 2015
On Monday, 13 April 2015 at 18:35:59 UTC, Vadim Lopatin wrote:On Monday, 13 April 2015 at 17:51:54 UTC, John Colvin wrote:Sorry, yes wrong thread. OK, thanks for the explanationOn Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Are asking about DlangIDE? There is no debugging here at all. Start Debugging currently just exdecutes `dub run`Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend. As a backend, uses SDL2 on any platform, Win32 API on Windows, XCB on Linux. Other backends can be added easy. Tested on Windows and Linux. Supports hardware acceleration - drawing using OpenGL when built with version=USE_OPENGL. Unicode support. Internationalization support. Uses Win32 API fonts on Windows, and FreeType on other platforms. Same look and feel can be achieved on all platforms. Flexible look and feel - themes and styles. API is a bit similar to Android UI. Flexible layout, support of different screen DPI, scaling. Uses two phase layout like in Android. Supports drawable resources in .png and .jpeg, nine-patch pngs and state drawables like in Android. Single threaded. Use other threads for performing slow tasks. Mouse oriented. Actually, it's a port (with major redesign) of my library used for cross-platform version of my application CoolReader from C++. State of project: alpha. But, already can be used for simple 2D games and simple GUI apps. I'm keeping in mind a goal to write D language IDE based on dlangui. :) Adding support of 3D graphics is planned. Currently implemented widgets: TextWidget - simple static text (TODO: implement multiline formatting) ImageWidget - static image Button - simple button with text label ImageButton - image only button TextImageButton - button with icon and label CheckBox - check button with label RadioButton - radio button with label EditLine - single line edit EditBox - multiline editor VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts ScrollBar - scroll bar TabControl - tabs widget, allows to select one of tabs TabHost - container for pages controlled by TabControl TabWidget - combination of TabControl and TabHost Layouts - Similar to layouts in Android LinearLayout - layout children horizontally or vertically depending on orientation VerticalLayout - just a LinearLayout with vertical orientation HorizontalLayout - just a LinearLayout with vertical orientation FrameLayout - all children occupy the same place; usually onle one of them is visible TableLayout - children are aligned into rows and columns of table List Views - similar to lists in Android UI API. ListWidget - layout dynamic items horizontally or vertically (one in row/column) with automatic scrollbar; can reuse widgets for similar items ListAdapter - interface to provide data and widgets for ListWidget WidgetListAdapter - simple implementation of ListAdapter interface - just a list of widgets (one per list item) to show Sample project, example1 contains demo code for most of dlangui API. Try it using DUB: git clone https://github.com/buggins/dlangui.git cd dlangui dub run dlangui:example1 Fonts note: on Linux, several .TTFs are loaded from hardcoded paths (suitable for Ubuntu). TODO: add fontconfig support to access all available system fonts. Helloworld: // main.d import dlangui.all; mixin DLANGUI_ENTRY_POINT; /// entry point for dlangui based application extern (C) int UIAppMain(string[] args) { // resource directory search paths string[] resourceDirs = [ appendPath(exePath, "../res/"), // for Visual D and DUB builds appendPath(exePath, "../../res/") // for Mono-D builds ]; // setup resource directories - will use only existing directories Platform.instance.resourceDirs = resourceDirs; // select translation file - for english language Platform.instance.uiLanguage = "en"; // load theme from file "theme_default.xml" Platform.instance.uiTheme = "theme_default"; // create window Window window = Platform.instance.createWindow("My Window", null); // create some widget to show in window window.mainWidget = (new Button()).text("Hello world"d).textColor(0xFF0000); // red text // show window window.show(); // run message loop return Platform.instance.enterMessageLoop(); } DDOC generated documentation can be found there: https://github.com/buggins/dlangui/tree/master/docs For more info see readme and example1 code. I would be glad to see any feedback. Can this project be useful for someone? What features/widgets are must have for you? Best regards, Vadim <coolreader.org gmail.com>Is there any way I can debug a unittest build? "Start Debugging" seems bound to the debug build.
Apr 13 2015
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0I've added first DlangUI tutorial on DlangUI Wiki: https://github.com/buggins/dlangui/wiki/Getting-Started It covers creation of simple DlangUI helloworld project, and then illustrates layouts, standard controls, DML, and signals. Source code for all examples is available on GitHub https://github.com/buggins/dlangui-examples I'm looking forward for ideas for next tutorials.
Apr 14 2015
Great work!! On windows works fine. On debian: $ dub run dlangui:example1 Building package dlangui:example1 in /home/igor/devel/dlang/dlangui/dlangui/examples/example1/ Target gl3n 1.0.1 is up to date. Use --force to rebuild. Target dlib ~master is up to date. Use --force to rebuild. Target derelict-util 1.9.1 is up to date. Use --force to rebuild. Target derelict-ft 1.0.2 is up to date. Use --force to rebuild. Target derelict-sdl2 1.9.5 is up to date. Use --force to rebuild. Target derelict-gl3 1.0.12 is up to date. Use --force to rebuild. Target dlangui 0.6.20 is up to date. Use --force to rebuild. Building dlangui:example1 0.6.20 configuration "application", build type debug. Compiling using dmd... Linking... Running ./examples/example1/bin/example1 2015-04-15 11:20:21.323 E Derelict: cannot load freetype shared library: Failed to load symbol FT_Gzip_Uncompress from shared library libfreetype.so.6 object.Exception src/dlangui/graphics/ftfonts.d(519): Cannot load freetype library ---------------- ./examples/example1/bin/example1(bool dlangui.platforms.common.platform.initFontManager()+0x23) [0x73871f] ./examples/example1/bin/example1(int dlangui.platforms.sdl.sdlapp.sdlmain(immutable(char)[][])+0x23) [0x69ae37] ./examples/example1/bin/example1(DLANGUImain+0x25) [0x69ae11] ./examples/example1/bin/example1(_Dmain+0x20) [0x6307dc] ./examples/example1/bin/example1(_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ __lambda1MFZv+0x1f) [0x78c393] ./examples/example1/bin/example1(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate())+0x2a) [0x78c2e6] ./examples/example1/bin/example1(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll()+0x30) [0x78c34c] ./examples/example1/bin/example1(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate())+0x2a) [0x78c2e6] ./examples/example1/bin/example1(_d_run_main+0x193) [0x78c267] ./examples/example1/bin/example1(main+0x25) [0x66d6a9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f8738aedead] 2015-04-15 11:20:21.328 D Destroying font manager Error executing command run: Program exited with code 1 Problem with freetype? or Derelict? What's wrong? google on FT_Gzip_Uncompress show smth about 2.5-2.6 of freetype. May be, this is just new function. In wheezy thereis 2.4 freetype. ( It's today fresh install (even dub) DMD64 D Compiler v2.066.1 ii libfreetype6:amd64 2.4.9-1.1+deb7u1 amd64 FreeType 2 font engine, shared library files ii libfreetype6-dev 2.4.9-1.1+deb7u1 amd64 FreeType 2 font engine, development files ii libfreeimage3 3.15.1-1+b1 amd64 Support library for graphics image formats (library) ii libqt4-opengl:amd64 4:4.8.2+dfsg-11 amd64 Qt 4 OpenGL module ii libqt4-opengl-dev 4:4.8.2+dfsg-11 amd64 Qt 4 OpenGL library development files ii libsmokeqtopengl4-3 4:4.8.4-1 amd64 Qt OpenGL SMOKE library ii libsdl-image1.2:amd64 1.2.12-2 amd64 Image loading library for Simple DirectMedia Layer 1.2, libraries ii libsdl1.2-dev 1.2.15-5 amd64 Simple DirectMedia Layer development files ii libsdl1.2debian:amd64 1.2.15-5 amd64 Simple DirectMedia Layer ii libsdl2-2.0-0:amd64 2.0.0+dfsg1-2~bpo70+1 amd64 Simple DirectMedia Layer ii libsdl2-dev 2.0.0+dfsg1-2~bpo70+1 amd64 Simple DirectMedia Layer development files Thanx one more time!
Apr 15 2015
after upgrade apt-get install libfreetype6/jessie apt-get install libsdl2-dev/jessie (this couldn't find Failed to load symbol SDL_GetDefaultAssertionHandler from shared library libSDL2.so) Now: Running ./examples/helloworld/bin/helloworld 2015-04-15 11:56:52.590 W Only hardcoded paths to TTF fonts are supported under linux so far. TODO: implement fontconfig support. 2015-04-15 11:56:52.590 D FreeTypeFontManager.registerFont /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf SansSerif DejaVuSans italic=false weight=400 2015-04-15 11:56:52.590 D FreeTypeFontManager.registerFont /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf SansSerif DejaVuSans italic=false weight=800 2015-04-15 11:56:52.590 D FreeTypeFontManager.registerFont /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf SansSerif DejaVuSans italic=true weight=400 2015-04-15 11:56:52.590 D FreeTypeFontManager.registerFont /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf SansSerif DejaVuSans italic=true weight=800 2015-04-15 11:56:52.591 D FreeTypeFontManager.registerFont /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf MonoSpace DejaVuSansMono italic=false weight=400 2015-04-15 11:56:52.591 D FreeTypeFontManager.registerFont /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf MonoSpace DejaVuSansMono italic=false weight=800 2015-04-15 11:56:52.591 D FreeTypeFontManager.registerFont /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Oblique.ttf MonoSpace DejaVuSansMono italic=true weight=400 2015-04-15 11:56:52.592 D FreeTypeFontManager.registerFont /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-BoldOblique.ttf MonoSpace DejaVuSansMono italic=true weight=800 2015-04-15 11:56:52.593 D Creating default theme 2015-04-15 11:56:52.827 D Loading string resources from file embedded /std_en.ini 2015-04-15 11:56:52.832 I Applying loaded theme theme_default 2015-04-15 11:56:52.833 D Creating SDL window 2015-04-15 11:56:52.837 I Trying to create OpenGL 3.2 context 2015-04-15 11:56:52.839 E SDL_GL_CreateContext failed: Could not create GL context 2015-04-15 11:56:52.839 W trying other versions of OpenGL 2015-04-15 11:56:52.840 I Trying to create OpenGL 3.3 context 2015-04-15 11:56:52.842 E SDL_GL_CreateContext failed: Could not create GL context 2015-04-15 11:56:52.842 I Trying to create OpenGL 3.1 context 2015-04-15 11:56:52.846 E SDL_GL_CreateContext failed: Could not create GL context 2015-04-15 11:56:52.846 I Trying to create OpenGL 4.0 context 2015-04-15 11:56:52.850 E SDL_GL_CreateContext failed: Could not create GL context 2015-04-15 11:56:52.851 I Trying to create OpenGL 2.1 context 2015-04-15 11:56:52.854 E SDL_GL_CreateContext failed: Could not create GL context 2015-04-15 11:56:52.854 W OpenGL support is disabled But glxgears works fine, glxinfo show direct rendering: yes. BTW, why openGL for forms ? in wiki: "Fallback to pure Win32 API / SDL / XCB when OpenGL is not available (e.g. opengl dynamic library cannot be loaded)" Why no fallback?
Apr 15 2015
On Tuesday, 14 April 2015 at 11:18:38 UTC, Vadim Lopatin wrote:On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Maybe tutorial on Menus, tabs, list view, and a little excell appHello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0I've added first DlangUI tutorial on DlangUI Wiki: https://github.com/buggins/dlangui/wiki/Getting-Started It covers creation of simple DlangUI helloworld project, and then illustrates layouts, standard controls, DML, and signals. Source code for all examples is available on GitHub https://github.com/buggins/dlangui-examples I'm looking forward for ideas for next tutorials.
Dec 16 2015
On Wednesday, 16 December 2015 at 16:17:00 UTC, karabuta wrote:On Tuesday, 14 April 2015 at 11:18:38 UTC, Vadim Lopatin wrote: Maybe tutorial on Menus, tabs, list view, and a little excell appI started to work on Spreadsheet (Excel like app) example dub run dlangui:spreadsheet (dlangui/examples/spreadsheet) Its implementation is in the very beginning. Worksheet split view support development is in progress.
Dec 17 2015
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:Hello! I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0Project Update: FontConfig support is added for Linux builds Examples available on https://github.com/buggins/dlangui-examples Getting Started tutorial: https://github.com/buggins/dlangui/wiki/Getting-Started Some bugs fixed
May 06 2015
Is it's possible to use some native frontend with dlangui instead of drawing all controls with OpenGL? I really dislike how all OpenGL toolkit looks like. Is it's possible to make dlangui fully compatibility with QML to be able easy migrate visual components from Qt solution to dlangui?
Dec 16 2015
On Wednesday, 16 December 2015 at 13:32:21 UTC, Suliman wrote:Is it's possible to use some native frontend with dlangui instead of drawing all controls with OpenGL? I really dislike how all OpenGL toolkit looks like.OpenGL is just hardware acceleration for drawing. Resulting picture is the same for both OpenGL and software rendering. DlangUI will never use native controls. It draws all widgets itself. But look and feel can be changed by providing custom theme. You can create theme (set of .xml and .png files) to get DlangUI app looking exactly like native one.Is it's possible to make dlangui fully compatibility with QML to be able easy migrate visual components from Qt solution to dlangui?No. It's not planned at least for now.
Dec 17 2015
On Thursday, 17 December 2015 at 16:12:32 UTC, Vadim Lopatin wrote:On Wednesday, 16 December 2015 at 13:32:21 UTC, Suliman wrote:In general I don't care about that sort of thing, but there is one exception: the main application menu. Unity and Aqua (OS X) both end up feeling odd if you don't use the system one.Is it's possible to use some native frontend with dlangui instead of drawing all controls with OpenGL? I really dislike how all OpenGL toolkit looks like.OpenGL is just hardware acceleration for drawing. Resulting picture is the same for both OpenGL and software rendering. DlangUI will never use native controls. It draws all widgets itself. But look and feel can be changed by providing custom theme. You can create theme (set of .xml and .png files) to get DlangUI app looking exactly like native one.
Dec 17 2015
On Thursday, 17 December 2015 at 16:21:58 UTC, John Colvin wrote:Completely agree. Once Cocoa backend is ready I'm going to implement native OSX menus.DlangUI will never use native controls. It draws all widgets itself. But look and feel can be changed by providing custom theme. You can create theme (set of .xml and .png files) to get DlangUI app looking exactly like native one.In general I don't care about that sort of thing, but there is one exception: the main application menu. Unity and Aqua (OS X) both end up feeling odd if you don't use the system one.
Dec 17 2015
On Thursday, 17 December 2015 at 17:25:09 UTC, Vadim Lopatin wrote:On Thursday, 17 December 2015 at 16:21:58 UTC, John Colvin wrote:Would it be possible to add native menu for Windows? I think all font-related stuff is should be look native or use native controls. Because Apps that can't handle non standard system DPI looks very bad.Completely agree. Once Cocoa backend is ready I'm going to implement native OSX menus.DlangUI will never use native controls. It draws all widgets itself. But look and feel can be changed by providing custom theme. You can create theme (set of .xml and .png files) to get DlangUI app looking exactly like native one.In general I don't care about that sort of thing, but there is one exception: the main application menu. Unity and Aqua (OS X) both end up feeling odd if you don't use the system one.
Dec 18 2015
On Friday, 18 December 2015 at 13:56:00 UTC, Suliman wrote:I see no point in implementing native Windows menus. For high DPI, DlangUI supports loading different drawables for different resources, and you can specify font sizes and control dimensions in points or millimeters instead of pixels. (It's similar to Android)Would it be possible to add native menu for Windows? I think all font-related stuff is should be look native or use native controls. Because Apps that can't handle non standard system DPI looks very bad.In general I don't care about that sort of thing, but there is one exception: the main application menu. Unity and Aqua (OS X) both end up feeling odd if you don't use the system one.Completely agree. Once Cocoa backend is ready I'm going to implement native OSX menus.
Dec 18 2015
Le 17/12/2015 17:12, Vadim Lopatin a écrit :On Wednesday, 16 December 2015 at 13:32:21 UTC, Suliman wrote:Having a GUI library fully compatible with QML request property binding support. We have it in DQuick, but as we use lua instead of a javascript VM I am not sure about how it can be possible to be compatible. Translating qml files in lua format will certainly not be enough, because their is some gliches in QML. Sadly we don't work a lot on DQuick, but you can take a look at https://github.com/D-Quick/DQuickIs it's possible to use some native frontend with dlangui instead of drawing all controls with OpenGL? I really dislike how all OpenGL toolkit looks like.OpenGL is just hardware acceleration for drawing. Resulting picture is the same for both OpenGL and software rendering. DlangUI will never use native controls. It draws all widgets itself. But look and feel can be changed by providing custom theme. You can create theme (set of .xml and .png files) to get DlangUI app looking exactly like native one.Is it's possible to make dlangui fully compatibility with QML to be able easy migrate visual components from Qt solution to dlangui?No. It's not planned at least for now.
Dec 20 2015
On Tuesday, 20 May 2014 at 18:13:36 UTC, Vadim Lopatin wrote:I would like to announce my project, DlangUI library - cross-platform GUI for D. https://github.com/buggins/dlangui License: Boost License 1.0 Native library written in D (not a wrapper to other GUI library) - easy to extend.OpenGLDrawable is implemented - allows to use custom OpenGL drawing inside DlangUI. E.g. it's possible to draw something with OpenGL as a background, and put UI on top of it. Sample: dub run dlangui:opengl Other changes: A lot of fixes, mainly found while DlangIDE development. OpenGL support code refactoring and optimizations contributed by Viktor Makhotkin (gazer). Dependencies now are git submodules - when developing with VisualD/MonoD - no more manual cloning of dependency repos is required. Porting of XML/CSS visualization engine from my C++ project CoolReader is started.
Jan 14 2016