summaryrefslogtreecommitdiff
path: root/svx/source/sdr
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-03-19 17:47:31 +0000
committerMichael Meeks <michael.meeks@collabora.com>2015-04-10 12:26:07 +0100
commite218bbcbf60345115772ccb2fa63418c13895bd0 (patch)
tree29d9fb87ba270b6e5464b1440fb931868d4e3f4a /svx/source/sdr
parentb129ee5021b7f56dfd936d53a46d274880edc0a9 (diff)
Move OutputDevice members to VclPtr: starmath, svx.
Change-Id: I1a5174334f41bc319e0806b9d324be64ba6d0135
Diffstat (limited to 'svx/source/sdr')
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx6
-rw-r--r--svx/source/sdr/overlay/overlaymanagerbuffered.cxx94
2 files changed, 51 insertions, 49 deletions
diff --git a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
index c59fdb2eafa2..1ad7f6e13f6b 100644
--- a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
@@ -521,7 +521,7 @@ namespace sdr { namespace contact {
Reference< XContainer > m_xContainer;
/// the output device for which the control was created
- const OutputDevice* m_pOutputDeviceForWindow;
+ VclPtr<OutputDevice> m_pOutputDeviceForWindow;
/// flag indicating whether the control is currently visible
bool m_bControlIsVisible;
@@ -1038,7 +1038,7 @@ namespace sdr { namespace contact {
if ( m_aControl.is() )
{
- if ( m_pOutputDeviceForWindow == &_rDevice )
+ if ( m_pOutputDeviceForWindow.get() == const_cast<OutputDevice *>( &_rDevice ) )
return true;
// Somebody requested a control for a new device, which means either of
@@ -1062,7 +1062,7 @@ namespace sdr { namespace contact {
if ( !createControlForDevice( _rPageView, _rDevice, *pUnoObject, _rInitialViewTransformation, m_aZoomLevelNormalization, aControl ) )
return false;
- m_pOutputDeviceForWindow = &_rDevice;
+ m_pOutputDeviceForWindow = const_cast< OutputDevice * >( &_rDevice );
m_aControl = aControl;
m_xContainer.set(_rPageView.getControlContainer( _rDevice ), css::uno::UNO_QUERY);
DBG_ASSERT( ( m_xContainer.is() // either have a XControlContainer
diff --git a/svx/source/sdr/overlay/overlaymanagerbuffered.cxx b/svx/source/sdr/overlay/overlaymanagerbuffered.cxx
index 518db4aab118..0213942c2467 100644
--- a/svx/source/sdr/overlay/overlaymanagerbuffered.cxx
+++ b/svx/source/sdr/overlay/overlaymanagerbuffered.cxx
@@ -38,46 +38,46 @@ namespace sdr
{
void OverlayManagerBuffered::ImpPrepareBufferDevice()
{
- // compare size of maBufferDevice with size of visible area
- if(maBufferDevice.GetOutputSizePixel() != getOutputDevice().GetOutputSizePixel())
+ // compare size of mpBufferDevice with size of visible area
+ if(mpBufferDevice->GetOutputSizePixel() != getOutputDevice().GetOutputSizePixel())
{
// set new buffer size, copy as much content as possible (use bool parameter for vcl).
// Newly uncovered regions will be repainted.
- maBufferDevice.SetOutputSizePixel(getOutputDevice().GetOutputSizePixel(), false);
+ mpBufferDevice->SetOutputSizePixel(getOutputDevice().GetOutputSizePixel(), false);
}
// compare the MapModes for zoom/scroll changes
- if(maBufferDevice.GetMapMode() != getOutputDevice().GetMapMode())
+ if(mpBufferDevice->GetMapMode() != getOutputDevice().GetMapMode())
{
const bool bZoomed(
- maBufferDevice.GetMapMode().GetScaleX() != getOutputDevice().GetMapMode().GetScaleX()
- || maBufferDevice.GetMapMode().GetScaleY() != getOutputDevice().GetMapMode().GetScaleY());
+ mpBufferDevice->GetMapMode().GetScaleX() != getOutputDevice().GetMapMode().GetScaleX()
+ || mpBufferDevice->GetMapMode().GetScaleY() != getOutputDevice().GetMapMode().GetScaleY());
if(!bZoomed)
{
- const Point& rOriginOld = maBufferDevice.GetMapMode().GetOrigin();
+ const Point& rOriginOld = mpBufferDevice->GetMapMode().GetOrigin();
const Point& rOriginNew = getOutputDevice().GetMapMode().GetOrigin();
const bool bScrolled(rOriginOld != rOriginNew);
if(bScrolled)
{
// get pixel bounds
- const Point aOriginOldPixel(maBufferDevice.LogicToPixel(rOriginOld));
- const Point aOriginNewPixel(maBufferDevice.LogicToPixel(rOriginNew));
- const Size aOutputSizePixel(maBufferDevice.GetOutputSizePixel());
+ const Point aOriginOldPixel(mpBufferDevice->LogicToPixel(rOriginOld));
+ const Point aOriginNewPixel(mpBufferDevice->LogicToPixel(rOriginNew));
+ const Size aOutputSizePixel(mpBufferDevice->GetOutputSizePixel());
// remember and switch off MapMode
- const bool bMapModeWasEnabled(maBufferDevice.IsMapModeEnabled());
- maBufferDevice.EnableMapMode(false);
+ const bool bMapModeWasEnabled(mpBufferDevice->IsMapModeEnabled());
+ mpBufferDevice->EnableMapMode(false);
// scroll internally buffered stuff
const Point aDestinationOffsetPixel(aOriginNewPixel - aOriginOldPixel);
- maBufferDevice.DrawOutDev(
+ mpBufferDevice->DrawOutDev(
aDestinationOffsetPixel, aOutputSizePixel, // destination
Point(), aOutputSizePixel); // source
// restore MapMode
- maBufferDevice.EnableMapMode(bMapModeWasEnabled);
+ mpBufferDevice->EnableMapMode(bMapModeWasEnabled);
// scroll remembered region, too.
if(!maBufferRememberedRangePixel.isEmpty())
@@ -91,13 +91,13 @@ namespace sdr
}
// copy new MapMode
- maBufferDevice.SetMapMode(getOutputDevice().GetMapMode());
+ mpBufferDevice->SetMapMode(getOutputDevice().GetMapMode());
}
// #i29186#
- maBufferDevice.SetDrawMode(getOutputDevice().GetDrawMode());
- maBufferDevice.SetSettings(getOutputDevice().GetSettings());
- maBufferDevice.SetAntialiasing(getOutputDevice().GetAntialiasing());
+ mpBufferDevice->SetDrawMode(getOutputDevice().GetDrawMode());
+ mpBufferDevice->SetSettings(getOutputDevice().GetSettings());
+ mpBufferDevice->SetAntialiasing(getOutputDevice().GetAntialiasing());
}
void OverlayManagerBuffered::ImpRestoreBackground() const
@@ -114,9 +114,9 @@ namespace sdr
{
// MapModes off
const bool bMapModeWasEnabledDest(getOutputDevice().IsMapModeEnabled());
- const bool bMapModeWasEnabledSource(maBufferDevice.IsMapModeEnabled());
+ const bool bMapModeWasEnabledSource(mpBufferDevice->IsMapModeEnabled());
getOutputDevice().EnableMapMode(false);
- const_cast<OverlayManagerBuffered*>(this)->maBufferDevice.EnableMapMode(false);
+ const_cast<OverlayManagerBuffered*>(this)->mpBufferDevice->EnableMapMode(false);
// local region
RectangleVector aRectangles;
@@ -143,12 +143,12 @@ namespace sdr
getOutputDevice().DrawOutDev(
aTopLeft, aSize, // destination
aTopLeft, aSize, // source
- maBufferDevice);
+ *mpBufferDevice.get());
}
// restore MapModes
getOutputDevice().EnableMapMode(bMapModeWasEnabledDest);
- const_cast<OverlayManagerBuffered*>(this)->maBufferDevice.EnableMapMode(bMapModeWasEnabledSource);
+ const_cast<OverlayManagerBuffered*>(this)->maBufferDevice->EnableMapMode(bMapModeWasEnabledSource);
}
void OverlayManagerBuffered::ImpSaveBackground(const vcl::Region& rRegion, OutputDevice* pPreRenderDevice)
@@ -176,14 +176,14 @@ namespace sdr
}
// also limit to buffer size
- const Rectangle aBufferDeviceRectanglePixel(Point(), maBufferDevice.GetOutputSizePixel());
+ const Rectangle aBufferDeviceRectanglePixel(Point(), mpBufferDevice->GetOutputSizePixel());
aRegion.Intersect(aBufferDeviceRectanglePixel);
// MapModes off
const bool bMapModeWasEnabledDest(rSource.IsMapModeEnabled());
- const bool bMapModeWasEnabledSource(maBufferDevice.IsMapModeEnabled());
+ const bool bMapModeWasEnabledSource(mpBufferDevice->IsMapModeEnabled());
rSource.EnableMapMode(false);
- maBufferDevice.EnableMapMode(false);
+ mpBufferDevice->EnableMapMode(false);
// prepare to iterate over the rectangles from the region in pixels
RectangleVector aRectangles;
@@ -195,7 +195,7 @@ namespace sdr
const Point aTopLeft(aRectIter->TopLeft());
const Size aSize(aRectIter->GetSize());
- maBufferDevice.DrawOutDev(
+ mpBufferDevice->DrawOutDev(
aTopLeft, aSize, // destination
aTopLeft, aSize, // source
rSource);
@@ -203,7 +203,7 @@ namespace sdr
// restore MapModes
rSource.EnableMapMode(bMapModeWasEnabledDest);
- maBufferDevice.EnableMapMode(bMapModeWasEnabledSource);
+ mpBufferDevice->EnableMapMode(bMapModeWasEnabledSource);
}
IMPL_LINK(OverlayManagerBuffered, ImpBufferTimerHandler, AutoTimer*, /*pTimer*/)
@@ -241,20 +241,20 @@ namespace sdr
if(DoRefreshWithPreRendering())
{
- // #i73602# ensure valid and sized maOutputBufferDevice
- const Size aDestinationSizePixel(maBufferDevice.GetOutputSizePixel());
- const Size aOutputBufferSizePixel(maOutputBufferDevice.GetOutputSizePixel());
+ // #i73602# ensure valid and sized mpOutputBufferDevice
+ const Size aDestinationSizePixel(mpBufferDevice->GetOutputSizePixel());
+ const Size aOutputBufferSizePixel(mpOutputBufferDevice->GetOutputSizePixel());
if(aDestinationSizePixel != aOutputBufferSizePixel)
{
- maOutputBufferDevice.SetOutputSizePixel(aDestinationSizePixel);
+ mpOutputBufferDevice->SetOutputSizePixel(aDestinationSizePixel);
}
- maOutputBufferDevice.SetMapMode(getOutputDevice().GetMapMode());
- maOutputBufferDevice.EnableMapMode(false);
- maOutputBufferDevice.SetDrawMode(maBufferDevice.GetDrawMode());
- maOutputBufferDevice.SetSettings(maBufferDevice.GetSettings());
- maOutputBufferDevice.SetAntialiasing(maBufferDevice.GetAntialiasing());
+ mpOutputBufferDevice->SetMapMode(getOutputDevice().GetMapMode());
+ mpOutputBufferDevice->EnableMapMode(false);
+ mpOutputBufferDevice->SetDrawMode(mpBufferDevice->GetDrawMode());
+ mpOutputBufferDevice->SetSettings(mpBufferDevice->GetSettings());
+ mpOutputBufferDevice->SetAntialiasing(mpBufferDevice->GetAntialiasing());
// calculate sizes
Rectangle aRegionRectanglePixel(
@@ -289,23 +289,23 @@ namespace sdr
const Size aSize(aRegionRectanglePixel.GetSize());
{
- const bool bMapModeWasEnabledDest(maBufferDevice.IsMapModeEnabled());
- maBufferDevice.EnableMapMode(false);
+ const bool bMapModeWasEnabledDest(mpBufferDevice->IsMapModeEnabled());
+ mpBufferDevice->EnableMapMode(false);
- maOutputBufferDevice.DrawOutDev(
+ mpOutputBufferDevice->DrawOutDev(
aTopLeft, aSize, // destination
aTopLeft, aSize, // source
- maBufferDevice);
+ *mpBufferDevice.get());
// restore MapModes
- maBufferDevice.EnableMapMode(bMapModeWasEnabledDest);
+ mpBufferDevice->EnableMapMode(bMapModeWasEnabledDest);
}
// paint overlay content for remembered region, use
// method from base class directly
- maOutputBufferDevice.EnableMapMode(true);
- OverlayManager::ImpDrawMembers(aBufferRememberedRangeLogic, maOutputBufferDevice);
- maOutputBufferDevice.EnableMapMode(false);
+ mpOutputBufferDevice->EnableMapMode(true);
+ OverlayManager::ImpDrawMembers(aBufferRememberedRangeLogic, *mpOutputBufferDevice.get());
+ mpOutputBufferDevice->EnableMapMode(false);
// copy to output
{
@@ -315,7 +315,7 @@ namespace sdr
getOutputDevice().DrawOutDev(
aTopLeft, aSize, // destination
aTopLeft, aSize, // source
- maOutputBufferDevice);
+ *mpOutputBufferDevice.get());
// debug
/*getOutputDevice().SetLineColor(COL_RED);
@@ -381,6 +381,8 @@ namespace sdr
const SdrModel* pModel,
bool bRefreshWithPreRendering)
: OverlayManager(rOutputDevice, pModel),
+ mpBufferDevice(new VirtualDevice()),
+ mpOutputBufferDevice(new VirtualDevice()),
mbRefreshWithPreRendering(bRefreshWithPreRendering)
{
// Init timer
@@ -432,7 +434,7 @@ namespace sdr
void OverlayManagerBuffered::copyArea(const Point& rDestPt, const Point& rSrcPt, const Size& rSrcSize)
{
// scroll local buffered area
- maBufferDevice.CopyArea(rDestPt, rSrcPt, rSrcSize);
+ mpBufferDevice->CopyArea(rDestPt, rSrcPt, rSrcSize);
}
void OverlayManagerBuffered::restoreBackground(const vcl::Region& rRegion) const