source: libcaca/trunk/TODO @ 2066

Last change on this file since 2066 was 2066, checked in by Sam Hocevar, 16 years ago
  • Refresh TODO list.
  • Property svn:keywords set to Id
File size: 3.2 KB
Line 
1/* $Id: TODO 2066 2007-11-25 19:00:22Z 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  - add attributes such as "can grow X-wise" to frames.
36  - handle frame name in caca export
37
38  \subsection indep API-independent stuff
39
40  - Brightness, contrast support for bitmaps (the functions are here, we
41     just need to fill them)
42  - Implement other error distribution dithering algorithms
43  - Add a random factor to the random ditherer. No need to change the API
44     for that, we can just pass \c "random:10" instead of \c "random" to the
45     cucul_set_bitmap_dithering() function.
46  - Implement the colour modes set in cucul_set_bitmap_color(). For the
47     moment only \c "full16" and \c "16" are implemented.
48  - Fix the thin ellipse rendering (currently it's only |s and -s, we
49     could make them smoother by using ' ` , etc).
50  - better mask support in cucul_blit()
51  - optimise exporters so that they do not allocate huge blocks of memory
52     when they only need half of it.
53
54
55\section libcaca libcaca
56
57  \subsection dep API-dependent stuff
58
59  - beep support
60
61  \subsection indep API-independent stuff
62
63  - Write a Linux console output
64  - Better keyboard driver in an X terminal, see
65     http://groups.yahoo.com/group/zepp/message/381
66  - Unicode support for X11 (maybe through Xft)
67  - fix Unicode support for ncurses (look at the nano source, it gets it right)
68  - and Jylam wants a framebuffer output
69  - write sample code for a text edit widget with cursor support
70  - optimise renderers by having dirty lines support (requires libcucul
71    changes)
72
73
74\section bindings Language bindings
75
76  \subsection needed Needed
77
78  - Fix Python
79  - Fix Perl
80  - PHP (together with the HTML output it would allow for nice web
81     applications)
82
83  \subsection notimp Not that important
84
85  - Java
86
87
88\section kernel Kernel mode
89
90  - keyboard support
91  - printf/fprintf are missing
92  - Improve malloc/free so that we can reuse freed memory
93
94
95\section doc Documentation
96
97  - Write a tutorial.
98  - Draw a nicer logo
99
100
101\section apps Applications
102
103  \section cacaview cacaview
104
105  - File browser
106  - open ANSI files
107  - save in different formats
108
109  \section cacadraw cacadraw
110
111  - Only a skeleton exists yet. A modern ANSI editor that can also
112     do Unicode.
113
114*/
Note: See TracBrowser for help on using the repository browser.