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, 22 insertions, 6 deletions
diff --git a/webkit/glue/plugins/pepper_font.h b/webkit/glue/plugins/pepper_font.h
index ad1abba..347800d 100644
--- a/webkit/glue/plugins/pepper_font.h
+++ b/webkit/glue/plugins/pepper_font.h
@@ -5,9 +5,15 @@
#ifndef WEBKIT_GLUE_PLUGINS_PEPPER_FONT_H_
#define WEBKIT_GLUE_PLUGINS_PEPPER_FONT_H_
+#include <string>
+
+#include "base/scoped_ptr.h"
+#include "third_party/ppapi/c/ppb_font.h"
#include "webkit/glue/plugins/pepper_resource.h"
-typedef struct _ppb_Font PPB_Font;
+namespace WebKit {
+class WebFont;
+}
namespace pepper {
@@ -15,7 +21,7 @@ class PluginInstance;
class Font : public Resource {
public:
- Font(PluginModule* module, int fd);
+ Font(PluginModule* module, const PP_FontDescription& desc);
virtual ~Font();
// Returns a pointer to the interface implementing PPB_Font that is exposed to
@@ -26,12 +32,22 @@ class Font : public Resource {
Font* AsFont() { return this; }
// PPB_Font implementation.
- bool GetFontTable(uint32_t table,
- void* output,
- uint32_t* output_length);
+ bool Describe(PP_FontDescription* description,
+ PP_FontMetrics* metrics);
+ bool DrawTextAt(PP_Resource image_data,
+ const PP_TextRun* text,
+ const PP_Point* position,
+ uint32_t color,
+ const PP_Rect* clip,
+ bool image_data_is_opaque);
+ int32_t MeasureText(const PP_TextRun* text);
+ uint32_t CharacterOffsetForPixel(const PP_TextRun* text,
+ int32_t pixel_position);
+ int32_t PixelOffsetForCharacter(const PP_TextRun* text,
+ uint32_t char_offset);
private:
- int fd_;
+ scoped_ptr<WebKit::WebFont> font_;
};
} // namespace pepper