February 06, 2006
Anders F Björklund wrote:
> SDL works fine with D too, so there are no problems in that aspect...
> One of my own projects is a gaming library, so it has been tested.
> 
> --anders

Really? Is it something with which I can help? I have OpenGL and SDL experience (http://nick.aelfgar.com/).
February 06, 2006
Walter Bright wrote:
> Choice is attractive, and endosing DWT will not prevent other gui libraries from being used in any way. However, having a default gui that comes with the language can be very compelling for users....<SNIP>

Two points.

O N E - Choosing the right toolkit
- - - - - - - - - - - - - - - - - -
If users can choose, then the toolkit you select for D as the default is going to send a message more than anything else.

I should caution you against DWT/SWT. In addition to reasons outlined by Roberto Mariottini SWT will be viewed by many people as a "bad move for D", because SWT is a large toolkit that has severe issues. This will create a negative image of stagnation and other negative characteristics associated with SWT. JFace is even more problematic.

However, if you choose a small, clean toolkit that is rock solid and REALLY easy to grasp (the TinyXML of GUI toolkits) you will create a positive image: "we have solid code and the future is looking bright". There are enthusiasts and open source audience to attract. This GUI toolkit may later grow or be replaced (change is inevitable). The key is to let people pick up the GUI and run with it (maybe not very far, but right away).

T W O - Let's Be systematic
- - - - - - - - - - - - - -
Choosing the right toolkit is a critical decision. I urge you to approach it in an systematic manner.

I think that one of the newsgroup readers should be tasked with creating an overview of all candidate GUI toolkits for D and otherwise. Preferably, someone with GUI experience. Then individuals who consider themselves GUI experts can weigh in additional info and suggestions. I would be glad to take up this task and welcome any help (I have some gui experience). Let us take a week to a week and a half to gather all the facts. Then, let's select several candidates, and decide what the cons and pros of each are. Only them can we make a proper decision.
February 06, 2006
nick wrote:

>> SDL works fine with D too, so there are no problems in that aspect...
>> One of my own projects is a gaming library, so it has been tested.
> 
> Really? Is it something with which I can help? I have OpenGL and SDL experience (http://nick.aelfgar.com/).

Did you mean with integration to wxWidgets / wxD ? (of OpenGL and SDL)

wxGLCanvas should be all done, just working on wxD 0.04 packaging now.

SDL integration is something like: http://code.technoplaza.net/wx-sdl/


Or with testing the OpenGL and SDL wrappers for D, that I did earlier ?

http://www.algonet.se/~afb/d/

OpenGL 1.2.1 the SGI version plus GLUT, updated SDL 1.2.9 is in the CVS

--anders


PS. The gaming library was http://sourceforge.net/projects/spriteworldx/
    It is using C/C++, so anything involving D is just my local testing.
February 06, 2006
nick wrote:
> Walter Bright wrote:
>> Choice is attractive, and endosing DWT will not prevent other gui libraries from being used in any way. However, having a default gui that comes with the language can be very compelling for users....<SNIP>
> 
> Two points.
> 
> O N E - Choosing the right toolkit
> - - - - - - - - - - - - - - - - - -
> If users can choose, then the toolkit you select for D as the default is going to send a message more than anything else.
> 
> I should caution you against DWT/SWT. In addition to reasons outlined by Roberto Mariottini SWT will be viewed by many people as a "bad move for D", because SWT is a large toolkit that has severe issues. This will create a negative image of stagnation and other negative characteristics associated with SWT. JFace is even more problematic.
> 
> However, if you choose a small, clean toolkit that is rock solid and REALLY easy to grasp (the TinyXML of GUI toolkits) you will create a positive image: "we have solid code and the future is looking bright". There are enthusiasts and open source audience to attract. This GUI toolkit may later grow or be replaced (change is inevitable). The key is to let people pick up the GUI and run with it (maybe not very far, but right away).
> 
> T W O - Let's Be systematic
> - - - - - - - - - - - - - -
> Choosing the right toolkit is a critical decision. I urge you to approach it in an systematic manner.
> 
> I think that one of the newsgroup readers should be tasked with creating an overview of all candidate GUI toolkits for D and otherwise. Preferably, someone with GUI experience. Then individuals who consider themselves GUI experts can weigh in additional info and suggestions. I would be glad to take up this task and welcome any help (I have some gui experience). Let us take a week to a week and a half to gather all the facts. Then, let's select several candidates, and decide what the cons and pros of each are. Only them can we make a proper decision.

One of the most lucid posts of the thread. I heartily agree with both 1 and 2.
February 06, 2006
> Will post the wxc/glcanvas.cpp and wx/GLCanvas.d shortly, as well...
> Note: you will also need a wx with OpenGL support, and OpenGL libs.

For the terminally curious, I posted the source code at:
http://wxd.sourceforge.net/glcanvas.cpp    (goes in "wxc")
http://wxd.sourceforge.net/GLCanvas.d      (goes in "wx")

You have to modify the Makefiles, and add the wx_gl and GL libs.
It will all be packaged up neatly in wxD 0.04, not to worry...

Have to look up where the OpenGL libraries are, for DMC/DMD.

--anders
February 06, 2006
I agree that this seems a good path to follow. A 2D graphics library would be useful even without a GUI.

Kyle Furlong wrote:
> Derek Parnell wrote:

>> Have we enough skills to write a fast 2D library or do we leverage off
>> existing ones? I know I can write a basic graphics library ('cos I've done
>> it a couple of times already) but I've never had to optimize it to the Nth
>> degree as I suspect one would have to for general usage. For example, do we
>> use hardware acceleration when possible or do it all through software? And
>> do we worry about unusual screen geometries (such as multiple screens
>> making a single virtual screen)? I assume a stock 2d library would not be
>> interested in 3d effects (shading, Z-axis, etc...) but it would be
>> interested in anti-aliasing and alpha-blending.
>>
> 
> Any graphics library should leverage as much of the current hardware as possible. What I think this means is that the graphics should use opengl as a base, ala Terra.

IMHO, a generic 2d graphics library such as this should support multiple backends. The most important one would be a (possibly non-accelerated) pixel-based backend usable even without a graphics card. Other backends such as OpenGL, GDI, X11, PostScript, SVG, and more should be implementable later on. The important thing is to make the correct abstraction that makes it possible to use the hardware acceleration possible in the different backends.

The correct abstraction depth is not always easy to find, but it is probably best to be at about the same level as other 2D libraries. (Briefly: support different pens and brushes and be able do draw points, lines, polygons, ellipses, bitmap images and text on an abstract surface.)

I also think everyone expects a modern 2d graphics library to support alpha blending and anti-aliased rendering. (The latter could be up to the backend.)

Looking at existing libraries, it is probably not hard to draw up the specifications.

Regards,

Oskar
February 06, 2006
nick wrote:
> Walter Bright wrote:
> 
>> Choice is attractive, and endosing DWT will not prevent other gui libraries from being used in any way. However, having a default gui that comes with the language can be very compelling for users....<SNIP>
> 
> 
> Two points.
> 
> O N E - Choosing the right toolkit
> - - - - - - - - - - - - - - - - - -
> If users can choose, then the toolkit you select for D as the default is going to send a message more than anything else.
> 
> I should caution you against DWT/SWT. In addition to reasons outlined by Roberto Mariottini SWT will be viewed by many people as a "bad move for D", because SWT is a large toolkit that has severe issues. This will create a negative image of stagnation and other negative characteristics associated with SWT. JFace is even more problematic.
> 
> However, if you choose a small, clean toolkit that is rock solid and REALLY easy to grasp (the TinyXML of GUI toolkits) you will create a positive image: "we have solid code and the future is looking bright". There are enthusiasts and open source audience to attract. This GUI toolkit may later grow or be replaced (change is inevitable). The key is to let people pick up the GUI and run with it (maybe not very far, but right away).
> 
> T W O - Let's Be systematic
> - - - - - - - - - - - - - -
> Choosing the right toolkit is a critical decision. I urge you to approach it in an systematic manner.
> 
> I think that one of the newsgroup readers should be tasked with creating an overview of all candidate GUI toolkits for D and otherwise. Preferably, someone with GUI experience. Then individuals who consider themselves GUI experts can weigh in additional info and suggestions. I would be glad to take up this task and welcome any help (I have some gui experience). Let us take a week to a week and a half to gather all the facts. Then, let's select several candidates, and decide what the cons and pros of each are. Only them can we make a proper decision.

I agree with both points, and I think that a survey would be extremely valuable for the future.
But does such a "small, clean toolkit" exist?
February 06, 2006
In article <ds7dv4$2n9k$1@digitaldaemon.com>, Oskar Linde says...
>
>IMHO, a generic 2d graphics library such as this should support multiple backends. The most important one would be a (possibly non-accelerated) pixel-based backend usable even without a graphics card. Other backends such as OpenGL, GDI, X11, PostScript, SVG, and more should be implementable later on. The important thing is to make the correct abstraction that makes it possible to use the hardware acceleration possible in the different backends.

Something like Cairo (http://www.cairographics.org/) would seem to fit the bill nicely. And it's written in C, so should be relatively easy to use from D.


February 06, 2006
> because SWT is a large toolkit that has severe issues.

What issues ?




"nick" <nick.atamas@gmail.com> wrote in message news:ds7542$2fvm$1@digitaldaemon.com...
> Walter Bright wrote:
> > Choice is attractive, and endosing DWT will not prevent other gui
libraries
> > from being used in any way. However, having a default gui that comes
with
> > the language can be very compelling for users....<SNIP>
>
> Two points.
>
> O N E - Choosing the right toolkit
> - - - - - - - - - - - - - - - - - -
> If users can choose, then the toolkit you select for D as the default is
> going to send a message more than anything else.
>
> I should caution you against DWT/SWT. In addition to reasons outlined by Roberto Mariottini SWT will be viewed by many people as a "bad move for D", because SWT is a large toolkit that has severe issues. This will create a negative image of stagnation and other negative characteristics associated with SWT. JFace is even more problematic.
>
> However, if you choose a small, clean toolkit that is rock solid and REALLY easy to grasp (the TinyXML of GUI toolkits) you will create a positive image: "we have solid code and the future is looking bright". There are enthusiasts and open source audience to attract. This GUI toolkit may later grow or be replaced (change is inevitable). The key is to let people pick up the GUI and run with it (maybe not very far, but right away).
>
> T W O - Let's Be systematic
> - - - - - - - - - - - - - -
> Choosing the right toolkit is a critical decision. I urge you to
> approach it in an systematic manner.
>
> I think that one of the newsgroup readers should be tasked with creating an overview of all candidate GUI toolkits for D and otherwise. Preferably, someone with GUI experience. Then individuals who consider themselves GUI experts can weigh in additional info and suggestions. I would be glad to take up this task and welcome any help (I have some gui experience). Let us take a week to a week and a half to gather all the facts. Then, let's select several candidates, and decide what the cons and pros of each are. Only them can we make a proper decision.


February 06, 2006
Here are a few links.

Visual Component Framework
http://vcf-online.org/

Uses AGG (Anti-Grain Geometry for all rendering)
Note - All widgets have been implemented in C# and render themselves
through the AntiGrain Geometry library.
A theme manager allows to change the appearance of the user interface
http://www.creativedocs.net/devs/gui

AGG is very good and easy to use backend.

Cairo Graphics (good engine but I'm not comfortable with it) http://www.cairographics.org/introduction



2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18