summaryrefslogtreecommitdiff
path: root/TODO
blob: 4878f8f57cdea784e5be1a1653fc2625b89c95ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
If you intend to work on any of these issues, please contact
Federico Mena-Quintero (federico@gnu.org) and/or eog-list@gnome.org.

* Bugs:

	- Turn on window auto-sizing and create a new window with an
          image in it (i.e. by turning on the "open images in a new
          window" option or by specifying an image filename in the
          command line).  The image view comes up a little bit larger
          than the right auto-fit size.  This is GtkScrollFrame's
          fault; for some reason it is including the (un-needed)
          scrollbars' requisitions in its own space.

* Finish the ImageView widget:

	- Write a "fast" version of uta.c:uta_find_first_glom_rect().
	  Right now we just have a hacked version of libart's
	  function.

	- Figure out what to do with the color correction tables; we
          are not using them right now.

* Write a directory browser.  Maybe this should be done using Nautilus
  controls, or maybe we should have a simple and dumb thing of our
  own.

* Write the image category mechanism.

* Write the image collection mechanism and its GUI.

* Progressive loading.  Write something like

	typedef struct {
		GdkPixbufLoader *loader;
		GdkPixbuf *result;
		ArtUta *loaded_area;
	} ImageLoadContext;

  to allow images to be loaded progressively in the idle loop.  This
  should be interruptible, etc.

* Animation support:

	- Enhance the above structure to support animations.

	- Make the ImageView widget understand animations.  What to do
          about tearing when compositing the frames?  Should we
          special-case animations and blast them to the screen whole
          without tearing?

	  Maybe we can blast each frame at the proper time without
	  tearing, and only use the normal tearing method when the
	  user changes the zoom/scroll.

* Write the programmer's and API reference manuals.