diff options
Diffstat (limited to 'svtools/inc/svtools/grfmgr.hxx')
-rw-r--r-- | svtools/inc/svtools/grfmgr.hxx | 424 |
1 files changed, 212 insertions, 212 deletions
diff --git a/svtools/inc/svtools/grfmgr.hxx b/svtools/inc/svtools/grfmgr.hxx index 3eee508e5d70..dc833be1aa09 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; - USHORT mnRotate10; - short mnContPercent; - short mnLumPercent; - short mnRPercent; - short mnGPercent; - short mnBPercent; - BOOL mbInvert; - BYTE mcTransparency; - GraphicDrawMode meDrawMode; - - void* mpDummy; + long mnDummy1; + long mnDummy2; + double mfGamma; + sal_uInt32 mnMirrFlags; + long mnLeftCrop; + long mnTopCrop; + long mnRightCrop; + long mnBottomCrop; + USHORT mnRotate10; + short mnContPercent; + short mnLumPercent; + short mnRPercent; + short mnGPercent; + short mnBPercent; + BOOL mbInvert; + BYTE mcTransparency; + GraphicDrawMode meDrawMode; + + void* mpDummy; public: GraphicAttr(); ~GraphicAttr(); - BOOL operator==( const GraphicAttr& rAttr ) const; - BOOL operator!=( const GraphicAttr& rAttr ) const { return !( *this == rAttr ); } + BOOL operator==( const GraphicAttr& rAttr ) const; + 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( ULONG nMirrFlags ) { mnMirrFlags = nMirrFlags; } - ULONG GetMirrorFlags() const { return mnMirrFlags; } + void SetMirrorFlags( ULONG nMirrFlags ) { mnMirrFlags = nMirrFlags; } + 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( USHORT nRotate10 ) { mnRotate10 = nRotate10; } - USHORT GetRotation() const { return mnRotate10; } + void SetRotation( USHORT nRotate10 ) { mnRotate10 = nRotate10; } + USHORT 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( BOOL bInvert ) { mbInvert = bInvert; } - BOOL IsInvert() const { return mbInvert; } + void SetInvert( BOOL bInvert ) { mbInvert = bInvert; } + BOOL IsInvert() const { return mbInvert; } - void SetTransparency( BYTE cTransparency ) { mcTransparency = cTransparency; } - BYTE GetTransparency() const { return mcTransparency; } + void SetTransparency( BYTE cTransparency ) { mcTransparency = cTransparency; } + BYTE GetTransparency() const { return mcTransparency; } - BOOL IsSpecialDrawMode() const { return( meDrawMode != GRAPHICDRAWMODE_STANDARD ); } - BOOL IsMirrored() const { return( mnMirrFlags != 0UL ); } - BOOL IsCropped() const + BOOL IsSpecialDrawMode() const { return( meDrawMode != GRAPHICDRAWMODE_STANDARD ); } + BOOL IsMirrored() const { return( mnMirrFlags != 0UL ); } + BOOL IsCropped() const { return( mnLeftCrop != 0 || mnTopCrop != 0 || mnRightCrop != 0 || mnBottomCrop != 0 ); } - BOOL IsRotated() const { return( ( mnRotate10 % 3600 ) != 0 ); } - BOOL IsTransparent() const { return( mcTransparency > 0 ); } - BOOL IsAdjusted() const + BOOL IsRotated() const { return( ( mnRotate10 % 3600 ) != 0 ); } + BOOL IsTransparent() const { return( mcTransparency > 0 ); } + BOOL IsAdjusted() const { return( mnLumPercent != 0 || mnContPercent != 0 || mnRPercent != 0 || mnGPercent != 0 || mnBPercent != 0 || mfGamma != 1.0 || mbInvert ); @@ -197,40 +197,40 @@ class SVT_DLLPUBLIC GraphicObject : public SvDataCopyStream private: - static GraphicManager* mpGlobalMgr; - - Graphic maGraphic; - GraphicAttr maAttr; - Size maPrefSize; - MapMode maPrefMapMode; - ULONG mnSizeBytes; - GraphicType meType; - GraphicManager* mpMgr; - String* mpLink; - Link* mpSwapStreamHdl; - String* mpUserData; - Timer* mpSwapOutTimer; - GrfSimpleCacheObj* mpSimpleCache; + static GraphicManager* mpGlobalMgr; + + Graphic maGraphic; + GraphicAttr maAttr; + Size maPrefSize; + MapMode maPrefMapMode; + ULONG mnSizeBytes; + GraphicType meType; + GraphicManager* mpMgr; + String* mpLink; + Link* mpSwapStreamHdl; + String* mpUserData; + Timer* mpSwapOutTimer; + GrfSimpleCacheObj* mpSimpleCache; ULONG mnAnimationLoopCount; void* mpDummy1; void* mpDummy2; - BOOL mbAutoSwapped : 1; - BOOL mbTransparent : 1; - BOOL mbAnimated : 1; - BOOL mbEPS : 1; - BOOL mbIsInSwapIn : 1; - BOOL mbIsInSwapOut : 1; - BOOL mbAlpha : 1; - BOOL mbDummyFlag8 : 1; - - void SVT_DLLPRIVATE ImplConstruct(); - void SVT_DLLPRIVATE ImplAssignGraphicData(); - void SVT_DLLPRIVATE ImplSetGraphicManager( const GraphicManager* pMgr, + BOOL mbAutoSwapped : 1; + BOOL mbTransparent : 1; + BOOL mbAnimated : 1; + BOOL mbEPS : 1; + BOOL mbIsInSwapIn : 1; + BOOL mbIsInSwapOut : 1; + BOOL mbAlpha : 1; + BOOL mbDummyFlag8 : 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(); - BOOL SVT_DLLPRIVATE ImplIsAutoSwapped() const { return mbAutoSwapped; } - BOOL SVT_DLLPRIVATE ImplGetCropParams( OutputDevice* pOut, Point& rPt, Size& rSz, const GraphicAttr* pAttr, + void SVT_DLLPRIVATE ImplAutoSwapIn(); + BOOL SVT_DLLPRIVATE ImplIsAutoSwapped() const { return mbAutoSwapped; } + BOOL SVT_DLLPRIVATE ImplGetCropParams( OutputDevice* pOut, Point& rPt, Size& rSz, const GraphicAttr* pAttr, PolyPolygon& rClipPolyPoly, BOOL& bRectClipRegion ) const; /** Render a given number of tiles in an optimized way @@ -274,47 +274,47 @@ private: @return true, if everything was successfully rendered. */ - bool SVT_DLLPRIVATE ImplRenderTempTile( VirtualDevice& rVDev, int nExponent, + bool SVT_DLLPRIVATE ImplRenderTempTile( VirtualDevice& rVDev, int nExponent, int nNumTilesX, int nNumTilesY, const Size& rTileSizePixel, const GraphicAttr* pAttr, ULONG nFlags ); /// internally called by ImplRenderTempTile() - bool SVT_DLLPRIVATE ImplRenderTileRecursive( VirtualDevice& rVDev, int nExponent, int nMSBFactor, + bool SVT_DLLPRIVATE ImplRenderTileRecursive( VirtualDevice& rVDev, int nExponent, int nMSBFactor, int nNumOrigTilesX, int nNumOrigTilesY, int nRemainderTilesX, int nRemainderTilesY, const Size& rTileSizePixel, const GraphicAttr* pAttr, ULONG nFlags, ImplTileInfo& rTileInfo ); - bool SVT_DLLPRIVATE ImplDrawTiled( OutputDevice* pOut, const Rectangle& rArea, const Size& rSizePixel, + bool SVT_DLLPRIVATE ImplDrawTiled( OutputDevice* pOut, const Rectangle& rArea, const Size& rSizePixel, const Size& rOffset, const GraphicAttr* pAttr, ULONG nFlags, int nTileCacheSize1D ); - bool SVT_DLLPRIVATE ImplDrawTiled( OutputDevice& rOut, const Point& rPos, + bool SVT_DLLPRIVATE ImplDrawTiled( OutputDevice& rOut, const Point& rPos, int nNumTilesX, int nNumTilesY, const Size& rTileSize, const GraphicAttr* pAttr, ULONG nFlags ); - void SVT_DLLPRIVATE ImplTransformBitmap( BitmapEx& rBmpEx, + void SVT_DLLPRIVATE ImplTransformBitmap( BitmapEx& rBmpEx, const GraphicAttr& rAttr, - const Size& rCropLeftTop, - const Size& rCropRightBottom, - const Rectangle& rCropRect, - const Size& rDstSize, - BOOL bEnlarge ) const; + const Size& rCropLeftTop, + const Size& rCropRightBottom, + const Rectangle& rCropRect, + const Size& rDstSize, + 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 ULONG GetReleaseFromCache() const; + virtual 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: @@ -327,29 +327,29 @@ public: GraphicObject( const ByteString& rUniqueID, const GraphicManager* pMgr = NULL ); ~GraphicObject(); - GraphicObject& operator=( const GraphicObject& rCacheObj ); - BOOL operator==( const GraphicObject& rCacheObj ) const; - BOOL operator!=( const GraphicObject& rCacheObj ) const { return !( *this == rCacheObj ); } + GraphicObject& operator=( const GraphicObject& rCacheObj ); + BOOL operator==( const GraphicObject& rCacheObj ) const; + BOOL operator!=( const GraphicObject& rCacheObj ) const { return !( *this == rCacheObj ); } - BOOL HasSwapStreamHdl() const { return( mpSwapStreamHdl != NULL && mpSwapStreamHdl->IsSet() ); } - void SetSwapStreamHdl(); - void SetSwapStreamHdl( const Link& rHdl, const ULONG nSwapOutTimeout = 0UL ); - Link GetSwapStreamHdl() const; - ULONG GetSwapOutTimeout() const { return( mpSwapOutTimer ? mpSwapOutTimer->GetTimeout() : 0 ); } + BOOL HasSwapStreamHdl() const { return( mpSwapStreamHdl != NULL && mpSwapStreamHdl->IsSet() ); } + void SetSwapStreamHdl(); + void SetSwapStreamHdl( const Link& rHdl, const ULONG nSwapOutTimeout = 0UL ); + Link GetSwapStreamHdl() const; + 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; } - BOOL IsCached( OutputDevice* pOut, const Point& rPt, const Size& rSz, + BOOL IsCached( OutputDevice* pOut, const Point& rPt, const Size& rSz, const GraphicAttr* pAttr = NULL, ULONG nFlags = GRFMGR_DRAW_STANDARD) const; - void ReleaseFromCache(); + 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 @@ -376,51 +376,51 @@ 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; } - - BOOL HasLink() const { return( mpLink != NULL && mpLink->Len() > 0 ); } - void SetLink(); - void SetLink( const String& rLink ); - String GetLink() const; - - 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; } - ULONG GetSizeBytes() const { return mnSizeBytes; } - ULONG GetChecksum() const; - BOOL IsTransparent() const { return mbTransparent; } - BOOL IsAlpha() const { return mbAlpha; } - BOOL IsAnimated() const { return mbAnimated; } - BOOL IsEPS() const { return mbEPS; } - - void ResetAnimationLoopCount(); - List* GetAnimationInfoList() const; - Link GetAnimationNotifyHdl() const { return maGraphic.GetAnimationNotifyHdl(); } - void SetAnimationNotifyHdl( const Link& rLink ); - - BOOL SwapOut(); - BOOL SwapOut( SvStream* pOStm ); - BOOL SwapIn(); - BOOL SwapIn( SvStream* pIStm ); - - BOOL IsInSwapIn() const { return mbIsInSwapIn; } - BOOL IsInSwapOut() const { return mbIsInSwapOut; } - BOOL IsInSwap() const { return( mbIsInSwapOut || mbIsInSwapOut ); } - BOOL IsSwappedOut() const { return( mbAutoSwapped || maGraphic.IsSwapOut() ); } - void SetSwapState(); - - BOOL Draw( OutputDevice* pOut, const Point& rPt, const Size& rSz, + 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; } + + BOOL HasLink() const { return( mpLink != NULL && mpLink->Len() > 0 ); } + void SetLink(); + void SetLink( const String& rLink ); + String GetLink() const; + + 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; } + ULONG GetSizeBytes() const { return mnSizeBytes; } + ULONG GetChecksum() const; + BOOL IsTransparent() const { return mbTransparent; } + BOOL IsAlpha() const { return mbAlpha; } + BOOL IsAnimated() const { return mbAnimated; } + BOOL IsEPS() const { return mbEPS; } + + void ResetAnimationLoopCount(); + List* GetAnimationInfoList() const; + Link GetAnimationNotifyHdl() const { return maGraphic.GetAnimationNotifyHdl(); } + void SetAnimationNotifyHdl( const Link& rLink ); + + BOOL SwapOut(); + BOOL SwapOut( SvStream* pOStm ); + BOOL SwapIn(); + BOOL SwapIn( SvStream* pIStm ); + + BOOL IsInSwapIn() const { return mbIsInSwapIn; } + BOOL IsInSwapOut() const { return mbIsInSwapOut; } + BOOL IsInSwap() const { return( mbIsInSwapOut || mbIsInSwapOut ); } + BOOL IsSwappedOut() const { return( mbAutoSwapped || maGraphic.IsSwapOut() ); } + void SetSwapState(); + + BOOL Draw( OutputDevice* pOut, const Point& rPt, const Size& rSz, const GraphicAttr* pAttr = NULL, ULONG nFlags = GRFMGR_DRAW_STANDARD ); BOOL DrawWithPDFHandling( OutputDevice& rOutDev, @@ -461,18 +461,18 @@ public: @return TRUE, if drawing completed successfully */ - BOOL DrawTiled( OutputDevice* pOut, const Rectangle& rArea, const Size& rSize, + BOOL DrawTiled( OutputDevice* pOut, const Rectangle& rArea, const Size& rSize, const Size& rOffset, const GraphicAttr* pAttr = NULL, ULONG nFlags = GRFMGR_DRAW_STANDARD, int nTileCacheSize1D=128 ); - BOOL StartAnimation( OutputDevice* pOut, const Point& rPt, const Size& rSz, long nExtraData = 0L, + BOOL StartAnimation( OutputDevice* pOut, const Point& rPt, const Size& rSz, long nExtraData = 0L, const GraphicAttr* pAttr = NULL, ULONG nFlags = GRFMGR_DRAW_STANDARD, OutputDevice* pFirstFrameOutDev = NULL ); - void StopAnimation( OutputDevice* pOut = NULL, long nExtraData = 0L ); + void StopAnimation( OutputDevice* pOut = NULL, long nExtraData = 0L ); - friend SvStream& operator<<( SvStream& rOStm, const GraphicObject& rGraphicObj ); - friend SvStream& operator>>( SvStream& rIStm, GraphicObject& rGraphicObj ); + friend SvStream& operator<<( SvStream& rOStm, const GraphicObject& rGraphicObj ); + friend SvStream& operator>>( SvStream& rIStm, GraphicObject& rGraphicObj ); static GraphicObject CreateGraphicObjectFromURL( const ::rtl::OUString &rURL ); }; @@ -488,18 +488,18 @@ class SVT_DLLPUBLIC GraphicManager private: - List maObjList; - GraphicCache* mpCache; + List maObjList; + GraphicCache* mpCache; GraphicManager( const GraphicManager& ) {} - GraphicManager& operator=( const GraphicManager& ) { return *this; } + GraphicManager& operator=( const GraphicManager& ) { return *this; } - BOOL SVT_DLLPRIVATE ImplDraw( OutputDevice* pOut, const Point& rPt, + BOOL SVT_DLLPRIVATE ImplDraw( OutputDevice* pOut, const Point& rPt, const Size& rSz, GraphicObject& rObj, const GraphicAttr& rAttr, const ULONG nFlags, BOOL& rCached ); - BOOL SVT_DLLPRIVATE ImplCreateOutput( OutputDevice* pOut, const Point& rPt, const Size& rSz, + BOOL SVT_DLLPRIVATE ImplCreateOutput( OutputDevice* pOut, const Point& rPt, const Size& rSz, const BitmapEx& rBmpEx, const GraphicAttr& rAttr, const ULONG nFlags, BitmapEx* pBmpEx = NULL ); BOOL SVT_DLLPRIVATE ImplCreateOutput( OutputDevice* pOut, @@ -507,63 +507,63 @@ private: const GDIMetaFile& rMtf, const GraphicAttr& rAttr, const ULONG nFlags, GDIMetaFile& rOutMtf, BitmapEx& rOutBmpEx ); - BOOL SVT_DLLPRIVATE ImplCreateScaled( const BitmapEx& rBmpEx, + 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 ); - BOOL SVT_DLLPRIVATE ImplCreateRotatedScaled( const BitmapEx& rBmpEx, + BOOL SVT_DLLPRIVATE ImplCreateRotatedScaled( const BitmapEx& rBmpEx, USHORT 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, ULONG nAdjustmentFlags ); - static void SVT_DLLPRIVATE ImplAdjust( GDIMetaFile& rMtf, const GraphicAttr& rAttr, ULONG nAdjustmentFlags ); - static void SVT_DLLPRIVATE ImplAdjust( Animation& rAnimation, const GraphicAttr& rAttr, ULONG nAdjustmentFlags ); + static void SVT_DLLPRIVATE ImplAdjust( BitmapEx& rBmpEx, const GraphicAttr& rAttr, ULONG nAdjustmentFlags ); + static void SVT_DLLPRIVATE ImplAdjust( GDIMetaFile& rMtf, const GraphicAttr& rAttr, ULONG nAdjustmentFlags ); + static void SVT_DLLPRIVATE ImplAdjust( Animation& rAnimation, const GraphicAttr& rAttr, ULONG nAdjustmentFlags ); - static void SVT_DLLPRIVATE ImplDraw( OutputDevice* pOut, const Point& rPt, const Size& rSz, + 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, + 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 BOOL SVT_DLLPRIVATE ImplHasObjects() const { return( maObjList.Count() > 0UL ); } + void SVT_DLLPRIVATE ImplUnregisterObj( const GraphicObject& rObj ); + inline BOOL SVT_DLLPRIVATE ImplHasObjects() const { return( maObjList.Count() > 0UL ); } // Only used in swap case by GraphicObject - void SVT_DLLPRIVATE ImplGraphicObjectWasSwappedOut( const GraphicObject& rObj ); - BOOL SVT_DLLPRIVATE ImplFillSwappedGraphicObject( const GraphicObject& rObj, Graphic& rSubstitute ); - void SVT_DLLPRIVATE ImplGraphicObjectWasSwappedIn( const GraphicObject& rObj ); + void SVT_DLLPRIVATE ImplGraphicObjectWasSwappedOut( const GraphicObject& rObj ); + 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( ULONG nCacheSize = 10000000UL, ULONG nMaxObjCacheSize = 2400000UL ); ~GraphicManager(); - void SetMaxCacheSize( ULONG nNewCacheSize ); - ULONG GetMaxCacheSize() const; + void SetMaxCacheSize( ULONG nNewCacheSize ); + ULONG GetMaxCacheSize() const; - void SetMaxObjCacheSize( ULONG nNewMaxObjSize, BOOL bDestroyGreaterCached = FALSE ); - ULONG GetMaxObjCacheSize() const; + void SetMaxObjCacheSize( ULONG nNewMaxObjSize, BOOL bDestroyGreaterCached = FALSE ); + ULONG GetMaxObjCacheSize() const; - ULONG GetUsedCacheSize() const; - ULONG GetFreeCacheSize() const; + ULONG GetUsedCacheSize() const; + ULONG GetFreeCacheSize() const; void SetCacheTimeout( ULONG nTimeoutSeconds ); ULONG GetCacheTimeout() const; - void ClearCache(); + void ClearCache(); - void ReleaseFromCache( const GraphicObject& rObj ); + void ReleaseFromCache( const GraphicObject& rObj ); - BOOL IsInCache( OutputDevice* pOut, const Point& rPt, const Size& rSz, + BOOL IsInCache( OutputDevice* pOut, const Point& rPt, const Size& rSz, const GraphicObject& rObj, const GraphicAttr& rAttr ) const; - BOOL DrawObj( OutputDevice* pOut, const Point& rPt, const Size& rSz, + BOOL DrawObj( OutputDevice* pOut, const Point& rPt, const Size& rSz, GraphicObject& rObj, const GraphicAttr& rAttr, const ULONG nFlags, BOOL& rCached ); }; |