aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/Platform.h
diff options
context:
space:
mode:
authornyamatongwe <unknown>2011-08-10 23:56:59 +1000
committernyamatongwe <unknown>2011-08-10 23:56:59 +1000
commit8bf7c53bd47fa32dd162d9db1063545537b1bb5f (patch)
treec401b75620e16fa591de3aca73465f7c5d471653 /include/Platform.h
parent305b3107ba2abd43e3ed635916c3cad52dc605fe (diff)
downloadscintilla-mirror-8bf7c53bd47fa32dd162d9db1063545537b1bb5f.tar.gz
Implement 'technology' concept which will allow GDI and Direct2D/DirectWrite
to run at the same time for different windows and operations.
Diffstat (limited to 'include/Platform.h')
-rw-r--r--include/Platform.h38
1 files changed, 34 insertions, 4 deletions
diff --git a/include/Platform.h b/include/Platform.h
index 6ba87aa7b..499e78e5d 100644
--- a/include/Platform.h
+++ b/include/Platform.h
@@ -291,6 +291,37 @@ public:
/**
* Font management.
*/
+
+struct FontParameters {
+ const char *faceName;
+ float size;
+ int weight;
+ bool italic;
+ int extraFontFlag;
+ int technology;
+ int characterSet;
+
+ FontParameters(
+ const char *faceName_,
+ float size_=10,
+ int weight_=400,
+ bool italic_=false,
+ int extraFontFlag_=0,
+ int technology_=0,
+ int characterSet_=0) :
+
+ faceName(faceName_),
+ size(size_),
+ weight(weight_),
+ italic(italic_),
+ extraFontFlag(extraFontFlag_),
+ technology(technology_),
+ characterSet(characterSet_)
+ {
+ }
+
+};
+
class Font {
protected:
FontID fid;
@@ -304,8 +335,7 @@ public:
Font();
virtual ~Font();
- virtual void Create(const char *faceName, int characterSet, float size,
- int weight, bool italic, int extraFontFlag=0);
+ virtual void Create(const FontParameters &fp);
virtual void Release();
FontID GetID() { return fid; }
@@ -329,7 +359,7 @@ private:
public:
Surface() {}
virtual ~Surface() {}
- static Surface *Allocate();
+ static Surface *Allocate(int technology);
virtual void Init(WindowID wid)=0;
virtual void Init(SurfaceID sid, WindowID wid)=0;
@@ -443,7 +473,7 @@ public:
static ListBox *Allocate();
virtual void SetFont(Font &font)=0;
- virtual void Create(Window &parent, int ctrlID, Point location, int lineHeight_, bool unicodeMode_)=0;
+ virtual void Create(Window &parent, int ctrlID, Point location, int lineHeight_, bool unicodeMode_, int technology_)=0;
virtual void SetAverageCharWidth(int width)=0;
virtual void SetVisibleRows(int rows)=0;
virtual int GetVisibleRows() const=0;