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

Unified Diff: ppapi/examples/font/simple_font.cc

Issue 7053022: Use the WebKit default fonts when specifying generic font families. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 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/dev/ppb_font_dev.h ('k') | ppapi/ppapi_shared.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/examples/font/simple_font.cc
===================================================================
--- ppapi/examples/font/simple_font.cc (revision 86722)
+++ ppapi/examples/font/simple_font.cc (working copy)
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <stdio.h>
+
#include "ppapi/cpp/completion_callback.h"
#include "ppapi/cpp/dev/font_dev.h"
#include "ppapi/cpp/graphics_2d.h"
@@ -31,22 +33,71 @@
pp::FontDescription_Dev desc;
desc.set_family(PP_FONTFAMILY_SANSSERIF);
- desc.set_size(30);
+ desc.set_size(100);
pp::Font_Dev font(this, desc);
+ // Draw some large, alpha blended text, including Arabic shaping.
pp::Rect text_clip(position.size()); // Use entire bounds for clip.
font.DrawTextAt(&image,
pp::TextRun_Dev("\xD9\x85\xD8\xB1\xD8\xAD\xD8\xA8\xD8\xA7\xE2\x80\x8E",
true, true),
- pp::Point(10, 40), 0xFF008000, clip, false);
- font.DrawTextAt(&image, pp::TextRun_Dev("Hello"),
- pp::Point(10, 80), 0xFF000080, text_clip, false);
+ pp::Point(20, 100), 0x80008000, clip, false);
+ // Draw the default font names and sizes.
+ int y = 160;
+ {
+ pp::FontDescription_Dev desc;
+ pp::Font_Dev default_font(this, desc);
+ default_font.DrawSimpleText(
+ &image, DescribeFont(default_font, "Default font"),
+ pp::Point(10, y), 0xFF000000);
+ y += 20;
+ }
+ {
+ pp::FontDescription_Dev desc;
+ desc.set_family(PP_FONTFAMILY_SERIF);
+ pp::Font_Dev serif_font(this, desc);
+ serif_font.DrawSimpleText(
+ &image, DescribeFont(serif_font, "Serif font"),
+ pp::Point(10, y), 0xFF000000);
+ y += 20;
+ }
+ {
+ pp::FontDescription_Dev desc;
+ desc.set_family(PP_FONTFAMILY_SANSSERIF);
+ pp::Font_Dev sans_serif_font(this, desc);
+ sans_serif_font.DrawSimpleText(
+ &image, DescribeFont(sans_serif_font, "Sans serif font"),
+ pp::Point(10, y), 0xFF000000);
+ y += 20;
+ }
+ {
+ pp::FontDescription_Dev desc;
+ desc.set_family(PP_FONTFAMILY_MONOSPACE);
+ pp::Font_Dev monospace_font(this, desc);
+ monospace_font.DrawSimpleText(
+ &image, DescribeFont(monospace_font, "Monospace font"),
+ pp::Point(10, y), 0xFF000000);
+ y += 20;
+ }
+
device.PaintImageData(image, pp::Point(0, 0));
device.Flush(pp::CompletionCallback(&DummyCompletionCallback, NULL));
}
private:
+ // Returns a string describing the given font, using the given title.
+ std::string DescribeFont(const pp::Font_Dev& font, const char* title) {
+ pp::FontDescription_Dev desc;
+ PP_FontMetrics_Dev metrics;
+ font.Describe(&desc, &metrics);
+
+ char buf[256];
+ sprintf(buf, "%s = %s %dpt",
+ title, desc.face().AsString().c_str(), desc.size());
+ return std::string(buf);
+ }
+
pp::Size last_size_;
};
« no previous file with comments | « ppapi/c/dev/ppb_font_dev.h ('k') | ppapi/ppapi_shared.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698