Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Unified Diff: ppapi/cpp/trusted/browser_font_trusted.h

Issue 9360045: Rename PPB_Font to PPB_BrowserFont_Trusted. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/c/trusted/ppb_browser_font_trusted.h ('k') | ppapi/cpp/trusted/browser_font_trusted.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/cpp/trusted/browser_font_trusted.h
diff --git a/ppapi/cpp/trusted/browser_font_trusted.h b/ppapi/cpp/trusted/browser_font_trusted.h
new file mode 100644
index 0000000000000000000000000000000000000000..fc2d801fa1483111fc7866b1a7fbe9f783a20848
--- /dev/null
+++ b/ppapi/cpp/trusted/browser_font_trusted.h
@@ -0,0 +1,147 @@
+// Copyright (c) 2011 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 PPAPI_CPP_TRUSTED_BROWSER_FONT_TRUSTED_H_
+#define PPAPI_CPP_TRUSTED_BROWSER_FONT_TRUSTED_H_
+
+#include <string>
+
+#include "ppapi/c/trusted/ppb_browser_font_trusted.h"
+#include "ppapi/cpp/resource.h"
+#include "ppapi/cpp/var.h"
+
+namespace pp {
+
+class ImageData;
+class Instance;
+class Point;
+class Rect;
+
+// BrowserFontDescription ------------------------------------------------------
+
+class BrowserFontDescription {
+ public:
+ BrowserFontDescription();
+ BrowserFontDescription(const BrowserFontDescription& other);
+ ~BrowserFontDescription();
+
+ BrowserFontDescription& operator=(const BrowserFontDescription& other);
+
+ const PP_BrowserFont_Trusted_Description& pp_font_description() const {
+ return pp_font_description_;
+ }
+
+ Var face() const { return face_; }
+ void set_face(const Var& face) {
+ face_ = face;
+ pp_font_description_.face = face_.pp_var();
+ }
+
+ PP_BrowserFont_Trusted_Family family() const {
+ return pp_font_description_.family;
+ }
+ void set_family(PP_BrowserFont_Trusted_Family f) {
+ pp_font_description_.family = f;
+ }
+
+ uint32_t size() const { return pp_font_description_.size; }
+ void set_size(uint32_t s) { pp_font_description_.size = s; }
+
+ PP_BrowserFont_Trusted_Weight weight() const {
+ return pp_font_description_.weight;
+ }
+ void set_weight(PP_BrowserFont_Trusted_Weight w) {
+ pp_font_description_.weight = w;
+ }
+
+ bool italic() const { return PP_ToBool(pp_font_description_.italic); }
+ void set_italic(bool i) { pp_font_description_.italic = PP_FromBool(i); }
+
+ bool small_caps() const {
+ return PP_ToBool(pp_font_description_.small_caps);
+ }
+ void set_small_caps(bool s) {
+ pp_font_description_.small_caps = PP_FromBool(s);
+ }
+
+ int letter_spacing() const { return pp_font_description_.letter_spacing; }
+ void set_letter_spacing(int s) { pp_font_description_.letter_spacing = s; }
+
+ int word_spacing() const { return pp_font_description_.word_spacing; }
+ void set_word_spacing(int w) { pp_font_description_.word_spacing = w; }
+
+ private:
+ friend class BrowserFont_Trusted;
+
+ Var face_; // Manages memory for pp_font_description_.face
+ PP_BrowserFont_Trusted_Description pp_font_description_;
+};
+
+// BrowserFontTextRun ----------------------------------------------------------
+
+class BrowserFontTextRun {
+ public:
+ BrowserFontTextRun();
+ BrowserFontTextRun(const std::string& text,
+ bool rtl = false,
+ bool override_direction = false);
+ BrowserFontTextRun(const BrowserFontTextRun& other);
+ ~BrowserFontTextRun();
+
+ BrowserFontTextRun& operator=(const BrowserFontTextRun& other);
+
+ const PP_BrowserFont_Trusted_TextRun& pp_text_run() const {
+ return pp_text_run_;
+ }
+
+ private:
+ Var text_; // Manages memory for the reference in pp_text_run_.
+ PP_BrowserFont_Trusted_TextRun pp_text_run_;
+};
+
+// BrowserFont_Trusted ---------------------------------------------------------
+
+// Provides access to system fonts.
+class BrowserFont_Trusted : public Resource {
+ public:
+ // Creates an is_null() Font object.
+ BrowserFont_Trusted();
+
+ explicit BrowserFont_Trusted(PP_Resource resource);
+ BrowserFont_Trusted(Instance* instance,
+ const BrowserFontDescription& description);
+ BrowserFont_Trusted(const BrowserFont_Trusted& other);
+
+ BrowserFont_Trusted& operator=(const BrowserFont_Trusted& other);
+
+ // PPB_Font methods:
+ static Var GetFontFamilies(Instance* instance);
+ bool Describe(BrowserFontDescription* description,
+ PP_BrowserFont_Trusted_Metrics* metrics) const;
+ bool DrawTextAt(ImageData* dest,
+ const BrowserFontTextRun& text,
+ const Point& position,
+ uint32_t color,
+ const Rect& clip,
+ bool image_data_is_opaque) const;
+ int32_t MeasureText(const BrowserFontTextRun& text) const;
+ uint32_t CharacterOffsetForPixel(const BrowserFontTextRun& text,
+ int32_t pixel_position) const;
+ int32_t PixelOffsetForCharacter(const BrowserFontTextRun& text,
+ uint32_t char_offset) const;
+
+ // Convenience function that assumes a left-to-right string with no clipping.
+ bool DrawSimpleText(ImageData* dest,
+ const std::string& text,
+ const Point& position,
+ uint32_t color,
+ bool image_data_is_opaque = false) const;
+
+ // Convenience function that assumes a left-to-right string.
+ int32_t MeasureSimpleText(const std::string& text) const;
+};
+
+} // namespace pp
+
+#endif // PPAPI_CPP_TRUSTED_BROWSER_FONT_TRUSTED_H_
« no previous file with comments | « ppapi/c/trusted/ppb_browser_font_trusted.h ('k') | ppapi/cpp/trusted/browser_font_trusted.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698