[fonts] Migrate topaz examples to approved fuchsia.fonts.Provider API
I18N-12 #comment
Change-Id: I9ba7f2436d30f73107544bb92492f521bfccec50
diff --git a/app/term/view_controller.cc b/app/term/view_controller.cc
index adaaef5..426e928 100644
--- a/app/term/view_controller.cc
+++ b/app/term/view_controller.cc
@@ -40,8 +40,9 @@
params_(term_params) {
SetReleaseHandler([this](zx_status_t status) { disconnect_(this); });
- fuchsia::fonts::Request font_request;
- font_request.family = "RobotoMono";
+ fuchsia::fonts::TypefaceRequest font_request{};
+ font_request.set_query(std::move(fuchsia::fonts::TypefaceQuery{}.set_family(
+ fuchsia::fonts::FamilyName{.name = "RobotoMono"})));
font_loader_.LoadFont(
std::move(font_request), [this](sk_sp<SkTypeface> typeface) {
FXL_CHECK(typeface); // TODO(jpoichet): Fail gracefully.
diff --git a/examples/ui/intl_client_demo/intl_client_demo_view.cc b/examples/ui/intl_client_demo/intl_client_demo_view.cc
index a8babdf..27ff677 100644
--- a/examples/ui/intl_client_demo/intl_client_demo_view.cc
+++ b/examples/ui/intl_client_demo/intl_client_demo_view.cc
@@ -35,9 +35,9 @@
->ConnectToEnvironmentService<
fuchsia::intl::PropertyProvider>()) {
// Asynchronously load the font we need in order to render text.
- fuchsia::fonts::Request font_request{
- .family = "Roboto",
- };
+ fuchsia::fonts::TypefaceRequest font_request{};
+ font_request.set_query(std::move(fuchsia::fonts::TypefaceQuery{}.set_family(
+ fuchsia::fonts::FamilyName{.name = "Roboto"})));
font_loader_.LoadFont(std::move(font_request),
[this](sk_sp<SkTypeface> typeface) {
if (!typeface) {
diff --git a/examples/ui/lib/skia_font_loader.cc b/examples/ui/lib/skia_font_loader.cc
index 58d10c8..7e3cebf 100644
--- a/examples/ui/lib/skia_font_loader.cc
+++ b/examples/ui/lib/skia_font_loader.cc
@@ -16,16 +16,17 @@
SkiaFontLoader::~SkiaFontLoader() {}
-void SkiaFontLoader::LoadFont(fuchsia::fonts::Request request,
+void SkiaFontLoader::LoadFont(fuchsia::fonts::TypefaceRequest request,
FontCallback callback) {
// TODO(jeffbrown): Handle errors in case the font provider itself dies.
- font_provider_->GetFont(
+ font_provider_->GetTypeface(
std::move(request), [callback = std::move(callback)](
- fuchsia::fonts::ResponsePtr response) {
- if (response) {
+ fuchsia::fonts::TypefaceResponse response) {
+ if (!response.IsEmpty()) {
+ fuchsia::mem::Buffer buffer{};
+ response.buffer().Clone(&buffer);
fsl::SizedVmo vmo;
- if (!fsl::SizedVmo::FromTransport(std::move(response->buffer),
- &vmo)) {
+ if (!fsl::SizedVmo::FromTransport(std::move(buffer), &vmo)) {
callback(nullptr);
return;
}
@@ -41,8 +42,9 @@
}
void SkiaFontLoader::LoadDefaultFont(FontCallback callback) {
- fuchsia::fonts::Request request;
- request.family = "Roboto";
+ fuchsia::fonts::TypefaceRequest request{};
+ request.set_query(std::move(fuchsia::fonts::TypefaceQuery{}.set_family(
+ fuchsia::fonts::FamilyName{.name = "Roboto"})));
LoadFont(std::move(request), std::move(callback));
}
diff --git a/examples/ui/lib/skia_font_loader.h b/examples/ui/lib/skia_font_loader.h
index c540397..4f93882 100644
--- a/examples/ui/lib/skia_font_loader.h
+++ b/examples/ui/lib/skia_font_loader.h
@@ -25,7 +25,7 @@
// Loads the requested font and invokes the callback when done.
// If the request fails, the callback will receive a null typeface.
- void LoadFont(fuchsia::fonts::Request request, FontCallback callback);
+ void LoadFont(fuchsia::fonts::TypefaceRequest request, FontCallback callback);
// Loads the default font and invokes the callback when done.
// If the request fails, the callback will receive a null typeface.