diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-03-19 17:47:31 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-04-10 12:26:07 +0100 |
commit | e218bbcbf60345115772ccb2fa63418c13895bd0 (patch) | |
tree | 29d9fb87ba270b6e5464b1440fb931868d4e3f4a /svx/source/sdr | |
parent | b129ee5021b7f56dfd936d53a46d274880edc0a9 (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.cxx | 6 | ||||
-rw-r--r-- | svx/source/sdr/overlay/overlaymanagerbuffered.cxx | 94 |
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 |