summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/svx/dialcontrol.hxx6
-rw-r--r--include/svx/dlgctrl.hxx4
-rw-r--r--include/svx/float3d.hxx2
-rw-r--r--include/svx/numvset.hxx2
-rw-r--r--starmath/inc/dialog.hxx4
-rw-r--r--starmath/inc/smmod.hxx2
-rw-r--r--starmath/inc/visitors.hxx2
-rw-r--r--starmath/source/smmod.cxx2
-rw-r--r--svx/inc/sdr/overlay/overlaymanagerbuffered.hxx4
-rw-r--r--svx/source/dialog/dlgctrl.cxx2
-rw-r--r--svx/source/dialog/fntctrl.cxx6
-rw-r--r--svx/source/dialog/frmsel.cxx31
-rw-r--r--svx/source/dialog/svxbmpnumvalueset.cxx2
-rw-r--r--svx/source/engine3d/float3d.cxx2
-rw-r--r--svx/source/form/fmobj.cxx4
-rw-r--r--svx/source/inc/fmobj.hxx2
-rw-r--r--svx/source/inc/frmselimpl.hxx2
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx6
-rw-r--r--svx/source/sdr/overlay/overlaymanagerbuffered.cxx94
-rw-r--r--svx/source/sidebar/line/LineWidthValueSet.cxx5
-rw-r--r--svx/source/sidebar/line/LineWidthValueSet.hxx2
-rw-r--r--svx/source/svdraw/svdfmtf.cxx46
-rw-r--r--svx/source/svdraw/svdfmtf.hxx36
23 files changed, 134 insertions, 134 deletions
diff --git a/include/svx/dialcontrol.hxx b/include/svx/dialcontrol.hxx
index 58ae42a3b8d7..787a0ca2cc5f 100644
--- a/include/svx/dialcontrol.hxx
+++ b/include/svx/dialcontrol.hxx
@@ -124,9 +124,9 @@ public:
protected:
struct DialControl_Impl
{
- std::unique_ptr<DialControlBmp> mxBmpEnabled;
- std::unique_ptr<DialControlBmp> mxBmpDisabled;
- std::unique_ptr<DialControlBmp> mxBmpBuffered;
+ ScopedVclPtr<DialControlBmp> mpBmpEnabled;
+ ScopedVclPtr<DialControlBmp> mpBmpDisabled;
+ ScopedVclPtr<DialControlBmp> mpBmpBuffered;
Link maModifyHdl;
VclPtr<NumericField> mpLinkField;
sal_Int32 mnLinkedFieldValueMultiplyer;
diff --git a/include/svx/dlgctrl.hxx b/include/svx/dlgctrl.hxx
index 15794fa60c82..9dd124193574 100644
--- a/include/svx/dlgctrl.hxx
+++ b/include/svx/dlgctrl.hxx
@@ -358,8 +358,8 @@ class SdrModel;
class SvxPreviewBase : public Control
{
private:
- SdrModel* mpModel;
- VirtualDevice* mpBufferDevice;
+ SdrModel* mpModel;
+ VclPtr<VirtualDevice> mpBufferDevice;
protected:
void InitSettings(bool bForeground, bool bBackground);
diff --git a/include/svx/float3d.hxx b/include/svx/float3d.hxx
index 44d62800d5d2..4f12058b1fa9 100644
--- a/include/svx/float3d.hxx
+++ b/include/svx/float3d.hxx
@@ -171,7 +171,7 @@ private:
// Model, Page, View etc. for favourites
FmFormModel* pModel;
- VirtualDevice* pVDev;
+ VclPtr<VirtualDevice> pVDev;
E3dView* p3DView;
SfxBindings* pBindings;
diff --git a/include/svx/numvset.hxx b/include/svx/numvset.hxx
index 374219902745..d4a13cb1d3b8 100644
--- a/include/svx/numvset.hxx
+++ b/include/svx/numvset.hxx
@@ -53,7 +53,7 @@ class SVX_DLLPUBLIC SvxNumValueSet : public ValueSet
sal_uInt16 nPageType;
bool bHTMLMode;
Rectangle aOrgRect;
- VirtualDevice* pVDev;
+ VclPtr<VirtualDevice> pVDev;
com::sun::star::uno::Reference<com::sun::star::text::XNumberingFormatter> xFormatter;
com::sun::star::lang::Locale aLocale;
diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx
index 9a0bb75b3bdb..df824c74f35a 100644
--- a/starmath/inc/dialog.hxx
+++ b/starmath/inc/dialog.hxx
@@ -154,7 +154,7 @@ class SmFontTypeDialog : public ModalDialog
VclPtr<MenuButton> m_pMenuButton;
VclPtr<PushButton> m_pDefaultButton;
- OutputDevice *pFontListDev;
+ VclPtr<OutputDevice> pFontListDev;
DECL_LINK(MenuSelectHdl, Menu *);
DECL_LINK(DefaultButtonClickHdl, Button *);
@@ -359,7 +359,7 @@ class SmSymbolDialog : public ModalDialog
OUString aSymbolSetName;
SymbolPtrVec_t aSymbolSet;
- OutputDevice *pFontListDev;
+ VclPtr<OutputDevice> pFontListDev;
DECL_LINK(SymbolSetChangeHdl, void*);
DECL_LINK(SymbolChangeHdl, void*);
diff --git a/starmath/inc/smmod.hxx b/starmath/inc/smmod.hxx
index 7d26cd9d8425..640d20fb5b3c 100644
--- a/starmath/inc/smmod.hxx
+++ b/starmath/inc/smmod.hxx
@@ -90,7 +90,7 @@ class SmModule : public SfxModule, utl::ConfigurationListener
SmConfig *pConfig;
SmLocalizedSymbolData *pLocSymbolData;
SvtSysLocale *pSysLocale;
- VirtualDevice *pVirtualDev;
+ VclPtr<VirtualDevice> pVirtualDev;
void _CreateSysLocale() const;
void _CreateVirtualDev() const;
diff --git a/starmath/inc/visitors.hxx b/starmath/inc/visitors.hxx
index 5ae12773d673..1d26ddcdd7d5 100644
--- a/starmath/inc/visitors.hxx
+++ b/starmath/inc/visitors.hxx
@@ -144,7 +144,7 @@ public:
}
private:
SmCaretLine line;
- OutputDevice *pDev;
+ VclPtr<OutputDevice> pDev;
SmCaretPos pos;
protected:
/** Default method for computing lines for pNodes */
diff --git a/starmath/source/smmod.cxx b/starmath/source/smmod.cxx
index e6b12c44401e..93909215492f 100644
--- a/starmath/source/smmod.cxx
+++ b/starmath/source/smmod.cxx
@@ -183,7 +183,7 @@ SmModule::~SmModule()
delete pColorConfig;
delete pLocSymbolData;
delete pSysLocale;
- delete pVirtualDev;
+ pVirtualDev.disposeAndClear();
}
void SmModule::_CreateSysLocale() const
diff --git a/svx/inc/sdr/overlay/overlaymanagerbuffered.hxx b/svx/inc/sdr/overlay/overlaymanagerbuffered.hxx
index 4063d521fd27..05db3120343f 100644
--- a/svx/inc/sdr/overlay/overlaymanagerbuffered.hxx
+++ b/svx/inc/sdr/overlay/overlaymanagerbuffered.hxx
@@ -36,11 +36,11 @@ namespace sdr
protected:
// The VirtualDevice for draw window content buffering, this
// is the view content without overlay
- VirtualDevice maBufferDevice;
+ ScopedVclPtr<VirtualDevice> mpBufferDevice;
// #i73602# The VirtualDevice for OverlayPaint buffering. This
// is an extra device to avoid flickering of overlay paints
- VirtualDevice maOutputBufferDevice;
+ ScopedVclPtr<VirtualDevice> mpOutputBufferDevice;
// Idle for buffering
Idle maBufferIdle;
diff --git a/svx/source/dialog/dlgctrl.cxx b/svx/source/dialog/dlgctrl.cxx
index ba5d023c70e1..95584d7ac674 100644
--- a/svx/source/dialog/dlgctrl.cxx
+++ b/svx/source/dialog/dlgctrl.cxx
@@ -1843,7 +1843,7 @@ SvxPreviewBase::~SvxPreviewBase()
void SvxPreviewBase::dispose()
{
delete mpModel;
- delete mpBufferDevice;
+ mpBufferDevice.disposeAndClear();
Control::dispose();
}
diff --git a/svx/source/dialog/fntctrl.cxx b/svx/source/dialog/fntctrl.cxx
index a6333155e94e..10da7e2ef5f9 100644
--- a/svx/source/dialog/fntctrl.cxx
+++ b/svx/source/dialog/fntctrl.cxx
@@ -128,8 +128,8 @@ class FontPrevWin_Impl
friend class SvxFontPrevWindow;
SvxFont aFont;
- Printer* pPrinter;
- bool bDelPrinter;
+ VclPtr<Printer> pPrinter;
+ bool bDelPrinter;
Reference < XBreakIterator > xBreak;
std::vector<sal_uIntPtr> aTextWidth;
@@ -183,7 +183,7 @@ public:
delete pColor;
delete pBackColor;
if( bDelPrinter )
- delete pPrinter;
+ pPrinter.disposeAndClear();
}
void CheckScript();
diff --git a/svx/source/dialog/frmsel.cxx b/svx/source/dialog/frmsel.cxx
index 305b226a4ade..3a8969de7d08 100644
--- a/svx/source/dialog/frmsel.cxx
+++ b/svx/source/dialog/frmsel.cxx
@@ -209,6 +209,7 @@ FrameBorderType FrameBorder::GetKeyboardNeighbor( sal_uInt16 nKeyCode ) const
FrameSelectorImpl::FrameSelectorImpl( FrameSelector& rFrameSel ) :
Resource( SVX_RES( RID_SVXSTR_BORDER_CONTROL ) ),
mrFrameSel( rFrameSel ),
+ mpVirDev( new VirtualDevice() ),
maILArrows( 16 ),
maLeft( FRAMEBORDER_LEFT ),
maRight( FRAMEBORDER_RIGHT ),
@@ -346,7 +347,7 @@ void FrameSelectorImpl::InitGlobalGeometry()
/* The final size of the usable area. */
mnCtrlSize = 2 * nBetwBordersSize + nFixedSize;
- maVirDev.SetOutputSizePixel( Size( mnCtrlSize, mnCtrlSize ) );
+ mpVirDev->SetOutputSizePixel( Size( mnCtrlSize, mnCtrlSize ) );
/* Center the virtual device in the control. */
maVirDevPos = Point( (aCtrlSize.Width() - mnCtrlSize) / 2, (aCtrlSize.Height() - mnCtrlSize) / 2 );
@@ -518,14 +519,14 @@ FrameBorder& FrameSelectorImpl::GetBorderAccess( FrameBorderType eBorder )
void FrameSelectorImpl::DrawBackground()
{
// clear the area
- maVirDev.SetLineColor();
- maVirDev.SetFillColor( maBackCol );
- maVirDev.DrawRect( Rectangle( Point( 0, 0 ), maVirDev.GetOutputSizePixel() ) );
+ mpVirDev->SetLineColor();
+ mpVirDev->SetFillColor( maBackCol );
+ mpVirDev->DrawRect( Rectangle( Point( 0, 0 ), mpVirDev->GetOutputSizePixel() ) );
// draw the inner gray (or whatever color) rectangle
- maVirDev.SetLineColor();
- maVirDev.SetFillColor( maMarkCol );
- maVirDev.DrawRect( Rectangle(
+ mpVirDev->SetLineColor();
+ mpVirDev->SetFillColor( maMarkCol );
+ mpVirDev->DrawRect( Rectangle(
mnLine1 - mnFocusOffs, mnLine1 - mnFocusOffs, mnLine3 + mnFocusOffs, mnLine3 + mnFocusOffs ) );
// draw the white space for enabled frame borders
@@ -533,9 +534,9 @@ void FrameSelectorImpl::DrawBackground()
for( FrameBorderCIter aIt( maEnabBorders ); aIt.Is(); ++aIt )
(*aIt)->MergeFocusToPolyPolygon( aPPoly );
aPPoly.Optimize( PolyOptimizeFlags::CLOSE );
- maVirDev.SetLineColor( maBackCol );
- maVirDev.SetFillColor( maBackCol );
- maVirDev.DrawPolyPolygon( aPPoly );
+ mpVirDev->SetLineColor( maBackCol );
+ mpVirDev->SetFillColor( maBackCol );
+ mpVirDev->DrawPolyPolygon( aPPoly );
}
void FrameSelectorImpl::DrawArrows( const FrameBorder& rBorder )
@@ -588,8 +589,8 @@ void FrameSelectorImpl::DrawArrows( const FrameBorder& rBorder )
// Arrow or marker? Do not draw arrows into disabled control.
sal_uInt16 nSelectAdd = (mrFrameSel.IsEnabled() && rBorder.IsSelected()) ? 0 : 8;
- maVirDev.DrawImage( aPos1, maILArrows.GetImage( nImgId1 + nSelectAdd ) );
- maVirDev.DrawImage( aPos2, maILArrows.GetImage( nImgId2 + nSelectAdd ) );
+ mpVirDev->DrawImage( aPos1, maILArrows.GetImage( nImgId1 + nSelectAdd ) );
+ mpVirDev->DrawImage( aPos2, maILArrows.GetImage( nImgId2 + nSelectAdd ) );
}
void FrameSelectorImpl::DrawAllArrows()
@@ -657,7 +658,7 @@ void FrameSelectorImpl::DrawAllFrameBorders()
maArray.SetCellStyleDiag( nCol, nRow, maTLBR.GetUIStyle(), maBLTR.GetUIStyle() );
// Let the helper array draw itself
- maArray.DrawArray( maVirDev );
+ maArray.DrawArray( *mpVirDev.get() );
}
void FrameSelectorImpl::DrawVirtualDevice()
@@ -672,7 +673,7 @@ void FrameSelectorImpl::CopyVirDevToControl()
{
if( mbFullRepaint )
DrawVirtualDevice();
- mrFrameSel.DrawBitmap( maVirDevPos, maVirDev.GetBitmap( Point( 0, 0 ), maVirDev.GetOutputSizePixel() ) );
+ mrFrameSel.DrawBitmap( maVirDevPos, mpVirDev->GetBitmap( Point( 0, 0 ), mpVirDev->GetOutputSizePixel() ) );
}
void FrameSelectorImpl::DrawAllTrackingRects()
@@ -686,7 +687,7 @@ void FrameSelectorImpl::DrawAllTrackingRects()
}
else
// no frame border selected -> draw tracking rectangle around entire control
- aPPoly.Insert( Polygon( Rectangle( maVirDevPos, maVirDev.GetOutputSizePixel() ) ) );
+ aPPoly.Insert( Polygon( Rectangle( maVirDevPos, mpVirDev->GetOutputSizePixel() ) ) );
aPPoly.Optimize( PolyOptimizeFlags::CLOSE );
for( sal_uInt16 nIdx = 0, nCount = aPPoly.Count(); nIdx < nCount; ++nIdx )
diff --git a/svx/source/dialog/svxbmpnumvalueset.cxx b/svx/source/dialog/svxbmpnumvalueset.cxx
index 7ac8567c4e8f..32fbdd0a81d6 100644
--- a/svx/source/dialog/svxbmpnumvalueset.cxx
+++ b/svx/source/dialog/svxbmpnumvalueset.cxx
@@ -428,7 +428,7 @@ SvxNumValueSet::~SvxNumValueSet()
void SvxNumValueSet::dispose()
{
- delete pVDev;
+ pVDev.disposeAndClear();
ValueSet::dispose();
}
diff --git a/svx/source/engine3d/float3d.cxx b/svx/source/engine3d/float3d.cxx
index f413b14e58f7..4ee0b01505a3 100644
--- a/svx/source/engine3d/float3d.cxx
+++ b/svx/source/engine3d/float3d.cxx
@@ -331,7 +331,7 @@ Svx3DWin::~Svx3DWin()
void Svx3DWin::dispose()
{
delete p3DView;
- delete pVDev;
+ pVDev.disposeAndClear();
delete pModel;
delete pControllerItem;
diff --git a/svx/source/form/fmobj.cxx b/svx/source/form/fmobj.cxx
index 7d7bd1bfde04..8c481a077bc8 100644
--- a/svx/source/form/fmobj.cxx
+++ b/svx/source/form/fmobj.cxx
@@ -112,7 +112,7 @@ void FmFormObj::impl_checkRefDevice_nothrow( bool _force )
return;
OutputDevice* pCurrentRefDevice = pFormModel ? pFormModel->GetRefDevice() : NULL;
- if ( ( m_pLastKnownRefDevice == pCurrentRefDevice ) && !_force )
+ if ( ( m_pLastKnownRefDevice.get() == pCurrentRefDevice ) && !_force )
return;
Reference< XControlModel > xControlModel( GetUnoControlModel() );
@@ -120,7 +120,7 @@ void FmFormObj::impl_checkRefDevice_nothrow( bool _force )
return;
m_pLastKnownRefDevice = pCurrentRefDevice;
- if ( m_pLastKnownRefDevice == NULL )
+ if ( !m_pLastKnownRefDevice )
return;
try
diff --git a/svx/source/inc/fmobj.hxx b/svx/source/inc/fmobj.hxx
index 01ff874296c6..38ff2b6906be 100644
--- a/svx/source/inc/fmobj.hxx
+++ b/svx/source/inc/fmobj.hxx
@@ -42,7 +42,7 @@ class SVX_DLLPUBLIC FmFormObj: public SdrUnoObj
::com::sun::star::uno::Reference< ::com::sun::star::form::XForms > m_xEnvironmentHistory;
sal_Int32 m_nPos;
- OutputDevice* m_pLastKnownRefDevice;
+ VclPtr<OutputDevice> m_pLastKnownRefDevice;
// the last ref device we know, as set at the model
// only to be used for comparison with the current ref device!
diff --git a/svx/source/inc/frmselimpl.hxx b/svx/source/inc/frmselimpl.hxx
index 702b2c4b2326..51d94e1f861b 100644
--- a/svx/source/inc/frmselimpl.hxx
+++ b/svx/source/inc/frmselimpl.hxx
@@ -97,7 +97,7 @@ struct FrameSelectorImpl : public Resource
typedef std::vector< XAccessibleRef > XAccessibleRefVec;
FrameSelector& mrFrameSel; /// The control itself.
- VirtualDevice maVirDev; /// For all buffered drawing operations.
+ ScopedVclPtr<VirtualDevice> mpVirDev; /// For all buffered drawing operations.
ImageList maILArrows; /// Arrows in current system colors.
Color maBackCol; /// Background color.
Color maArrowCol; /// Selection arrow color.
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
diff --git a/svx/source/sidebar/line/LineWidthValueSet.cxx b/svx/source/sidebar/line/LineWidthValueSet.cxx
index c57196f293cb..532a11cdd9c5 100644
--- a/svx/source/sidebar/line/LineWidthValueSet.cxx
+++ b/svx/source/sidebar/line/LineWidthValueSet.cxx
@@ -46,14 +46,11 @@ LineWidthValueSet::~LineWidthValueSet()
void LineWidthValueSet::dispose()
{
- delete pVDev;
+ pVDev.disposeAndClear();
delete[] strUnit;
ValueSet::dispose();
}
-
-
-
void LineWidthValueSet::SetUnit(OUString* str)
{
for(int i = 0; i < 9; i++)
diff --git a/svx/source/sidebar/line/LineWidthValueSet.hxx b/svx/source/sidebar/line/LineWidthValueSet.hxx
index 55901d24ebdf..7cb02031a272 100644
--- a/svx/source/sidebar/line/LineWidthValueSet.hxx
+++ b/svx/source/sidebar/line/LineWidthValueSet.hxx
@@ -41,7 +41,7 @@ public:
virtual void UserDraw( const UserDrawEvent& rUDEvt ) SAL_OVERRIDE;
protected:
- VirtualDevice* pVDev;
+ VclPtr<VirtualDevice> pVDev;
sal_uInt16 nSelItem;
OUString* strUnit;
Image imgCus;
diff --git a/svx/source/svdraw/svdfmtf.cxx b/svx/source/svdraw/svdfmtf.cxx
index 133b7caed2fc..7577db59558c 100644
--- a/svx/source/svdraw/svdfmtf.cxx
+++ b/svx/source/svdraw/svdfmtf.cxx
@@ -78,7 +78,7 @@ ImpSdrGDIMetaFileImport::ImpSdrGDIMetaFileImport(
SdrLayerID nLay,
const Rectangle& rRect)
: maTmpList(),
- maVD(),
+ mpVD(new VirtualDevice()),
maScaleRect(rRect),
mnMapScalingOfs(0),
mpLineAttr(0),
@@ -105,10 +105,10 @@ ImpSdrGDIMetaFileImport::ImpSdrGDIMetaFileImport(
mbLastObjWasLine(false),
maClip()
{
- maVD.EnableOutput(false);
- maVD.SetLineColor();
- maVD.SetFillColor();
- maOldLineColor.SetRed( maVD.GetLineColor().GetRed() + 1 );
+ mpVD->EnableOutput(false);
+ mpVD->SetLineColor();
+ mpVD->SetFillColor();
+ maOldLineColor.SetRed( mpVD->GetLineColor().GetRed() + 1 );
mpLineAttr = new SfxItemSet(rModel.GetItemPool(), XATTR_LINE_FIRST, XATTR_LINE_LAST, 0, 0);
mpFillAttr = new SfxItemSet(rModel.GetItemPool(), XATTR_FILL_FIRST, XATTR_FILL_LAST, 0, 0);
mpTextAttr = new SfxItemSet(rModel.GetItemPool(), EE_ITEMS_START, EE_ITEMS_END, 0, 0);
@@ -340,12 +340,12 @@ void ImpSdrGDIMetaFileImport::SetAttributes(SdrObject* pObj, bool bForceTextAttr
mpLineAttr->Put(XLineWidthItem(0));
}
- maOldLineColor = maVD.GetLineColor();
+ maOldLineColor = mpVD->GetLineColor();
- if(maVD.IsLineColor())
+ if(mpVD->IsLineColor())
{
mpLineAttr->Put(XLineStyleItem(drawing::LineStyle_SOLID));
- mpLineAttr->Put(XLineColorItem(OUString(), maVD.GetLineColor()));
+ mpLineAttr->Put(XLineColorItem(OUString(), mpVD->GetLineColor()));
}
else
{
@@ -390,10 +390,10 @@ void ImpSdrGDIMetaFileImport::SetAttributes(SdrObject* pObj, bool bForceTextAttr
if(bFill)
{
- if(maVD.IsFillColor())
+ if(mpVD->IsFillColor())
{
mpFillAttr->Put(XFillStyleItem(drawing::FillStyle_SOLID));
- mpFillAttr->Put(XFillColorItem(OUString(), maVD.GetFillColor()));
+ mpFillAttr->Put(XFillColorItem(OUString(), mpVD->GetFillColor()));
}
else
{
@@ -407,7 +407,7 @@ void ImpSdrGDIMetaFileImport::SetAttributes(SdrObject* pObj, bool bForceTextAttr
if(bText && mbFntDirty)
{
- vcl::Font aFnt(maVD.GetFont());
+ vcl::Font aFnt(mpVD->GetFont());
const sal_uInt32 nHeight(FRound(aFnt.GetSize().Height() * mfScaleY));
mpTextAttr->Put( SvxFontItem( aFnt.GetFamily(), aFnt.GetName(), aFnt.GetStyleName(), aFnt.GetPitch(), aFnt.GetCharSet(), EE_CHAR_FONTINFO ) );
@@ -429,7 +429,7 @@ void ImpSdrGDIMetaFileImport::SetAttributes(SdrObject* pObj, bool bForceTextAttr
mpTextAttr->Put(SvxWordLineModeItem(aFnt.IsWordLineMode(), EE_CHAR_WLM));
mpTextAttr->Put(SvxContourItem(aFnt.IsOutline(), EE_CHAR_OUTLINE));
- mpTextAttr->Put(SvxColorItem(maVD.GetTextColor(), EE_CHAR_COLOR));
+ mpTextAttr->Put(SvxColorItem(mpVD->GetTextColor(), EE_CHAR_COLOR));
//... svxfont textitem svditext
mbFntDirty = false;
}
@@ -779,7 +779,7 @@ bool ImpSdrGDIMetaFileImport::CheckLastLineMerge(const basegfx::B2DPolygon& rSrc
}
// #i73407# reformulation to use new B2DPolygon classes
- if(mbLastObjWasLine && (maOldLineColor == maVD.GetLineColor()) && rSrcPoly.count())
+ if(mbLastObjWasLine && (maOldLineColor == mpVD->GetLineColor()) && rSrcPoly.count())
{
SdrObject* pTmpObj = maTmpList.size() ? maTmpList[maTmpList.size() - 1] : 0;
SdrPathObj* pLastPoly = dynamic_cast< SdrPathObj* >(pTmpObj);
@@ -871,9 +871,9 @@ bool ImpSdrGDIMetaFileImport::CheckLastPolyLineAndFillMerge(const basegfx::B2DPo
void ImpSdrGDIMetaFileImport::checkClip()
{
- if(maVD.IsClipRegion())
+ if(mpVD->IsClipRegion())
{
- maClip = maVD.GetClipRegion().GetAsB2DPolyPolygon();
+ maClip = mpVD->GetClipRegion().GetAsB2DPolyPolygon();
if(isClip())
{
@@ -984,12 +984,12 @@ void ImpSdrGDIMetaFileImport::ImportText( const Point& rPos, const OUString& rSt
{
// calc text box size, add 5% to make it fit safely
- FontMetric aFontMetric( maVD.GetFontMetric() );
- vcl::Font aFnt( maVD.GetFont() );
+ FontMetric aFontMetric( mpVD->GetFontMetric() );
+ vcl::Font aFnt( mpVD->GetFont() );
FontAlign eAlg( aFnt.GetAlign() );
- sal_Int32 nTextWidth = (sal_Int32)( maVD.GetTextWidth( rStr ) * mfScaleX );
- sal_Int32 nTextHeight = (sal_Int32)( maVD.GetTextHeight() * mfScaleY );
+ sal_Int32 nTextWidth = (sal_Int32)( mpVD->GetTextWidth( rStr ) * mfScaleX );
+ sal_Int32 nTextHeight = (sal_Int32)( mpVD->GetTextHeight() * mfScaleY );
Point aPos( FRound(rPos.X() * mfScaleX + maOfs.X()), FRound(rPos.Y() * mfScaleY + maOfs.Y()) );
Size aSize( nTextWidth, nTextHeight );
@@ -1168,13 +1168,13 @@ void ImpSdrGDIMetaFileImport::DoAction( MetaHatchAction& rAct )
void ImpSdrGDIMetaFileImport::DoAction(MetaLineColorAction& rAct)
{
- rAct.Execute(&maVD);
+ rAct.Execute(mpVD);
}
void ImpSdrGDIMetaFileImport::DoAction(MetaMapModeAction& rAct)
{
MapScaling();
- rAct.Execute(&maVD);
+ rAct.Execute(mpVD);
mbLastObjWasPolyWithoutLine = false;
mbLastObjWasLine = false;
}
@@ -1182,7 +1182,7 @@ void ImpSdrGDIMetaFileImport::DoAction(MetaMapModeAction& rAct)
void ImpSdrGDIMetaFileImport::MapScaling()
{
const size_t nCount(maTmpList.size());
- const MapMode& rMap = maVD.GetMapMode();
+ const MapMode& rMap = mpVD->GetMapMode();
Point aMapOrg( rMap.GetOrigin() );
bool bMov2(aMapOrg.X() != 0 || aMapOrg.Y() != 0);
@@ -1276,7 +1276,7 @@ void ImpSdrGDIMetaFileImport::DoAction(MetaTextRectAction& rAct)
{
GDIMetaFile aTemp;
- maVD.AddTextRectActions(rAct.GetRect(), rAct.GetText(), rAct.GetStyle(), aTemp);
+ mpVD->AddTextRectActions(rAct.GetRect(), rAct.GetText(), rAct.GetStyle(), aTemp);
DoLoopActions(aTemp, 0, 0);
}
diff --git a/svx/source/svdraw/svdfmtf.hxx b/svx/source/svdraw/svdfmtf.hxx
index 3e317feed5ac..fbdfaef5cc73 100644
--- a/svx/source/svdraw/svdfmtf.hxx
+++ b/svx/source/svdraw/svdfmtf.hxx
@@ -45,7 +45,7 @@ class ImpSdrGDIMetaFileImport
{
protected:
::std::vector< SdrObject* > maTmpList;
- VirtualDevice maVD;
+ ScopedVclPtr<VirtualDevice> mpVD;
Rectangle maScaleRect;
size_t mnMapScalingOfs; // from here on, not edited with MapScaling
SfxItemSet* mpLineAttr;
@@ -106,18 +106,18 @@ protected:
void DoAction(MetaHatchAction & rAct);
void DoAction(MetaLineColorAction & rAct);
void DoAction(MetaMapModeAction & rAct);
- void DoAction(MetaFillColorAction & rAct) { rAct.Execute(&maVD); }
- void DoAction(MetaTextColorAction & rAct) { rAct.Execute(&maVD); }
- void DoAction(MetaTextFillColorAction & rAct) { rAct.Execute(&maVD); }
- void DoAction(MetaFontAction & rAct) { rAct.Execute(&maVD); mbFntDirty = true; }
- void DoAction(MetaTextAlignAction & rAct) { rAct.Execute(&maVD); mbFntDirty = true; }
- void DoAction(MetaClipRegionAction & rAct) { rAct.Execute(&maVD); checkClip(); }
- void DoAction(MetaRasterOpAction & rAct) { rAct.Execute(&maVD); }
- void DoAction(MetaPushAction & rAct) { rAct.Execute(&maVD); checkClip(); }
- void DoAction(MetaPopAction & rAct) { rAct.Execute(&maVD); mbFntDirty = true; checkClip(); }
- void DoAction(MetaMoveClipRegionAction & rAct) { rAct.Execute(&maVD); checkClip(); }
- void DoAction(MetaISectRectClipRegionAction& rAct) { rAct.Execute(&maVD); checkClip(); }
- void DoAction(MetaISectRegionClipRegionAction& rAct) { rAct.Execute(&maVD); checkClip(); }
+ void DoAction(MetaFillColorAction & rAct) { rAct.Execute(mpVD); }
+ void DoAction(MetaTextColorAction & rAct) { rAct.Execute(mpVD); }
+ void DoAction(MetaTextFillColorAction & rAct) { rAct.Execute(mpVD); }
+ void DoAction(MetaFontAction & rAct) { rAct.Execute(mpVD); mbFntDirty = true; }
+ void DoAction(MetaTextAlignAction & rAct) { rAct.Execute(mpVD); mbFntDirty = true; }
+ void DoAction(MetaClipRegionAction & rAct) { rAct.Execute(mpVD); checkClip(); }
+ void DoAction(MetaRasterOpAction & rAct) { rAct.Execute(mpVD); }
+ void DoAction(MetaPushAction & rAct) { rAct.Execute(mpVD); checkClip(); }
+ void DoAction(MetaPopAction & rAct) { rAct.Execute(mpVD); mbFntDirty = true; checkClip(); }
+ void DoAction(MetaMoveClipRegionAction & rAct) { rAct.Execute(mpVD); checkClip(); }
+ void DoAction(MetaISectRectClipRegionAction& rAct) { rAct.Execute(mpVD); checkClip(); }
+ void DoAction(MetaISectRegionClipRegionAction& rAct) { rAct.Execute(mpVD); checkClip(); }
// #i125211# The MetaCommentAction needs to advance (if used), thus
// give current metafile and index which may be changed
@@ -134,14 +134,14 @@ protected:
void DoAction(MetaWallpaperAction& rAct);
void DoAction(MetaTransparentAction& rAct);
void DoAction(MetaEPSAction& rAct);
- void DoAction(MetaRefPointAction& rAct) { rAct.Execute(&maVD); }
- void DoAction(MetaTextLineColorAction& rAct) { rAct.Execute(&maVD); mbFntDirty = true; }
+ void DoAction(MetaRefPointAction& rAct) { rAct.Execute(mpVD); }
+ void DoAction(MetaTextLineColorAction& rAct) { rAct.Execute(mpVD); mbFntDirty = true; }
void DoAction(MetaTextLineAction& rAct);
void DoAction(MetaFloatTransparentAction& rAct);
void DoAction(MetaGradientExAction& rAct);
- void DoAction(MetaLayoutModeAction& rAct) { rAct.Execute(&maVD); mbFntDirty = true; }
- void DoAction(MetaTextLanguageAction& rAct) { rAct.Execute(&maVD); mbFntDirty = true; }
- void DoAction(MetaOverlineColorAction& rAct) { rAct.Execute(&maVD); mbFntDirty = true; }
+ void DoAction(MetaLayoutModeAction& rAct) { rAct.Execute(mpVD); mbFntDirty = true; }
+ void DoAction(MetaTextLanguageAction& rAct) { rAct.Execute(mpVD); mbFntDirty = true; }
+ void DoAction(MetaOverlineColorAction& rAct) { rAct.Execute(mpVD); mbFntDirty = true; }
void ImportText(const Point& rPos, const OUString& rStr, const MetaAction& rAct);
void SetAttributes(SdrObject* pObj, bool bForceTextAttr = false);