xref: /haiku/src/servers/app/drawing/Painter/GlobalSubpixelSettings.h (revision ae0dad00b7d94696a5d3aa501b5d5e886f2d0a76)
1 /*
2  * Copyright 2008, Andrej Spielmann <andrej.spielmann@seh.ox.ac.uk>.
3  * All rights reserved. Distributed under the terms of the MIT License.
4  */
5 #ifndef GLOBAL_SUBPIXEL_SETTINGS_H
6 #define GLOBAL_SUBPIXEL_SETTINGS_H
7 
8 #include <SupportDefs.h>
9 
10 // TODO: these global settings need to be removed - once we have more than one
11 //	user, we also must support more than one setting. That's why there is a
12 //	DesktopSettings class in the first place...
13 
14 enum {
15 	HINTING_MODE_OFF = 0,
16 	HINTING_MODE_ON,
17 	HINTING_MODE_MONOSPACED_ONLY
18 };
19 
20 //#define AVERAGE_BASED_SUBPIXEL_FILTERING
21 
22 extern bool gSubpixelAntialiasing;
23 extern uint8 gDefaultHintingMode;
24 
25 // The weight with which the average of the subpixels is applied to counter
26 // color fringes (0 = full sharpness ... 255 = grayscale anti-aliasing)
27 extern uint8 gSubpixelAverageWeight;
28 
29 // There are two types of LCD displays in general - the more common have
30 // sub - pixels physically ordered as RGB within a pixel, but some are BGR.
31 // Sub - pixel antialiasing optimised for one ordering obviously doesn't work
32 // on the other.
33 extern bool gSubpixelOrderingRGB;
34 
35 #endif // GLOBAL_SUBPIXEL_SETTINGS_H
36