summaryrefslogtreecommitdiff
path: root/include/vcl/mapmod.hxx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-11-13 21:47:20 +0100
committerMichael Stahl <mstahl@redhat.com>2014-11-14 01:08:47 +0100
commite8159871046448df4fba45d03e4b0efddf50859e (patch)
treee83b322128e567a236ce5c232f5bc5d9eae6a81c /include/vcl/mapmod.hxx
parenta2bba429fa4328d17818cbafe5229655b11e5c33 (diff)
vcl: move the Impl class of MapMode ...uhm... out of the public header?
And remove the tools/fract.hxx include. grep -l -r fract.hxx workdir/Dep/*Object* |wc -l before: 4569 after: 1851 Shrinks some libraries, example from --enable-dbgutil Fedora gcc 4.8.3: libvcllo.so by 473k (0.35%) libswlo.so by ~1Mb (sadly that is just 0.2%) Change-Id: I09bd025d551a5d2c5528b938a68c6aa5f8f114a0
Diffstat (limited to 'include/vcl/mapmod.hxx')
-rw-r--r--include/vcl/mapmod.hxx50
1 files changed, 11 insertions, 39 deletions
diff --git a/include/vcl/mapmod.hxx b/include/vcl/mapmod.hxx
index 10e06d2e9ca3..7ec4ca50239b 100644
--- a/include/vcl/mapmod.hxx
+++ b/include/vcl/mapmod.hxx
@@ -21,41 +21,14 @@
#define INCLUDED_VCL_MAPMOD_HXX
#include <tools/gen.hxx>
-#include <tools/fract.hxx>
#include <tools/solar.h>
#include <vcl/dllapi.h>
#include <tools/resid.hxx>
#include <tools/mapunit.hxx>
+class Fraction;
class SvStream;
-
-
-// - ImplMapMode -
-
-
-class OutputDevice;
-
-class ImplMapMode
-{
- friend class MapMode;
- friend class OutputDevice;
-
-private:
- sal_uLong mnRefCount;
- MapUnit meUnit;
- Point maOrigin;
- Fraction maScaleX;
- Fraction maScaleY;
- bool mbSimple;
-
- friend SvStream& ReadImplMapMode( SvStream& rIStm, ImplMapMode& rMapMode );
- friend SvStream& WriteImplMapMode( SvStream& rOStm, const ImplMapMode& rMapMode );
-
- static ImplMapMode* ImplGetStaticMapMode( MapUnit eUnit );
-public:
- ImplMapMode();
- ImplMapMode( const ImplMapMode& rImpMapMode );
-};
+class OutputDevice;
// - MapMode -
@@ -65,10 +38,14 @@ class VCL_DLLPUBLIC MapMode
{
friend class OutputDevice;
+public:
+ struct ImplMapMode;
+
private:
ImplMapMode* mpImplMapMode;
SAL_DLLPRIVATE void ImplMakeUnique();
+ SAL_DLLPRIVATE bool IsSimple() const;
public:
MapMode();
@@ -79,27 +56,22 @@ public:
~MapMode();
void SetMapUnit( MapUnit eUnit );
- MapUnit GetMapUnit() const
- { return mpImplMapMode->meUnit; }
+ MapUnit GetMapUnit() const;
void SetOrigin( const Point& rOrigin );
- const Point& GetOrigin() const
- { return mpImplMapMode->maOrigin; }
+ const Point& GetOrigin() const;
void SetScaleX( const Fraction& rScaleX );
- const Fraction& GetScaleX() const
- { return mpImplMapMode->maScaleX; }
+ const Fraction& GetScaleX() const;
void SetScaleY( const Fraction& rScaleY );
- const Fraction& GetScaleY() const
- { return mpImplMapMode->maScaleY; }
+ const Fraction& GetScaleY() const;
MapMode& operator=( const MapMode& rMapMode );
bool operator==( const MapMode& rMapMode ) const;
bool operator!=( const MapMode& rMapMode ) const
{ return !(MapMode::operator==( rMapMode )); }
bool IsDefault() const;
- bool IsSameInstance( const MapMode& rMapMode ) const
- { return (mpImplMapMode == rMapMode.mpImplMapMode); }
+ bool IsSameInstance( const MapMode& rMapMode ) const;
friend VCL_DLLPUBLIC SvStream& ReadMapMode( SvStream& rIStm, MapMode& rMapMode );
friend VCL_DLLPUBLIC SvStream& WriteMapMode( SvStream& rOStm, const MapMode& rMapMode );