Re: eog refactoring



On Tue, 2005-12-20 at 12:33 +0000, Ross Burton wrote:
> On Thu, 2005-12-15 at 19:10 +0100, Gergely Nagy wrote:
> > Stuff that belongs in an Image class:
> >  - The pixbuf(s) (e.g. multilayer)
> >  - Metadata
> >  - Operations/Effects (metadata safe)
> >  - Thumbnail(?)
> 
> I don't think Operations/Effects are terribly useful, the only
> requirement is that load/save should not drop any metadata, and that is
> separate from effects.
> 
> Also GdkPixbuf has some basic functions for image manipulation, so
> extending that list would be useful.  Specifically I'd like a desaturate
> function which doesn't effect the lightness of the pixbuf.

Encapsulating plain pixbufs in images has imho several advantages:

- The Image class would ideally hide the low-level pixbuf operations.
When you resize an Image, you probably don't want to get a scaled copy
of the pixbuf, but resize it "in place".
- E.g. to losslessly rotate a JPEG image is not the same as to rotate
it's pixbuf.
- You might want to just "preload" an image, i.e. getting only the
metadata and maybe the thumbnail.
- An Image can be an animation (e.g. animated gif)
- Metadata should be updated immediately, not just on load/save. This is
especially important for an app like Eog, where metadata is displayed
alongside the image.
- This is a step towards FirstClassObjects:
http://live.gnome.org/ThreePointZero_2fFirstClassObjects


Nevertheless, I agree, that the pixbuf operations themselves do not
belong in such an Image class.

Greg




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]