diff options
Diffstat (limited to 'webkit/glue/plugins/pepper_font.h')
-rw-r--r-- | webkit/glue/plugins/pepper_font.h | 28 |
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 |