source: libcaca/trunk/TODO @ 2056

Last change on this file since 2056 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
Line 
1/* $Id: TODO 1879 2007-11-04 11:59:54Z sam $ */ /** \page libcaca-todo Libcaca TODO list
2
3\section libcucul libcucul
4
5  \subsection dep API-dependent stuff
6
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
32  - support for holes in canvas (eg. not full EOL)
33  - support for TAB
34  - allow to change the canvas size in a per-frame basis.
35  - export attribute parsing functions such as attr_to_ansi4fg etc.
36  - add attributes such as "can grow X-wise" to frames.
37  - handle frame name in caca export
38
39  \subsection indep API-independent stuff
40
41  - Brightness, contrast support for bitmaps (the functions are here, we
42     just need to fill them)
43  - Error distribution dithering
44  - Add a random factor to the random ditherer. No need to change the API
45     for that, we can just pass \c "random:10" instead of \c "random" to the
46     cucul_set_bitmap_dithering() function.
47  - Implement the colour modes set in cucul_set_bitmap_color(). For the
48     moment only \c "full16" and \c "16" are implemented.
49  - Fix the thin ellipse rendering (currently it's only |s and -s, we
50     could make them smoother by using ' ` , etc).
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.
54
55
56\section libcaca libcaca
57
58  \subsection dep API-dependent stuff
59
60  - beep support
61  - check that the libcucul version matches on init
62
63  \subsection indep API-independent stuff
64
65  - Write a Linux console output
66  - Better keyboard driver in an X terminal, see
67     http://groups.yahoo.com/group/zepp/message/381
68  - Unicode support for X11 (maybe through Xft)
69  - fix Unicode support for ncurses (look at the nano source, it gets it right)
70  - and Jylam wants a framebuffer output
71  - write sample code for a text edit widget with cursor support
72  - optimise renderers by having dirty lines support (requires libcucul
73    changes)
74
75
76\section bindings Language bindings
77
78  \subsection needed Needed
79
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
84     applications)
85
86  \subsection notimp Not that important
87
88  - Ruby
89  - Java
90
91
92\section kernel Kernel mode
93
94  - keyboard support
95  - printf/fprintf are missing
96  - Improve malloc/free so that we can reuse freed memory
97
98
99\section doc Documentation
100
101  - Write a tutorial.
102  - Draw a nicer logo
103
104
105\section apps Applications
106
107  \section cacaview cacaview
108
109  - File browser
110  - open ANSI files
111  - save in different formats
112
113  \section cacadraw cacadraw
114
115  - Only a skeleton exists yet. A modern ANSI editor that can also
116     do Unicode.
117
118*/
Note: See TracBrowser for help on using the repository browser.