blob: 5354cf4f75f686f8fcea99c43b9894cad9d546f1 [file] [log] [blame]
// Copyright 2017 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 CHROME_BROWSER_UI_VIEWS_CHROME_TYPOGRAPHY_PROVIDER_H_
#define CHROME_BROWSER_UI_VIEWS_CHROME_TYPOGRAPHY_PROVIDER_H_
#include "base/macros.h"
#include "build/build_config.h"
#include "ui/views/style/typography_provider.h"
// TypographyProvider implementing the Harmony spec.
class ChromeTypographyProvider : public views::TypographyProvider {
public:
ChromeTypographyProvider() = default;
#if defined(OS_WIN)
// Returns the expected platform font height for the current system
// configuration. Different configurations can produce slightly different
// results.
static int GetPlatformFontHeight(int font_context);
#endif
// TypographyProvider:
const gfx::FontList& GetFont(int context, int style) const override;
SkColor GetColor(const views::View& view,
int context,
int style) const override;
int GetLineHeight(int context, int style) const override;
private:
DISALLOW_COPY_AND_ASSIGN(ChromeTypographyProvider);
};
#endif // CHROME_BROWSER_UI_VIEWS_CHROME_TYPOGRAPHY_PROVIDER_H_