Kaydet (Commit) 3a091f8c authored tarafından Michael Meeks's avatar Michael Meeks

Unwind VCLObject bits for OutputDevice derivatives.

Change-Id: I1abdf0a6d43029fb29e5cbc6c3f788aa98f55a1f
üst b5f08b33
......@@ -43,14 +43,20 @@ namespace vclcanvas
}
}
BackBuffer::~BackBuffer()
{
SolarMutexGuard aGuard;
maVDev.disposeAndClear();
}
OutputDevice& BackBuffer::getOutDev()
{
return maVDev.get();
return *maVDev.get();
}
const OutputDevice& BackBuffer::getOutDev() const
{
return maVDev.get();
return *maVDev.get();
}
void BackBuffer::setSize( const ::Size& rNewSize )
......
......@@ -43,6 +43,7 @@ namespace vclcanvas
*/
BackBuffer( const OutputDevice& rRefDevice,
bool bMonochromeBuffer=false );
~BackBuffer();
virtual OutputDevice& getOutDev() SAL_OVERRIDE;
virtual const OutputDevice& getOutDev() const SAL_OVERRIDE;
......@@ -50,7 +51,7 @@ namespace vclcanvas
void setSize( const ::Size& rNewSize );
private:
::canvas::vcltools::VCLObject<VirtualDevice> maVDev;
VclPtr< VirtualDevice > maVDev;
};
typedef ::boost::shared_ptr< BackBuffer > BackBufferSharedPtr;
......
......@@ -189,6 +189,12 @@ namespace vclcanvas
#endif
}
SpriteCanvasHelper::~SpriteCanvasHelper()
{
SolarMutexGuard aGuard;
maVDev.disposeAndClear();
}
void SpriteCanvasHelper::init( const OutDevProviderSharedPtr& rOutDev,
SpriteCanvas& rOwningSpriteCanvas,
::canvas::SpriteRedrawManager& rManager,
......
......@@ -23,6 +23,7 @@
#include <com/sun/star/rendering/XSpriteCanvas.hpp>
#include <com/sun/star/rendering/XIntegerBitmap.hpp>
#include <vcl/vclptr.hxx>
#include <vcl/virdev.hxx>
#include <canvas/spriteredrawmanager.hxx>
......@@ -40,6 +41,7 @@ namespace vclcanvas
{
public:
SpriteCanvasHelper();
~SpriteCanvasHelper()
void init( const OutDevProviderSharedPtr& rOutDev,
SpriteCanvas& rOwningSpriteCanvas,
......@@ -150,7 +152,7 @@ namespace vclcanvas
Typically, sprites will be composited in the background,
before pushing them to screen. This happens here.
*/
::canvas::vcltools::VCLObject< VirtualDevice > maVDev;
VclPtr< VirtualDevice > maVDev;
/// For the frame counter timings
::canvas::tools::ElapsedTime maLastUpdate;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment