|
1 /* |
|
2 * Copyright 2013 Google Inc. |
|
3 * |
|
4 * Use of this source code is governed by a BSD-style license that can be |
|
5 * found in the LICENSE file. |
|
6 */ |
|
7 |
|
8 #ifndef SkFontLCDConfig_DEFINED |
|
9 #define SkFontLCDConfig_DEFINED |
|
10 |
|
11 #include "SkTypes.h" |
|
12 |
|
13 class SkFontLCDConfig { |
|
14 public: |
|
15 /** LCDs either have their color elements arranged horizontally or |
|
16 vertically. When rendering subpixel glyphs we need to know which way |
|
17 round they are. |
|
18 |
|
19 Note, if you change this after startup, you'll need to flush the glyph |
|
20 cache because it'll have the wrong type of masks cached. |
|
21 |
|
22 @deprecated use SkPixelGeometry instead. |
|
23 */ |
|
24 enum LCDOrientation { |
|
25 kHorizontal_LCDOrientation = 0, //!< this is the default |
|
26 kVertical_LCDOrientation = 1 |
|
27 }; |
|
28 |
|
29 /** @deprecated set on Device creation. */ |
|
30 static void SetSubpixelOrientation(LCDOrientation orientation); |
|
31 /** @deprecated get from Device. */ |
|
32 static LCDOrientation GetSubpixelOrientation(); |
|
33 |
|
34 /** LCD color elements can vary in order. For subpixel text we need to know |
|
35 the order which the LCDs uses so that the color fringes are in the |
|
36 correct place. |
|
37 |
|
38 Note, if you change this after startup, you'll need to flush the glyph |
|
39 cache because it'll have the wrong type of masks cached. |
|
40 |
|
41 kNONE_LCDOrder means that the subpixel elements are not spatially |
|
42 separated in any usable fashion. |
|
43 |
|
44 @deprecated use SkPixelGeometry instead. |
|
45 */ |
|
46 enum LCDOrder { |
|
47 kRGB_LCDOrder = 0, //!< this is the default |
|
48 kBGR_LCDOrder = 1, |
|
49 kNONE_LCDOrder = 2 |
|
50 }; |
|
51 |
|
52 /** @deprecated set on Device creation. */ |
|
53 static void SetSubpixelOrder(LCDOrder order); |
|
54 /** @deprecated get from Device. */ |
|
55 static LCDOrder GetSubpixelOrder(); |
|
56 }; |
|
57 |
|
58 #endif |