OSDN Git Service

コンパイルエラーを修正した
[d2dbench/d2dbench.git] / D2DBench / Method4.cs
1 using System;\r
2 using System.Drawing;\r
3 using System.Drawing.Imaging;\r
4 using System.Diagnostics;\r
5 using System.Windows.Forms;\r
6 using D2DBench.Properties;\r
7 using SharpDX;\r
8 using SharpDX.Direct2D1;\r
9 using SharpDX.DirectWrite;\r
10 using System.Runtime.InteropServices;\r
11 \r
12 using D2D1 = SharpDX.Direct2D1;\r
13 using DW = SharpDX.DirectWrite;\r
14 using Drawing = System.Drawing;\r
15 \r
16 namespace D2DBench\r
17 {\r
18     class Method4 : IBench\r
19     {\r
20         public int fillAreaSize { get { return bmp.Width * bmp.Height * this.loopCount; } }\r
21         public string methodName { get { return "BitBlt"; } }\r
22         public int loopCount { get; set; }\r
23 \r
24         Drawing.Size ClientSize;\r
25         Random rnd;\r
26         IRender d2d;\r
27         IBitmap bmp;\r
28 \r
29         public void Init(Control ctrl, bool antialias, RenderMethod method)\r
30         {\r
31             ClientSize = ctrl.ClientSize;\r
32             if (method == RenderMethod.Direct2D)\r
33                 this.d2d = new Direct2D(ctrl, ClientSize, antialias);\r
34             else\r
35                 this.d2d = new GDI(ctrl);\r
36             this.bmp = this.d2d.Load(Resources.image);\r
37             rnd = new Random();\r
38         }\r
39 \r
40         public void Dispose()\r
41         {\r
42             this.d2d.UnLoad(this.bmp);\r
43             this.d2d.Dispose();\r
44         }\r
45 \r
46         public void Exec()\r
47         {\r
48             this.d2d.BeginDraw();\r
49             for (int i = 0; i < this.loopCount; i++)\r
50             {\r
51                 int left = rnd.Next(ClientSize.Width);\r
52                 int top = rnd.Next(ClientSize.Height);\r
53                 this.d2d.DrawBitmap(bmp,\r
54                     left,\r
55                     top,\r
56                     left + bmp.Width,\r
57                     top + bmp.Height);\r
58             }\r
59             this.d2d.EndDraw();\r
60         }\r
61     }\r
62 }\r