Boost logo

Boost :

Subject: Re: [boost] Thoughts for a GUI (Primitives) Library
From: Yakov Galka (ybungalobill_at_[hidden])
Date: 2010-09-08 02:55:58


On Wed, Sep 8, 2010 at 06:28, Artyom <artyomtnk_at_[hidden]> wrote:

> 1. Use "native" widgets or not
>
Use none! That's exactly was my point! Designing a low level library is
wrong. Design the high level which can be bound to "native" widgets or even
"windowless" drawn on some canvas.
****TAKE A LOOK AT http://notus.sourceforge.net/ !!!****

2. What strings should be used? std::string, std::wstring, custom string
> like Qt's QString or GTKmm's ustring?
>
As a windows programmer I say: use UTF-8 with std::string. See Pavel's
answer here:
http://stackoverflow.com/questions/1049947/should-utf-16-be-considered-harmful.
Why UTF-8? In non gui code std::string is more common. Single byte encoding
is also default for std::exception::what() for example.
Anyway if there is no consensus on this topic you still can use both through
a configuration (typedef std::string/std::wstring tstring;).

3. What about event loop:
>
This is the hard part.

4. What about OS support. What GUI systems are you going to work with:
>
Any GUI that the user of the library wants. The library will supply bindings
to the common controls on common GUIs.

 5. What 3D rendering would you use?
>
Any rendering that the user of the library wants. 3D rendering (unlike basic
2D rendering) shouldn't be considered at all. It should be possible to use
3rd party portable libraries with this GUI.

6. What about licensing? Can we use LGPL libraryes? GPL libraries? or only
> BSD/MIT like ones.
>
You don't use other libraries for anything except the bindings for some
platform. If you use the native API that's not a problem.

Yakov


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk