LibreOffice Module vcl (master)  1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
vcl::graphic::Manager Class Referencefinal

#include <Manager.hxx>

Collaboration diagram for vcl::graphic::Manager:
[legend]

Public Member Functions

void swappedIn (const ImpGraphic *pImpGraphic)
 
void swappedOut (const ImpGraphic *pImpGraphic)
 
void reduceGraphicMemory ()
 
void changeExisting (const ImpGraphic *pImpGraphic, sal_Int64 nOldSize)
 
void unregisterGraphic (ImpGraphic *pImpGraphic)
 
std::shared_ptr< ImpGraphiccopy (std::shared_ptr< ImpGraphic > const &pImpGraphic)
 
std::shared_ptr< ImpGraphicnewInstance ()
 
std::shared_ptr< ImpGraphicnewInstance (const Bitmap &rBitmap)
 
std::shared_ptr< ImpGraphicnewInstance (const BitmapEx &rBitmapEx)
 
std::shared_ptr< ImpGraphicnewInstance (const std::shared_ptr< VectorGraphicData > &rVectorGraphicDataPtr)
 
std::shared_ptr< ImpGraphicnewInstance (const Animation &rAnimation)
 
std::shared_ptr< ImpGraphicnewInstance (const GDIMetaFile &rMtf)
 
std::shared_ptr< ImpGraphicnewInstance (const GraphicExternalLink &rGraphicLink)
 

Static Public Member Functions

static Managerget ()
 

Private Member Functions

 Manager ()
 
void registerGraphic (const std::shared_ptr< ImpGraphic > &rImpGraphic, OUString const &rsContext)
 
 DECL_LINK (SwapOutTimerHandler, Timer *, void)
 

Static Private Member Functions

static sal_Int64 getGraphicSizeBytes (const ImpGraphic *pImpGraphic)
 

Private Attributes

std::recursive_mutex maMutex
 
o3tl::sorted_vector< ImpGraphic * > m_pImpGraphicList
 
std::chrono::seconds mnAllowedIdleTime
 
bool mbSwapEnabled
 
sal_Int64 mnMemoryLimit
 
sal_Int64 mnUsedSize
 
Timer maSwapOutTimer
 

Detailed Description

Definition at line 32 of file Manager.hxx.

Constructor & Destructor Documentation

vcl::graphic::Manager::Manager ( )
private

Member Function Documentation

void vcl::graphic::Manager::changeExisting ( const ImpGraphic pImpGraphic,
sal_Int64  nOldSize 
)

Definition at line 238 of file Manager.cxx.

References getGraphicSizeBytes(), maMutex, and mnUsedSize.

Referenced by ImpGraphic::ImplClear(), and ImpGraphic::operator=().

std::shared_ptr< ImpGraphic > vcl::graphic::Manager::copy ( std::shared_ptr< ImpGraphic > const &  pImpGraphic)

Definition at line 167 of file Manager.cxx.

References registerGraphic().

Referenced by Graphic::Graphic(), Graphic::ImplTestRefCount(), and Graphic::operator=().

vcl::graphic::Manager::DECL_LINK ( SwapOutTimerHandler  ,
Timer ,
void   
)
private
Manager & vcl::graphic::Manager::get ( )
static
sal_Int64 vcl::graphic::Manager::getGraphicSizeBytes ( const ImpGraphic pImpGraphic)
staticprivate
std::shared_ptr< ImpGraphic > vcl::graphic::Manager::newInstance ( )

Definition at line 174 of file Manager.cxx.

References registerGraphic().

Referenced by Graphic::Graphic().

std::shared_ptr< ImpGraphic > vcl::graphic::Manager::newInstance ( const Bitmap rBitmap)

Definition at line 181 of file Manager.cxx.

References registerGraphic().

std::shared_ptr< ImpGraphic > vcl::graphic::Manager::newInstance ( const BitmapEx rBitmapEx)

Definition at line 188 of file Manager.cxx.

References registerGraphic().

std::shared_ptr< ImpGraphic > vcl::graphic::Manager::newInstance ( const std::shared_ptr< VectorGraphicData > &  rVectorGraphicDataPtr)

Definition at line 203 of file Manager.cxx.

References registerGraphic().

std::shared_ptr< ImpGraphic > vcl::graphic::Manager::newInstance ( const Animation rAnimation)

Definition at line 195 of file Manager.cxx.

References registerGraphic().

std::shared_ptr< ImpGraphic > vcl::graphic::Manager::newInstance ( const GDIMetaFile rMtf)

Definition at line 210 of file Manager.cxx.

References registerGraphic().

std::shared_ptr< ImpGraphic > vcl::graphic::Manager::newInstance ( const GraphicExternalLink rGraphicLink)

Definition at line 217 of file Manager.cxx.

References registerGraphic().

void vcl::graphic::Manager::reduceGraphicMemory ( )
void vcl::graphic::Manager::registerGraphic ( const std::shared_ptr< ImpGraphic > &  rImpGraphic,
OUString const &  rsContext 
)
private
void vcl::graphic::Manager::swappedIn ( const ImpGraphic pImpGraphic)

Definition at line 224 of file Manager.cxx.

References getGraphicSizeBytes(), maMutex, and mnUsedSize.

Referenced by ImpGraphic::swapIn().

void vcl::graphic::Manager::swappedOut ( const ImpGraphic pImpGraphic)

Definition at line 231 of file Manager.cxx.

References getGraphicSizeBytes(), maMutex, and mnUsedSize.

Referenced by ImpGraphic::swapOut().

void vcl::graphic::Manager::unregisterGraphic ( ImpGraphic pImpGraphic)

Member Data Documentation

o3tl::sorted_vector<ImpGraphic*> vcl::graphic::Manager::m_pImpGraphicList
private

Definition at line 36 of file Manager.hxx.

Referenced by reduceGraphicMemory(), registerGraphic(), and unregisterGraphic().

std::recursive_mutex vcl::graphic::Manager::maMutex
private
Timer vcl::graphic::Manager::maSwapOutTimer
private

Definition at line 41 of file Manager.hxx.

Referenced by Manager().

bool vcl::graphic::Manager::mbSwapEnabled
private

Definition at line 38 of file Manager.hxx.

Referenced by Manager(), and reduceGraphicMemory().

std::chrono::seconds vcl::graphic::Manager::mnAllowedIdleTime
private

Definition at line 37 of file Manager.hxx.

Referenced by Manager(), and reduceGraphicMemory().

sal_Int64 vcl::graphic::Manager::mnMemoryLimit
private

Definition at line 39 of file Manager.hxx.

Referenced by Manager(), reduceGraphicMemory(), and registerGraphic().

sal_Int64 vcl::graphic::Manager::mnUsedSize
private

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