summaryrefslogtreecommitdiff
path: root/src/lib/preprocess/SvgDC.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/preprocess/SvgDC.h')
-rw-r--r--src/lib/preprocess/SvgDC.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/lib/preprocess/SvgDC.h b/src/lib/preprocess/SvgDC.h
new file mode 100644
index 0000000..a852bd8
--- /dev/null
+++ b/src/lib/preprocess/SvgDC.h
@@ -0,0 +1,32 @@
+#ifndef _SVG_DC_H_INCLUDED_
+#define _SVG_DC_H_INCLUDED_
+
+
+#include <string>
+#include <vector>
+
+
+class SvgFontC;
+
+class SvgDC
+{
+public:
+ virtual ~SvgDC() {}
+
+ virtual const SvgFontC *GetFont(
+ double heightInch, unsigned int weight, bool isItalic, const std::string &name) const = 0;
+
+ virtual double GetFontBaseLineHeightRatio(unsigned int fontId) const = 0;
+
+ virtual double GetTextPartialExtents(
+ const std::wstring &text, unsigned int fontId, double offsetInch,
+ std::vector<double> &extentsInch) const = 0;
+
+ virtual double GetTabCharExtent(unsigned int fontId, double offsetInch) const = 0;
+};
+
+
+extern SvgDC &GetSystemDC();
+
+
+#endif // _SVG_DC_H_