summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/pepper_font.h
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/plugins/pepper_font.h')
-rw-r--r--webkit/glue/plugins/pepper_font.h28
1 files changed, 21 insertions, 7 deletions
diff --git a/webkit/glue/plugins/pepper_font.h b/webkit/glue/plugins/pepper_font.h
index ad1abba..34fe521 100644
--- a/webkit/glue/plugins/pepper_font.h
+++ b/webkit/glue/plugins/pepper_font.h
@@ -5,9 +5,13 @@
#ifndef WEBKIT_GLUE_PLUGINS_PEPPER_FONT_H_
#define WEBKIT_GLUE_PLUGINS_PEPPER_FONT_H_
+#include "base/scoped_ptr.h"
+#include "third_party/ppapi/c/dev/ppb_font_dev.h"
#include "webkit/glue/plugins/pepper_resource.h"
-typedef struct _ppb_Font PPB_Font;
+namespace WebKit {
+class WebFont;
+}
namespace pepper {
@@ -15,23 +19,33 @@ class PluginInstance;
class Font : public Resource {
public:
- Font(PluginModule* module, int fd);
+ Font(PluginModule* module, const PP_FontDescription_Dev& desc);
virtual ~Font();
// Returns a pointer to the interface implementing PPB_Font that is exposed to
// the plugin.
- static const PPB_Font* GetInterface();
+ static const PPB_Font_Dev* GetInterface();
// Resource overrides.
Font* AsFont() { return this; }
// PPB_Font implementation.
- bool GetFontTable(uint32_t table,
- void* output,
- uint32_t* output_length);
+ bool Describe(PP_FontDescription_Dev* description,
+ PP_FontMetrics_Dev* metrics);
+ bool DrawTextAt(PP_Resource image_data,
+ const PP_TextRun_Dev* text,
+ const PP_Point* position,
+ uint32_t color,
+ const PP_Rect* clip,
+ bool image_data_is_opaque);
+ int32_t MeasureText(const PP_TextRun_Dev* text);
+ uint32_t CharacterOffsetForPixel(const PP_TextRun_Dev* text,
+ int32_t pixel_position);
+ int32_t PixelOffsetForCharacter(const PP_TextRun_Dev* text,
+ uint32_t char_offset);
private:
- int fd_;
+ scoped_ptr<WebKit::WebFont> font_;
};
} // namespace pepper