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.

236 lines
8.3 KiB

  1. VOID DoGraphicsTest(HWND hWnd)
  2. {
  3. Graphics g(hWnd);
  4. Matrix worldMatrix(1.000000e+000, 2.500000e-001, -2.500000e-001,
  5. 1.000000e+000, 1.000000e+002, 0.000000e+000);
  6. g.SetWorldTransform(&worldMatrix);
  7. {
  8. Color color(0x400080FF);
  9. Pen pen(color, 2.000000e+001);
  10. pen.SetLineCap(RoundCap, FlatCap, FlatCap);
  11. pen.SetLineJoin(RoundJoin);
  12. pen.SetDashStyle(Solid);
  13. Point pts[13];
  14. pts[0].X=4.400000e+001; pts[0].Y=3.700000e+001;
  15. pts[1].X=3.190000e+002; pts[1].Y=4.000000e+001;
  16. pts[2].X=4.790000e+002; pts[2].Y=4.200000e+001;
  17. pts[3].X=5.210000e+002; pts[3].Y=8.200000e+001;
  18. pts[4].X=1.750000e+002; pts[4].Y=1.140000e+002;
  19. pts[5].X=1.300000e+001; pts[5].Y=1.390000e+002;
  20. pts[6].X=2.500000e+002; pts[6].Y=1.820000e+002;
  21. pts[7].X=5.280000e+002; pts[7].Y=1.890000e+002;
  22. pts[8].X=4.290000e+002; pts[8].Y=2.780000e+002;
  23. pts[9].X=1.280000e+002; pts[9].Y=2.840000e+002;
  24. pts[10].X=9.600000e+001; pts[10].Y=2.980000e+002;
  25. pts[11].X=4.280000e+002; pts[11].Y=3.270000e+002;
  26. pts[12].X=5.230000e+002; pts[12].Y=3.100000e+002;
  27. g.DrawLine(&pen, &pts[0], 13);
  28. }
  29. {
  30. Color color(0x8080FFFF);
  31. Pen pen(color, 1.000000e+001);
  32. pen.SetLineCap(RoundCap, FlatCap, FlatCap);
  33. pen.SetLineJoin(RoundJoin);
  34. pen.SetDashStyle(Solid);
  35. ERectangle rect(2.900000e+001, 4.000000e+001,
  36. 3.600000e+002, 2.260000e+002);
  37. g.DrawArc(&pen, rect, 9.000000e+001, 9.000000e+001);
  38. }
  39. {
  40. Bitmap bitmap(L"Z:\\nt\\private\\ntos\\w32\\winplus\\src\\gdiplus\\test\\dlltest\\winnt256.bmp");
  41. TextureBrush brush(&bitmap, Tile);
  42. // identity matrix transform
  43. ERectangle rect(2.220000e+002, 4.200000e+001,
  44. 3.170000e+002, 2.130000e+002);
  45. g.FillPie(&brush, rect, 0.000000e+000, 9.000000e+001);
  46. Color color(0x8080FFFF);
  47. Pen pen(color, 1.000000e+001);
  48. pen.SetLineCap(RoundCap, FlatCap, FlatCap);
  49. pen.SetLineJoin(RoundJoin);
  50. pen.SetDashStyle(Solid);
  51. g.DrawPie(&pen, rect, 0.000000e+000, 9.000000e+001);
  52. }
  53. {
  54. Bitmap bitmap(L"Z:\\nt\\private\\ntos\\w32\\winplus\\src\\gdiplus\\test\\dlltest\\winnt256.bmp");
  55. TextureBrush brush(&bitmap, Tile);
  56. // identity matrix transform
  57. ERectangle rect(2.230000e+002, 5.100000e+001,
  58. 1.270000e+002, 1.300000e+002);
  59. g.FillEllipse(&brush, rect);
  60. Color color(0x8080FFFF);
  61. Pen pen(color, 1.000000e+001);
  62. pen.SetLineCap(RoundCap, FlatCap, FlatCap);
  63. pen.SetLineJoin(RoundJoin);
  64. pen.SetDashStyle(Solid);
  65. g.DrawEllipse(&pen, rect);
  66. }
  67. {
  68. Bitmap bitmap(L"Z:\\nt\\private\\ntos\\w32\\winplus\\src\\gdiplus\\test\\dlltest\\winnt256.bmp");
  69. TextureBrush brush(&bitmap, Tile);
  70. // identity matrix transform
  71. ERectangle rect(3.150000e+002, 2.900000e+001,
  72. 2.500000e+002, 1.930000e+002);
  73. g.FillPie(&brush, rect, 9.000000e+001, 9.000000e+001);
  74. Color color(0x8080FFFF);
  75. Pen pen(color, 1.000000e+001);
  76. pen.SetLineCap(RoundCap, FlatCap, FlatCap);
  77. pen.SetLineJoin(RoundJoin);
  78. pen.SetDashStyle(Solid);
  79. g.DrawPie(&pen, rect, 9.000000e+001, 9.000000e+001);
  80. }
  81. {
  82. Bitmap bitmap(L"Z:\\nt\\private\\ntos\\w32\\winplus\\src\\gdiplus\\test\\dlltest\\winnt256.bmp");
  83. TextureBrush brush(&bitmap, Tile);
  84. // identity matrix transform
  85. Point pts[10];
  86. pts[0].X=4.600000e+001; pts[0].Y=5.500000e+001;
  87. pts[1].X=2.420000e+002; pts[1].Y=3.600000e+001;
  88. pts[2].X=3.780000e+002; pts[2].Y=3.900000e+001;
  89. pts[3].X=4.580000e+002; pts[3].Y=7.600000e+001;
  90. pts[4].X=4.850000e+002; pts[4].Y=2.540000e+002;
  91. pts[5].X=2.840000e+002; pts[5].Y=2.870000e+002;
  92. pts[6].X=1.230000e+002; pts[6].Y=2.800000e+002;
  93. pts[7].X=4.800000e+001; pts[7].Y=2.210000e+002;
  94. pts[8].X=3.100000e+001; pts[8].Y=1.550000e+002;
  95. pts[9].X=3.400000e+001; pts[9].Y=1.050000e+002;
  96. g.FillPolygon(&brush, &pts[0], 10);
  97. Color color(0x80FF8040);
  98. Pen pen(color, 1.000000e+001);
  99. pen.SetLineCap(RoundCap, FlatCap, FlatCap);
  100. pen.SetLineJoin(RoundJoin);
  101. pen.SetDashStyle(Solid);
  102. g.DrawPolygon(&pen, &pts[0], 10);
  103. }
  104. {
  105. Color color(0x80FF8040);
  106. Pen pen(color, 1.000000e+001);
  107. pen.SetLineCap(RoundCap, FlatCap, FlatCap);
  108. pen.SetLineJoin(RoundJoin);
  109. pen.SetDashStyle(Solid);
  110. Point pts[28];
  111. pts[0].X=4.300000e+001; pts[0].Y=1.900000e+001;
  112. pts[1].X=3.200000e+001; pts[1].Y=6.800000e+001;
  113. pts[2].X=3.200000e+001; pts[2].Y=1.590000e+002;
  114. pts[3].X=3.300000e+001; pts[3].Y=2.300000e+002;
  115. pts[4].X=3.200000e+001; pts[4].Y=2.840000e+002;
  116. pts[5].X=8.200000e+001; pts[5].Y=3.240000e+002;
  117. pts[6].X=1.310000e+002; pts[6].Y=2.090000e+002;
  118. pts[7].X=1.310000e+002; pts[7].Y=1.180000e+002;
  119. pts[8].X=1.470000e+002; pts[8].Y=1.900000e+001;
  120. pts[9].X=2.030000e+002; pts[9].Y=1.900000e+001;
  121. pts[10].X=2.160000e+002; pts[10].Y=6.400000e+001;
  122. pts[11].X=2.160000e+002; pts[11].Y=1.420000e+002;
  123. pts[12].X=2.180000e+002; pts[12].Y=2.040000e+002;
  124. pts[13].X=2.190000e+002; pts[13].Y=2.680000e+002;
  125. pts[14].X=2.580000e+002; pts[14].Y=3.160000e+002;
  126. pts[15].X=3.090000e+002; pts[15].Y=2.950000e+002;
  127. pts[16].X=3.080000e+002; pts[16].Y=1.260000e+002;
  128. pts[17].X=3.190000e+002; pts[17].Y=1.700000e+001;
  129. pts[18].X=3.890000e+002; pts[18].Y=2.100000e+001;
  130. pts[19].X=4.250000e+002; pts[19].Y=1.670000e+002;
  131. pts[20].X=4.250000e+002; pts[20].Y=2.510000e+002;
  132. pts[21].X=4.670000e+002; pts[21].Y=3.280000e+002;
  133. pts[22].X=5.720000e+002; pts[22].Y=2.410000e+002;
  134. pts[23].X=5.720000e+002; pts[23].Y=2.410000e+002;
  135. pts[24].X=5.450000e+002; pts[24].Y=1.110000e+002;
  136. pts[25].X=5.140000e+002; pts[25].Y=3.600000e+001;
  137. pts[26].X=5.140000e+002; pts[26].Y=3.500000e+001;
  138. pts[27].X=4.600000e+002; pts[27].Y=1.700000e+001;
  139. g.DrawCurve(&pen, &pts[0], 28, 2.000000e+000, 0, 23);
  140. }
  141. {
  142. Color colors[4];
  143. colors[0] = Color(0x50FFFFFF);
  144. colors[1] = Color(0x50FF0000);
  145. colors[2] = Color(0x5000FF00);
  146. colors[3] = Color(0x500000FF);
  147. ERectangle rectb(0.000000e+000, 0.000000e+000,
  148. 1.000000e+002, 1.000000e+002);
  149. RectangleGradientBrush brush(rectb, &colors[0], Tile);
  150. Matrix matrixb(1.000000e+000, 2.500000e-001, -2.500000e-001,
  151. 1.000000e+000, 0.000000e+000, 0.000000e+000);
  152. brush.SetTransform(&matrixb);
  153. ERectangle rect(7.000000e+000, 5.000000e+000,
  154. 5.710000e+002, 3.470000e+002);
  155. g.FillRect(&brush, rect);
  156. Color color(0x80FF8040);
  157. Pen pen(color, 1.000000e+001);
  158. pen.SetLineCap(RoundCap, FlatCap, FlatCap);
  159. pen.SetLineJoin(RoundJoin);
  160. pen.SetDashStyle(Solid);
  161. g.DrawRect(&pen, rect);
  162. }
  163. {
  164. Color colors[4];
  165. colors[0] = Color(0x50FFFFFF);
  166. colors[1] = Color(0x50FF0000);
  167. colors[2] = Color(0x5000FF00);
  168. colors[3] = Color(0x500000FF);
  169. ERectangle rectb(0.000000e+000, 0.000000e+000,
  170. 1.000000e+002, 1.000000e+002);
  171. RectangleGradientBrush brush(rectb, &colors[0], Tile);
  172. Matrix matrixb(1.000000e+000, 2.500000e-001, -2.500000e-001,
  173. 1.000000e+000, 0.000000e+000, 0.000000e+000);
  174. brush.SetTransform(&matrixb);
  175. ERectangle rect(2.090000e+002, 1.800000e+001,
  176. 1.100000e+001, 4.500000e+001);
  177. g.FillRect(&brush, rect);
  178. Color color(0x80FF8040);
  179. Pen pen(color, 1.000000e+001);
  180. pen.SetLineCap(RoundCap, FlatCap, FlatCap);
  181. pen.SetLineJoin(RoundJoin);
  182. pen.SetDashStyle(Solid);
  183. g.DrawRect(&pen, rect);
  184. }
  185. }