// Copyright (c) 2012 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. #include "ui/gfx/font.h" #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" #include "ui/gfx/platform_font.h" namespace gfx { //////////////////////////////////////////////////////////////////////////////// // Font, public: Font::Font() : platform_font_(PlatformFont::CreateDefault()) { } Font::Font(const Font& other) : platform_font_(other.platform_font_) { } Font& Font::operator=(const Font& other) { platform_font_ = other.platform_font_; return *this; } #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_IOS) Font::Font(NativeFont native_font) : platform_font_(PlatformFont::CreateFromNativeFont(native_font)) { } #endif Font::Font(PlatformFont* platform_font) : platform_font_(platform_font) { } Font::Font(const std::string& font_name, int font_size) : platform_font_(PlatformFont::CreateFromNameAndSize(font_name, font_size)) { } Font::~Font() { } Font Font::Derive(int size_delta, int style) const { return platform_font_->DeriveFont(size_delta, style); } int Font::GetHeight() const { return platform_font_->GetHeight(); } int Font::GetBaseline() const { return platform_font_->GetBaseline(); } int Font::GetCapHeight() const { return platform_font_->GetCapHeight(); } int Font::GetExpectedTextWidth(int length) const { return platform_font_->GetExpectedTextWidth(length); } int Font::GetStyle() const { return platform_font_->GetStyle(); } const std::string& Font::GetFontName() const { return platform_font_->GetFontName(); } std::string Font::GetActualFontNameForTesting() const { return platform_font_->GetActualFontNameForTesting(); } int Font::GetFontSize() const { return platform_font_->GetFontSize(); } const FontRenderParams& Font::GetFontRenderParams() const { return platform_font_->GetFontRenderParams(); } #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_IOS) NativeFont Font::GetNativeFont() const { return platform_font_->GetNativeFont(); } #endif } // namespace gfx