1 | ' Classes/System/Drawing/Brush.ab
|
---|
2 |
|
---|
3 | #require <GdiPlusFlat.ab>
|
---|
4 |
|
---|
5 | Namespace System
|
---|
6 | Namespace Drawing
|
---|
7 |
|
---|
8 | Class Brush
|
---|
9 | 'Inherits ICloneable, IDisposable
|
---|
10 | Public
|
---|
11 | Virtual Sub ~Brush()
|
---|
12 | Dispose()
|
---|
13 | End Sub
|
---|
14 |
|
---|
15 | Sub Dispose()
|
---|
16 | If nativeBrush <> 0 Then
|
---|
17 | Gdiplus.DllExports.GdipDeleteBrush(nativeBrush)
|
---|
18 | nativeBrush = 0
|
---|
19 | End If
|
---|
20 | End Sub
|
---|
21 |
|
---|
22 | /*Const Override*/ Virtual Function Clone() As Brush
|
---|
23 | Dim brush = 0 As *GpBrush
|
---|
24 |
|
---|
25 | SetStatus(GdiPlus.DllExports.GdipCloneBrush(nativeBrush, brush))
|
---|
26 |
|
---|
27 | Clone = New Brush(brush, lastResult)
|
---|
28 |
|
---|
29 | If newBrush = Nothing Then
|
---|
30 | GdiPlus.DllExports.GdipDeleteBrush(brush)
|
---|
31 | End If
|
---|
32 | End Sub
|
---|
33 | /*
|
---|
34 | Const Function GetType() As BrushType
|
---|
35 | GetType = -1 As BrushType
|
---|
36 | SetStatus(GdiPlus.DllExports.GdipGetBrushType(nativeBrush, GetType))
|
---|
37 | End Function
|
---|
38 | */
|
---|
39 | Function GetLastStatus() As Gdiplus.Status
|
---|
40 | GetLastStatus = lastResult
|
---|
41 | lastResult = Gdiplus.Status.Ok
|
---|
42 | End Function
|
---|
43 |
|
---|
44 | Function NativeBrush() AS *GpBrush
|
---|
45 | Return nativeBrush
|
---|
46 | End Function
|
---|
47 |
|
---|
48 | 'Protected
|
---|
49 | Sub Brush()
|
---|
50 | SetStatus(Gdiplus.Status.NotImplemented)
|
---|
51 | End Sub
|
---|
52 |
|
---|
53 | 'Protected
|
---|
54 | Sub Brush(nativeBrush As *GpBrush, status As Gdiplus.Status)
|
---|
55 | lastResult = status
|
---|
56 | SetNativeBrush(nativeBrush)
|
---|
57 | End Sub
|
---|
58 |
|
---|
59 | Protected
|
---|
60 | Sub SetNativeBrush(nativeBrush As *GpBrush)
|
---|
61 | This.nativeBrush = nativeBrush
|
---|
62 | End Sub
|
---|
63 |
|
---|
64 | Function SetStatus(status As Gdiplus.Status) As Gdiplus.Status
|
---|
65 | If status != Gdiplus.Status.Ok Then
|
---|
66 | lastResult = status
|
---|
67 | End If
|
---|
68 | Return status
|
---|
69 | End Function
|
---|
70 |
|
---|
71 | nativeBrush As *GpBrush
|
---|
72 | /*Mutable*/ lastResult As Gdiplus.Status
|
---|
73 | End Class
|
---|
74 |
|
---|
75 | class SolidBrush
|
---|
76 | Inherits Brush
|
---|
77 | Public
|
---|
78 |
|
---|
79 | Sub SolidBrush(color As Color)
|
---|
80 | Dim brush = 0 As *GpSolidFill
|
---|
81 | lastResult = GdiPlus.DllExports.GdipCreateSolidFill(color.Value, brush)
|
---|
82 | SetNativeBrush(brush)
|
---|
83 | End Sub
|
---|
84 |
|
---|
85 | Const Function GetColor(ByRef color As Color) As Gdiplus.Status
|
---|
86 | Dim argb As ARGB
|
---|
87 | SetStatus(GdiPlus.DllExports.GdipGetSolidFillColor(nativeBrush As *GpSolidFill, argb))
|
---|
88 | color = New Color(argb)
|
---|
89 | Return lastResult
|
---|
90 | End Function
|
---|
91 |
|
---|
92 | Function SetColor(color As Color) As Gdiplus.Status
|
---|
93 | Return SetStatus(GdiPlus.DllExports.GdipSetSolidFillColor(nativeBrush As *GpSolidFill, color.Value))
|
---|
94 | End Function
|
---|
95 |
|
---|
96 | 'Protected
|
---|
97 | Sub SolidBrush()
|
---|
98 | End Sub
|
---|
99 | End Class
|
---|
100 |
|
---|
101 | End Namespace 'Drawing
|
---|
102 | End Namespace 'System
|
---|