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