diff options
Diffstat (limited to 'WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp')
-rw-r--r-- | WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp | 33 |
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 + } |