| // 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. |
| |
| #ifndef UI_GFX_FONT_RENDER_PARAMS_LINUX_H_ |
| #define UI_GFX_FONT_RENDER_PARAMS_LINUX_H_ |
| |
| #include "ui/gfx/gfx_export.h" |
| |
| namespace gfx { |
| |
| // A collection of parameters describing how text should be rendered on Linux. |
| struct GFX_EXPORT FontRenderParams { |
| // No constructor to avoid static initialization. |
| |
| // Level of hinting to be applied. |
| enum Hinting { |
| HINTING_NONE = 0, |
| HINTING_SLIGHT, |
| HINTING_MEDIUM, |
| HINTING_FULL, |
| }; |
| |
| // Different subpixel orders to be used for subpixel rendering. |
| enum SubpixelRendering { |
| SUBPIXEL_RENDERING_NONE = 0, |
| SUBPIXEL_RENDERING_RGB, |
| SUBPIXEL_RENDERING_BGR, |
| SUBPIXEL_RENDERING_VRGB, |
| SUBPIXEL_RENDERING_VBGR, |
| }; |
| |
| // Antialiasing (grayscale if |subpixel_rendering| is SUBPIXEL_RENDERING_NONE |
| // and RGBA otherwise). |
| bool antialiasing; |
| |
| // Should subpixel positioning (i.e. fractional X positions for glyphs) be |
| // used? |
| bool subpixel_positioning; |
| |
| // Should FreeType's autohinter be used (as opposed to Freetype's bytecode |
| // interpreter, which uses fonts' own hinting instructions)? |
| bool autohinter; |
| |
| // Should embedded bitmaps in fonts should be used? |
| bool use_bitmaps; |
| |
| // Hinting level. |
| Hinting hinting; |
| |
| // Whether subpixel rendering should be used or not, and if so, the display's |
| // subpixel order. |
| SubpixelRendering subpixel_rendering; |
| }; |
| |
| // Returns the system's default parameters for font rendering. |
| GFX_EXPORT const FontRenderParams& GetDefaultFontRenderParams(); |
| |
| // Returns the system's default parameters for WebKit font rendering. |
| GFX_EXPORT const FontRenderParams& GetDefaultWebKitFontRenderParams(); |
| |
| // Returns the system's default parameters for WebKit subpixel positioning. |
| // Subpixel positioning is special since neither GTK nor FontConfig currently |
| // track it as a preference. |
| // See https://bugs.freedesktop.org/show_bug.cgi?id=50736 |
| GFX_EXPORT bool GetDefaultWebkitSubpixelPositioning(); |
| |
| } // namespace gfx |
| |
| #endif // UI_GFX_FONT_RENDER_PARAMS_LINUX_H_ |