[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice
Subject: imageContainer proposal
From: Thomas Zander <zander () xs4all ! nl>
Date: 2000-07-09 15:00:45
[Download RAW message or body]
-----------------------------------------
Included files (pictures/parts/formula's)
-----------------------------------------
- Pictures should never be rescaled if that means that there is image loss
at printing time
- It should be possible to keep files external. Kword(/*) should also notice a
changed file (preferably also at runtime) and reload it.
- In kword we have an image object.
- we also have a imageCollection object.
Proposal
--------
On placing the picture in the document we should create a thumbnail on screen at the
screensize. This counts for both internal and external pictures. With todays computers
I am not really concerned with filesizes anymore, besides; it would probably be about
30k max. The thumbs will be saved as:
tar:pictures/
The internal pictures should be read into memory and saved to the tar in a dir like
tar:raw-pictures/
and/or
tar:raw-parts/
When another instance of the same picture/part is placed we should just use
the same object we allready use. We could consider creating a newly
scaled thumb if the sizes differ a lot. The raw file will stay untouched.
kofficecore/ImageContainer.cc
manages a picture. You can ask it for thumbs, location, the raw file
and it has a save function.
- ImageContainer(QString filename, bool external);
constructor.
if filename starts with tar or external is set: store filename.
otherwise read raw file in mem.
- int getRefCount()
keep internal usage count
- koImage* getThumb(QSize);
look in tar if there was a thumb. Otherwise create one of selected size.
note that koImage also does referece checking.
- void incCount();
for usage count
- void decCount();
for usage count
- koRawImage* getImage();
Return the rawimage (in a stream??) either from mem or from disk.
- save();
well, it saves.
kofficecore/PartContainer.cc
manages a part. You can as it for location (key), the part and it
has a save function
- PartContainer
constructor
- getRefCount
- void incCount()
- void decCount();
- koSomething* getPart();
- save();
kofficeCore/ImageCollection.cc
- ImageCollection();
- ImageConatainer* getImage(filename);
return imageContainer, if one doesnt exist create it first.
- int getCount();
return number of images in the collection
- void removeImage(filename);
remove image from collection
- void load();
load all imageContainers
- void save();
save all imageContainers
Note that you can not resize an image, just the thumbs.
Note also that the 'key' is its filename. With full path that makes it http://
or file:// or tar:// for remote, local, internal storage respectively.
Last note: this proposal does not propose any gui/printing issues at all.
--
Thomas Zander zander@earthling.net
The only thing worse than failure is the fear of trying something new
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic