Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
2.4 KiB

  1. // The following ifdef block is the standard way of creating macros which make exporting
  2. // from a DLL simpler. All files within this DLL are compiled with the GDISEMU_EXPORTS
  3. // symbol defined on the command line. this symbol should not be defined on any project
  4. // that uses this DLL. This way any other project whose source files include this file see
  5. // GDISEMU_API functions as being imported from a DLL, wheras this DLL sees symbols
  6. // defined with this macro as being exported.
  7. #ifdef GDISEMU_EXPORTS
  8. #define GDISEMU_API __declspec(dllexport)
  9. #else
  10. #define GDISEMU_API __declspec(dllimport)
  11. #endif
  12. #define DS_MAGIC 'DrwS'
  13. #define DS_SETTARGETID 0
  14. #define DS_SETSOURCEID 1
  15. #define DS_COPYTILEID 2
  16. #define DS_SOLIDFILLID 3
  17. #define DS_TRANSPARENTTILEID 4
  18. #define DS_ALPHATILEID 5
  19. #define DS_STRETCHID 6
  20. #define DS_TRANSPARENTSTRETCHID 7
  21. #define DS_ALPHASTRETCHID 8
  22. typedef struct _DS_HEADER
  23. {
  24. ULONG magic;
  25. } DS_HEADER;
  26. typedef struct _DS_SETTARGET
  27. {
  28. ULONG ulCmdID;
  29. HDC hdc;
  30. RECTL rclBounds;
  31. } DS_SETTARGET;
  32. typedef struct _DS_SETSOURCE
  33. {
  34. ULONG ulCmdID;
  35. HDC hdc;
  36. } DS_SETSOURCE;
  37. typedef struct _DS_COPYTILE
  38. {
  39. ULONG ulCmdID;
  40. RECTL rclDst;
  41. RECTL rclSrc;
  42. POINTL ptlOrigin;
  43. } DS_COPYTILE;
  44. typedef struct _DS_SOLIDFILL
  45. {
  46. ULONG ulCmdID;
  47. RECTL rclDst;
  48. COLORREF crSolidColor;
  49. } DS_SOLIDFILL;
  50. typedef struct _DS_TRANSPARENTTILE
  51. {
  52. ULONG ulCmdID;
  53. RECTL rclDst;
  54. RECTL rclSrc;
  55. POINTL ptlOrigin;
  56. COLORREF crTransparentColor;
  57. } DS_TRANSPARENTTILE;
  58. typedef struct _DS_ALPHATILE
  59. {
  60. ULONG ulCmdID;
  61. RECTL rclDst;
  62. RECTL rclSrc;
  63. POINTL ptlOrigin;
  64. BLENDFUNCTION blendFunction;
  65. } DS_ALPHATILE;
  66. typedef struct _DS_STRETCHC
  67. {
  68. ULONG ulCmdID;
  69. RECTL rclDst;
  70. RECTL rclSrc;
  71. } DS_STRETCH;
  72. typedef struct _DS_TRANSPARENTSTRETCHC
  73. {
  74. ULONG ulCmdID;
  75. RECTL rclDst;
  76. RECTL rclSrc;
  77. COLORREF crTransparentColor;
  78. } DS_TRANSPARENTSTRETCH;
  79. typedef struct _DS_ALPHASTRETCHC
  80. {
  81. ULONG ulCmdID;
  82. RECTL rclDst;
  83. RECTL rclSrc;
  84. BLENDFUNCTION blendFunction;
  85. } DS_ALPHASTRETCH;
  86. /*GDISEMU_API */int DrawStream(int cjIn, void * pvIn);