From 23e42e320f2957a97d1a23c88e60c7cddb79fa01 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Thu, 2 May 2013 14:51:06 +1000 Subject: Replacing raw pointers and allocations with std::vector and std::map. --- src/ViewStyle.h | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'src/ViewStyle.h') diff --git a/src/ViewStyle.h b/src/ViewStyle.h index bd26613cb..5593c0b47 100644 --- a/src/ViewStyle.h +++ b/src/ViewStyle.h @@ -28,9 +28,7 @@ public: */ class FontNames { private: - char **names; - int size; - int max; + std::vector names; // Private so FontNames objects can not be copied FontNames(const FontNames &); @@ -41,32 +39,30 @@ public: const char *Save(const char *name); }; -class FontRealised : public FontSpecification, public FontMeasurements { +class FontRealised : public FontMeasurements { // Private so FontRealised objects can not be copied FontRealised(const FontRealised &); FontRealised &operator=(const FontRealised &); public: Font font; - FontRealised *frNext; - FontRealised(const FontSpecification &fs); + FontRealised(); virtual ~FontRealised(); - void Realise(Surface &surface, int zoomLevel, int technology); - FontRealised *Find(const FontSpecification &fs); - void FindMaxAscentDescent(unsigned int &maxAscent, unsigned int &maxDescent); + void Realise(Surface &surface, int zoomLevel, int technology, const FontSpecification &fs); }; enum IndentView {ivNone, ivReal, ivLookForward, ivLookBoth}; enum WhiteSpaceVisibility {wsInvisible=0, wsVisibleAlways=1, wsVisibleAfterIndent=2}; +typedef std::map FontMap; + /** */ class ViewStyle { -public: FontNames fontNames; - FontRealised *frFirst; - size_t stylesSize; - Style *styles; + FontMap fonts; +public: + std::vector