Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | pmbaty | 1 | //+-------------------------------------------------------------------------- |
2 | // |
||
3 | // Copyright (c) Microsoft Corporation. All rights reserved. |
||
4 | // |
||
5 | // Abstract: |
||
6 | // Public API definitions for DWrite and D2D |
||
7 | // |
||
8 | //---------------------------------------------------------------------------- |
||
9 | |||
10 | #ifndef DCOMMON_H_INCLUDED |
||
11 | #define DCOMMON_H_INCLUDED |
||
12 | |||
13 | // |
||
14 | //These macros are defined in the Windows 7 SDK, however to enable development using the technical preview, |
||
15 | //they are included here temporarily. |
||
16 | // |
||
17 | #ifndef DEFINE_ENUM_FLAG_OPERATORS |
||
18 | #define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) \ |
||
19 | extern "C++" { \ |
||
20 | inline ENUMTYPE operator | (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a) | ((int)b)); } \ |
||
21 | inline ENUMTYPE &operator |= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((int &)a) |= ((int)b)); } \ |
||
22 | inline ENUMTYPE operator & (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a) & ((int)b)); } \ |
||
23 | inline ENUMTYPE &operator &= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((int &)a) &= ((int)b)); } \ |
||
24 | inline ENUMTYPE operator ~ (ENUMTYPE a) { return ENUMTYPE(~((int)a)); } \ |
||
25 | inline ENUMTYPE operator ^ (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a) ^ ((int)b)); } \ |
||
26 | inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((int &)a) ^= ((int)b)); } \ |
||
27 | } |
||
28 | #endif |
||
29 | |||
30 | #ifndef __field_ecount_opt |
||
31 | #define __field_ecount_opt(x) |
||
32 | #endif |
||
33 | |||
34 | #ifndef __range |
||
35 | #define __range(x,y) |
||
36 | #endif |
||
37 | |||
38 | #ifndef __field_ecount |
||
39 | #define __field_ecount(x) |
||
40 | #endif |
||
41 | |||
42 | /// <summary> |
||
43 | /// The measuring method used for text layout. |
||
44 | /// </summary> |
||
45 | typedef enum DWRITE_MEASURING_MODE |
||
46 | { |
||
47 | /// <summary> |
||
48 | /// Text is measured using glyph ideal metrics whose values are independent to the current display resolution. |
||
49 | /// </summary> |
||
50 | DWRITE_MEASURING_MODE_NATURAL, |
||
51 | |||
52 | /// <summary> |
||
53 | /// Text is measured using glyph display compatible metrics whose values tuned for the current display resolution. |
||
54 | /// </summary> |
||
55 | DWRITE_MEASURING_MODE_GDI_CLASSIC, |
||
56 | |||
57 | /// <summary> |
||
58 | /// Text is measured using the same glyph display metrics as text measured by GDI using a font |
||
59 | /// created with CLEARTYPE_NATURAL_QUALITY. |
||
60 | /// </summary> |
||
61 | DWRITE_MEASURING_MODE_GDI_NATURAL |
||
62 | |||
63 | } DWRITE_MEASURING_MODE; |
||
64 | |||
65 | #endif /* DCOMMON_H_INCLUDED */ |