diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-16 18:15:52 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-16 18:15:52 +0000 |
commit | 0bd753681a82634f322d4867b19148474c25566b (patch) | |
tree | 2f96cb4494c075ddee5a3e42e6b41c096a5357a9 /webkit/plugins/ppapi/ppb_font_impl.h | |
parent | d1d0afe664ff43825a4585f88ee8ce412eab0194 (diff) | |
download | chromium_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.h | 58 |
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_ |