summaryrefslogtreecommitdiffstats
path: root/webkit/plugins/ppapi/ppb_font_impl.h
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-16 18:15:52 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-16 18:15:52 +0000
commit0bd753681a82634f322d4867b19148474c25566b (patch)
tree2f96cb4494c075ddee5a3e42e6b41c096a5357a9 /webkit/plugins/ppapi/ppb_font_impl.h
parentd1d0afe664ff43825a4585f88ee8ce412eab0194 (diff)
downloadchromium_src-0bd753681a82634f322d4867b19148474c25566b.zip
chromium_src-0bd753681a82634f322d4867b19148474c25566b.tar.gz
chromium_src-0bd753681a82634f322d4867b19148474c25566b.tar.bz2
Move the Pepper implementation from webkit/glue/plugins/pepper_* to
webkit/plugins/ppapi/*. This renamed the files and interface implementation classes from foo.cc/Foo to ppb_foo_impl/PPB_Foo_Impl to match the proxy ppb_foo_proxy/PPB_Foo_Proxy. This moves plugin_switches.* from webkit/glue/plugins to webkit/plugins. Review URL: http://codereview.chromium.org/5828003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69424 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins/ppapi/ppb_font_impl.h')
-rw-r--r--webkit/plugins/ppapi/ppb_font_impl.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/webkit/plugins/ppapi/ppb_font_impl.h b/webkit/plugins/ppapi/ppb_font_impl.h
new file mode 100644
index 0000000..ff70330
--- /dev/null
+++ b/webkit/plugins/ppapi/ppb_font_impl.h
@@ -0,0 +1,58 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef WEBKIT_PLUGINS_PPAPI_PPB_FONT_IMPL_H_
+#define WEBKIT_PLUGINS_PPAPI_PPB_FONT_IMPL_H_
+
+#include "base/basictypes.h"
+#include "base/scoped_ptr.h"
+#include "ppapi/c/dev/ppb_font_dev.h"
+#include "webkit/plugins/ppapi/resource.h"
+
+namespace WebKit {
+class WebFont;
+}
+
+namespace webkit {
+namespace ppapi {
+
+class PluginInstance;
+
+class PPB_Font_Impl : public Resource {
+ public:
+ PPB_Font_Impl(PluginModule* module, const PP_FontDescription_Dev& desc);
+ virtual ~PPB_Font_Impl();
+
+ // Returns a pointer to the interface implementing PPB_Font that is exposed to
+ // the plugin.
+ static const PPB_Font_Dev* GetInterface();
+
+ // Resource overrides.
+ virtual PPB_Font_Impl* AsPPB_Font_Impl();
+
+ // PPB_Font implementation.
+ 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:
+ scoped_ptr<WebKit::WebFont> font_;
+
+ DISALLOW_COPY_AND_ASSIGN(PPB_Font_Impl);
+};
+
+} // namespace ppapi
+} // namespace webkit
+
+#endif // WEBKIT_PLUGINS_PPAPI_PPB_FONT_IMPL_H_