GUI - Graphical User Interface
PREVIEW RELEASE 3 (14.02.00)
</pre><table width=100%><tr><td width=320>
<img src="gui-r3.gif" border=0 width=320 height=200 alt="GUI snapshot"
align="right"></td><td>
One of my latest developments for BP7 is the graphical user interface.
I do know that I am not the first to start such a project; however, none
of the other BP GUIs I saw so far could satisfy me. They were usually
slow, looked ulgy (graphics errors), did not act as expected or simply
leaked important functioanlity. Most of them are shareware, so that
one should pay to use 'em.
</td></tr></table><pre>
My GUI features include:
Fully object-oriented interface
Driver model (unit based) to allow change of in- and output
devices without changes to the actual GUI or application
source code.
This includes optional support for hardware accelerated
display output.
Fully customizable objects: their shape can be defined as
well as their looks
Message driven event system
Support for custimized elements
Intelligent redraw when moving and resizing (only redraws
previously hidden parts)
Z-Order, AlwaysOnTop and Modal possibilities
Nesting of objects supported
Automatic draw clipping (like device contexts in Windows)
Lots of information available to the programmer: focus,
input caption, object under mouse, notification on mouse
movement, redraw region detection...
Relative size and position for child objects
Works in both Real- and Protected mode (depending only on
used Driver unit)
Device independent bitmap support
Multiple fonts (currently supports system 8*8 and TrueType
fonts)
Full RGB color model even in 256 color modes
Drawing to bitmaps and to object shapes
Inheritable backgrounds for GUI elements
Colorsets for colors groups that can easily be managed
Handles for hassle-free message handling (even to already
released objects)
Referencable objects to share objects and save memory
Many drawing primitives:
Points and lines (normal, horizontal, vertical, bezier)
Filled and empty rectangles
Filled and empty circles
Filled and empty ellipses (including rotation)
Filled and empty polygons
Filled and empty polybeziers
Full alpha blending on all screen drawing operations
Current driver support:
Included
MCGA (320*200*256, RM/PM, reference 256 color driver)
VESA (all 15/16 bit modes, RM/PM, reference high color
driver)
GrafX2 (VESA, PM only)
Others
GraphiX 7.4 (VESA, PM) bundled with GraphiX 7.4 for BP7
(current release works with R2-f)
BGI (640*480*16, RM/PM, no Bitmaps) DISCONTINUED after R2-d
GrafX1.4 (VESA, RM [PM unstable]) DISCONTINUED after R2-f
GUI R3, complete with source code, demo application, freetype.
Not included: the optional LFN unit and non-reference graphics
packages (GrafX2), but these files aren't necessary to
successfully compile and use the GUI.
|