From 96422e999fbfbfec22767649a973153afc4780f4 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 25 Nov 2014 19:18:01 -0500 Subject: Remove ptr_deque.hpp header include from vcl/outdev.hxx. This header is also a very high impact header. Change-Id: Iab63f2ec2edebc14b47820c6377a7f83131cfd06 --- chart2/source/view/main/GL3DRenderer.cxx | 1 + include/svtools/brwbox.hxx | 1 + include/vcl/outdev.hxx | 5 ++--- include/vcl/outdevstate.hxx | 3 +-- starmath/source/mathmlexport.cxx | 1 + vcl/Library_vcl.mk | 1 + vcl/inc/outdevstatestack.hxx | 31 ++++++++++++++++++++++++++ vcl/source/gdi/sallayout.cxx | 1 + vcl/source/outdev/outdev.cxx | 3 ++- vcl/source/outdev/outdevstate.cxx | 5 ++--- vcl/source/outdev/outdevstatestack.cxx | 37 ++++++++++++++++++++++++++++++++ 11 files changed, 80 insertions(+), 9 deletions(-) create mode 100644 vcl/inc/outdevstatestack.hxx create mode 100644 vcl/source/outdev/outdevstatestack.cxx diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index 092810a0557b..7fe634b116a0 100755 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -20,6 +20,7 @@ #include #include "glm/gtc/matrix_inverse.hpp" #include +#include #define DEBUG_FBO 0 diff --git a/include/svtools/brwbox.hxx b/include/svtools/brwbox.hxx index f0e47cad5c89..1384ff7fc23e 100644 --- a/include/svtools/brwbox.hxx +++ b/include/svtools/brwbox.hxx @@ -28,6 +28,7 @@ #include #include #include +#include #include #include diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx index a5b575132146..23abb00c7023 100644 --- a/include/vcl/outdev.hxx +++ b/include/vcl/outdev.hxx @@ -49,14 +49,12 @@ # //some problem with MacOSX and a check define # undef check #endif -#include #include #include #include #include -#include #if defined UNX #define GLYPH_FONT_HEIGHT 128 @@ -235,6 +233,7 @@ class Printer; class FontSelectPattern; class ImplFontMetricData; class VCLXGraphics; +class OutDevStateStack; typedef boost::intrusive_ptr< FontCharMap > FontCharMapPtr; @@ -270,7 +269,7 @@ private: mutable PhysicalFontCollection* mpFontCollection; mutable ImplGetDevFontList* mpGetDevFontList; mutable ImplGetDevSizeList* mpGetDevSizeList; - boost::ptr_deque* mpOutDevStateStack; + OutDevStateStack* mpOutDevStateStack; ImplOutDevData* mpOutDevData; std::vector< VCLXGraphics* >* mpUnoGraphicsList; vcl::PDFWriterImpl* mpPDFWriter; diff --git a/include/vcl/outdevstate.hxx b/include/vcl/outdevstate.hxx index 47f3c09dad59..d7818aba5ee6 100644 --- a/include/vcl/outdevstate.hxx +++ b/include/vcl/outdevstate.hxx @@ -20,13 +20,12 @@ #ifndef INCLUDED_VCL_OUTDEVSTATE_HXX #define INCLUDED_VCL_OUTDEVSTATE_HXX -#include - #include #include #include #include +#include #include #include #include diff --git a/starmath/source/mathmlexport.cxx b/starmath/source/mathmlexport.cxx index fa4258ac19c1..ff48dc3b117c 100644 --- a/starmath/source/mathmlexport.cxx +++ b/starmath/source/mathmlexport.cxx @@ -63,6 +63,7 @@ #include #include +#include #include "mathmlexport.hxx" #include "register.hxx" diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index 932ca4cd5026..5d900e2bf771 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -224,6 +224,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/edit/xtextedt \ vcl/source/outdev/outdev \ vcl/source/outdev/outdevstate \ + vcl/source/outdev/outdevstatestack \ vcl/source/outdev/clipping \ vcl/source/outdev/polygon \ vcl/source/outdev/transparent \ diff --git a/vcl/inc/outdevstatestack.hxx b/vcl/inc/outdevstatestack.hxx new file mode 100644 index 000000000000..406d62b469e3 --- /dev/null +++ b/vcl/inc/outdevstatestack.hxx @@ -0,0 +1,31 @@ +/* -*- 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/. + */ + +#ifndef INCLUDED_VCL_OUTDEVSTATESTACK_HXX +#define INCLUDED_VCL_OUTDEVSTATESTACK_HXX + +#include + +#include + +class OutDevStateStack +{ + typedef boost::ptr_deque DataType; + DataType maData; +public: + bool empty() const; + size_t size() const; + void push_back( OutDevState* p ); + void pop_back(); + OutDevState& back(); +}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx index c30a99af01fb..1a5938bdebab 100644 --- a/vcl/source/gdi/sallayout.cxx +++ b/vcl/source/gdi/sallayout.cxx @@ -50,6 +50,7 @@ #endif #include +#include #ifdef DEBUG //#define MULTI_SL_DEBUG diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx index 5f75f419e5e6..82b80c3c62db 100644 --- a/vcl/source/outdev/outdev.cxx +++ b/vcl/source/outdev/outdev.cxx @@ -44,6 +44,7 @@ #include #include #include +#include #include "PhysicalFontCollection.hxx" @@ -95,7 +96,7 @@ OutputDevice::OutputDevice() : mpFontCollection = NULL; mpGetDevFontList = NULL; mpGetDevSizeList = NULL; - mpOutDevStateStack = new boost::ptr_deque(); + mpOutDevStateStack = new OutDevStateStack; mpPDFWriter = NULL; mpAlphaVDev = NULL; mpExtOutDevData = NULL; diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx index 738a5e510de0..a71c7d66cb92 100644 --- a/vcl/source/outdev/outdevstate.cxx +++ b/vcl/source/outdev/outdevstate.cxx @@ -17,7 +17,7 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include +#include #include #include @@ -33,10 +33,9 @@ #include #include -#include - #include "outdev.h" #include "outdata.hxx" +#include #include "salgdi.hxx" #include "sallayout.hxx" diff --git a/vcl/source/outdev/outdevstatestack.cxx b/vcl/source/outdev/outdevstatestack.cxx new file mode 100644 index 000000000000..0fcdcd52b74b --- /dev/null +++ b/vcl/source/outdev/outdevstatestack.cxx @@ -0,0 +1,37 @@ +/* -*- 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/. + */ + +#include + +bool OutDevStateStack::empty() const +{ + return maData.empty(); +} + +size_t OutDevStateStack::size() const +{ + return maData.size(); +} + +void OutDevStateStack::push_back( OutDevState* p ) +{ + maData.push_back(p); +} + +void OutDevStateStack::pop_back() +{ + maData.pop_back(); +} + +OutDevState& OutDevStateStack::back() +{ + return maData.back(); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit