LibreOffice Module vcl (master)  1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
ImpGraphic Class Referencefinal

#include <impgraph.hxx>

Collaboration diagram for ImpGraphic:
[legend]

Public Member Functions

 ImpGraphic ()
 
 ImpGraphic (const ImpGraphic &rImpGraphic)
 
 ImpGraphic (ImpGraphic &&rImpGraphic) noexcept
 
 ImpGraphic (const GraphicExternalLink &rExternalLink)
 
 ImpGraphic (const Bitmap &rBmp)
 
 ImpGraphic (const BitmapEx &rBmpEx)
 
 ImpGraphic (const VectorGraphicDataPtr &rVectorGraphicDataPtr)
 
 ImpGraphic (const Animation &rAnimation)
 
 ImpGraphic (const GDIMetaFile &rMtf)
 
 ~ImpGraphic ()
 
void ImplSetPrepared (bool bAnimated, const Size *pSizeHint)
 

Private Member Functions

ImpGraphicoperator= (const ImpGraphic &rImpGraphic)
 
ImpGraphicoperator= (ImpGraphic &&rImpGraphic)
 
bool operator== (const ImpGraphic &rImpGraphic) const
 
bool operator!= (const ImpGraphic &rImpGraphic) const
 
OUString const & getOriginURL () const
 
void setOriginURL (OUString const &rOriginURL)
 
OString getUniqueID ()
 
void ImplCreateSwapInfo ()
 
void ImplClearGraphics ()
 
void ImplClear ()
 
GraphicType ImplGetType () const
 
void ImplSetDefaultType ()
 
bool ImplIsSupportedGraphic () const
 
bool ImplIsTransparent () const
 
bool ImplIsAlpha () const
 
bool ImplIsAnimated () const
 
bool ImplIsEPS () const
 
bool isAvailable () const
 
bool makeAvailable ()
 
Bitmap ImplGetBitmap (const GraphicConversionParameters &rParameters) const
 
BitmapEx ImplGetBitmapEx (const GraphicConversionParameters &rParameters) const
 
const BitmapExImplGetBitmapExRef () const
 Gives direct access to the contained BitmapEx. More...
 
Animation ImplGetAnimation () const
 
const GDIMetaFileImplGetGDIMetaFile () const
 
Size ImplGetSizePixel () const
 
Size ImplGetPrefSize () const
 
void ImplSetPrefSize (const Size &rPrefSize)
 
MapMode ImplGetPrefMapMode () const
 
void ImplSetPrefMapMode (const MapMode &rPrefMapMode)
 
sal_uLong ImplGetSizeBytes () const
 
void ImplDraw (OutputDevice *pOutDev, const Point &rDestPt) const
 
void ImplDraw (OutputDevice *pOutDev, const Point &rDestPt, const Size &rDestSize) const
 
void ImplStartAnimation (OutputDevice *pOutDev, const Point &rDestPt, const Size &rDestSize, long nExtraData, OutputDevice *pFirstFrameOutDev)
 
void ImplStopAnimation (OutputDevice *pOutputDevice, long nExtraData)
 
void ImplSetAnimationNotifyHdl (const Link< Animation *, void > &rLink)
 
Link< Animation *, voidImplGetAnimationNotifyHdl () const
 
sal_uInt32 ImplGetAnimationLoopCount () const
 
std::shared_ptr< GraphicReader > & ImplGetContext ()
 
void ImplSetContext (const std::shared_ptr< GraphicReader > &pReader)
 
void ImplSetDummyContext (bool value)
 
bool ImplReadEmbedded (SvStream &rIStream)
 
bool ImplWriteEmbedded (SvStream &rOStream)
 
bool ImplSwapIn ()
 
bool ImplSwapIn (SvStream *pIStm)
 
bool ImplSwapOut ()
 
bool ImplSwapOut (SvStream *pOStm)
 
bool ImplIsSwapOut () const
 
bool ImplIsDummyContext () const
 
void ImplSetLink (const std::shared_ptr< GfxLink > &)
 
std::shared_ptr< GfxLinkImplGetSharedGfxLink () const
 
GfxLink ImplGetLink ()
 
bool ImplIsLink () const
 
BitmapChecksum ImplGetChecksum () const
 
bool ImplExportNative (SvStream &rOStm) const
 
const VectorGraphicDataPtrgetVectorGraphicData () const
 
bool ensureAvailable () const
 
bool loadPrepared ()
 
sal_Int32 getPageNumber () const
 

Private Attributes

GDIMetaFile maMetaFile
 
BitmapEx maEx
 
ImpSwapInfo maSwapInfo
 
std::unique_ptr< AnimationmpAnimation
 
std::shared_ptr< GraphicReadermpContext
 
std::shared_ptr< ImpSwapFilempSwapFile
 
std::shared_ptr< GfxLinkmpGfxLink
 
GraphicType meType
 
sal_uLong mnSizeBytes
 
bool mbSwapOut
 
bool mbDummyContext
 
VectorGraphicDataPtr maVectorGraphicData
 
BitmapChecksum mnChecksum = 0
 
std::unique_ptr< GraphicIDmpGraphicID
 
GraphicExternalLink maGraphicExternalLink
 
std::chrono::high_resolution_clock::time_point maLastUsed
 
bool mbPrepared
 

Friends

class Graphic
 
class GraphicID
 
class vcl::graphic::Manager
 
void WriteImpGraphic (SvStream &rOStm, const ImpGraphic &rImpGraphic)
 
void ReadImpGraphic (SvStream &rIStm, ImpGraphic &rImpGraphic)
 

Detailed Description

Definition at line 49 of file impgraph.hxx.

Constructor & Destructor Documentation

ImpGraphic::ImpGraphic ( )

Definition at line 70 of file impgraph.cxx.

References meType, and NONE.

Referenced by ImplReadEmbedded().

ImpGraphic::ImpGraphic ( const ImpGraphic rImpGraphic)

Definition at line 80 of file impgraph.cxx.

References maEx, meType, mpAnimation, and mpContext.

ImpGraphic::ImpGraphic ( ImpGraphic &&  rImpGraphic)
noexcept

Definition at line 103 of file impgraph.cxx.

ImpGraphic::ImpGraphic ( const GraphicExternalLink rExternalLink)
ImpGraphic::ImpGraphic ( const Bitmap rBmp)

Definition at line 135 of file impgraph.cxx.

References meType, and NONE.

ImpGraphic::ImpGraphic ( const BitmapEx rBmpEx)

Definition at line 146 of file impgraph.cxx.

References meType, and NONE.

ImpGraphic::ImpGraphic ( const VectorGraphicDataPtr rVectorGraphicDataPtr)

Definition at line 157 of file impgraph.cxx.

References get(), meType, and NONE.

ImpGraphic::ImpGraphic ( const Animation rAnimation)

Definition at line 168 of file impgraph.cxx.

References meType, and mpAnimation.

ImpGraphic::ImpGraphic ( const GDIMetaFile rMtf)

Definition at line 180 of file impgraph.cxx.

References GdiMetafile, and meType.

ImpGraphic::~ImpGraphic ( )

Member Function Documentation

bool ImpGraphic::ensureAvailable ( ) const
private
OUString const& ImpGraphic::getOriginURL ( ) const
inlineprivate

Definition at line 99 of file impgraph.hxx.

References GraphicExternalLink::msURL.

Referenced by ImplSwapOut().

sal_Int32 ImpGraphic::getPageNumber ( ) const
private

Definition at line 1608 of file impgraph.cxx.

References maVectorGraphicData.

OString ImpGraphic::getUniqueID ( )
inlineprivate

Definition at line 109 of file impgraph.hxx.

References GraphicID.

const VectorGraphicDataPtr & ImpGraphic::getVectorGraphicData ( ) const
private

Definition at line 326 of file impgraph.cxx.

References ensureAvailable(), and maVectorGraphicData.

Referenced by GraphicID::GraphicID(), and WriteImpGraphic().

void ImpGraphic::ImplClear ( )
private
void ImpGraphic::ImplClearGraphics ( )
private
void ImpGraphic::ImplCreateSwapInfo ( )
private
void ImpGraphic::ImplDraw ( OutputDevice pOutDev,
const Point rDestPt 
) const
private
void ImpGraphic::ImplDraw ( OutputDevice pOutDev,
const Point rDestPt,
const Size rDestSize 
) const
private
bool ImpGraphic::ImplExportNative ( SvStream rOStm) const
private
Animation ImpGraphic::ImplGetAnimation ( ) const
private

Definition at line 663 of file impgraph.cxx.

References ensureAvailable(), and mpAnimation.

Referenced by GraphicID::GraphicID().

sal_uInt32 ImpGraphic::ImplGetAnimationLoopCount ( ) const
private

Definition at line 1078 of file impgraph.cxx.

References maSwapInfo, mbSwapOut, ImpSwapInfo::mnAnimationLoopCount, and mpAnimation.

Referenced by ImplCreateSwapInfo().

Link< Animation *, void > ImpGraphic::ImplGetAnimationNotifyHdl ( ) const
private

Definition at line 1066 of file impgraph.cxx.

References ensureAvailable(), and mpAnimation.

Bitmap ImpGraphic::ImplGetBitmap ( const GraphicConversionParameters rParameters) const
private
BitmapEx ImpGraphic::ImplGetBitmapEx ( const GraphicConversionParameters rParameters) const
private
const BitmapEx & ImpGraphic::ImplGetBitmapExRef ( ) const
private

Gives direct access to the contained BitmapEx.

Definition at line 674 of file impgraph.cxx.

References ensureAvailable(), and maEx.

BitmapChecksum ImpGraphic::ImplGetChecksum ( ) const
private
std::shared_ptr<GraphicReader>& ImpGraphic::ImplGetContext ( )
inlineprivate

Definition at line 170 of file impgraph.hxx.

References mpContext.

const GDIMetaFile & ImpGraphic::ImplGetGDIMetaFile ( ) const
private
GfxLink ImpGraphic::ImplGetLink ( )
private

Definition at line 1534 of file impgraph.cxx.

References ensureAvailable(), and mpGfxLink.

MapMode ImpGraphic::ImplGetPrefMapMode ( ) const
private
Size ImpGraphic::ImplGetPrefSize ( ) const
private
std::shared_ptr< GfxLink > ImpGraphic::ImplGetSharedGfxLink ( ) const
private

Definition at line 1529 of file impgraph.cxx.

References mpGfxLink.

sal_uLong ImpGraphic::ImplGetSizeBytes ( ) const
private
Size ImpGraphic::ImplGetSizePixel ( ) const
private
GraphicType ImpGraphic::ImplGetType ( ) const
inlineprivate

Definition at line 120 of file impgraph.hxx.

References meType.

Referenced by GraphicID::GraphicID(), ImplGetBitmap(), and WriteImpGraphic().

bool ImpGraphic::ImplIsAlpha ( ) const
private
bool ImpGraphic::ImplIsAnimated ( ) const
private
bool ImpGraphic::ImplIsDummyContext ( ) const
inlineprivate

Definition at line 183 of file impgraph.hxx.

References mbDummyContext.

bool ImpGraphic::ImplIsEPS ( ) const
private
bool ImpGraphic::ImplIsLink ( ) const
private

Definition at line 1541 of file impgraph.cxx.

References mpGfxLink.

bool ImpGraphic::ImplIsSupportedGraphic ( ) const
private
bool ImpGraphic::ImplIsSwapOut ( ) const
inlineprivate
bool ImpGraphic::ImplIsTransparent ( ) const
private
bool ImpGraphic::ImplReadEmbedded ( SvStream rIStream)
private
void ImpGraphic::ImplSetAnimationNotifyHdl ( const Link< Animation *, void > &  rLink)
private

Definition at line 1058 of file impgraph.cxx.

References ensureAvailable(), and mpAnimation.

void ImpGraphic::ImplSetContext ( const std::shared_ptr< GraphicReader > &  pReader)
private

Definition at line 1086 of file impgraph.cxx.

References mbDummyContext, and mpContext.

void ImpGraphic::ImplSetDefaultType ( )
private

Definition at line 443 of file impgraph.cxx.

References Default, ImplClear(), and meType.

void ImpGraphic::ImplSetDummyContext ( bool  value)
inlineprivate

Definition at line 172 of file impgraph.hxx.

void ImpGraphic::ImplSetLink ( const std::shared_ptr< GfxLink > &  rGfxLink)
private

Definition at line 1522 of file impgraph.cxx.

References ensureAvailable(), and mpGfxLink.

Referenced by ReadImpGraphic().

void ImpGraphic::ImplSetPrefMapMode ( const MapMode rPrefMapMode)
private
void ImpGraphic::ImplSetPrefSize ( const Size rPrefSize)
private
void ImpGraphic::ImplSetPrepared ( bool  bAnimated,
const Size pSizeHint 
)
void ImpGraphic::ImplStartAnimation ( OutputDevice pOutDev,
const Point rDestPt,
const Size rDestSize,
long  nExtraData,
OutputDevice pFirstFrameOutDev 
)
private
void ImpGraphic::ImplStopAnimation ( OutputDevice pOutputDevice,
long  nExtraData 
)
private
bool ImpGraphic::ImplSwapIn ( )
private
bool ImpGraphic::ImplSwapIn ( SvStream pIStm)
private
bool ImpGraphic::ImplSwapOut ( )
private
bool ImpGraphic::ImplSwapOut ( SvStream pOStm)
private
bool ImpGraphic::ImplWriteEmbedded ( SvStream rOStream)
private
bool ImpGraphic::isAvailable ( ) const
private

Definition at line 505 of file impgraph.cxx.

References mbPrepared, and mbSwapOut.

Referenced by vcl::graphic::Manager::getGraphicSizeBytes(), and operator==().

bool ImpGraphic::loadPrepared ( )
private
bool ImpGraphic::makeAvailable ( )
private

Definition at line 510 of file impgraph.cxx.

References ensureAvailable().

bool ImpGraphic::operator!= ( const ImpGraphic rImpGraphic) const
inlineprivate

Definition at line 97 of file impgraph.hxx.

ImpGraphic & ImpGraphic::operator= ( const ImpGraphic rImpGraphic)
private
ImpGraphic & ImpGraphic::operator= ( ImpGraphic &&  rImpGraphic)
private
bool ImpGraphic::operator== ( const ImpGraphic rImpGraphic) const
private
void ImpGraphic::setOriginURL ( OUString const &  rOriginURL)
inlineprivate

Definition at line 104 of file impgraph.hxx.

References GraphicExternalLink::msURL.

Referenced by ImplSwapIn().

Friends And Related Function Documentation

friend class Graphic
friend

Definition at line 51 of file impgraph.hxx.

friend class GraphicID
friend

Definition at line 52 of file impgraph.hxx.

Referenced by getUniqueID().

void ReadImpGraphic ( SvStream rIStm,
ImpGraphic rImpGraphic 
)
friend

Definition at line 1617 of file impgraph.cxx.

Referenced by ImplReadEmbedded().

friend class vcl::graphic::Manager
friend

Definition at line 53 of file impgraph.hxx.

void WriteImpGraphic ( SvStream rOStm,
const ImpGraphic rImpGraphic 
)
friend

Definition at line 1780 of file impgraph.cxx.

Referenced by ImplExportNative(), and ImplWriteEmbedded().

Member Data Documentation

BitmapEx ImpGraphic::maEx
private
GraphicExternalLink ImpGraphic::maGraphicExternalLink
private

Definition at line 73 of file impgraph.hxx.

Referenced by ImplClear(), loadPrepared(), and operator=().

std::chrono::high_resolution_clock::time_point ImpGraphic::maLastUsed
private

Definition at line 75 of file impgraph.hxx.

Referenced by operator=().

GDIMetaFile ImpGraphic::maMetaFile
private
ImpSwapInfo ImpGraphic::maSwapInfo
private
VectorGraphicDataPtr ImpGraphic::maVectorGraphicData
private
bool ImpGraphic::mbDummyContext
private

Definition at line 67 of file impgraph.hxx.

Referenced by ImplIsDummyContext(), ImplSetContext(), ImplSwapIn(), and operator=().

bool ImpGraphic::mbPrepared
private
bool ImpGraphic::mbSwapOut
private
GraphicType ImpGraphic::meType
private
BitmapChecksum ImpGraphic::mnChecksum = 0
mutableprivate

Definition at line 70 of file impgraph.hxx.

Referenced by ImplGetChecksum().

sal_uLong ImpGraphic::mnSizeBytes
mutableprivate

Definition at line 65 of file impgraph.hxx.

Referenced by ImplClear(), ImplGetSizeBytes(), and operator=().

std::unique_ptr<Animation> ImpGraphic::mpAnimation
private
std::shared_ptr<GraphicReader> ImpGraphic::mpContext
private

Definition at line 61 of file impgraph.hxx.

Referenced by ImplGetContext(), ImplSetContext(), ImplSwapIn(), and operator=().

std::shared_ptr<GfxLink> ImpGraphic::mpGfxLink
private
std::unique_ptr<GraphicID> ImpGraphic::mpGraphicID
private

Definition at line 72 of file impgraph.hxx.

std::shared_ptr<ImpSwapFile> ImpGraphic::mpSwapFile
private

Definition at line 62 of file impgraph.hxx.

Referenced by ImplClear(), ImplSwapIn(), ImplSwapOut(), and operator=().


The documentation for this class was generated from the following files: