Unwind VCLObject bits for OutputDevice derivatives.
Change-Id: I1abdf0a6d43029fb29e5cbc6c3f788aa98f55a1f
This commit is contained in:
@@ -43,14 +43,20 @@ namespace vclcanvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BackBuffer::~BackBuffer()
|
||||||
|
{
|
||||||
|
SolarMutexGuard aGuard;
|
||||||
|
maVDev.disposeAndClear();
|
||||||
|
}
|
||||||
|
|
||||||
OutputDevice& BackBuffer::getOutDev()
|
OutputDevice& BackBuffer::getOutDev()
|
||||||
{
|
{
|
||||||
return maVDev.get();
|
return *maVDev.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
const OutputDevice& BackBuffer::getOutDev() const
|
const OutputDevice& BackBuffer::getOutDev() const
|
||||||
{
|
{
|
||||||
return maVDev.get();
|
return *maVDev.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BackBuffer::setSize( const ::Size& rNewSize )
|
void BackBuffer::setSize( const ::Size& rNewSize )
|
||||||
|
@@ -43,6 +43,7 @@ namespace vclcanvas
|
|||||||
*/
|
*/
|
||||||
BackBuffer( const OutputDevice& rRefDevice,
|
BackBuffer( const OutputDevice& rRefDevice,
|
||||||
bool bMonochromeBuffer=false );
|
bool bMonochromeBuffer=false );
|
||||||
|
~BackBuffer();
|
||||||
|
|
||||||
virtual OutputDevice& getOutDev() SAL_OVERRIDE;
|
virtual OutputDevice& getOutDev() SAL_OVERRIDE;
|
||||||
virtual const OutputDevice& getOutDev() const SAL_OVERRIDE;
|
virtual const OutputDevice& getOutDev() const SAL_OVERRIDE;
|
||||||
@@ -50,7 +51,7 @@ namespace vclcanvas
|
|||||||
void setSize( const ::Size& rNewSize );
|
void setSize( const ::Size& rNewSize );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
::canvas::vcltools::VCLObject<VirtualDevice> maVDev;
|
VclPtr< VirtualDevice > maVDev;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef ::boost::shared_ptr< BackBuffer > BackBufferSharedPtr;
|
typedef ::boost::shared_ptr< BackBuffer > BackBufferSharedPtr;
|
||||||
|
@@ -189,6 +189,12 @@ namespace vclcanvas
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SpriteCanvasHelper::~SpriteCanvasHelper()
|
||||||
|
{
|
||||||
|
SolarMutexGuard aGuard;
|
||||||
|
maVDev.disposeAndClear();
|
||||||
|
}
|
||||||
|
|
||||||
void SpriteCanvasHelper::init( const OutDevProviderSharedPtr& rOutDev,
|
void SpriteCanvasHelper::init( const OutDevProviderSharedPtr& rOutDev,
|
||||||
SpriteCanvas& rOwningSpriteCanvas,
|
SpriteCanvas& rOwningSpriteCanvas,
|
||||||
::canvas::SpriteRedrawManager& rManager,
|
::canvas::SpriteRedrawManager& rManager,
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
#include <com/sun/star/rendering/XSpriteCanvas.hpp>
|
#include <com/sun/star/rendering/XSpriteCanvas.hpp>
|
||||||
#include <com/sun/star/rendering/XIntegerBitmap.hpp>
|
#include <com/sun/star/rendering/XIntegerBitmap.hpp>
|
||||||
|
|
||||||
|
#include <vcl/vclptr.hxx>
|
||||||
#include <vcl/virdev.hxx>
|
#include <vcl/virdev.hxx>
|
||||||
|
|
||||||
#include <canvas/spriteredrawmanager.hxx>
|
#include <canvas/spriteredrawmanager.hxx>
|
||||||
@@ -40,6 +41,7 @@ namespace vclcanvas
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SpriteCanvasHelper();
|
SpriteCanvasHelper();
|
||||||
|
~SpriteCanvasHelper()
|
||||||
|
|
||||||
void init( const OutDevProviderSharedPtr& rOutDev,
|
void init( const OutDevProviderSharedPtr& rOutDev,
|
||||||
SpriteCanvas& rOwningSpriteCanvas,
|
SpriteCanvas& rOwningSpriteCanvas,
|
||||||
@@ -150,7 +152,7 @@ namespace vclcanvas
|
|||||||
Typically, sprites will be composited in the background,
|
Typically, sprites will be composited in the background,
|
||||||
before pushing them to screen. This happens here.
|
before pushing them to screen. This happens here.
|
||||||
*/
|
*/
|
||||||
::canvas::vcltools::VCLObject< VirtualDevice > maVDev;
|
VclPtr< VirtualDevice > maVDev;
|
||||||
|
|
||||||
/// For the frame counter timings
|
/// For the frame counter timings
|
||||||
::canvas::tools::ElapsedTime maLastUpdate;
|
::canvas::tools::ElapsedTime maLastUpdate;
|
||||||
|
Reference in New Issue
Block a user