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

Side by Side Diff: chrome/browser/ui/libgtk2ui/gtk2_ui.cc

Issue 1819753003: Allow various font weights in gfx. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add a lost comment and modify a render text unittest to not test black because of test env font con… Created 4 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/libgtk2ui/gtk2_ui.h" 5 #include "chrome/browser/ui/libgtk2ui/gtk2_ui.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <pango/pango.h> 8 #include <pango/pango.h>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 default: 466 default:
467 return views::LinuxUI::MIDDLE_CLICK_ACTION_LOWER; 467 return views::LinuxUI::MIDDLE_CLICK_ACTION_LOWER;
468 } 468 }
469 } 469 }
470 470
471 } // namespace 471 } // namespace
472 472
473 Gtk2UI::Gtk2UI() 473 Gtk2UI::Gtk2UI()
474 : default_font_size_pixels_(0), 474 : default_font_size_pixels_(0),
475 default_font_style_(gfx::Font::NORMAL), 475 default_font_style_(gfx::Font::NORMAL),
476 default_font_weight_(gfx::Font::Weight::NORMAL),
476 middle_click_action_(GetDefaultMiddleClickAction()), 477 middle_click_action_(GetDefaultMiddleClickAction()),
477 device_scale_factor_(1.0) { 478 device_scale_factor_(1.0) {
478 GtkInitFromCommandLine(*base::CommandLine::ForCurrentProcess()); 479 GtkInitFromCommandLine(*base::CommandLine::ForCurrentProcess());
479 } 480 }
480 481
481 482
482 483
483 void OnThemeChanged(GObject* obj, GParamSpec* param, Gtk2UI* gtkui) { 484 void OnThemeChanged(GObject* obj, GParamSpec* param, Gtk2UI* gtkui) {
484 gtkui->ResetStyle(); 485 gtkui->ResetStyle();
485 } 486 }
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
816 } 817 }
817 818
818 gfx::FontRenderParams Gtk2UI::GetDefaultFontRenderParams() const { 819 gfx::FontRenderParams Gtk2UI::GetDefaultFontRenderParams() const {
819 static gfx::FontRenderParams params = GetGtkFontRenderParams(); 820 static gfx::FontRenderParams params = GetGtkFontRenderParams();
820 return params; 821 return params;
821 } 822 }
822 823
823 void Gtk2UI::GetDefaultFontDescription( 824 void Gtk2UI::GetDefaultFontDescription(
824 std::string* family_out, 825 std::string* family_out,
825 int* size_pixels_out, 826 int* size_pixels_out,
826 int* style_out, 827 bool* italic_out,
828 gfx::Font::Weight* weight_out,
827 gfx::FontRenderParams* params_out) const { 829 gfx::FontRenderParams* params_out) const {
828 *family_out = default_font_family_; 830 *family_out = default_font_family_;
829 *size_pixels_out = default_font_size_pixels_; 831 *size_pixels_out = default_font_size_pixels_;
830 *style_out = default_font_style_; 832 *italic_out = (default_font_style_ & gfx::Font::ITALIC) != 0;
833 *weight_out = default_font_weight_;
831 *params_out = default_font_render_params_; 834 *params_out = default_font_render_params_;
832 } 835 }
833 836
834 ui::SelectFileDialog* Gtk2UI::CreateSelectFileDialog( 837 ui::SelectFileDialog* Gtk2UI::CreateSelectFileDialog(
835 ui::SelectFileDialog::Listener* listener, 838 ui::SelectFileDialog::Listener* listener,
836 ui::SelectFilePolicy* policy) const { 839 ui::SelectFilePolicy* policy) const {
837 return SelectFileDialogImpl::Create(listener, policy); 840 return SelectFileDialogImpl::Create(listener, policy);
838 } 841 }
839 842
840 bool Gtk2UI::UnityIsRunning() { 843 bool Gtk2UI::UnityIsRunning() {
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
1347 // Non-absolute sizes are in points (again scaled by PANGO_SIZE). 1350 // Non-absolute sizes are in points (again scaled by PANGO_SIZE).
1348 // Round the value when converting to pixels to match GTK's logic. 1351 // Round the value when converting to pixels to match GTK's logic.
1349 const double size_points = pango_font_description_get_size(desc) / 1352 const double size_points = pango_font_description_get_size(desc) /
1350 static_cast<double>(PANGO_SCALE); 1353 static_cast<double>(PANGO_SCALE);
1351 default_font_size_pixels_ = static_cast<int>( 1354 default_font_size_pixels_ = static_cast<int>(
1352 GetPixelsInPoint(device_scale_factor_) * size_points + 0.5); 1355 GetPixelsInPoint(device_scale_factor_) * size_points + 0.5);
1353 query.point_size = static_cast<int>(size_points); 1356 query.point_size = static_cast<int>(size_points);
1354 } 1357 }
1355 1358
1356 query.style = gfx::Font::NORMAL; 1359 query.style = gfx::Font::NORMAL;
1357 // TODO(davemoore): Support weights other than bold? 1360 query.weight =
1358 if (pango_font_description_get_weight(desc) == PANGO_WEIGHT_BOLD) 1361 static_cast<gfx::Font::Weight>(pango_font_description_get_weight(desc));
1359 query.style |= gfx::Font::BOLD;
1360 // TODO(davemoore): What about PANGO_STYLE_OBLIQUE? 1362 // TODO(davemoore): What about PANGO_STYLE_OBLIQUE?
1361 if (pango_font_description_get_style(desc) == PANGO_STYLE_ITALIC) 1363 if (pango_font_description_get_style(desc) == PANGO_STYLE_ITALIC)
1362 query.style |= gfx::Font::ITALIC; 1364 query.style |= gfx::Font::ITALIC;
1363 1365
1364 default_font_render_params_ = 1366 default_font_render_params_ =
1365 gfx::GetFontRenderParams(query, &default_font_family_); 1367 gfx::GetFontRenderParams(query, &default_font_family_);
1366 default_font_style_ = query.style; 1368 default_font_style_ = query.style;
1367 } 1369 }
1368 1370
1369 void Gtk2UI::ResetStyle() { 1371 void Gtk2UI::ResetStyle() {
(...skipping 19 matching lines...) Expand all
1389 // Blacklist scaling factors <130% (crbug.com/484400) and round 1391 // Blacklist scaling factors <130% (crbug.com/484400) and round
1390 // to 1 decimal to prevent rendering problems (crbug.com/485183). 1392 // to 1 decimal to prevent rendering problems (crbug.com/485183).
1391 return scale < 1.3f ? 1.0f : roundf(scale * 10) / 10; 1393 return scale < 1.3f ? 1.0f : roundf(scale * 10) / 10;
1392 } 1394 }
1393 1395
1394 } // namespace libgtk2ui 1396 } // namespace libgtk2ui
1395 1397
1396 views::LinuxUI* BuildGtk2UI() { 1398 views::LinuxUI* BuildGtk2UI() {
1397 return new libgtk2ui::Gtk2UI; 1399 return new libgtk2ui::Gtk2UI;
1398 } 1400 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/libgtk2ui/gtk2_ui.h ('k') | chrome/browser/ui/views/accessibility/invert_bubble_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698