| //+-------------------------------------------------------------------------- |
| // |
| // Copyright (c) Microsoft Corporation. All rights reserved. |
| // |
| // Abstract: |
| // Public API definitions for DWrite and D2D |
| // |
| //---------------------------------------------------------------------------- |
| |
| #ifndef DCOMMON_H_INCLUDED |
| #define DCOMMON_H_INCLUDED |
| |
| // |
| //These macros are defined in the Windows 7 SDK, however to enable development using the technical preview, |
| //they are included here temporarily. |
| // |
| #ifndef DEFINE_ENUM_FLAG_OPERATORS |
| #define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) \ |
| extern "C++" { \ |
| inline ENUMTYPE operator | (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a) | ((int)b)); } \ |
| inline ENUMTYPE &operator |= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((int &)a) |= ((int)b)); } \ |
| inline ENUMTYPE operator & (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a) & ((int)b)); } \ |
| inline ENUMTYPE &operator &= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((int &)a) &= ((int)b)); } \ |
| inline ENUMTYPE operator ~ (ENUMTYPE a) { return ENUMTYPE(~((int)a)); } \ |
| inline ENUMTYPE operator ^ (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a) ^ ((int)b)); } \ |
| inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((int &)a) ^= ((int)b)); } \ |
| } |
| #endif |
| |
| #ifndef __field_ecount_opt |
| #define __field_ecount_opt(x) |
| #endif |
| |
| #ifndef __range |
| #define __range(x,y) |
| #endif |
| |
| #ifndef __field_ecount |
| #define __field_ecount(x) |
| #endif |
| |
| /// <summary> |
| /// The measuring method used for text layout. |
| /// </summary> |
| typedef enum DWRITE_MEASURING_MODE |
| { |
| /// <summary> |
| /// Text is measured using glyph ideal metrics whose values are independent to the current display resolution. |
| /// </summary> |
| DWRITE_MEASURING_MODE_NATURAL, |
| |
| /// <summary> |
| /// Text is measured using glyph display compatible metrics whose values tuned for the current display resolution. |
| /// </summary> |
| DWRITE_MEASURING_MODE_GDI_CLASSIC, |
| |
| /// <summary> |
| /// Text is measured using the same glyph display metrics as text measured by GDI using a font |
| /// created with CLEARTYPE_NATURAL_QUALITY. |
| /// </summary> |
| DWRITE_MEASURING_MODE_GDI_NATURAL |
| |
| } DWRITE_MEASURING_MODE; |
| |
| #endif /* DCOMMON_H_INCLUDED */ |