2013-03-12 15:41:18 +00:00
|
|
|
/*
|
|
|
|
* Copyright 2013 Google Inc.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SkFontLCDConfig_DEFINED
|
|
|
|
#define SkFontLCDConfig_DEFINED
|
|
|
|
|
|
|
|
#include "SkTypes.h"
|
|
|
|
|
2016-05-03 18:56:03 +00:00
|
|
|
class SK_API SkFontLCDConfig {
|
2013-03-12 15:41:18 +00:00
|
|
|
public:
|
|
|
|
/** LCDs either have their color elements arranged horizontally or
|
|
|
|
vertically. When rendering subpixel glyphs we need to know which way
|
|
|
|
round they are.
|
|
|
|
|
|
|
|
Note, if you change this after startup, you'll need to flush the glyph
|
|
|
|
cache because it'll have the wrong type of masks cached.
|
|
|
|
|
|
|
|
@deprecated use SkPixelGeometry instead.
|
|
|
|
*/
|
|
|
|
enum LCDOrientation {
|
|
|
|
kHorizontal_LCDOrientation = 0, //!< this is the default
|
2018-05-21 15:56:57 +00:00
|
|
|
kVertical_LCDOrientation = 1,
|
2013-03-12 15:41:18 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/** @deprecated set on Device creation. */
|
|
|
|
static void SetSubpixelOrientation(LCDOrientation orientation);
|
|
|
|
/** @deprecated get from Device. */
|
|
|
|
static LCDOrientation GetSubpixelOrientation();
|
|
|
|
|
|
|
|
/** LCD color elements can vary in order. For subpixel text we need to know
|
|
|
|
the order which the LCDs uses so that the color fringes are in the
|
|
|
|
correct place.
|
|
|
|
|
|
|
|
Note, if you change this after startup, you'll need to flush the glyph
|
|
|
|
cache because it'll have the wrong type of masks cached.
|
|
|
|
|
|
|
|
kNONE_LCDOrder means that the subpixel elements are not spatially
|
|
|
|
separated in any usable fashion.
|
|
|
|
|
|
|
|
@deprecated use SkPixelGeometry instead.
|
|
|
|
*/
|
|
|
|
enum LCDOrder {
|
|
|
|
kRGB_LCDOrder = 0, //!< this is the default
|
|
|
|
kBGR_LCDOrder = 1,
|
2018-05-21 15:56:57 +00:00
|
|
|
kNONE_LCDOrder = 2,
|
2013-03-12 15:41:18 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/** @deprecated set on Device creation. */
|
|
|
|
static void SetSubpixelOrder(LCDOrder order);
|
|
|
|
/** @deprecated get from Device. */
|
|
|
|
static LCDOrder GetSubpixelOrder();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|