summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--accessibility/source/extended/accessibleiconchoicectrlentry.cxx1
-rw-r--r--accessibility/source/extended/accessiblelistboxentry.cxx1
-rw-r--r--accessibility/source/standard/vclxaccessiblestatusbaritem.cxx2
-rw-r--r--include/vcl/ctrl.hxx55
-rw-r--r--include/vcl/toolkit/controllayout.hxx80
-rw-r--r--solenv/clang-format/excludelist1
-rw-r--r--vcl/inc/pch/precompiled_vcl.hxx1
-rw-r--r--vcl/inc/toolbox.h1
-rw-r--r--vcl/source/control/button.cxx7
-rw-r--r--vcl/source/control/combobox.cxx3
-rw-r--r--vcl/source/control/ctrl.cxx41
-rw-r--r--vcl/source/control/edit.cxx3
-rw-r--r--vcl/source/control/fixed.cxx11
-rw-r--r--vcl/source/control/imp_listbox.cxx9
-rw-r--r--vcl/source/control/listbox.cxx3
-rw-r--r--vcl/source/control/spinfld.cxx3
-rw-r--r--vcl/source/control/tabctrl.cxx11
-rw-r--r--vcl/source/outdev/text.cxx2
-rw-r--r--vcl/source/toolkit/group.cxx7
-rw-r--r--vcl/source/window/menu.cxx1
20 files changed, 98 insertions, 145 deletions
diff --git a/accessibility/source/extended/accessibleiconchoicectrlentry.cxx b/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
index b4ed1db209ab..8cc2f083ad63 100644
--- a/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
+++ b/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
@@ -24,7 +24,6 @@
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
#include <vcl/svapp.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/settings.hxx>
#include <toolkit/helper/convert.hxx>
#include <unotools/accessiblestatesethelper.hxx>
diff --git a/accessibility/source/extended/accessiblelistboxentry.cxx b/accessibility/source/extended/accessiblelistboxentry.cxx
index ceacee0b4489..06cc2cf6897e 100644
--- a/accessibility/source/extended/accessiblelistboxentry.cxx
+++ b/accessibility/source/extended/accessiblelistboxentry.cxx
@@ -29,7 +29,6 @@
#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
#include <i18nlangtag/languagetag.hxx>
#include <vcl/svapp.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/settings.hxx>
#include <toolkit/helper/convert.hxx>
#include <unotools/accessiblestatesethelper.hxx>
diff --git a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
index b647036c316d..8406742060ac 100644
--- a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
+++ b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
@@ -30,10 +30,10 @@
#include <cppuhelper/supportsservice.hxx>
#include <unotools/accessiblestatesethelper.hxx>
#include <unotools/accessiblerelationsethelper.hxx>
+#include <vcl/ctrl.hxx>
#include <vcl/svapp.hxx>
#include <vcl/unohelp2.hxx>
#include <vcl/status.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/settings.hxx>
#include <i18nlangtag/languagetag.hxx>
diff --git a/include/vcl/ctrl.hxx b/include/vcl/ctrl.hxx
index cde59c6f9e0f..a6797cc734bb 100644
--- a/include/vcl/ctrl.hxx
+++ b/include/vcl/ctrl.hxx
@@ -20,19 +20,68 @@
#ifndef INCLUDED_VCL_CTRL_HXX
#define INCLUDED_VCL_CTRL_HXX
+#include <rtl/ustring.hxx>
#include <tools/link.hxx>
+#include <tools/gen.hxx>
#include <vcl/dllapi.h>
#include <vcl/window.hxx>
-#include <memory>
+#include <optional>
+#include <vector>
// forward
class StyleSettings;
-namespace vcl { struct ControlLayoutData; }
+class Control;
+
+namespace vcl
+{
+
+struct VCL_DLLPUBLIC ControlLayoutData
+{
+ // contains the string really displayed
+ // there must be exactly one bounding rectangle in m_aUnicodeBoundRects
+ // for every character in m_aDisplayText
+ OUString m_aDisplayText;
+ // the bounding rectangle of every character
+ // where one character may consist of many glyphs
+ std::vector< tools::Rectangle > m_aUnicodeBoundRects;
+ // start indices of lines
+ std::vector< tools::Long > m_aLineIndices;
+ // notify parent control on destruction
+ VclPtr<const Control> m_pParent;
+
+ ControlLayoutData();
+ ~ControlLayoutData();
+
+ tools::Rectangle GetCharacterBounds( tools::Long nIndex ) const;
+ // returns the character index for corresponding to rPoint (in control coordinates)
+ // -1 is returned if no character is at that point
+ tools::Long GetIndexForPoint( const Point& rPoint ) const;
+ // returns the number of lines in the result of GetDisplayText()
+ tools::Long GetLineCount() const;
+ // returns the interval [start,end] of line nLine
+ // returns [-1,-1] for an invalid line
+ ::Pair GetLineStartEnd( tools::Long nLine ) const;
+ /** ToRelativeLineIndex changes a layout data index to a count relative to its line.
+
+ This is equivalent to getting the line start/end pairs with
+ GetLineStartEnd until the index lies within [start,end] of a line
+
+ @param nIndex
+ the absolute index inside the display text to be changed to a relative index
+
+ @returns
+ the relative index inside the displayed line or -1 if the absolute index does
+ not match any line
+ */
+ tools::Long ToRelativeLineIndex( tools::Long nIndex ) const;
+};
+
+} // namespace vcl
class VCL_DLLPUBLIC Control : public vcl::Window
{
protected:
- mutable std::unique_ptr<vcl::ControlLayoutData> mpLayoutData;
+ mutable std::optional<vcl::ControlLayoutData> mxLayoutData;
VclPtr<OutputDevice> mpReferenceDevice;
private:
diff --git a/include/vcl/toolkit/controllayout.hxx b/include/vcl/toolkit/controllayout.hxx
deleted file mode 100644
index 44b721c17dab..000000000000
--- a/include/vcl/toolkit/controllayout.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#pragma once
-
-#if !defined(VCL_DLLIMPLEMENTATION) && !defined(TOOLKIT_DLLIMPLEMENTATION) && !defined(VCL_INTERNALS)
-#error "don't use this in new code"
-#endif
-
-#include <rtl/ustring.hxx>
-#include <tools/gen.hxx>
-#include <vector>
-#include <vcl/ctrl.hxx>
-#include <vcl/dllapi.h>
-
-class Control;
-
-namespace vcl
-{
-
-struct VCL_DLLPUBLIC ControlLayoutData
-{
- // contains the string really displayed
- // there must be exactly one bounding rectangle in m_aUnicodeBoundRects
- // for every character in m_aDisplayText
- OUString m_aDisplayText;
- // the bounding rectangle of every character
- // where one character may consist of many glyphs
- std::vector< tools::Rectangle > m_aUnicodeBoundRects;
- // start indices of lines
- std::vector< tools::Long > m_aLineIndices;
- // notify parent control on destruction
- VclPtr<const Control> m_pParent;
-
- ControlLayoutData();
- ~ControlLayoutData();
-
- tools::Rectangle GetCharacterBounds( tools::Long nIndex ) const;
- // returns the character index for corresponding to rPoint (in control coordinates)
- // -1 is returned if no character is at that point
- tools::Long GetIndexForPoint( const Point& rPoint ) const;
- // returns the number of lines in the result of GetDisplayText()
- tools::Long GetLineCount() const;
- // returns the interval [start,end] of line nLine
- // returns [-1,-1] for an invalid line
- ::Pair GetLineStartEnd( tools::Long nLine ) const;
- /** ToRelativeLineIndex changes a layout data index to a count relative to its line.
-
- This is equivalent to getting the line start/end pairs with
- GetLineStartEnd until the index lies within [start,end] of a line
-
- @param nIndex
- the absolute index inside the display text to be changed to a relative index
-
- @returns
- the relative index inside the displayed line or -1 if the absolute index does
- not match any line
- */
- tools::Long ToRelativeLineIndex( tools::Long nIndex ) const;
-};
-
-} // namespace vcl
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist
index 83baec466610..c2cc51592e42 100644
--- a/solenv/clang-format/excludelist
+++ b/solenv/clang-format/excludelist
@@ -6459,7 +6459,6 @@ include/vcl/toolbox.hxx
include/vcl/toolkit/button.hxx
include/vcl/toolkit/calendar.hxx
include/vcl/toolkit/combobox.hxx
-include/vcl/toolkit/controllayout.hxx
include/vcl/toolkit/dialog.hxx
include/vcl/toolkit/edit.hxx
include/vcl/toolkit/field.hxx
diff --git a/vcl/inc/pch/precompiled_vcl.hxx b/vcl/inc/pch/precompiled_vcl.hxx
index cf78b4ff9e0e..b42d7e50c2f5 100644
--- a/vcl/inc/pch/precompiled_vcl.hxx
+++ b/vcl/inc/pch/precompiled_vcl.hxx
@@ -334,7 +334,6 @@
#include <vcl/toolbox.hxx>
#include <vcl/toolkit/button.hxx>
#include <vcl/toolkit/combobox.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/toolkit/dialog.hxx>
#include <vcl/toolkit/edit.hxx>
#include <vcl/toolkit/fixed.hxx>
diff --git a/vcl/inc/toolbox.h b/vcl/inc/toolbox.h
index e5b1fe8b647a..9b6ae789e221 100644
--- a/vcl/inc/toolbox.h
+++ b/vcl/inc/toolbox.h
@@ -21,7 +21,6 @@
#define INCLUDED_VCL_INC_TOOLBOX_H
#include <vcl/toolbox.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <optional>
#include <vector>
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index 68b368b56c0e..e8c1b9854862 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -27,7 +27,6 @@
#include <vcl/event.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/toolkit/dialog.hxx>
#include <vcl/toolkit/fixed.hxx>
#include <vcl/toolkit/button.hxx>
@@ -1340,7 +1339,7 @@ void PushButton::KeyUp( const KeyEvent& rKEvt )
void PushButton::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
const_cast<PushButton*>(this)->Invalidate();
}
@@ -2435,7 +2434,7 @@ void RadioButton::KeyUp( const KeyEvent& rKEvt )
void RadioButton::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
const_cast<RadioButton*>(this)->Invalidate();
}
@@ -3249,7 +3248,7 @@ void CheckBox::KeyUp( const KeyEvent& rKEvt )
void CheckBox::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
const_cast<CheckBox*>(this)->Invalidate();
}
diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index 85b418a14f86..5fc86dd6d4f9 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -22,7 +22,6 @@
#include <set>
#include <comphelper/string.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/toolkit/lstbox.hxx>
#include <vcl/builder.hxx>
#include <vcl/commandevent.hxx>
@@ -607,7 +606,7 @@ bool ComboBox::IsDropDownBox() const { return m_pImpl->m_pFloatWin != nullptr; }
void ComboBox::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
AppendLayoutData( *m_pImpl->m_pSubEdit );
m_pImpl->m_pSubEdit->SetLayoutDataParent( this );
ImplListBoxWindow* rMainWindow = GetMainWindow();
diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx
index 28af923cb168..cf221b2b02c7 100644
--- a/vcl/source/control/ctrl.cxx
+++ b/vcl/source/control/ctrl.cxx
@@ -23,7 +23,6 @@
#include <vcl/decoview.hxx>
#include <vcl/settings.hxx>
#include <vcl/uitest/logger.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <sal/log.hxx>
#include <textlayout.hxx>
@@ -57,7 +56,7 @@ Control::~Control()
void Control::dispose()
{
- mpLayoutData.reset();
+ mxLayoutData.reset();
mpReferenceDevice.clear();
Window::dispose();
}
@@ -83,13 +82,13 @@ void Control::FillLayoutData() const
void Control::CreateLayoutData() const
{
- SAL_WARN_IF( mpLayoutData, "vcl", "Control::CreateLayoutData: should be called with non-existent layout data only!" );
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ SAL_WARN_IF( mxLayoutData, "vcl", "Control::CreateLayoutData: should be called with non-existent layout data only!" );
+ mxLayoutData.emplace();
}
bool Control::HasLayoutData() const
{
- return mpLayoutData != nullptr;
+ return bool(mxLayoutData);
}
void Control::SetText( const OUString& rStr )
@@ -111,7 +110,7 @@ tools::Rectangle Control::GetCharacterBounds( tools::Long nIndex ) const
{
if( !HasLayoutData() )
FillLayoutData();
- return mpLayoutData ? mpLayoutData->GetCharacterBounds( nIndex ) : tools::Rectangle();
+ return mxLayoutData ? mxLayoutData->GetCharacterBounds( nIndex ) : tools::Rectangle();
}
tools::Long ControlLayoutData::GetIndexForPoint( const Point& rPoint ) const
@@ -135,7 +134,7 @@ tools::Long Control::GetIndexForPoint( const Point& rPoint ) const
{
if( ! HasLayoutData() )
FillLayoutData();
- return mpLayoutData ? mpLayoutData->GetIndexForPoint( rPoint ) : -1;
+ return mxLayoutData ? mxLayoutData->GetIndexForPoint( rPoint ) : -1;
}
tools::Long ControlLayoutData::GetLineCount() const
@@ -173,7 +172,7 @@ Pair Control::GetLineStartEnd( tools::Long nLine ) const
{
if( !HasLayoutData() )
FillLayoutData();
- return mpLayoutData ? mpLayoutData->GetLineStartEnd( nLine ) : Pair( -1, -1 );
+ return mxLayoutData ? mxLayoutData->GetLineStartEnd( nLine ) : Pair( -1, -1 );
}
tools::Long ControlLayoutData::ToRelativeLineIndex( tools::Long nIndex ) const
@@ -212,14 +211,14 @@ tools::Long Control::ToRelativeLineIndex( tools::Long nIndex ) const
{
if( !HasLayoutData() )
FillLayoutData();
- return mpLayoutData ? mpLayoutData->ToRelativeLineIndex( nIndex ) : -1;
+ return mxLayoutData ? mxLayoutData->ToRelativeLineIndex( nIndex ) : -1;
}
OUString Control::GetDisplayText() const
{
if( !HasLayoutData() )
FillLayoutData();
- return mpLayoutData ? mpLayoutData->m_aDisplayText : GetText();
+ return mxLayoutData ? mxLayoutData->m_aDisplayText : GetText();
}
bool Control::EventNotify( NotifyEvent& rNEvt )
@@ -270,23 +269,23 @@ void Control::AppendLayoutData( const Control& rSubControl ) const
{
if( !rSubControl.HasLayoutData() )
rSubControl.FillLayoutData();
- if( !rSubControl.HasLayoutData() || rSubControl.mpLayoutData->m_aDisplayText.isEmpty() )
+ if( !rSubControl.HasLayoutData() || rSubControl.mxLayoutData->m_aDisplayText.isEmpty() )
return;
- tools::Long nCurrentIndex = mpLayoutData->m_aDisplayText.getLength();
- mpLayoutData->m_aDisplayText += rSubControl.mpLayoutData->m_aDisplayText;
- int nLines = rSubControl.mpLayoutData->m_aLineIndices.size();
+ tools::Long nCurrentIndex = mxLayoutData->m_aDisplayText.getLength();
+ mxLayoutData->m_aDisplayText += rSubControl.mxLayoutData->m_aDisplayText;
+ int nLines = rSubControl.mxLayoutData->m_aLineIndices.size();
int n;
- mpLayoutData->m_aLineIndices.push_back( nCurrentIndex );
+ mxLayoutData->m_aLineIndices.push_back( nCurrentIndex );
for( n = 1; n < nLines; n++ )
- mpLayoutData->m_aLineIndices.push_back( rSubControl.mpLayoutData->m_aLineIndices[n] + nCurrentIndex );
- int nRectangles = rSubControl.mpLayoutData->m_aUnicodeBoundRects.size();
+ mxLayoutData->m_aLineIndices.push_back( rSubControl.mxLayoutData->m_aLineIndices[n] + nCurrentIndex );
+ int nRectangles = rSubControl.mxLayoutData->m_aUnicodeBoundRects.size();
tools::Rectangle aRel = rSubControl.GetWindowExtentsRelative(this);
for( n = 0; n < nRectangles; n++ )
{
- tools::Rectangle aRect = rSubControl.mpLayoutData->m_aUnicodeBoundRects[n];
+ tools::Rectangle aRect = rSubControl.mxLayoutData->m_aUnicodeBoundRects[n];
aRect.Move( aRel.Left(), aRel.Top() );
- mpLayoutData->m_aUnicodeBoundRects.push_back( aRect );
+ mxLayoutData->m_aUnicodeBoundRects.push_back( aRect );
}
}
@@ -320,12 +319,12 @@ bool Control::ImplCallEventListenersAndHandler( VclEventId nEvent, std::function
void Control::SetLayoutDataParent( const Control* pParent ) const
{
if( HasLayoutData() )
- mpLayoutData->m_pParent = pParent;
+ mxLayoutData->m_pParent = pParent;
}
void Control::ImplClearLayoutData() const
{
- mpLayoutData.reset();
+ mxLayoutData.reset();
}
void Control::ImplDrawFrame( OutputDevice* pDev, tools::Rectangle& rRect )
diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx
index 4b6adef6bce7..c2329c45dc78 100644
--- a/vcl/source/control/edit.cxx
+++ b/vcl/source/control/edit.cxx
@@ -21,7 +21,6 @@
#include <vcl/event.hxx>
#include <vcl/cursor.hxx>
#include <vcl/menu.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/toolkit/edit.hxx>
#include <vcl/weld.hxx>
#include <vcl/specialchars.hxx>
@@ -1716,7 +1715,7 @@ void Edit::KeyInput( const KeyEvent& rKEvt )
void Edit::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
const_cast<Edit*>(this)->Invalidate();
}
diff --git a/vcl/source/control/fixed.cxx b/vcl/source/control/fixed.cxx
index 467ac69d350a..b40e82048aae 100644
--- a/vcl/source/control/fixed.cxx
+++ b/vcl/source/control/fixed.cxx
@@ -19,7 +19,6 @@
#include <vcl/decoview.hxx>
#include <vcl/event.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/toolkit/fixed.hxx>
#include <vcl/settings.hxx>
@@ -153,12 +152,12 @@ void FixedText::ImplDraw(OutputDevice* pDev, DrawFlags nDrawFlags,
nTextStyle |= DrawTextFlags::Mono;
if( bFillLayout )
- mpLayoutData->m_aDisplayText.clear();
+ mxLayoutData->m_aDisplayText.clear();
const tools::Rectangle aRect(aPos, rSize);
DrawControlText(*pDev, aRect, aText, nTextStyle,
- bFillLayout ? &mpLayoutData->m_aUnicodeBoundRects : nullptr,
- bFillLayout ? &mpLayoutData->m_aDisplayText : nullptr);
+ bFillLayout ? &mxLayoutData->m_aUnicodeBoundRects : nullptr,
+ bFillLayout ? &mxLayoutData->m_aDisplayText : nullptr);
}
void FixedText::ApplySettings(vcl::RenderContext& rRenderContext)
@@ -348,7 +347,7 @@ Size FixedText::GetOptimalSize() const
void FixedText::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
ImplDraw(const_cast<FixedText*>(this)->GetOutDev(), DrawFlags::NONE, Point(), GetOutputSizePixel(), true);
//const_cast<FixedText*>(this)->Invalidate();
}
@@ -553,7 +552,7 @@ FixedLine::FixedLine( vcl::Window* pParent, WinBits nStyle ) :
void FixedLine::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
const_cast<FixedLine*>(this)->Invalidate();
}
diff --git a/vcl/source/control/imp_listbox.cxx b/vcl/source/control/imp_listbox.cxx
index f3b06bf75543..a607aa84a45f 100644
--- a/vcl/source/control/imp_listbox.cxx
+++ b/vcl/source/control/imp_listbox.cxx
@@ -23,7 +23,6 @@
#include <vcl/settings.hxx>
#include <vcl/event.hxx>
#include <vcl/scrbar.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/toolkit/lstbox.hxx>
#include <vcl/i18nhelp.hxx>
#include <vcl/naturalsort.hxx>
@@ -1746,7 +1745,7 @@ void ImplListBoxWindow::DrawEntry(vcl::RenderContext& rRenderContext, sal_Int32
void ImplListBoxWindow::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
const_cast<ImplListBoxWindow*>(this)->Invalidate(tools::Rectangle(Point(0, 0), GetOutDev()->GetOutputSize()));
}
@@ -2497,7 +2496,7 @@ void ImplWin::MouseButtonDown( const MouseEvent& )
void ImplWin::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
ImplWin* pThis = const_cast<ImplWin*>(this);
pThis->ImplDraw(*pThis->GetOutDev(), true);
}
@@ -2715,8 +2714,8 @@ void ImplWin::DrawEntry(vcl::RenderContext& rRenderContext, bool bLayout)
aTextRect.AdjustLeft(maImage.GetSizePixel().Width() + IMG_TXT_DISTANCE );
}
- std::vector< tools::Rectangle >* pVector = bLayout ? &mpLayoutData->m_aUnicodeBoundRects : nullptr;
- OUString* pDisplayText = bLayout ? &mpLayoutData->m_aDisplayText : nullptr;
+ std::vector< tools::Rectangle >* pVector = bLayout ? &mxLayoutData->m_aUnicodeBoundRects : nullptr;
+ OUString* pDisplayText = bLayout ? &mxLayoutData->m_aDisplayText : nullptr;
rRenderContext.DrawText( aTextRect, maString, nTextStyle, pVector, pDisplayText );
}
diff --git a/vcl/source/control/listbox.cxx b/vcl/source/control/listbox.cxx
index 58987498ab81..ee53bf4e9858 100644
--- a/vcl/source/control/listbox.cxx
+++ b/vcl/source/control/listbox.cxx
@@ -20,7 +20,6 @@
#include <vcl/builder.hxx>
#include <vcl/commandevent.hxx>
#include <vcl/event.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/toolkit/lstbox.hxx>
#include <vcl/settings.hxx>
#include <vcl/uitest/uiobject.hxx>
@@ -627,7 +626,7 @@ void ListBox::Resize()
void ListBox::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
const ImplListBoxWindow* rMainWin = mpImplLB->GetMainWindow();
if( mpFloatWin )
{
diff --git a/vcl/source/control/spinfld.cxx b/vcl/source/control/spinfld.cxx
index af8ecbc94edf..9cd3b545d841 100644
--- a/vcl/source/control/spinfld.cxx
+++ b/vcl/source/control/spinfld.cxx
@@ -20,7 +20,6 @@
#include <vcl/commandevent.hxx>
#include <vcl/event.hxx>
#include <vcl/decoview.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/toolkit/spinfld.hxx>
#include <vcl/settings.hxx>
#include <vcl/uitest/uiobject.hxx>
@@ -571,7 +570,7 @@ void SpinField::FillLayoutData() const
{
if (mbSpin)
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
AppendLayoutData(*GetSubEdit());
GetSubEdit()->SetLayoutDataParent(this);
}
diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx
index 09c1281d63db..2a5a46b52f70 100644
--- a/vcl/source/control/tabctrl.cxx
+++ b/vcl/source/control/tabctrl.cxx
@@ -28,7 +28,6 @@
#include <vcl/toolkit/button.hxx>
#include <vcl/tabpage.hxx>
#include <vcl/tabctrl.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/layout.hxx>
#include <vcl/toolkit/lstbox.hxx>
#include <vcl/settings.hxx>
@@ -2021,9 +2020,9 @@ tools::Rectangle TabControl::GetCharacterBounds( sal_uInt16 nPageId, tools::Long
std::unordered_map< int, int >::const_iterator it = mpTabCtrlData->maLayoutPageIdToLine.find( static_cast<int>(nPageId) );
if( it != mpTabCtrlData->maLayoutPageIdToLine.end() )
{
- Pair aPair = mpLayoutData->GetLineStartEnd( it->second );
+ Pair aPair = mxLayoutData->GetLineStartEnd( it->second );
if( (aPair.B() - aPair.A()) >= nIndex )
- aRet = mpLayoutData->GetCharacterBounds( aPair.A() + nIndex );
+ aRet = mxLayoutData->GetCharacterBounds( aPair.A() + nIndex );
}
}
@@ -2039,15 +2038,15 @@ tools::Long TabControl::GetIndexForPoint( const Point& rPoint, sal_uInt16& rPage
if( HasLayoutData() )
{
- int nIndex = mpLayoutData->GetIndexForPoint( rPoint );
+ int nIndex = mxLayoutData->GetIndexForPoint( rPoint );
if( nIndex != -1 )
{
// what line (->pageid) is this index in ?
- int nLines = mpLayoutData->GetLineCount();
+ int nLines = mxLayoutData->GetLineCount();
int nLine = -1;
while( ++nLine < nLines )
{
- Pair aPair = mpLayoutData->GetLineStartEnd( nLine );
+ Pair aPair = mxLayoutData->GetLineStartEnd( nLine );
if( aPair.A() <= nIndex && aPair.B() >= nIndex )
{
nRet = nIndex - aPair.A();
diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index ef11013a02fe..3c3f651b8cba 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -30,6 +30,7 @@
#include <sal/log.hxx>
#include <tools/lineend.hxx>
#include <tools/debug.hxx>
+#include <vcl/ctrl.hxx>
#include <vcl/gdimtf.hxx>
#include <vcl/metaact.hxx>
#include <vcl/metric.hxx>
@@ -37,7 +38,6 @@
#include <vcl/virdev.hxx>
#include <vcl/sysdata.hxx>
#include <vcl/unohelp.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <config_fuzzers.h>
#include <outdev.h>
diff --git a/vcl/source/toolkit/group.cxx b/vcl/source/toolkit/group.cxx
index eba98f708702..9b6099c3e285 100644
--- a/vcl/source/toolkit/group.cxx
+++ b/vcl/source/toolkit/group.cxx
@@ -18,7 +18,6 @@
*/
#include <vcl/event.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/toolkit/group.hxx>
#include <vcl/settings.hxx>
@@ -161,14 +160,14 @@ void GroupBox::ImplDraw( OutputDevice* pDev, DrawFlags nDrawFlags,
}
}
- std::vector< tools::Rectangle >* pVector = bLayout ? &mpLayoutData->m_aUnicodeBoundRects : nullptr;
- OUString* pDisplayText = bLayout ? &mpLayoutData->m_aDisplayText : nullptr;
+ std::vector< tools::Rectangle >* pVector = bLayout ? &mxLayoutData->m_aUnicodeBoundRects : nullptr;
+ OUString* pDisplayText = bLayout ? &mxLayoutData->m_aDisplayText : nullptr;
DrawControlText( *pDev, aRect, aText, nTextStyle, pVector, pDisplayText );
}
void GroupBox::FillLayoutData() const
{
- mpLayoutData.reset( new vcl::ControlLayoutData );
+ mxLayoutData.emplace();
const_cast<GroupBox*>(this)->ImplDraw( const_cast<GroupBox*>(this)->GetOutDev(), DrawFlags::NONE, Point(), GetOutputSizePixel(), true );
}
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 8f0b0fe23d30..5acb1c795432 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -31,7 +31,6 @@
#include <vcl/decoview.hxx>
#include <vcl/menu.hxx>
#include <vcl/taskpanelist.hxx>
-#include <vcl/toolkit/controllayout.hxx>
#include <vcl/settings.hxx>
#include <vcl/commandinfoprovider.hxx>