summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-11-25 19:18:01 -0500
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-11-25 21:14:46 -0500
commit96422e999fbfbfec22767649a973153afc4780f4 (patch)
tree94672e201d98a2d074013cd5168d4a2f206355f2 /vcl
parent5c3f47e44c2a734bddd0c3fb7f1151d5096ac494 (diff)
Remove ptr_deque.hpp header include from vcl/outdev.hxx.
This header is also a very high impact header. Change-Id: Iab63f2ec2edebc14b47820c6377a7f83131cfd06
Diffstat (limited to 'vcl')
-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
6 files changed, 74 insertions, 4 deletions
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: */