The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.
| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README | 2012-01-13 | 3.2 kB | |
| ansigl-0.0.md5sum | 2012-01-13 | 52 Bytes | |
| ansigl-0.0.tar.gz | 2012-01-13 | 43.1 kB | |
| Totals: 3 Items | 46.4 kB | 0 | |
AnsiGL -- A string "graphics" library
TODO: Create proper documentation!
From the comments of the initial checkin...
Things that work (at least mostly):
achar - An ANSI-enabled 'char'
astring - A std::string-like implementation based on achar instead of
char
Point - A simple (x,y) coordinate class
Area - Effectively identical to point in that its just 2 integers,
only these are Width and Height instead of coordinates
FixedArea - An area with a Point
Pixel - A specialized achar that serves as the basis for a Surface
Surface - The most-basic (meaningful) rendering context of AnsiGL
Sprite - The start of a Surface-based lineage dedicated to being
content, rather than displaying content
Window - The start of a Surface-based lineage dedicated to the
presentation of content
ansigl_ncurses
- A separate (optional) extension library to provide better ncurses
integration (AnsiGL should probably not ever implement input
handling/etc.)
- Mostly a simple collection of functions for ncurses compatibility
- The most notable is RenderToNcurses() to render a Surface out to an
ncurses WINDOW (usually stdscr).
- Note: AnsiGL supports more ANSI codes than ncurses (and most terminals).
In addition, nearly every terminal tested without ncurses has
performed very differently in terms of which ANSI codes are
supported. This is probably why the ncurses team didn't bother,
but since they have already been added, there's no real need to
remove them since they do function appropriately.
Known issues:
- ncurses handles colors with a very different interface when compared to
the methods used by AnsiGL, even though the underlying technique is
probably very similar. ANSI codes do not currently render accurately.
Things that are planned:
TextWindow - A Window with alignment/word-wrap/formatting options for text
InputWindow - A specialized TextWindow for echoing input
ChatWindow - A TextWindow with an InputWindow attached under it,
essentially
Desktop - A specialized Window for managing multiple Windows within it
Something akin to the Panel library of ncurses
Other misc. plans:
- Give sprites the ability to pseudo-rotate (0,90,180,270)
- Animations; probably something like vector< Sprite > with functions to
set the current frame, advance frames, etc. Nearly everything but timing
- Some sort of an optionally stand-alone or integrated timing mechanism for
animations
- More "drawing" functions
- Menus and other useful "widgets"
- An expansion beyond ASCII? Multiple character sets, or possibly UTF-8
support?
- An expansion beyond 16-color ANSI?
For the time being, until proper documentation can be created, the
recomendation is to use the header files for guidance. This file, along
with the other "standard" GNU documentation and "official" documentation are
on the todo list. They will be started soon and standard practice will be
to update documentation at the time of changes that cause any documents to
be out of date.