Subversion Repositories Games.Chess Giants

Rev

Blame | Last modification | View Log | Download | RSS feed

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