dcomptypes.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _DCOMPTYPES_H_
  7. #define _DCOMPTYPES_H_
  8. #include <dxgitype.h>
  9. #include <dxgi1_2.h>
  10. #include <winapifamily.h>
  11. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  12. enum DCOMPOSITION_BITMAP_INTERPOLATION_MODE {
  13. DCOMPOSITION_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
  14. DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR = 1,
  15. DCOMPOSITION_BITMAP_INTERPOLATION_MODE_INHERIT = 0xffffffff
  16. };
  17. enum DCOMPOSITION_BORDER_MODE {
  18. DCOMPOSITION_BORDER_MODE_SOFT = 0,
  19. DCOMPOSITION_BORDER_MODE_HARD = 1,
  20. DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff
  21. };
  22. enum DCOMPOSITION_COMPOSITE_MODE {
  23. DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER = 0,
  24. DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1,
  25. #if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE
  26. DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2,
  27. #endif
  28. DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff
  29. };
  30. #if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE
  31. enum DCOMPOSITION_BACKFACE_VISIBILITY {
  32. DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE = 0,
  33. DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN = 1,
  34. DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT = 0xffffffff
  35. };
  36. enum DCOMPOSITION_OPACITY_MODE {
  37. DCOMPOSITION_OPACITY_MODE_LAYER = 0,
  38. DCOMPOSITION_OPACITY_MODE_MULTIPLY = 1,
  39. DCOMPOSITION_OPACITY_MODE_INHERIT = 0xffffffff
  40. };
  41. #endif
  42. #if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD
  43. enum DCOMPOSITION_DEPTH_MODE {
  44. DCOMPOSITION_DEPTH_MODE_TREE = 0,
  45. DCOMPOSITION_DEPTH_MODE_SPATIAL = 1,
  46. DCOMPOSITION_DEPTH_MODE_SORTED = 3,
  47. DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff
  48. };
  49. #endif
  50. typedef struct {
  51. LARGE_INTEGER lastFrameTime;
  52. DXGI_RATIONAL currentCompositionRate;
  53. LARGE_INTEGER currentTime;
  54. LARGE_INTEGER timeFrequency;
  55. LARGE_INTEGER nextEstimatedFrameTime;
  56. } DCOMPOSITION_FRAME_STATISTICS;
  57. #define COMPOSITIONOBJECT_READ 0x01
  58. #define COMPOSITIONOBJECT_WRITE 0x02
  59. #define COMPOSITIONOBJECT_ALL_ACCESS (COMPOSITIONOBJECT_READ | COMPOSITIONOBJECT_WRITE)
  60. #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
  61. #endif /* _DCOMPTYPES_H_ */