WindowCompositionAttribute.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef WINDOWCOMPOSITIONATTRIBUTE_H
  2. #define WINDOWCOMPOSITIONATTRIBUTE_H
  3. #include <Windows.h>
  4. #include <dwmapi.h>
  5. enum WINDOWCOMPOSITIONATTRIB
  6. {
  7. WCA_UNDEFINED = 0,
  8. WCA_NCRENDERING_ENABLED = 1,
  9. WCA_NCRENDERING_POLICY = 2,
  10. WCA_TRANSITIONS_FORCEDISABLED = 3,
  11. WCA_ALLOW_NCPAINT = 4,
  12. WCA_CAPTION_BUTTON_BOUNDS = 5,
  13. WCA_NONCLIENT_RTL_LAYOUT = 6,
  14. WCA_FORCE_ICONIC_REPRESENTATION = 7,
  15. WCA_EXTENDED_FRAME_BOUNDS = 8,
  16. WCA_HAS_ICONIC_BITMAP = 9,
  17. WCA_THEME_ATTRIBUTES = 10,
  18. WCA_NCRENDERING_EXILED = 11,
  19. WCA_NCADORNMENTINFO = 12,
  20. WCA_EXCLUDED_FROM_LIVEPREVIEW = 13,
  21. WCA_VIDEO_OVERLAY_ACTIVE = 14,
  22. WCA_FORCE_ACTIVEWINDOW_APPEARANCE = 15,
  23. WCA_DISALLOW_PEEK = 16,
  24. WCA_CLOAK = 17,
  25. WCA_CLOAKED = 18,
  26. WCA_ACCENT_POLICY = 19,
  27. WCA_FREEZE_REPRESENTATION = 20,
  28. WCA_EVER_UNCLOAKED = 21,
  29. WCA_VISUAL_OWNER = 22,
  30. WCA_HOLOGRAPHIC = 23,
  31. WCA_EXCLUDED_FROM_DDA = 24,
  32. WCA_PASSIVEUPDATEMODE = 25,
  33. WCA_USEDARKMODECOLORS = 26,
  34. WCA_CORNER_STYLE = 27,
  35. WCA_PART_COLOR = 28,
  36. WCA_DISABLE_MOVESIZE_FEEDBACK = 29,
  37. WCA_LAST = 30
  38. };
  39. /**
  40. * @brief Client area status enumeration class
  41. */
  42. enum ACCENT_STATE
  43. {
  44. ACCENT_DISABLED = 0,
  45. ACCENT_ENABLE_GRADIENT = 1,
  46. ACCENT_ENABLE_TRANSPARENTGRADIENT = 2,
  47. ACCENT_ENABLE_BLURBEHIND = 3, // Aero effect
  48. ACCENT_ENABLE_ACRYLICBLURBEHIND = 4, // Acrylic effect
  49. ACCENT_ENABLE_HOSTBACKDROP = 5, // Mica effect
  50. ACCENT_INVALID_STATE = 6
  51. };
  52. /**
  53. * @brief Specific attributes of client area
  54. */
  55. struct ACCENT_POLICY
  56. {
  57. ACCENT_STATE AccentState;
  58. DWORD AccentFlags;
  59. DWORD GradientColor;
  60. DWORD AnimationId;
  61. };
  62. struct WINDOWCOMPOSITIONATTRIBDATA
  63. {
  64. WINDOWCOMPOSITIONATTRIB Attribute;
  65. PVOID Data; // Pointer() receives any ctypes type and returns a pointer type
  66. SIZE_T SizeOfData;
  67. };
  68. // user32.dll
  69. // WINUSERAPI BOOL WINAPI SetWindowCompositionAttribute(_In_ HWND hWnd, _Inout_ WINDOWCOMPOSITIONATTRIBDATA *pAttrData);
  70. typedef BOOL(WINAPI *SetWindowCompositionAttribute)(HWND, WINDOWCOMPOSITIONATTRIBDATA *);
  71. #endif // WINDOWCOMPOSITIONATTRIBUTE_H