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 */ |