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