December 31, 2014
On Tuesday, 30 December 2014 at 18:32:04 UTC, ketmar via Digitalmars-d-announce wrote:
> On Tue, 30 Dec 2014 18:18:38 +0000
> MrSmith via Digitalmars-d-announce
> <digitalmars-d-announce@puremagic.com> wrote:
>
>> Is it possible to use your GUI for opengl game? I need to inject a gui in an existing main loop.
> as it seems to have OpenGL as one of the backends, i think that it
> shouldn't be hard even if it is not supported directly right now.
> please write about your progress here (if there will be any).

I've built library with 2.066.1 and master
Despite resources is not copied by dub it works fine.
Fixed C-style arrays and sent PR https://github.com/buggins/dlangui/pull/24
December 31, 2014
On Tuesday, 30 December 2014 at 18:32:04 UTC, ketmar via Digitalmars-d-announce wrote:
> On Tue, 30 Dec 2014 18:18:38 +0000
> MrSmith via Digitalmars-d-announce
> <digitalmars-d-announce@puremagic.com> wrote:
>
>> Is it possible to use your GUI for opengl game? I need to inject a gui in an existing main loop.
> as it seems to have OpenGL as one of the backends, i think that it
> shouldn't be hard even if it is not supported directly right now.
> please write about your progress here (if there will be any).

DlangUI is designed to be easy embeddable.
You will need to implement Window and Platform to wrap key and mouse events,
and call drawing of widgets above OpenGL scene.

Is there any good game framework for D?
I can try to make a wrapper to use dlangui widgets inside such framework.

December 31, 2014
On Wednesday, 31 December 2014 at 01:17:12 UTC, MrSmith wrote:
> On Tuesday, 30 December 2014 at 18:32:04 UTC, ketmar via Digitalmars-d-announce wrote:
>> On Tue, 30 Dec 2014 18:18:38 +0000
>> MrSmith via Digitalmars-d-announce
>> <digitalmars-d-announce@puremagic.com> wrote:
>>
>>> Is it possible to use your GUI for opengl game? I need to inject a gui in an existing main loop.
>> as it seems to have OpenGL as one of the backends, i think that it
>> shouldn't be hard even if it is not supported directly right now.
>> please write about your progress here (if there will be any).
>
> I've built library with 2.066.1 and master
> Despite resources is not copied by dub it works fine.
> Fixed C-style arrays and sent PR https://github.com/buggins/dlangui/pull/24

Merged! Thank you!
December 31, 2014
On Monday, 29 December 2014 at 07:35:13 UTC, ketmar via Digitalmars-d-
>
> btw, i have freeimage installed, but the loader wants to find
> "FreeImage_ConvertToRGB16" function in it, which it seems to not even
> use. that's the joy of Derelict: it loads everything whether, it needs
> it or not.

This prompted me to finally solve this issue. For future reference:
http://dblog.aldacron.net/derelictfi-gets-sharedlibversion-support/
January 05, 2015
On Tuesday, 30 December 2014 at 10:37:14 UTC, ketmar via Digitalmars-d-announce wrote:
> p.s. there is small glitch with checked checkboxes though: image is not
> transparent.

I've created pull request for dlib with added support of transparency in indexed color PNGs.
Issue with non-transparent buttons will be fixed after pull request integration.

January 05, 2015
On 26 December 2014 at 22:33, Vadim Lopatin via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:
> Hello!
>
> DlangUI project is alive and under active development.
>
> https://github.com/buggins/dlangui
>
> Recent changes:
> - new controls: ScrollWidget, TreeView, ComboBox, ...
> - new dialogs: FileOpenDialog, MessageBox
> - a lot of bugfixes
> - performance improvements in software renderer
> - killer app: new example - Tetris game :)
>
> Try Demos:
>     # download sources
>     git clone https://github.com/buggins/dlangui.git
>     cd dlangui
>     # example 1 - demo for most of widgets
>     dub run dlangui:example1 --build=release
>     # tetris - demo for game development
>     dub run dlangui:tetris --build=release
>
> DlangUI is cross-platform GUI library written in D.
> Main features:
> - cross platform: uses SDL for linux/macos, Win32 API or SDL for Windows
> - hardware acceleration: uses OpenGL for drawing when built with version
> USE_OPENGL
> - easy to extend: since it's native D library, you can add your own widgets
> and extend functionality
> - Unicode and internationalization support
> - easy to customize UI - look and feel can be changed using themes and
> styles
> - API is a bit similar to Android - two phase layout, styles
>
> Screenshots (a bit outdated):
> http://buggins.github.io/dlangui/screenshots.html
>
> See project page for details.
>
> I would like to get any feedback.
> Will be glad to see advises, bug reports, feature requests.
>
> Best regards,
>      Vadim

Is there any chance of supporting user-supplied rendering primitives? If this were a library that lived above some application supplied rendering primitives, then I could make use of this.

What rendering primitives are required? Pixel buffers? Any vertex processing happening? Text I imagine is a tough one...
January 05, 2015
On Monday, 5 January 2015 at 09:43:28 UTC, Manu via Digitalmars-d-announce wrote:
> On 26 December 2014 at 22:33, Vadim Lopatin via Digitalmars-d-announce
> <digitalmars-d-announce@puremagic.com> wrote:
>> Hello!
>>
>> DlangUI project is alive and under active development.
>>
>> https://github.com/buggins/dlangui
>>
> Is there any chance of supporting user-supplied rendering primitives?
> If this were a library that lived above some application supplied
> rendering primitives, then I could make use of this.
>
> What rendering primitives are required? Pixel buffers? Any vertex
> processing happening? Text I imagine is a tough one...

Not sure what do you mean under user supplied rendering primitives.

If you want to render UI into custom rendering buffer, you can define DrawBuf based class.
It requires following drawing primitives to be implemented:
- fill whole buffer with solid color
- fill rectangle with solid color
- draw font glyph (8 bit alpha image)
- draw 32 bit RGBA image

If your app is OpenGL based, there is already GLDrawBuf wich draws into opengl.

As well, UI can be drawn in ColorDrawBuf - 32bit RGBA buffer - and then transferred to your surface.

For embedding into third party framework, dlangui needs external mouse and key events translated into its own events.

January 06, 2015
On Saturday, 27 December 2014 at 06:32:17 UTC, Suliman wrote:
> Vadim, could you add in file path in browsing window ability to click on any needed segment of path and move to it level.
>
> I mean system like does in Windows 7 in when you can move to
> D:\code\foo\bar\baz, and after click on "foo" move to D:\code\foo\

Issue #22 is implemented.
Now path in FileDialog is shown as segments like on Win 7 - clicking on segment moves to directory, clicking on arrow after segments opens popup with subdirs inside directory. Clicking on right space of path control opens editor for path.
January 07, 2015
On Friday, 26 December 2014 at 12:33:04 UTC, Vadim Lopatin wrote:
> Hello!
>
> DlangUI project is alive and under active development.
>
> https://github.com/buggins/dlangui
>
> Recent changes:
> - new controls: ScrollWidget, TreeView, ComboBox, ...
> - new dialogs: FileOpenDialog, MessageBox
> - a lot of bugfixes
> - performance improvements in software renderer
> - killer app: new example - Tetris game :)
>
> Try Demos:
>     # download sources
>     git clone https://github.com/buggins/dlangui.git
>     cd dlangui
>     # example 1 - demo for most of widgets
>     dub run dlangui:example1 --build=release
>     # tetris - demo for game development
>     dub run dlangui:tetris --build=release
>
> DlangUI is cross-platform GUI library written in D.
> Main features:
> - cross platform: uses SDL for linux/macos, Win32 API or SDL for Windows
> - hardware acceleration: uses OpenGL for drawing when built with version USE_OPENGL
> - easy to extend: since it's native D library, you can add your own widgets and extend functionality
> - Unicode and internationalization support
> - easy to customize UI - look and feel can be changed using themes and styles
> - API is a bit similar to Android - two phase layout, styles
>
> Screenshots (a bit outdated): http://buggins.github.io/dlangui/screenshots.html
>
> See project page for details.
>
> I would like to get any feedback.
> Will be glad to see advises, bug reports, feature requests.
>
> Best regards,
>      Vadim

Hi Vadim,

When I follow the building and the running of the demo app using DUB I get the following error:

C:\D\dmd2\src>git clone https://github.com/buggins/dlangui.git
Cloning into 'dlangui'...
remote: Counting objects: 5700, done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 5700 (delta 21), reused 0 (delta 0)
Receiving objects: 100% (5700/5700), 5.33 MiB | 1.51 MiB/s, done.
Resolving deltas: 100% (3333/3333), 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\
WARNING: A deprecated branch based version specification is used for the dependency derelict-ft. Please use numbered ver
sions instead. Also note that you can still use the dub.selections.json file to override a certain dependency to use a b
ranch instead.
WARNING: A deprecated branch based version specification is used for the dependency derelict-sdl2. Please use numbered v
ersions instead. Also note that you can still use the dub.selections.json file to override a certain dependency to use a
 branch instead.
WARNING: A deprecated branch based version specification is used for the dependency derelict-fi. Please use numbered ver
sions instead. Also note that you can still use the dub.selections.json file to override a certain dependency to use a b
ranch instead.
WARNING: A deprecated branch based version specification is used for the dependency dlangui:dlanguilib. Please use numbe
red versions instead. Also note that you can still use the dub.selections.json file to override a certain dependency to
use a branch instead.
WARNING: A deprecated branch based version specification is used for the dependency derelict-gl3. Please use numbered ve
rsions instead. Also note that you can still use the dub.selections.json file to override a certain dependency to use a
branch instead.
Target derelict-util 1.9.0 is up to date. Use --force to rebuild.
Target derelict-ft ~master is up to date. Use --force to rebuild.
Target derelict-sdl2 ~master is up to date. Use --force to rebuild.
Target derelict-fi ~master is up to date. Use --force to rebuild.
Target dlib ~master is up to date. Use --force to rebuild.
Target derelict-gl3 ~master is up to date. Use --force to rebuild.
Building dlangui:dlanguilib 0.2.2+commit.2.g15226e8 configuration "library", build type release.
Running dmd...
Building dlangui:example1 0.2.2+commit.2.g15226e8 configuration "application", build type release.
Compiling using dmd...
src\dlangui\core\files.d(114): Error: module windows is in file 'win32\windows.d' which cannot be read
import path[0] = examples\example1\src
import path[1] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-ft-master\source
import path[2] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-util-1.9.0\source
import path[3] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-sdl2-master\source
import path[4] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-fi-master\source
import path[5] = src
import path[6] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master
import path[7] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-gl3-master\source
import path[8] = C:\D\dmd2\windows\bin\..\..\src\phobos
import path[9] = C:\D\dmd2\windows\bin\..\..\src\druntime\import
FAIL examples\example1\.dub\build\application-release-windows-x86-dmd_2066-A150B7CA4D2F564C56024EE584D1E13A\ example1 ex
ecutable
Error executing command run: dmd failed with exit code 1.


C:\D\dmd2\src\dlangui>


What am I doing wrong?

Regards, Mike.
January 07, 2015
On Wednesday, 7 January 2015 at 10:05:24 UTC, Mike James wrote:
> On Friday, 26 December 2014 at 12:33:04 UTC, Vadim Lopatin wrote:
>> Hello!
>>
>> DlangUI project is alive and under active development.
>>
>> https://github.com/buggins/dlangui
>>
>> Recent changes:
>> - new controls: ScrollWidget, TreeView, ComboBox, ...
>> - new dialogs: FileOpenDialog, MessageBox
>> - a lot of bugfixes
>> - performance improvements in software renderer
>> - killer app: new example - Tetris game :)
>>
>> Try Demos:
>>    # download sources
>>    git clone https://github.com/buggins/dlangui.git
>>    cd dlangui
>>    # example 1 - demo for most of widgets
>>    dub run dlangui:example1 --build=release
>>    # tetris - demo for game development
>>    dub run dlangui:tetris --build=release
...
>
> Hi Vadim,
>
> When I follow the building and the running of the demo app using DUB I get the following error:
>
> C:\D\dmd2\src>git clone https://github.com/buggins/dlangui.git
> Cloning into 'dlangui'...
> remote: Counting objects: 5700, done.
> remote: Compressing objects: 100% (56/56), done.
> remote: Total 5700 (delta 21), reused 0 (delta 0)
> Receiving objects: 100% (5700/5700), 5.33 MiB | 1.51 MiB/s, done.
> Resolving deltas: 100% (3333/3333), done.
>
> C:\D\dmd2\src>cd dlangui
>
...
> src\dlangui\core\files.d(114): Error: module windows is in file 'win32\windows.d' which cannot be read
> import path[0] = examples\example1\src
> import path[1] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-ft-master\source
> import path[2] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-util-1.9.0\source
> import path[3] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-sdl2-master\source
> import path[4] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-fi-master\source
> import path[5] = src
> import path[6] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\dlib-master
> import path[7] = ..\..\..\..\Users\mikej\AppData\Roaming\dub\packages\derelict-gl3-master\source
> import path[8] = C:\D\dmd2\windows\bin\..\..\src\phobos
> import path[9] = C:\D\dmd2\windows\bin\..\..\src\druntime\import
> FAIL examples\example1\.dub\build\application-release-windows-x86-dmd_2066-A150B7CA4D2F564C56024EE584D1E13A\ example1 ex
> ecutable
> Error executing command run: dmd failed with exit code 1.
>
>
> C:\D\dmd2\src\dlangui>
>
>
> What am I doing wrong?
>
> Regards, Mike.

Sorry,

I've reproduced this issue with dub 0.9.22
It looks like some bug in DUB - it cannot find source files from referenced package.
It worked for me for newer dub - built from mainstream branch near middle of December.

Submitted fix - list of win32 files into each subproject (example1, tetris).

Now it should build ok with dub 0.9.22 on Windows