waccgl
waccgl copied to clipboard
Windows Advanced Console Componental Graphics Library
WACCGL (C/C++ library, Windows)
Windows Advanced Console Componental Graphics Library
Some examples involving WACCGL usage:
TicTacConsole game involves usage of old integrated WACCGL code see...

About
This is just another crazy library, which allows you to create ascii-text graphical user interface inside Windows Command Prompt!
All Feautures:
- Mouse (and scroll wheel) support (little fancy text cursor inside CMD!)
- Fancy GUI inside command prompt
- Handling special event
- Many useful components (like lists, editboxes etc.)
Unfortunately this project isn't well documented yet (try to read the examples). :(
Compiling
The library contains examples files. Makefile commands:
- To get some help type
makeormake help - To compile examples use the following command:
make all - To get list of all available examples type:
make run-example - To run an example type:
make run-example-NAME(e.g.make run-example-demo) - To clean project directory use
make clean - To rebuild everything run:
make rebuild
Examples
The library contains few examples. You can see them to figure out how to use WACCGL.
basic.cpp- basic usagedemo.cpp- demo of some componentsmanual-drawing.cpp- some manual buffer manipulation codemouse.cpp- simple mouse supportno-buffer-cleaning.cpp- you don't have to clean up this messscene-animations.cpp- some simple transitionswindows.cpp- how about an iternal window?own-component.cpp- custom component implementation
Support for other OSes
All the library depends on ./include/console.h.
If you want to port this library to linux just rewrite the console.h code.
Supported GUI components:
- Scenes -
scene - Checkboxes -
checkbox - Text frames -
textframe - Component frames -
frame - Ascii image frames -
imgframe - Buttons -
button - Select boxes -
selbox / slistbox / listbox - Expandable lists -
exlistbox - Scrollbars -
vscrollbar - Progressbars -
progressbar - Edit boxes -
edittextframe
Of course you can implement any GUI component by extending scene_object class.