Download Latest Version ansigl-0.0.tar.gz (43.1 kB)
Email in envelope

Get an email when there's a new version of AnsiGL

Home / Releases
Name Modified Size InfoDownloads / 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 1
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.




Source: README, updated 2012-01-13