summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchart2/source/view/main/GL3DRenderer.cxx1
-rw-r--r--include/svtools/brwbox.hxx1
-rw-r--r--include/vcl/outdev.hxx5
-rw-r--r--include/vcl/outdevstate.hxx3
-rw-r--r--starmath/source/mathmlexport.cxx1
-rw-r--r--vcl/Library_vcl.mk1
-rw-r--r--vcl/inc/outdevstatestack.hxx31
-rw-r--r--vcl/source/gdi/sallayout.cxx1
-rw-r--r--vcl/source/outdev/outdev.cxx3
-rw-r--r--vcl/source/outdev/outdevstate.cxx5
-rw-r--r--vcl/source/outdev/outdevstatestack.cxx37
11 files changed, 80 insertions, 9 deletions
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 <StaticGeometry.h>
#include "glm/gtc/matrix_inverse.hpp"
#include <boost/checked_delete.hpp>
+#include <boost/scoped_array.hpp>
#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 <svtools/AccessibleBrowseBoxObjType.hxx>
#include <svtools/accessibletableprovider.hxx>
#include <vector>
+#include <stack>
#include <limits.h>
#include <memory>
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 <boost/ptr_container/ptr_deque.hpp>
#include <boost/intrusive_ptr.hpp>
#include <com/sun/star/drawing/LineCap.hpp>
#include <com/sun/star/uno/Reference.h>
#include <vector>
-#include <stack>
#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<OutDevState>* 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 <sal/types.h>
-
#include <vcl/mapmod.hxx>
#include <vcl/region.hxx>
#include <vcl/font.hxx>
#include <vcl/vclenum.hxx>
+#include <tools/solar.h>
#include <tools/gen.hxx>
#include <tools/color.hxx>
#include <tools/fontenum.hxx>
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 <comphelper/servicehelper.hxx>
#include <memory>
+#include <stack>
#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 <vcl/outdevstate.hxx>
+
+#include <boost/ptr_container/ptr_deque.hpp>
+
+class OutDevStateStack
+{
+ typedef boost::ptr_deque<OutDevState> 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 <algorithm>
+#include <boost/scoped_array.hpp>
#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 <window.h>
#include <outdev.h>
#include <outdata.hxx>
+#include <outdevstatestack.hxx>
#include "PhysicalFontCollection.hxx"
@@ -95,7 +96,7 @@ OutputDevice::OutputDevice() :
mpFontCollection = NULL;
mpGetDevFontList = NULL;
mpGetDevSizeList = NULL;
- mpOutDevStateStack = new boost::ptr_deque<OutDevState>();
+ 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 <sal/types.h>
+#include <vcl/outdevstate.hxx>
#include <vcl/outdev.hxx>
#include <vcl/virdev.hxx>
@@ -33,10 +33,9 @@
#include <tools/color.hxx>
#include <tools/fontenum.hxx>
-#include <vcl/outdevstate.hxx>
-
#include "outdev.h"
#include "outdata.hxx"
+#include <outdevstatestack.hxx>
#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 <outdevstatestack.hxx>
+
+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: */