mirror of
https://gitlab.gnome.org/GNOME/eog
synced 2024-10-19 14:34:42 +00:00
6e0777eeef
2000-08-18 Federico Mena Quintero <federico@helixcode.com> Another attempt at fixing auto-sizing; it seems to work now. Maybe GtkScrollFrame is not *that* broken... * window.c (window_construct): Do not set the default size of the window. (window_init): Set the window policy to allow_shrink. (auto_size): Set the usize of the image view to our preferred size. (window_open_image_dialog): Add a grab on the dialog so that the user cannot invoke commands on the window! (hide_cb): Remove the grab when the dialog is hidden. (window_open_image_dialog): Sigh. Add an accel group so that pressing Escape can close the open dialog. * gtkscrollframe.c (gtk_scroll_frame_size_request): Do pay attention to the child's requisition; this restores the code to its original state. (gtk_scroll_frame_size_allocate): Make sure the the child_allocation is nonnegative (bugfix merge from Evolution). * image-view.c (image_view_size_request): Request a size of zero.
92 lines
3 KiB
Plaintext
92 lines
3 KiB
Plaintext
If you intend to work on any of these issues, please contact
|
|
Federico Mena-Quintero (federico@gnu.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.
|
|
|
|
* Turn the UIImage widget into a Bonobo control ("I want an image
|
|
viewer in my application"):
|
|
|
|
- Write a CORBA interface for the control's methods (set zoom,
|
|
set image, etc.).
|
|
|
|
- See what user interface elements such as toolbar/menu items
|
|
it needs, and put them in the control's machinery for
|
|
toolbar/menu merging.
|
|
|
|
- See if it should support some of the PersistStream hydration
|
|
methods.
|
|
|
|
* Make the main program be a simple shell (like the Evolution shell)
|
|
where the main image viewer Bonobo control is inserted:
|
|
|
|
- Remove all the "window modes" crap from window.c.
|
|
|
|
- Maybe we should have several different types of window
|
|
classes: one for holding just a viewer control (windowed
|
|
image viewing); one for holding all the directory browsing
|
|
controls; one for holding the image collection browsing
|
|
controls.
|
|
|
|
* Finish the GnomeIconView!!!
|
|
|
|
* 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.
|
|
|
|
* Write a Bonobo embeddable ("I want to embed an image in my
|
|
document"):
|
|
|
|
- Add separate zoom factors for the vertical and horizontal
|
|
dimensions to the ImageView widget. This is required so
|
|
that the parent can resize the image in any way.
|
|
|
|
- Write a CORBA interface for the embeddable's methods. What
|
|
does it need?
|
|
|
|
* 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.
|