[Libreoffice-commits] .: svtools/inc
Joseph Powers
jpowers at kemper.freedesktop.org
Wed Jul 13 07:26:31 PDT 2011
svtools/inc/svtools/grfmgr.hxx | 708 ++++++++++++++++++++++++-----------------
1 file changed, 422 insertions(+), 286 deletions(-)
New commits:
commit 82d38fe86919a300bf6af3833981ab8aac33f2b5
Author: Joseph Powers <jpowers27 at cox.net>
Date: Wed Jul 13 07:26:24 2011 -0700
Whitespace cleanup
diff --git a/svtools/inc/svtools/grfmgr.hxx b/svtools/inc/svtools/grfmgr.hxx
index f45a069..d48d828 100644
--- a/svtools/inc/svtools/grfmgr.hxx
+++ b/svtools/inc/svtools/grfmgr.hxx
@@ -36,34 +36,34 @@
// - Defines -
// -----------
-#define GRFMGR_DRAW_NOTCACHED 0x00000000UL
-#define GRFMGR_DRAW_CACHED 0x00000001UL
-#define GRFMGR_DRAW_BILINEAR 0x00000002UL
-#define GRFMGR_DRAW_USE_DRAWMODE_SETTINGS 0x00000004UL
-#define GRFMGR_DRAW_SUBSTITUTE 0x00000008UL
-#define GRFMGR_DRAW_NO_SUBSTITUTE 0x00000010UL
-#define GRFMGR_DRAW_STANDARD (GRFMGR_DRAW_CACHED|GRFMGR_DRAW_BILINEAR)
+#define GRFMGR_DRAW_NOTCACHED 0x00000000UL
+#define GRFMGR_DRAW_CACHED 0x00000001UL
+#define GRFMGR_DRAW_BILINEAR 0x00000002UL
+#define GRFMGR_DRAW_USE_DRAWMODE_SETTINGS 0x00000004UL
+#define GRFMGR_DRAW_SUBSTITUTE 0x00000008UL
+#define GRFMGR_DRAW_NO_SUBSTITUTE 0x00000010UL
+#define GRFMGR_DRAW_STANDARD (GRFMGR_DRAW_CACHED|GRFMGR_DRAW_BILINEAR)
// --------------------
// - AutoSwap Defines -
// --------------------
-#define GRFMGR_AUTOSWAPSTREAM_LINK ((SvStream*)0x00000000UL)
-#define GRFMGR_AUTOSWAPSTREAM_LOADED ((SvStream*)0xfffffffdUL)
-#define GRFMGR_AUTOSWAPSTREAM_TEMP ((SvStream*)0xfffffffeUL)
-#define GRFMGR_AUTOSWAPSTREAM_NONE ((SvStream*)0xffffffffUL)
+#define GRFMGR_AUTOSWAPSTREAM_LINK ((SvStream*)0x00000000UL)
+#define GRFMGR_AUTOSWAPSTREAM_LOADED ((SvStream*)0xfffffffdUL)
+#define GRFMGR_AUTOSWAPSTREAM_TEMP ((SvStream*)0xfffffffeUL)
+#define GRFMGR_AUTOSWAPSTREAM_NONE ((SvStream*)0xffffffffUL)
// ----------------------
// - Adjustment Defines -
// ----------------------
-#define ADJUSTMENT_NONE 0x00000000UL
-#define ADJUSTMENT_DRAWMODE 0x00000001UL
-#define ADJUSTMENT_COLORS 0x00000002UL
-#define ADJUSTMENT_MIRROR 0x00000004UL
-#define ADJUSTMENT_ROTATE 0x00000008UL
-#define ADJUSTMENT_TRANSPARENCY 0x00000010UL
-#define ADJUSTMENT_ALL 0xFFFFFFFFUL
+#define ADJUSTMENT_NONE 0x00000000UL
+#define ADJUSTMENT_DRAWMODE 0x00000001UL
+#define ADJUSTMENT_COLORS 0x00000002UL
+#define ADJUSTMENT_MIRROR 0x00000004UL
+#define ADJUSTMENT_ROTATE 0x00000008UL
+#define ADJUSTMENT_TRANSPARENCY 0x00000010UL
+#define ADJUSTMENT_ALL 0xFFFFFFFFUL
// ---------
// - Enums -
@@ -97,87 +97,87 @@ class SVT_DLLPUBLIC GraphicAttr
{
private:
- long mnDummy1;
- long mnDummy2;
- double mfGamma;
- sal_uInt32 mnMirrFlags;
- long mnLeftCrop;
- long mnTopCrop;
- long mnRightCrop;
- long mnBottomCrop;
- sal_uInt16 mnRotate10;
- short mnContPercent;
- short mnLumPercent;
- short mnRPercent;
- short mnGPercent;
- short mnBPercent;
- sal_Bool mbInvert;
- sal_uInt8 mcTransparency;
- GraphicDrawMode meDrawMode;
-
- void* mpDummy;
+ long mnDummy1;
+ long mnDummy2;
+ double mfGamma;
+ sal_uInt32 mnMirrFlags;
+ long mnLeftCrop;
+ long mnTopCrop;
+ long mnRightCrop;
+ long mnBottomCrop;
+ sal_uInt16 mnRotate10;
+ short mnContPercent;
+ short mnLumPercent;
+ short mnRPercent;
+ short mnGPercent;
+ short mnBPercent;
+ sal_Bool mbInvert;
+ sal_uInt8 mcTransparency;
+ GraphicDrawMode meDrawMode;
+
+ void* mpDummy;
public:
GraphicAttr();
~GraphicAttr();
- sal_Bool operator==( const GraphicAttr& rAttr ) const;
- sal_Bool operator!=( const GraphicAttr& rAttr ) const { return !( *this == rAttr ); }
+ sal_Bool operator==( const GraphicAttr& rAttr ) const;
+ sal_Bool operator!=( const GraphicAttr& rAttr ) const { return !( *this == rAttr ); }
- void SetDrawMode( GraphicDrawMode eDrawMode ) { meDrawMode = eDrawMode; }
- GraphicDrawMode GetDrawMode() const { return meDrawMode; }
+ void SetDrawMode( GraphicDrawMode eDrawMode ) { meDrawMode = eDrawMode; }
+ GraphicDrawMode GetDrawMode() const { return meDrawMode; }
- void SetMirrorFlags( sal_uLong nMirrFlags ) { mnMirrFlags = nMirrFlags; }
- sal_uLong GetMirrorFlags() const { return mnMirrFlags; }
+ void SetMirrorFlags( sal_uLong nMirrFlags ) { mnMirrFlags = nMirrFlags; }
+ sal_uLong GetMirrorFlags() const { return mnMirrFlags; }
- void SetCrop( long nLeft_100TH_MM, long nTop_100TH_MM, long nRight_100TH_MM, long nBottom_100TH_MM )
+ void SetCrop( long nLeft_100TH_MM, long nTop_100TH_MM, long nRight_100TH_MM, long nBottom_100TH_MM )
{
mnLeftCrop = nLeft_100TH_MM; mnTopCrop = nTop_100TH_MM;
mnRightCrop = nRight_100TH_MM; mnBottomCrop = nBottom_100TH_MM;
}
- long GetLeftCrop() const { return mnLeftCrop; }
- long GetTopCrop() const { return mnTopCrop; }
- long GetRightCrop() const { return mnRightCrop; }
- long GetBottomCrop() const { return mnBottomCrop; }
+ long GetLeftCrop() const { return mnLeftCrop; }
+ long GetTopCrop() const { return mnTopCrop; }
+ long GetRightCrop() const { return mnRightCrop; }
+ long GetBottomCrop() const { return mnBottomCrop; }
- void SetRotation( sal_uInt16 nRotate10 ) { mnRotate10 = nRotate10; }
- sal_uInt16 GetRotation() const { return mnRotate10; }
+ void SetRotation( sal_uInt16 nRotate10 ) { mnRotate10 = nRotate10; }
+ sal_uInt16 GetRotation() const { return mnRotate10; }
- void SetLuminance( short nLuminancePercent ) { mnLumPercent = nLuminancePercent; }
- short GetLuminance() const { return mnLumPercent; }
+ void SetLuminance( short nLuminancePercent ) { mnLumPercent = nLuminancePercent; }
+ short GetLuminance() const { return mnLumPercent; }
- void SetContrast( short nContrastPercent ) { mnContPercent = nContrastPercent; }
- short GetContrast() const { return mnContPercent; }
+ void SetContrast( short nContrastPercent ) { mnContPercent = nContrastPercent; }
+ short GetContrast() const { return mnContPercent; }
- void SetChannelR( short nChannelRPercent ) { mnRPercent = nChannelRPercent; }
- short GetChannelR() const { return mnRPercent; }
+ void SetChannelR( short nChannelRPercent ) { mnRPercent = nChannelRPercent; }
+ short GetChannelR() const { return mnRPercent; }
- void SetChannelG( short nChannelGPercent ) { mnGPercent = nChannelGPercent; }
- short GetChannelG() const { return mnGPercent; }
+ void SetChannelG( short nChannelGPercent ) { mnGPercent = nChannelGPercent; }
+ short GetChannelG() const { return mnGPercent; }
- void SetChannelB( short nChannelBPercent ) { mnBPercent = nChannelBPercent; }
- short GetChannelB() const { return mnBPercent; }
+ void SetChannelB( short nChannelBPercent ) { mnBPercent = nChannelBPercent; }
+ short GetChannelB() const { return mnBPercent; }
- void SetGamma( double fGamma ) { mfGamma = fGamma; }
- double GetGamma() const { return mfGamma; }
+ void SetGamma( double fGamma ) { mfGamma = fGamma; }
+ double GetGamma() const { return mfGamma; }
- void SetInvert( sal_Bool bInvert ) { mbInvert = bInvert; }
- sal_Bool IsInvert() const { return mbInvert; }
+ void SetInvert( sal_Bool bInvert ) { mbInvert = bInvert; }
+ sal_Bool IsInvert() const { return mbInvert; }
- void SetTransparency( sal_uInt8 cTransparency ) { mcTransparency = cTransparency; }
- sal_uInt8 GetTransparency() const { return mcTransparency; }
+ void SetTransparency( sal_uInt8 cTransparency ) { mcTransparency = cTransparency; }
+ sal_uInt8 GetTransparency() const { return mcTransparency; }
- sal_Bool IsSpecialDrawMode() const { return( meDrawMode != GRAPHICDRAWMODE_STANDARD ); }
- sal_Bool IsMirrored() const { return( mnMirrFlags != 0UL ); }
- sal_Bool IsCropped() const
+ sal_Bool IsSpecialDrawMode() const { return( meDrawMode != GRAPHICDRAWMODE_STANDARD ); }
+ sal_Bool IsMirrored() const { return( mnMirrFlags != 0UL ); }
+ sal_Bool IsCropped() const
{
return( mnLeftCrop != 0 || mnTopCrop != 0 ||
mnRightCrop != 0 || mnBottomCrop != 0 );
}
- sal_Bool IsRotated() const { return( ( mnRotate10 % 3600 ) != 0 ); }
- sal_Bool IsTransparent() const { return( mcTransparency > 0 ); }
- sal_Bool IsAdjusted() const
+ sal_Bool IsRotated() const { return( ( mnRotate10 % 3600 ) != 0 ); }
+ sal_Bool IsTransparent() const { return( mcTransparency > 0 ); }
+ sal_Bool IsAdjusted() const
{
return( mnLumPercent != 0 || mnContPercent != 0 || mnRPercent != 0 ||
mnGPercent != 0 || mnBPercent != 0 || mfGamma != 1.0 || mbInvert );
@@ -197,43 +197,51 @@ class SVT_DLLPUBLIC GraphicObject : public SvDataCopyStream
private:
- static GraphicManager* mpGlobalMgr;
-
- Graphic maGraphic;
- GraphicAttr maAttr;
- Size maPrefSize;
- MapMode maPrefMapMode;
- sal_uLong mnSizeBytes;
- GraphicType meType;
- GraphicManager* mpMgr;
- String* mpLink;
- Link* mpSwapStreamHdl;
- String* mpUserData;
- Timer* mpSwapOutTimer;
- GrfSimpleCacheObj* mpSimpleCache;
- sal_uLong mnAnimationLoopCount;
+ static GraphicManager* mpGlobalMgr;
+
+ Graphic maGraphic;
+ GraphicAttr maAttr;
+ Size maPrefSize;
+ MapMode maPrefMapMode;
+ sal_uLong mnSizeBytes;
+ GraphicType meType;
+ GraphicManager* mpMgr;
+ String* mpLink;
+ Link* mpSwapStreamHdl;
+ String* mpUserData;
+ Timer* mpSwapOutTimer;
+ GrfSimpleCacheObj* mpSimpleCache;
+ sal_uLong mnAnimationLoopCount;
void* mpDummy1;
void* mpDummy2;
- sal_Bool mbAutoSwapped : 1;
- sal_Bool mbTransparent : 1;
- sal_Bool mbAnimated : 1;
- sal_Bool mbEPS : 1;
- sal_Bool mbIsInSwapIn : 1;
- sal_Bool mbIsInSwapOut : 1;
- sal_Bool mbAlpha : 1;
- sal_Bool mbDummyFlag8 : 1;
- sal_Bool mbIsRenderGraphic : 1;
- sal_Bool mbHasRenderGraphic : 1;
-
- void SVT_DLLPRIVATE ImplConstruct();
- void SVT_DLLPRIVATE ImplAssignGraphicData();
- void SVT_DLLPRIVATE ImplSetGraphicManager( const GraphicManager* pMgr,
- const ByteString* pID = NULL,
- const GraphicObject* pCopyObj = NULL );
- void SVT_DLLPRIVATE ImplAutoSwapIn();
- sal_Bool SVT_DLLPRIVATE ImplIsAutoSwapped() const { return mbAutoSwapped; }
- sal_Bool SVT_DLLPRIVATE ImplGetCropParams( OutputDevice* pOut, Point& rPt, Size& rSz, const GraphicAttr* pAttr,
- PolyPolygon& rClipPolyPoly, sal_Bool& bRectClipRegion ) const;
+ sal_Bool mbAutoSwapped : 1;
+ sal_Bool mbTransparent : 1;
+ sal_Bool mbAnimated : 1;
+ sal_Bool mbEPS : 1;
+ sal_Bool mbIsInSwapIn : 1;
+ sal_Bool mbIsInSwapOut : 1;
+ sal_Bool mbAlpha : 1;
+ sal_Bool mbDummyFlag8 : 1;
+ sal_Bool mbIsRenderGraphic : 1;
+ sal_Bool mbHasRenderGraphic : 1;
+
+ void SVT_DLLPRIVATE ImplConstruct();
+ void SVT_DLLPRIVATE ImplAssignGraphicData();
+ void SVT_DLLPRIVATE ImplSetGraphicManager(
+ const GraphicManager* pMgr,
+ const ByteString* pID = NULL,
+ const GraphicObject* pCopyObj = NULL
+ );
+ void SVT_DLLPRIVATE ImplAutoSwapIn();
+ sal_Bool SVT_DLLPRIVATE ImplIsAutoSwapped() const { return mbAutoSwapped; }
+ sal_Bool SVT_DLLPRIVATE ImplGetCropParams(
+ OutputDevice* pOut,
+ Point& rPt,
+ Size& rSz,
+ const GraphicAttr* pAttr,
+ PolyPolygon& rClipPolyPoly,
+ sal_Bool& bRectClipRegion
+ ) const;
/** Render a given number of tiles in an optimized way
@@ -276,47 +284,74 @@ private:
@return true, if everything was successfully rendered.
*/
- bool SVT_DLLPRIVATE ImplRenderTempTile( VirtualDevice& rVDev, int nExponent,
- int nNumTilesX, int nNumTilesY,
- const Size& rTileSizePixel,
- const GraphicAttr* pAttr, sal_uLong nFlags );
+ bool SVT_DLLPRIVATE ImplRenderTempTile(
+ VirtualDevice& rVDev,
+ int nExponent,
+ int nNumTilesX,
+ int nNumTilesY,
+ const Size& rTileSizePixel,
+ const GraphicAttr* pAttr,
+ sal_uLong nFlags
+ );
/// internally called by ImplRenderTempTile()
- bool SVT_DLLPRIVATE ImplRenderTileRecursive( VirtualDevice& rVDev, int nExponent, int nMSBFactor,
- int nNumOrigTilesX, int nNumOrigTilesY,
- int nRemainderTilesX, int nRemainderTilesY,
- const Size& rTileSizePixel, const GraphicAttr* pAttr,
- sal_uLong nFlags, ImplTileInfo& rTileInfo );
-
- bool SVT_DLLPRIVATE ImplDrawTiled( OutputDevice* pOut, const Rectangle& rArea, const Size& rSizePixel,
- const Size& rOffset, const GraphicAttr* pAttr, sal_uLong nFlags, int nTileCacheSize1D );
-
- bool SVT_DLLPRIVATE ImplDrawTiled( OutputDevice& rOut, const Point& rPos,
- int nNumTilesX, int nNumTilesY,
- const Size& rTileSize,
- const GraphicAttr* pAttr, sal_uLong nFlags );
-
- void SVT_DLLPRIVATE ImplTransformBitmap( BitmapEx& rBmpEx,
- const GraphicAttr& rAttr,
- const Size& rCropLeftTop,
- const Size& rCropRightBottom,
- const Rectangle& rCropRect,
- const Size& rDstSize,
- sal_Bool bEnlarge ) const;
+ bool SVT_DLLPRIVATE ImplRenderTileRecursive(
+ VirtualDevice& rVDev,
+ int nExponent,
+ int nMSBFactor,
+ int nNumOrigTilesX,
+ int nNumOrigTilesY,
+ int nRemainderTilesX,
+ int nRemainderTilesY,
+ const Size& rTileSizePixel,
+ const GraphicAttr* pAttr,
+ sal_uLong nFlags,
+ ImplTileInfo& rTileInfo
+ );
+
+ bool SVT_DLLPRIVATE ImplDrawTiled(
+ OutputDevice* pOut,
+ const Rectangle& rArea,
+ const Size& rSizePixel,
+ const Size& rOffset,
+ const GraphicAttr* pAttr,
+ sal_uLong nFlags,
+ int nTileCacheSize1D
+ );
+
+ bool SVT_DLLPRIVATE ImplDrawTiled(
+ OutputDevice& rOut,
+ const Point& rPos,
+ int nNumTilesX,
+ int nNumTilesY,
+ const Size& rTileSize,
+ const GraphicAttr* pAttr,
+ sal_uLong nFlags
+ );
+
+ void SVT_DLLPRIVATE ImplTransformBitmap(
+ BitmapEx& rBmpEx,
+ const GraphicAttr& rAttr,
+ const Size& rCropLeftTop,
+ const Size& rCropRightBottom,
+ const Rectangle& rCropRect,
+ const Size& rDstSize,
+ sal_Bool bEnlarge
+ ) const;
DECL_LINK( ImplAutoSwapOutHdl, void* );
protected:
- virtual void GraphicManagerDestroyed();
- virtual SvStream* GetSwapStream() const;
+ virtual void GraphicManagerDestroyed();
+ virtual SvStream* GetSwapStream() const;
// !!! to be removed
- virtual sal_uLong GetReleaseFromCache() const;
+ virtual sal_uLong GetReleaseFromCache() const;
- virtual void Load( SvStream& );
- virtual void Save( SvStream& );
- virtual void Assign( const SvDataCopyStream& );
+ virtual void Load( SvStream& );
+ virtual void Save( SvStream& );
+ virtual void Assign( const SvDataCopyStream& );
public:
@@ -329,29 +364,34 @@ public:
GraphicObject( const ByteString& rUniqueID, const GraphicManager* pMgr = NULL );
~GraphicObject();
- GraphicObject& operator=( const GraphicObject& rCacheObj );
- sal_Bool operator==( const GraphicObject& rCacheObj ) const;
- sal_Bool operator!=( const GraphicObject& rCacheObj ) const { return !( *this == rCacheObj ); }
+ GraphicObject& operator=( const GraphicObject& rCacheObj );
+ sal_Bool operator==( const GraphicObject& rCacheObj ) const;
+ sal_Bool operator!=( const GraphicObject& rCacheObj ) const { return !( *this == rCacheObj ); }
- sal_Bool HasSwapStreamHdl() const { return( mpSwapStreamHdl != NULL && mpSwapStreamHdl->IsSet() ); }
- void SetSwapStreamHdl();
- void SetSwapStreamHdl( const Link& rHdl, const sal_uLong nSwapOutTimeout = 0UL );
- Link GetSwapStreamHdl() const;
- sal_uLong GetSwapOutTimeout() const { return( mpSwapOutTimer ? mpSwapOutTimer->GetTimeout() : 0 ); }
+ sal_Bool HasSwapStreamHdl() const { return( mpSwapStreamHdl != NULL && mpSwapStreamHdl->IsSet() ); }
+ void SetSwapStreamHdl();
+ void SetSwapStreamHdl( const Link& rHdl, const sal_uLong nSwapOutTimeout = 0UL );
+ Link GetSwapStreamHdl() const;
+ sal_uLong GetSwapOutTimeout() const { return( mpSwapOutTimer ? mpSwapOutTimer->GetTimeout() : 0 ); }
- void FireSwapInRequest();
- void FireSwapOutRequest();
+ void FireSwapInRequest();
+ void FireSwapOutRequest();
- void SetGraphicManager( const GraphicManager& rMgr );
- GraphicManager& GetGraphicManager() const { return *mpMgr; }
+ void SetGraphicManager( const GraphicManager& rMgr );
+ GraphicManager& GetGraphicManager() const { return *mpMgr; }
- sal_Bool IsCached( OutputDevice* pOut, const Point& rPt, const Size& rSz,
- const GraphicAttr* pAttr = NULL, sal_uLong nFlags = GRFMGR_DRAW_STANDARD) const;
- void ReleaseFromCache();
+ sal_Bool IsCached(
+ OutputDevice* pOut,
+ const Point& rPt,
+ const Size& rSz,
+ const GraphicAttr* pAttr = NULL,
+ sal_uLong nFlags = GRFMGR_DRAW_STANDARD
+ ) const;
+ void ReleaseFromCache();
- const Graphic& GetGraphic() const;
- void SetGraphic( const Graphic& rGraphic, const GraphicObject* pCopyObj = 0);
- void SetGraphic( const Graphic& rGraphic, const String& rLink );
+ const Graphic& GetGraphic() const;
+ void SetGraphic( const Graphic& rGraphic, const GraphicObject* pCopyObj = 0);
+ void SetGraphic( const Graphic& rGraphic, const String& rLink );
/** Get graphic transformed according to given attributes
@@ -378,58 +418,70 @@ public:
@return the readily transformed Graphic
*/
- Graphic GetTransformedGraphic( const Size& rDestSize, const MapMode& rDestMap, const GraphicAttr& rAttr ) const;
- Graphic GetTransformedGraphic( const GraphicAttr* pAttr = NULL ) const; // TODO: Change to Impl
-
- void SetAttr( const GraphicAttr& rAttr );
- const GraphicAttr& GetAttr() const { return maAttr; }
-
- sal_Bool HasLink() const { return( mpLink != NULL && mpLink->Len() > 0 ); }
- void SetLink();
- void SetLink( const String& rLink );
- String GetLink() const;
-
- sal_Bool HasUserData() const { return( mpUserData != NULL && mpUserData->Len() > 0 ); }
- void SetUserData();
- void SetUserData( const String& rUserData );
- String GetUserData() const;
-
- ByteString GetUniqueID() const;
-
- GraphicType GetType() const { return meType; }
- const Size& GetPrefSize() const { return maPrefSize; }
- const MapMode& GetPrefMapMode() const { return maPrefMapMode; }
- sal_uLong GetSizeBytes() const { return mnSizeBytes; }
- sal_uLong GetChecksum() const;
- sal_Bool IsTransparent() const { return mbTransparent; }
- sal_Bool IsAlpha() const { return mbAlpha; }
- sal_Bool IsAnimated() const { return mbAnimated; }
- sal_Bool IsEPS() const { return mbEPS; }
- sal_Bool IsRenderGraphic() const { return mbIsRenderGraphic; }
- sal_Bool HasRenderGraphic() const { return mbHasRenderGraphic; }
-
- void ResetAnimationLoopCount();
- Link GetAnimationNotifyHdl() const { return maGraphic.GetAnimationNotifyHdl(); }
- void SetAnimationNotifyHdl( const Link& rLink );
-
- sal_Bool SwapOut();
- sal_Bool SwapOut( SvStream* pOStm );
- sal_Bool SwapIn();
- sal_Bool SwapIn( SvStream* pIStm );
-
- sal_Bool IsInSwapIn() const { return mbIsInSwapIn; }
- sal_Bool IsInSwapOut() const { return mbIsInSwapOut; }
- sal_Bool IsInSwap() const { return( mbIsInSwapOut || mbIsInSwapOut ); }
- sal_Bool IsSwappedOut() const { return( mbAutoSwapped || maGraphic.IsSwapOut() ); }
- void SetSwapState();
-
- sal_Bool Draw( OutputDevice* pOut, const Point& rPt, const Size& rSz,
- const GraphicAttr* pAttr = NULL, sal_uLong nFlags = GRFMGR_DRAW_STANDARD );
-
- sal_Bool DrawWithPDFHandling( OutputDevice& rOutDev,
- const Point& rPt, const Size& rSz,
- const GraphicAttr* pGrfAttr = NULL,
- const sal_uLong nFlags = GRFMGR_DRAW_STANDARD );
+ Graphic GetTransformedGraphic(
+ const Size& rDestSize,
+ const MapMode& rDestMap,
+ const GraphicAttr& rAttr
+ ) const;
+ Graphic GetTransformedGraphic( const GraphicAttr* pAttr = NULL ) const; // TODO: Change to Impl
+
+ void SetAttr( const GraphicAttr& rAttr );
+ const GraphicAttr& GetAttr() const { return maAttr; }
+
+ sal_Bool HasLink() const { return( mpLink != NULL && mpLink->Len() > 0 ); }
+ void SetLink();
+ void SetLink( const String& rLink );
+ String GetLink() const;
+
+ sal_Bool HasUserData() const { return( mpUserData != NULL && mpUserData->Len() > 0 ); }
+ void SetUserData();
+ void SetUserData( const String& rUserData );
+ String GetUserData() const;
+
+ ByteString GetUniqueID() const;
+
+ GraphicType GetType() const { return meType; }
+ const Size& GetPrefSize() const { return maPrefSize; }
+ const MapMode& GetPrefMapMode() const { return maPrefMapMode; }
+ sal_uLong GetSizeBytes() const { return mnSizeBytes; }
+ sal_uLong GetChecksum() const;
+ sal_Bool IsTransparent() const { return mbTransparent; }
+ sal_Bool IsAlpha() const { return mbAlpha; }
+ sal_Bool IsAnimated() const { return mbAnimated; }
+ sal_Bool IsEPS() const { return mbEPS; }
+ sal_Bool IsRenderGraphic() const { return mbIsRenderGraphic; }
+ sal_Bool HasRenderGraphic() const { return mbHasRenderGraphic; }
+
+ void ResetAnimationLoopCount();
+ Link GetAnimationNotifyHdl() const { return maGraphic.GetAnimationNotifyHdl(); }
+ void SetAnimationNotifyHdl( const Link& rLink );
+
+ sal_Bool SwapOut();
+ sal_Bool SwapOut( SvStream* pOStm );
+ sal_Bool SwapIn();
+ sal_Bool SwapIn( SvStream* pIStm );
+
+ sal_Bool IsInSwapIn() const { return mbIsInSwapIn; }
+ sal_Bool IsInSwapOut() const { return mbIsInSwapOut; }
+ sal_Bool IsInSwap() const { return( mbIsInSwapOut || mbIsInSwapOut ); }
+ sal_Bool IsSwappedOut() const { return( mbAutoSwapped || maGraphic.IsSwapOut() ); }
+ void SetSwapState();
+
+ sal_Bool Draw(
+ OutputDevice* pOut,
+ const Point& rPt,
+ const Size& rSz,
+ const GraphicAttr* pAttr = NULL,
+ sal_uLong nFlags = GRFMGR_DRAW_STANDARD
+ );
+
+ sal_Bool DrawWithPDFHandling(
+ OutputDevice& rOutDev,
+ const Point& rPt,
+ const Size& rSz,
+ const GraphicAttr* pGrfAttr = NULL,
+ const sal_uLong nFlags = GRFMGR_DRAW_STANDARD
+ );
/** Draw the graphic repeatedly into the given output rectangle
@@ -464,20 +516,32 @@ public:
@return sal_True, if drawing completed successfully
*/
- sal_Bool DrawTiled( OutputDevice* pOut, const Rectangle& rArea, const Size& rSize,
- const Size& rOffset, const GraphicAttr* pAttr = NULL,
- sal_uLong nFlags = GRFMGR_DRAW_STANDARD, int nTileCacheSize1D=128 );
-
- sal_Bool StartAnimation( OutputDevice* pOut, const Point& rPt, const Size& rSz, long nExtraData = 0L,
- const GraphicAttr* pAttr = NULL, sal_uLong nFlags = GRFMGR_DRAW_STANDARD,
- OutputDevice* pFirstFrameOutDev = NULL );
-
- void StopAnimation( OutputDevice* pOut = NULL, long nExtraData = 0L );
-
- friend SvStream& operator<<( SvStream& rOStm, const GraphicObject& rGraphicObj );
- friend SvStream& operator>>( SvStream& rIStm, GraphicObject& rGraphicObj );
-
- static GraphicObject CreateGraphicObjectFromURL( const ::rtl::OUString &rURL );
+ sal_Bool DrawTiled(
+ OutputDevice* pOut,
+ const Rectangle& rArea,
+ const Size& rSize,
+ const Size& rOffset,
+ const GraphicAttr* pAttr = NULL,
+ sal_uLong nFlags = GRFMGR_DRAW_STANDARD,
+ int nTileCacheSize1D=128
+ );
+
+ sal_Bool StartAnimation(
+ OutputDevice* pOut,
+ const Point& rPt,
+ const Size& rSz,
+ long nExtraData = 0L,
+ const GraphicAttr* pAttr = NULL,
+ sal_uLong nFlags = GRFMGR_DRAW_STANDARD,
+ OutputDevice* pFirstFrameOutDev = NULL
+ );
+
+ void StopAnimation( OutputDevice* pOut = NULL, long nExtraData = 0L );
+
+ friend SvStream& operator<<( SvStream& rOStm, const GraphicObject& rGraphicObj );
+ friend SvStream& operator>>( SvStream& rIStm, GraphicObject& rGraphicObj );
+
+ static GraphicObject CreateGraphicObjectFromURL( const ::rtl::OUString &rURL );
};
// ------------------
@@ -491,84 +555,156 @@ class SVT_DLLPUBLIC GraphicManager
private:
- List maObjList;
- GraphicCache* mpCache;
-
- GraphicManager( const GraphicManager& ) {}
- GraphicManager& operator=( const GraphicManager& ) { return *this; }
-
- sal_Bool SVT_DLLPRIVATE ImplDraw( OutputDevice* pOut, const Point& rPt,
- const Size& rSz, GraphicObject& rObj,
- const GraphicAttr& rAttr,
- const sal_uLong nFlags, sal_Bool& rCached );
-
- sal_Bool SVT_DLLPRIVATE ImplCreateOutput( OutputDevice* pOut, const Point& rPt, const Size& rSz,
- const BitmapEx& rBmpEx, const GraphicAttr& rAttr,
- const sal_uLong nFlags, BitmapEx* pBmpEx = NULL );
- sal_Bool SVT_DLLPRIVATE ImplCreateOutput( OutputDevice* pOut,
- const Point& rPt, const Size& rSz,
- const GDIMetaFile& rMtf, const GraphicAttr& rAttr,
- const sal_uLong nFlags, GDIMetaFile& rOutMtf, BitmapEx& rOutBmpEx );
-
- sal_Bool SVT_DLLPRIVATE ImplCreateScaled( const BitmapEx& rBmpEx,
- long* pMapIX, long* pMapFX, long* pMapIY, long* pMapFY,
- long nStartX, long nEndX, long nStartY, long nEndY,
- BitmapEx& rOutBmpEx );
-
- sal_Bool SVT_DLLPRIVATE ImplCreateRotatedScaled( const BitmapEx& rBmpEx,
- sal_uInt16 nRot10, const Size& rOutSzPix, const Size& rUntSzPix,
- long* pMapIX, long* pMapFX, long* pMapIY, long* pMapFY,
- long nStartX, long nEndX, long nStartY, long nEndY,
- BitmapEx& rOutBmpEx );
-
- static void SVT_DLLPRIVATE ImplAdjust( BitmapEx& rBmpEx, const GraphicAttr& rAttr, sal_uLong nAdjustmentFlags );
- static void SVT_DLLPRIVATE ImplAdjust( GDIMetaFile& rMtf, const GraphicAttr& rAttr, sal_uLong nAdjustmentFlags );
- static void SVT_DLLPRIVATE ImplAdjust( Animation& rAnimation, const GraphicAttr& rAttr, sal_uLong nAdjustmentFlags );
-
- static void SVT_DLLPRIVATE ImplDraw( OutputDevice* pOut, const Point& rPt, const Size& rSz,
- const GDIMetaFile& rMtf, const GraphicAttr& rAttr );
+ List maObjList;
+ GraphicCache* mpCache;
+
+ GraphicManager( const GraphicManager& ) {}
+ GraphicManager& operator=( const GraphicManager& ) { return *this; }
+
+ sal_Bool SVT_DLLPRIVATE ImplDraw(
+ OutputDevice* pOut,
+ const Point& rPt,
+ const Size& rSz,
+ GraphicObject& rObj,
+ const GraphicAttr& rAttr,
+ const sal_uLong nFlags,
+ sal_Bool& rCached
+ );
+
+ sal_Bool SVT_DLLPRIVATE ImplCreateOutput(
+ OutputDevice* pOut,
+ const Point& rPt,
+ const Size& rSz,
+ const BitmapEx& rBmpEx,
+ const GraphicAttr& rAttr,
+ const sal_uLong nFlags,
+ BitmapEx* pBmpEx = NULL
+ );
+ sal_Bool SVT_DLLPRIVATE ImplCreateOutput(
+ OutputDevice* pOut,
+ const Point& rPt,
+ const Size& rSz,
+ const GDIMetaFile& rMtf,
+ const GraphicAttr& rAttr,
+ const sal_uLong nFlags,
+ GDIMetaFile& rOutMtf,
+ BitmapEx& rOutBmpEx
+ );
+
+ sal_Bool SVT_DLLPRIVATE ImplCreateScaled(
+ const BitmapEx& rBmpEx,
+ long* pMapIX,
+ long* pMapFX,
+ long* pMapIY,
+ long* pMapFY,
+ long nStartX,
+ long nEndX,
+ long nStartY,
+ long nEndY,
+ BitmapEx& rOutBmpEx
+ );
+
+ sal_Bool SVT_DLLPRIVATE ImplCreateRotatedScaled(
+ const BitmapEx& rBmpEx,
+ sal_uInt16 nRot10,
+ const Size& rOutSzPix,
+ const Size& rUntSzPix,
+ long* pMapIX,
+ long* pMapFX,
+ long* pMapIY,
+ long* pMapFY,
+ long nStartX,
+ long nEndX,
+ long nStartY,
+ long nEndY,
+ BitmapEx& rOutBmpEx
+ );
+
+ static void SVT_DLLPRIVATE ImplAdjust(
+ BitmapEx& rBmpEx,
+ const GraphicAttr& rAttr,
+ sal_uLong nAdjustmentFlags
+ );
+ static void SVT_DLLPRIVATE ImplAdjust(
+ GDIMetaFile& rMtf,
+ const GraphicAttr& rAttr,
+ sal_uLong nAdjustmentFlags
+ );
+ static void SVT_DLLPRIVATE ImplAdjust(
+ Animation& rAnimation,
+ const GraphicAttr& rAttr,
+ sal_uLong nAdjustmentFlags
+ );
+
+ static void SVT_DLLPRIVATE ImplDraw(
+ OutputDevice* pOut,
+ const Point& rPt,
+ const Size& rSz,
+ const GDIMetaFile& rMtf,
+ const GraphicAttr& rAttr
+ );
// Only used by GraphicObject's Ctor's and Dtor's
- void SVT_DLLPRIVATE ImplRegisterObj( const GraphicObject& rObj, Graphic& rSubstitute,
- const ByteString* pID = NULL,
- const GraphicObject* pCopyObj = NULL );
- void SVT_DLLPRIVATE ImplUnregisterObj( const GraphicObject& rObj );
- inline sal_Bool SVT_DLLPRIVATE ImplHasObjects() const { return( maObjList.Count() > 0UL ); }
+ void SVT_DLLPRIVATE ImplRegisterObj(
+ const GraphicObject& rObj,
+ Graphic& rSubstitute,
+ const ByteString* pID = NULL,
+ const GraphicObject* pCopyObj = NULL
+ );
+ void SVT_DLLPRIVATE ImplUnregisterObj( const GraphicObject& rObj );
+ inline sal_Bool SVT_DLLPRIVATE ImplHasObjects() const { return( maObjList.Count() > 0UL ); }
// Only used in swap case by GraphicObject
- void SVT_DLLPRIVATE ImplGraphicObjectWasSwappedOut( const GraphicObject& rObj );
- sal_Bool SVT_DLLPRIVATE ImplFillSwappedGraphicObject( const GraphicObject& rObj, Graphic& rSubstitute );
- void SVT_DLLPRIVATE ImplGraphicObjectWasSwappedIn( const GraphicObject& rObj );
+ void SVT_DLLPRIVATE ImplGraphicObjectWasSwappedOut( const GraphicObject& rObj );
+ sal_Bool SVT_DLLPRIVATE ImplFillSwappedGraphicObject(
+ const GraphicObject& rObj,
+ Graphic& rSubstitute
+ );
+ void SVT_DLLPRIVATE ImplGraphicObjectWasSwappedIn( const GraphicObject& rObj );
- ByteString SVT_DLLPRIVATE ImplGetUniqueID( const GraphicObject& rObj ) const;
+ ByteString SVT_DLLPRIVATE ImplGetUniqueID( const GraphicObject& rObj ) const;
public:
- GraphicManager( sal_uLong nCacheSize = 10000000UL, sal_uLong nMaxObjCacheSize = 2400000UL );
- ~GraphicManager();
+ GraphicManager( sal_uLong nCacheSize = 10000000UL, sal_uLong nMaxObjCacheSize = 2400000UL );
+ ~GraphicManager();
- void SetMaxCacheSize( sal_uLong nNewCacheSize );
- sal_uLong GetMaxCacheSize() const;
+ void SetMaxCacheSize( sal_uLong nNewCacheSize );
+ sal_uLong GetMaxCacheSize() const;
- void SetMaxObjCacheSize( sal_uLong nNewMaxObjSize, sal_Bool bDestroyGreaterCached = sal_False );
- sal_uLong GetMaxObjCacheSize() const;
+ void SetMaxObjCacheSize(
+ sal_uLong nNewMaxObjSize,
+ sal_Bool bDestroyGreaterCached = sal_False
+ );
+ sal_uLong GetMaxObjCacheSize() const;
- sal_uLong GetUsedCacheSize() const;
- sal_uLong GetFreeCacheSize() const;
+ sal_uLong GetUsedCacheSize() const;
+ sal_uLong GetFreeCacheSize() const;
- void SetCacheTimeout( sal_uLong nTimeoutSeconds );
+ void SetCacheTimeout( sal_uLong nTimeoutSeconds );
sal_uLong GetCacheTimeout() const;
- void ClearCache();
-
- void ReleaseFromCache( const GraphicObject& rObj );
-
- sal_Bool IsInCache( OutputDevice* pOut, const Point& rPt, const Size& rSz,
- const GraphicObject& rObj, const GraphicAttr& rAttr ) const;
-
- sal_Bool DrawObj( OutputDevice* pOut, const Point& rPt, const Size& rSz,
- GraphicObject& rObj, const GraphicAttr& rAttr,
- const sal_uLong nFlags, sal_Bool& rCached );
+ void ClearCache();
+
+ void ReleaseFromCache( const GraphicObject& rObj );
+
+ sal_Bool IsInCache(
+ OutputDevice* pOut,
+ const Point& rPt,
+ const Size& rSz,
+ const GraphicObject& rObj,
+ const GraphicAttr& rAttr
+ ) const;
+
+ sal_Bool DrawObj(
+ OutputDevice* pOut,
+ const Point& rPt,
+ const Size& rSz,
+ GraphicObject& rObj,
+ const GraphicAttr& rAttr,
+ const sal_uLong nFlags,
+ sal_Bool& rCached
+ );
};
#endif // _GRFMGR_HXX
More information about the Libreoffice-commits
mailing list