Image architecture now models importer/exporter architecture. Everything
is 100% backwards compatible so that this won't break anything
hopefully. Compiles neatly on Unix/Gnome.

*Soon* we'll want to make our ugly code that actually includes
ie_impGraphic_XXX.h files only include ie_impGraphic.h and let that take
care of conversions automagically for us. What you'll want to do is:

1) Load the image into a UT_ByteBuf
2) Construct an importer via IE_ImpGraphic::constructImporter(bytebuf,
type, importer)
3) Call importer.importGraphic ()
4) If it's a raster graphic, getRaster_PNG(), else do the magic for
vector(SVG) graphics
5) You're done

Before, one needed to do all sorts of messiness if the graphic wasn't
being loaded from a file (i.e. an embedded graphic inside of MSWord or
RTF). NB: these importers and platform image dialogs still use this
messiness and need to be cleaned up.

>From an API standpoint, this has reduced the lines of code needed now
from 20-something to like 5 and shields you from ~95% of the ugliness
that goes on behind the scenes. Another nice side-effect of this is that
new graphic formats *could* be implemented as plugins.

NB: all abiword raster graphics are represented as PNG internally
NB: all abiword vector graphics are represented as SVG internally

All registering/unregistering is done at XP level along with Textual
import/export filters, so you shouldn't have to make any changes to your
code.

Dom

CVS:
----------------------------------------------------------------------
CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS:    src/wp/ap/beos/ap_BeOSApp.cpp src/wp/ap/mac/ap_MacApp.cpp
CVS:    src/wp/ap/qnx/ap_QNXApp.cpp src/wp/ap/unix/ap_UnixApp.cpp
CVS:    src/wp/ap/win/ap_Win32App.cpp src/wp/impexp/xp/ie_imp.cpp
CVS:    src/wp/impexp/xp/ie_impGraphic.cpp
CVS:    src/wp/impexp/xp/ie_impGraphic.h
CVS:    src/wp/impexp/xp/ie_impGraphic_BMP.cpp
CVS:    src/wp/impexp/xp/ie_impGraphic_BMP.h
CVS:    src/wp/impexp/xp/ie_impGraphic_JPEG.cpp
CVS:    src/wp/impexp/xp/ie_impGraphic_JPEG.h
CVS:    src/wp/impexp/xp/ie_impGraphic_PNG.cpp
CVS:    src/wp/impexp/xp/ie_impGraphic_PNG.h
CVS:    src/wp/impexp/xp/ie_impGraphic_SVG.cpp
CVS:    src/wp/impexp/xp/ie_impGraphic_SVG.h
CVS:    src/wp/impexp/xp/ie_impGraphic_WMF.cpp
CVS:    src/wp/impexp/xp/ie_impGraphic_WMF.h
CVS:    src/wp/impexp/xp/ie_impexp_Register.cpp
CVS:    src/wp/impexp/xp/ie_impexp_Register.h
CVS:    src/wp/impexp/xp/ie_types.h
CVS:
----------------------------------------------------------------------



Reply via email to