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