aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/font/skinfont.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/api/font/skinfont.cpp')
-rw-r--r--Src/Wasabi/api/font/skinfont.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/Src/Wasabi/api/font/skinfont.cpp b/Src/Wasabi/api/font/skinfont.cpp
new file mode 100644
index 00000000..d1987dfa
--- /dev/null
+++ b/Src/Wasabi/api/font/skinfont.cpp
@@ -0,0 +1,43 @@
+#include "precomp.h"
+#include "skinfont.h"
+#include "api.h"
+#include "../bfc/std.h"
+
+SkinFont::SkinFont() {
+}
+
+SkinFont::~SkinFont() {
+ if (!tempFn.isempty()) {
+#ifdef WIN32
+ RemoveFontResource(tempFn);
+#else
+ DebugString( "portme -- SkinFont::~SkinFont\n" );
+#endif
+ UNLINK(tempFn);
+ }
+}
+
+int SkinFont::setXmlOption(const char *paramname, const char *strvalue) {
+ return 0;
+}
+
+void SkinFont::installFont(OSFNSTR filename, OSFNSTR path) {
+ FILE *in,*out;
+ StringPrintf temp("%s%s", path, filename);
+ in = WFOPEN(temp, L"rb");
+ if (!in) return;
+ int len = FGETSIZE(in);
+ MemBlock<char> m(len);
+ FREAD(m.getMemory(), len, 1, in);
+ tempFn = TMPNAM(NULL);
+ out = FOPEN(tempFn, "wb");
+ ASSERT(out);
+ FWRITE(m.getMemory(), len, 1, out);
+ FCLOSE(out);
+ FCLOSE(in);
+#ifdef WIN32
+ AddFontResource(tempFn);
+#else
+ DebugString( "portme -- SkinFont::installFont\n" );
+#endif
+}