December 29, 2014
On 30/12/2014 12:14 a.m., Vadim Lopatin wrote:
> On Monday, 29 December 2014 at 09:43:34 UTC, Rikki Cattermole wrote:
>> On 29/12/2014 10:33 p.m., Vadim Lopatin wrote:
>>> On Monday, 29 December 2014 at 09:30:40 UTC, Vadim Lopatin wrote:
>>> BTW, there is de_image package - "Image loading and exporting
>>> Devisualization".
>>> It's native D implementation, and possible if PNG only is enough, it
>>> makes sense to use it.
>>> Did some try de_image?
>>
>> Author here.
>> Devisualization.Image png support is not complete.
>> But should be fine for RGBA images.
>> Interlacing is not done, however should be pretty easy to implement. I
>> just haven't really wrapped my head around how to do and undo Adam7.
>>
>> There is much more complete implementations in e.g. ae with support
>> for jpeg, bmp, tiff ext. However my reasons for Devisualization.Image
>> is = less code to compile in. Highly scoped.
>
> Does de_image support PNGs with more than 256 colors?

It should support 8bit and 16bit sample (not RGB I mean just for e.g. R)[0].
I haven't really tested 16bit support however.


> Does it support alpha?

Yes

> Interlacing is not critical for usage in GUI resources - it's always
> possible to open interlaced image and save as non-interlaced.

Just so you know [1].

> Are you planning to separate import and export operations?
> E.g. possibility to build read-only configuration of library to reduce
> code size?

Currently there is no way to disable exporting.
Its honestly not much code extra, double roughly at most.

> I'm going to try de_image instead of FreeImage in dlangui.

Sweet sounds good.
Also if you don't mind looking into Devisualization.Window as well?
It would help get you on to OSX rather fast. Since it already supports it.

If there is anything you want help with or just general chat, feel free to ping me on gitter.im. All Devisualization projects especially the more complete ones have a conversation on there with me sitting in them.

[0] https://github.com/Devisualization/image/blob/master/source/png/devisualization/image/png/reader_chunks_IDAT.d#L67
[1] https://github.com/Devisualization/image/blob/master/source/png/devisualization/image/png/reader_chunks_IDAT.d#L57
December 29, 2014
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

Great work. I left the idea to make GUI apps with D since a while but your project almost conviced me to give another try. I don't like the other options (GtkD, the other based on java things, the one based on tcl). It looks like the native GUI framework a lot of people are expecting. DQuick had my interest too but it seems that it's dormant since a small year now.

December 29, 2014
On Monday, 29 December 2014 at 09:30:40 UTC, Vadim Lopatin wrote:
> I've tried to find some replacement for it, and found FreeImage

There is http://code.dlang.org/packages/dlib which includes

"dlib.image - image processing (filters, color correction, FFT, HDRI, graphics formats I/O, support for 8 and 16-bit RGBA buffers and floating point operations)"
December 30, 2014
On Monday, 29 December 2014 at 19:55:13 UTC, kdmult wrote:
> On Monday, 29 December 2014 at 09:30:40 UTC, Vadim Lopatin wrote:
>> I've tried to find some replacement for it, and found FreeImage
>
> There is http://code.dlang.org/packages/dlib which includes
>
> "dlib.image - image processing (filters, color correction, FFT, HDRI, graphics formats I/O, support for 8 and 16-bit RGBA buffers and floating point operations)"

Thanks! I will try it.
December 30, 2014
On Tuesday, 30 December 2014 at 04:39:42 UTC, Vadim Lopatin wrote:
> On Monday, 29 December 2014 at 19:55:13 UTC, kdmult wrote:
>> On Monday, 29 December 2014 at 09:30:40 UTC, Vadim Lopatin wrote:
>>> I've tried to find some replacement for it, and found FreeImage
>>
>> There is http://code.dlang.org/packages/dlib which includes
>>
>> "dlib.image - image processing (filters, color correction, FFT, HDRI, graphics formats I/O, support for 8 and 16-bit RGBA buffers and floating point operations)"
>
> Thanks! I will try it.

DLIB works perfectly for me.
I've removed FreeImage dependency from dlangui completely.

Some objections:
JPEG reading from master branch is working, but unaccessible from tagged version.
Two warnings in jpeg.d prevent using dub build from master branch.
    dlib/image/io/jpeg.d(76): Warning: use '{ }' for an empty statement, not a ';'
    dlib/image/io/jpeg.d(259): Warning: statement is not reachable
When file format is not supported, image loader fails assertion. Why not return null or throw exception? It's not feasible.
It will be great if dlib with JPEG reading support is released!

Temporary disabling JPEG support.

Image interface provides access to pixels as float point rgba only.
Double conversion occurs when I'm getting data.
Are there any plans to provide some interface to read data as integers? E.g. 8bitRGBA.

As well I've tried de_image (can be used instead of dlib if built with version=USE_DEIMAGE).
RGBA PNGs are being loaded ok.
BW pngs cannot be read - author is working on fix.
No JPEG support - it would be great if author could add it in future.
Will keep checking the progress of de_image development.

December 30, 2014
On Tue, 30 Dec 2014 09:19:05 +0000
Vadim Lopatin via Digitalmars-d-announce
<digitalmars-d-announce@puremagic.com> wrote:

> As well I've tried de_image (can be used instead of dlib if built with version=USE_DEIMAGE).
yet it requires fill devisualization. for now it complains
about "manipulation.d(5): Error: module linegraph is in file
'devisualization/util/core/linegraph.d' which cannot be read" ;-)

and this prevents building example1, as dub tries to build de_image unconditionally.

otherwise it's not crashing anymore, yet it still looks very funny:
http://ketmar.no-ip.org/2014-12-30-11-35-26_700x500.png
is it supposed to look like this?


December 30, 2014
btw: i'm not trying to say something bad about the project. quite contrary: i wish it success, as i really want native D cross-platform GUI library, and want it not to be DWT (as DWT is not working for me anyway ;-).


December 30, 2014
On Tuesday, 30 December 2014 at 09:37:09 UTC, ketmar via Digitalmars-d-announce wrote:
> On Tue, 30 Dec 2014 09:19:05 +0000
> Vadim Lopatin via Digitalmars-d-announce
> <digitalmars-d-announce@puremagic.com> wrote:
>
>> As well I've tried de_image (can be used instead of dlib if built with version=USE_DEIMAGE).
> yet it requires fill devisualization. for now it complains
> about "manipulation.d(5): Error: module linegraph is in file
> 'devisualization/util/core/linegraph.d' which cannot be read" ;-)

It's reproduced with new DUB (newer that 0.9.22 available for download on code.dlang.org).

I've disabled de_image dependency so far (dlangui v0.1.22) to fix this problem.

> and this prevents building example1, as dub tries to build de_image
> unconditionally.
>
> otherwise it's not crashing anymore, yet it still looks very funny:
> http://ketmar.no-ip.org/2014-12-30-11-35-26_700x500.png
> is it supposed to look like this?

Of course, it's not supposed to work like this :)

Are you running it under linux?
It's working for me on ubuntu 14.4
December 30, 2014
On Tue, 30 Dec 2014 10:15:10 +0000
Vadim Lopatin via Digitalmars-d-announce
<digitalmars-d-announce@puremagic.com> wrote:

> > otherwise it's not crashing anymore, yet it still looks very
> > funny:
> > http://ketmar.no-ip.org/2014-12-30-11-35-26_700x500.png
> > is it supposed to look like this?
> 
> Of course, it's not supposed to work like this :)
> 
> Are you running it under linux?
yes. Slackware GNU/Linux, x86, nVidia GT8600, proprietary nVidia drivers (rather old, something around 320). built as README says, i.e. with `dub run --force dlangui:example1` (i added "force" just to be sure that no stale libraries were used).


December 30, 2014
On Tuesday, 30 December 2014 at 09:37:09 UTC, ketmar via Digitalmars-d-announce wrote:
> otherwise it's not crashing anymore, yet it still looks very funny:
> http://ketmar.no-ip.org/2014-12-30-11-35-26_700x500.png
> is it supposed to look like this?

It looks like resources from dlangui/lib are not loaded. I see only ones from examples/example1/res

Can you try to copy dlangui/res directory to directory where executable is located?