On Saturday, 11 April 2015 at 05:43:14 UTC, Rashad Vinshy wrote:
CSGL:
I would like to announce the release of my beta library for D!
What is the best plan of action at this point to contribute it
to the D community? (the library still needs debugging and
optimization support, I've only tested it on my machine)
For those interested the library hast he following features
currently supported:
1. CSGL exists on a series of overlays over the workspace - by
simply design one can simulate traditional gui's.
2. CSGL has context sensitive capabilities - Allows one to
change the gui depending on what actions have previously taken
place.
3. CSGL is intelligent and can find optimal patterns in your
work flow. You are presented with what you need at that point.
The self modifying gui can adapt not only visual elements but
also context sensitive hotkeys, mouse interact, and even things
such as MIDI, OSC, COM, etc.
4. CSGL has a built in fully capable scripting editor. One can
not only write their on wrappers around the gui elements but
also design commonly used macros to reduce complex gui
interaction tasks. One can even do such things as animation
using the scripting language
5. CSGL has pluggable modules that can be freely used by any
gui that recognizes them. One can also access them through
scripting.
6. The visual template of the gui can be easily changed through
the gui template library. (your apps can be reskinned by a few
clicks)
7. Full multi-monitor support, including automatically tracking
usage patterns to present the user with the best possible
scenario.
8. Full User-Edit mode. By a special hotkey the user can go
into edit mode and configure and edit the different gui
elements. The same editor is used to the design the gui.
Features to come: Full GUI editor(not done yet). Something like
Blend.
--
Next week I will be able to upload a working demo that shows
off some of the capabilities; Some of the graphics treats such
as alpha channel tricks, along with how context sensitive gui's
work.
The demo is a graphics program that essentially changes the gui
as you change your working actions. If you use the paintbrush
tool, not only do the other tools reorder themselves, they also
can(but not necessarily) configure themselves to present to you
similar choices that were used before in similar contexts. In
this case(of a new user) a circular swatch is present to the
user that surrounds the canvas for easy color access that is on
it's own overlay along with the right mouse button becoming a
different function(from a secondary drawing tool function to an
eraser. This was done by scripting side to show how it can be
used).
Also, If anyone is interested in helping with this project
please let me know.
Thanks,
RV
Github + code.dlang.org