source: libcaca/trunk/TODO @ 1948

Last change on this file since 1948 was 1879, checked in by Sam Hocevar, 13 years ago
  • Renamed doxygen sections here and there to avoid embarassing side-effects such as "man tutorial" showing the libcaca tutorial on Debian systems.
  • Property svn:keywords set to Id
File size: 3.4 KB
RevLine 
[1879]1/* $Id: TODO 1879 2007-11-04 11:59:54Z sam $ */ /** \page libcaca-todo Libcaca TODO list
[27]2
[823]3\section libcucul libcucul
[27]4
[823]5  \subsection dep API-dependent stuff
[27]6
[1433]7  - big change: support several internal formats for canvases, for instance
8    support the old ASCII canvas that only has 8-bit values, support the old
9    ANSI color-only canvas, and add features to canvases, such as auto-adapt so
10    that the canvas' format is automatically upgraded. Also, separate attribute
11    stuff from colour stuff. List of attributes we support:
12    - bold
13    - blink
14    - underline
15    - italics
16    list of attributes we may want to support:
17    - faint
18    - concealed
19    - double underline
20    - strike through
21    - inverse video (not that stupid, canceling it is a bitwise op)
22    - rapidly blinking / slowly blinking
23    - fraktur (gothic) (wtf is that?)
24    - alternate fonts 1 to 9 (wtf is that?) (probably not wanted)
25    - proportional spacing (yeah)
26    - framed
27    - encircled
28    - overlined
29
30  - add a caca_unset_attr() and a caca_toggle_attr() ?
31
[1354]32  - support for holes in canvas (eg. not full EOL)
33  - support for TAB
[1284]34  - allow to change the canvas size in a per-frame basis.
35  - export attribute parsing functions such as attr_to_ansi4fg etc.
[1425]36  - add attributes such as "can grow X-wise" to frames.
[1433]37  - handle frame name in caca export
[201]38
[823]39  \subsection indep API-independent stuff
[600]40
[823]41  - Brightness, contrast support for bitmaps (the functions are here, we
[712]42     just need to fill them)
[823]43  - Error distribution dithering
44  - Add a random factor to the random ditherer. No need to change the API
[1104]45     for that, we can just pass \c "random:10" instead of \c "random" to the
[712]46     cucul_set_bitmap_dithering() function.
[823]47  - Implement the colour modes set in cucul_set_bitmap_color(). For the
[1104]48     moment only \c "full16" and \c "16" are implemented.
[823]49  - Fix the thin ellipse rendering (currently it's only |s and -s, we
[712]50     could make them smoother by using ' ` , etc).
[823]51  - better mask support in cucul_blit()
52  - optimise exporters so that they do not allocate huge blocks of memory
53     when they only need half of it.
[806]54
[600]55
[823]56\section libcaca libcaca
[600]57
[823]58  \subsection dep API-dependent stuff
59
[1354]60  - beep support
[1425]61  - check that the libcucul version matches on init
[1284]62
[823]63  \subsection indep API-independent stuff
[202]64
[823]65  - Write a Linux console output
66  - Better keyboard driver in an X terminal, see
[676]67     http://groups.yahoo.com/group/zepp/message/381
[823]68  - Unicode support for X11 (maybe through Xft)
[983]69  - fix Unicode support for ncurses (look at the nano source, it gets it right)
[823]70  - and Jylam wants a framebuffer output
[1210]71  - write sample code for a text edit widget with cursor support
[1425]72  - optimise renderers by having dirty lines support (requires libcucul
73    changes)
[676]74
75
[823]76\section bindings Language bindings
[676]77
[823]78  \subsection needed Needed
[676]79
[823]80  - Fix Python
81  - Fix Perl
82  - C# (it's the next big thing, believe me)
83  - PHP (together with the HTML output it would allow for nice web
[676]84     applications)
85
[823]86  \subsection notimp Not that important
[676]87
[823]88  - Ruby
89  - Java
[676]90
91
[823]92\section kernel Kernel mode
[676]93
[823]94  - keyboard support
95  - printf/fprintf are missing
96  - Improve malloc/free so that we can reuse freed memory
[676]97
98
[823]99\section doc Documentation
[202]100
[823]101  - Write a tutorial.
102  - Draw a nicer logo
[236]103
104
[823]105\section apps Applications
[236]106
[823]107  \section cacaview cacaview
[236]108
[823]109  - File browser
110  - open ANSI files
111  - save in different formats
[676]112
[823]113  \section cacadraw cacadraw
[676]114
[966]115  - Only a skeleton exists yet. A modern ANSI editor that can also
[676]116     do Unicode.
117
[823]118*/
Note: See TracBrowser for help on using the repository browser.