]> git.imager.perl.org - imager.git/blob - TODO
8196a9981ec985a81b07937f58ad61bcf2e3cfab
[imager.git] / TODO
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
16
17 Enhanched internal structure:
18
19 MultiImage & metadata support:
20 - Figure what interface should be between C and perl?
21 - How to store data in the C interface for tags/metadata?
22   Support tiff's madness, i.e. tags and options.
23 - Error handling, make a general i_errstr object and arrange
24   such that each image has an i_errstr object to hold its
25   local errors?
26 - SEE design/represent.txt for proposed new structure and
27   interface design that takes these factors into account.
28
29 New Features:
30 - Add mng support.
31
32 - Transforms, interpolated multidimensional lookup tables.
33   Usefull for CMYK <-> RGB table lookup.
34
35 - Finish antialiased filled polygon function.
36
37
38 Clean up:
39 - Make sure everything is doable with the OO interface
40   i_flood_fill() for example.
41 - Split the other classes into seperate files
42   Imager::Font::TT, Imager::Font::T1, currently 
43   an if statement is used to choose what code to
44   run.
45 - Compile with memory debugging enabled and fix all leaks
46
47 - dynaload.c is strongly tied to perl
48
49 - Add mycalloc() and myrealloc() to the malloc() wrappers.
50
51 - should we overload <=> or cmp for Imager::Color objects?
52   too many worms, leave it out
53
54 - should the interlace option for reading raw images have 
55   symbolic names in the OO interface?
56
57 - improve consistency in the interfaces, both in trying to use named
58   parameters where possible but also in using consistent names, eg.
59   (tx, ty) vs (left, top) in rubthrough() vs paste().  Do we want a (simple)
60   standard for this (suggested names)?  Remember to preserve the old 
61   interface where possible.
62
63
64 Format specific issues:
65 - should i_readgif returned colormap be an arrayref of 
66   Imager::Color objects?  Note that this will break 
67   compatibility with previous releases.
68
69 - if gif_delays is a number instead of an arrayref, use that 
70   number for each frame
71
72 - provide patches for libgif and libungif that fix their bugs
73   and give a useful extension interface.  Probe for the 
74   installation of the patches in Makefile.PL to let gif.c
75   know what features it can use.
76
77 - Add options for pnm, writer to save in any of the p1..P6
78   formats.  Even if the input has 1 channel, write 3 and such
79   cases.  Also allow ascii mode.  Need to be able to write 
80   pbm images which needs ties to the quantization code.
81
82
83 Documentation:
84 - Add to the documentation
85 - Write a tutorial?
86 - Write a guide to installing the helper libraries
87 - Go through the entire project and add comments in pod
88   so doco.perl can be used to read them.