www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DlangUI

reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
next sibling parent "w0rp" <devw0rp gmail.com> writes:
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
prev sibling next sibling parent "Dylan Knutson" <tcdknutson gmail.com> writes:
Awesome! I can't wait to try it out. Some screenshots in the
README would be much appreciated, though
May 20 2014
prev sibling next sibling parent reply "Kiith-Sa" <kiithsacmp gmail.com> writes:
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
parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
prev sibling next sibling parent reply "FrankLike" <1150015857 qq.com> writes:
 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
parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
prev sibling next sibling parent reply "Mathias LANG" <pro.mathias.lang gmail.com> writes:
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
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:

 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).
Thank you! Docs moved to gh-pages: http://buggins.github.io/dlangui/index.html
May 22 2014
parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
Some screenshots added:

http://buggins.github.io/dlangui/screenshots.html
May 22 2014
prev sibling next sibling parent reply "John" <john.joyus gmail.com> writes:
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
parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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! :)
It could be a killer feature :)
May 22 2014
prev sibling next sibling parent "Chris" <wendlec tcd.ie> writes:
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
prev sibling next sibling parent reply "Mike James" <foo bar.com> writes:
"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
next sibling parent reply "Casper =?UTF-8?B?RsOmcmdlbWFuZCI=?= <shorttail hotmail.com> writes:
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
parent reply "Mike James" <foo bar.com> writes:
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:
 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.
Hi Casper, I checked the sub-directory the loading refers to and all the pngs seems to be there. Regards, -=mike=-
Jun 05 2014
parent reply "Casper =?UTF-8?B?RsOmcmdlbWFuZCI=?= <shorttail hotmail.com> writes:
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
parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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
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?
Jun 11 2014
prev sibling parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
prev sibling next sibling parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
Project Update:
Grid control is implemented.
Jun 11 2014
prev sibling next sibling parent reply Jim Hewes <jimhewes gmail.com> writes:
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
parent reply "Gan" <avisaria me.com> writes:
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.

 Jim
This 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
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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
This 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
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.json
Jan 27 2015
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
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:
 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.

 Jim
This 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
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.json
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/HT201722
Jan 28 2015
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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:
 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
This 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
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.json
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/HT201722
Could you please share file list of /Library/Fonts/ and /System/Library/Fonts/ ? What are good/standard Sans Serif and Monotype fonts on Macs?
Jan 28 2015
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
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:
 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:
 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.

 Jim
This 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
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.json
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/HT201722
Could you please share file list of /Library/Fonts/ and /System/Library/Fonts/ ?
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.ttc
 What 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
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
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:
 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:
 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:
 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
This 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
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.json
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/HT201722
Could you please share file list of /Library/Fonts/ and /System/Library/Fonts/ ?
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.otf
Jan 28 2015
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
next sibling parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
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:
 $ 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.
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
Jan 28 2015
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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.
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
Checked on latest version from git - example1 works for me. Did you try to pull recent changes from git?
Jan 28 2015
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
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:
 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:
 $ 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.
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
Checked on latest version from git - example1 works for me. Did you try to pull recent changes from git?
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.
Jan 28 2015
next sibling parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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:
 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.
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
Checked on latest version from git - example1 works for me. Did you try to pull recent changes from git?
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.
Resizers in example1 are just for testing of mouse cursor change - not fully implemented. You can see working resizers in dlangide so far.
Jan 28 2015
prev sibling parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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:
 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.
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
Checked on latest version from git - example1 works for me. Did you try to pull recent changes from git?
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.
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.
Jan 31 2015
prev sibling parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
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
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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).
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.
 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
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
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:
 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).
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.
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=0
Jan 29 2015
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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:
 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).
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.
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=0
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 :)
Jan 29 2015
parent reply "Kapps" <opantm2+spam gmail.com> writes:
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:
 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:
 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).
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.
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=0
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 :)
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.
Feb 24 2015
parent reply "Kapps" <opantm2+spam gmail.com> writes:
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:
 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:

 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=0
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 :)
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.
XQuartz Bug Report: http://xquartz.macosforge.org/trac/ticket/661 I don't know what makes dlangui (dlangide?) use X11 though.
Feb 24 2015
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
parent reply "Suliman" <evermind live.ru> writes:
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
next sibling parent "Chris" <wendlec tcd.ie> writes:
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
prev sibling parent reply "Dicebot" <public dicebot.lv> writes:
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
parent "Jonas Drewsen" <nospam4321 hotmail.com > writes:
On Wednesday, 25 February 2015 at 13:47:04 UTC, Dicebot wrote:
 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)
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). /Jonas
Apr 10 2015
prev sibling next sibling parent reply "Dylan Allbee" <dylan linux.com> writes:
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
next sibling parent reply ketmar <ketmar ketmar.no-ip.org> writes:
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
parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
prev sibling parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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. I've submitted issue #3 to derelict-ft on GitHub. gdc doesn't support nogc attribute
Jan 28 2015
parent ketmar <ketmar ketmar.no-ip.org> writes:
On Wed, 28 Jan 2015 09:18:54 +0000, Vadim Lopatin wrote:

 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. I've submitted issue #3 to derelict-ft on GitHub. gdc doesn't support nogc attribute
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.=
Jan 28 2015
prev sibling next sibling parent reply "Mike James" <foo bar.com> writes:
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
parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
prev sibling next sibling parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
parent reply "Meta" <jared771 gmail.com> writes:
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:
 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.
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.
Feb 24 2015
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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.
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.
Upgrade dependencies: dub upgrade --force-remove
Feb 24 2015
parent "Meta" <jared771 gmail.com> writes:
On Wednesday, 25 February 2015 at 06:11:29 UTC, Vadim Lopatin 
wrote:
 Upgrade dependencies:

 dub upgrade --force-remove
Ah yes, that does it. Thank you.
Feb 25 2015
prev sibling next sibling parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
prev sibling next sibling parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
parent reply "Jean pierre" <vazyjeanpierre nowhere.uk> writes:
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:
 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/
It does not looks like something with a `soul`. It looks like a copy of something that already exists.
Mar 25 2015
parent reply "Jean pierre" <vazyjeanpierre nowhere.uk> writes:
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:
 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/
It does not looks like something with a `soul`. It looks like a copy of something that already exists.
And i tell you something, mr Lopatin, people often like more the original than the copy.
Mar 25 2015
parent ketmar <ketmar ketmar.no-ip.org> writes:
On Thu, 26 Mar 2015 03:41:11 +0000, Jean pierre wrote:

 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.
=20 And i tell you something, mr Lopatin, people often like more the original than the copy.
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.=
Mar 25 2015
prev sibling next sibling parent reply "Mike James" <foo bar.com> writes:
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
next sibling parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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.
Try `dub upgrade --force-remove` followed by `dub build --force`
Mar 26 2015
next sibling parent "Mike James" <foo bar.com> writes:
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:
 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.
Try `dub upgrade --force-remove` followed by `dub build --force`
Thanks Vadim, That did the trick. regards, -=mike=-
Mar 26 2015
prev sibling parent reply "Chris" <wendlec tcd.ie> writes:
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
parent "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:

 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.
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.
Mar 27 2015
prev sibling parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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.
Did you try upgrade dependencies? dub upgrade --force-remove dub build --force Best regards, Vadim
Apr 12 2015
parent "tired_eyes" <pastuhov85 gmail.com> writes:
Hi Vadim, I just want to say that your work is awesome and very 
promising.
Отличная работа!
Apr 13 2015
prev sibling next sibling parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
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
parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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:
 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.
Are asking about DlangIDE? There is no debugging here at all. Start Debugging currently just exdecutes `dub run`
Apr 13 2015
parent "John Colvin" <john.loughran.colvin gmail.com> writes:
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:
 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.
Are asking about DlangIDE? There is no debugging here at all. Start Debugging currently just exdecutes `dub run`
Sorry, yes wrong thread. OK, thanks for the explanation
Apr 13 2015
prev sibling next sibling parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
I'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
next sibling parent reply "igor_p" <igor prettysin.info> writes:
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)

# dmd -v
DMD64 D Compiler v2.066.1

# dpkg -l | grep freetype
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

# dpkg -l | grep freeimage
ii  libfreeimage3                         3.15.1-1+b1             
            amd64        Support library for graphics image 
formats (library)

# dpkg -l | grep opengl
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

# dpkg -l | grep libsdl
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
parent reply "igor_p" <igor prettysin.info> writes:
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
parent "igor_p" <igor prettysin.info> writes:
BTW, if I remove USE_OPENGL works fine :)
Apr 15 2015
prev sibling parent reply karabuta <karabutaworld gmail.com> writes:
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:
 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
I'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.
Maybe tutorial on Menus, tabs, list view, and a little excell app
Dec 16 2015
parent Vadim Lopatin <coolreader.org gmail.com> writes:
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 
 app
I 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
prev sibling next sibling parent reply "Vadim Lopatin" <coolreader.org gmail.com> writes:
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
Project 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
parent reply Suliman <evermind live.ru> writes:
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
parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
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
next sibling parent reply John Colvin <john.loughran.colvin gmail.com> writes:
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:
 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.
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
parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Thursday, 17 December 2015 at 16:21:58 UTC, John Colvin wrote:
 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.
Completely agree. Once Cocoa backend is ready I'm going to implement native OSX menus.
Dec 17 2015
parent reply Suliman <evermind live.ru> writes:
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:
 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.
Completely agree. Once Cocoa backend is ready I'm going to implement native OSX menus.
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.
Dec 18 2015
parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Friday, 18 December 2015 at 13:56:00 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.
Completely agree. Once Cocoa backend is ready I'm going to implement native OSX menus.
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.
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)
Dec 18 2015
prev sibling parent Xavier Bigand <flamaros.xavier gmail.com> writes:
Le 17/12/2015 17:12, Vadim Lopatin a écrit :
 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.
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/DQuick
Dec 20 2015
prev sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
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