summaryrefslogtreecommitdiffstats
path: root/scintilla/src/ViewStyle.h
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@users.sourceforge.net>2013-05-08 13:48:02 +0300
committerXhmikosR <xhmikosr@users.sourceforge.net>2013-05-15 13:40:36 +0300
commit5a3e2bf9cbbcf6f4c33c0317a054ffffb3699b63 (patch)
tree244122d6c214d4f42e83000cb6b553b93634768c /scintilla/src/ViewStyle.h
parent4ec8a84b0b81489c687079215ffdedfc67ad1928 (diff)
downloadnotepad2-mod-5a3e2bf9cbbcf6f4c33c0317a054ffffb3699b63.zip
notepad2-mod-5a3e2bf9cbbcf6f4c33c0317a054ffffb3699b63.tar.gz
notepad2-mod-5a3e2bf9cbbcf6f4c33c0317a054ffffb3699b63.tar.bz2
Update Scintilla to 1d988d
Diffstat (limited to 'scintilla/src/ViewStyle.h')
-rw-r--r--scintilla/src/ViewStyle.h31
1 files changed, 16 insertions, 15 deletions
diff --git a/scintilla/src/ViewStyle.h b/scintilla/src/ViewStyle.h
index 1830ae8..2288a64 100644
--- a/scintilla/src/ViewStyle.h
+++ b/scintilla/src/ViewStyle.h
@@ -28,9 +28,7 @@ public:
*/
class FontNames {
private:
- char **names;
- int size;
- int max;
+ std::vector<char *> 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<FontSpecification, FontRealised *> FontMap;
+
/**
*/
class ViewStyle {
-public:
FontNames fontNames;
- FontRealised *frFirst;
- size_t stylesSize;
- Style *styles;
+ FontMap fonts;
+public:
+ std::vector<Style> styles;
size_t nextExtendedStyle;
LineMarker markers[MARKER_MAX + 1];
int largestMarkerHeight;
@@ -143,9 +139,7 @@ public:
ViewStyle(const ViewStyle &source);
~ViewStyle();
void Init(size_t stylesSize_=64);
- void CreateFont(const FontSpecification &fs);
void Refresh(Surface &surface);
- void AllocStyles(size_t sizeNew);
void ReleaseAllExtendedStyles();
int AllocateExtendedStyles(int numberStyles);
void EnsureStyle(size_t index);
@@ -155,6 +149,13 @@ public:
bool ProtectionActive() const;
bool ValidStyle(size_t styleIndex) const;
void CalcLargestMarkerHeight();
+private:
+ void AllocStyles(size_t sizeNew);
+ void CreateFont(const FontSpecification &fs);
+ FontRealised *Find(const FontSpecification &fs);
+ void FindMaxAscentDescent(unsigned int &maxAscent, unsigned int &maxDescent);
+ // Private so can only be copied through copy constructor which ensures font names initialised correctly
+ ViewStyle &operator=(const ViewStyle &);
};
#ifdef SCI_NAMESPACE