summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp')
-rw-r--r--WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp b/WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp
index 6870560..aa466f9 100644
--- a/WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp
+++ b/WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp
@@ -21,6 +21,11 @@
#include <cairo.h>
+#if defined(USE_FREETYPE)
+#include <cairo-ft.h>
+#include <fontconfig/fcfreetype.h>
+#endif
+
namespace WTF {
template <> cairo_t* refPlatformPtr(cairo_t* ptr)
@@ -49,4 +54,32 @@ template <> void derefPlatformPtr(cairo_surface_t* ptr)
cairo_surface_destroy(ptr);
}
+template <> cairo_scaled_font_t* refPlatformPtr(cairo_scaled_font_t* ptr)
+{
+ if (ptr)
+ cairo_scaled_font_reference(ptr);
+ return ptr;
+}
+
+template <> void derefPlatformPtr(cairo_scaled_font_t* ptr)
+{
+ if (ptr)
+ cairo_scaled_font_destroy(ptr);
+}
+
+#if defined(USE_FREETYPE)
+template <> FcPattern* refPlatformPtr(FcPattern* ptr)
+{
+ if (ptr)
+ FcPatternReference(ptr);
+ return ptr;
+}
+
+template <> void derefPlatformPtr(FcPattern* ptr)
+{
+ if (ptr)
+ FcPatternDestroy(ptr);
+}
+#endif
+
}