]>
Commit | Line | Data |
---|---|---|
b921d414 | 1 | *** TODO *** |
b921d414 AMH |
2 | |
3 | ||
4 | Iolayer: | |
5 | - Add scalar/mmap to iolayer | |
a106216b | 6 | - Add close() code to iolayer for fakeseek sources. |
b921d414 | 7 | - Merge callback interface into iolayer |
a106216b AMH |
8 | - Add iolayer reading/writing for gif |
9 | - and raw | |
10 | - Implment the maxread threshold (Indicates how much can | |
11 | be read from a source before it stops reading from its | |
12 | underlying source. For making sure only the relevant | |
13 | data is read from a socket for example. | |
14 | ||
b921d414 | 15 | |
b921d414 AMH |
16 | Enhanched internal structure: |
17 | ||
18 | MultiImage & metadata support: | |
19 | - Figure what interface should be between C and perl? | |
20 | - How to store data in the C interface for tags/metadata? | |
21 | Support tiff's madness, i.e. tags and options. | |
22 | - Error handling, make a general i_errstr object and arrange | |
23 | such that each image has an i_errstr object to hold its | |
24 | local errors? | |
25 | - SEE design/represent.txt for proposed new structure and | |
26 | interface design that takes these factors into account. | |
faa9b3e7 TC |
27 | - define common i_* tags for specifying attribute common among images |
28 | like spatial resolution (implement for other image types, especially | |
29 | TIFF) | |
b921d414 AMH |
30 | |
31 | New Features: | |
a106216b | 32 | - Add mng support, pcx and aalib support. |
5f5fe73e | 33 | |
b921d414 AMH |
34 | - Transforms, interpolated multidimensional lookup tables. |
35 | Usefull for CMYK <-> RGB table lookup. | |
36 | ||
37 | - Finish antialiased filled polygon function. | |
38 | ||
a106216b | 39 | - advanced font layout (spacing, kerning, alignment) (Artur?) |
faa9b3e7 | 40 | |
bf9dd17c TC |
41 | - ways to check if characters are present in a font, eg. checking if |
42 | ligatures are present | |
43 | ||
faa9b3e7 TC |
44 | - font synthesis - synthesize a bold or slanted font from a normal font |
45 | (or even from an existing bold or slanted font) | |
bf9dd17c | 46 | |
faa9b3e7 | 47 | - utf8 support for text output |
bf9dd17c | 48 | (available for freetype2) |
faa9b3e7 TC |
49 | |
50 | - image rotation, 3 ways of doing rotation: | |
faa9b3e7 TC |
51 | - rotation by shearing, which produces makes lengths in the image larger, |
52 | but could be useful | |
a010a7d3 | 53 | (2 of the 3 have been done) |
faa9b3e7 TC |
54 | |
55 | - read_multi() needs to handle other multi-image types, such as TIFF | |
56 | (probably the most common) | |
b921d414 | 57 | |
362e7486 TC |
58 | - compose channels - build a new image based on channels from several |
59 | images | |
60 | ||
da77e827 TC |
61 | - filled polygons |
62 | ||
63 | - arc outlines | |
64 | ||
b921d414 AMH |
65 | Clean up: |
66 | - Make sure everything is doable with the OO interface | |
5f5fe73e | 67 | i_flood_fill() for example. |
f1ac5027 | 68 | |
b921d414 AMH |
69 | - Compile with memory debugging enabled and fix all leaks |
70 | ||
71 | - dynaload.c is strongly tied to perl | |
72 | ||
a106216b | 73 | - Add mycalloc() memory allocation wrappers. |
b921d414 AMH |
74 | |
75 | - should we overload <=> or cmp for Imager::Color objects? | |
76 | too many worms, leave it out | |
77 | ||
78 | - should the interlace option for reading raw images have | |
79 | symbolic names in the OO interface? | |
80 | ||
f2bc9b80 TC |
81 | - improve consistency in the interfaces, both in trying to use named |
82 | parameters where possible but also in using consistent names, eg. | |
83 | (tx, ty) vs (left, top) in rubthrough() vs paste(). Do we want a (simple) | |
84 | standard for this (suggested names)? Remember to preserve the old | |
85 | interface where possible. | |
b921d414 | 86 | |
b921d414 | 87 | Format specific issues: |
b921d414 AMH |
88 | - provide patches for libgif and libungif that fix their bugs |
89 | and give a useful extension interface. Probe for the | |
90 | installation of the patches in Makefile.PL to let gif.c | |
91 | know what features it can use. | |
92 | ||
a106216b | 93 | - Add options for pnm writer to save in any of the p1..P6 |
b921d414 AMH |
94 | formats. Even if the input has 1 channel, write 3 and such |
95 | cases. Also allow ascii mode. Need to be able to write | |
96 | pbm images which needs ties to the quantization code. | |
97 | ||
a106216b AMH |
98 | - save paletted images as paletted where that's supported. Done |
99 | for gif/tga. Not done for png/tiff yet. | |
f873cb01 | 100 | |
a106216b AMH |
101 | - read other format paletted images as paletted images. This has |
102 | been done for gif/tga formats but not for tiff/png. | |
27d9683e | 103 | |
b921d414 AMH |
104 | Documentation: |
105 | - Add to the documentation | |
106 | - Write a tutorial? | |
faa9b3e7 TC |
107 | - sample code and Imager/Samples.pod describing them |
108 | - Imager/Cookbook.pod | |
109 | - modify the .pm files to put pod describing a function close to the | |
110 | function | |
b921d414 AMH |
111 | - Write a guide to installing the helper libraries |
112 | - Go through the entire project and add comments in pod | |
113 | so doco.perl can be used to read them. |