@@ -15,12 +15,9 @@ Friend Class UPSVarGauge
15
15
16
16
# Region "Private Fields"
17
17
18
- Private ReadOnly drawGaugeBackground = True
19
-
20
18
Private ReadOnly m_value1 As Single
21
19
Private m_value2 As Single
22
20
23
- Private ReadOnly m_Center = New Point( 74 , 70 )
24
21
Private ReadOnly m_MinValue As Single = 0
25
22
Private ReadOnly m_MaxValue As Single = 100
26
23
@@ -29,15 +26,15 @@ Friend Class UPSVarGauge
29
26
Private ReadOnly m_BaseArcSweep = 270
30
27
Private ReadOnly m_BaseArcWidth = 5
31
28
32
- Private ReadOnly m_ScaleLinesInterInnerRadius = 40
33
- Private ReadOnly m_ScaleLinesInterOuterRadius = 48
34
- Private ReadOnly m_ScaleLinesInterWidth = 1
35
-
36
29
Private ReadOnly m_ScaleLinesMinorTicks = 9
37
30
Private ReadOnly m_ScaleLinesMinorInnerRadius = 42
38
31
Private ReadOnly m_ScaleLinesMinorOuterRadius = 48
39
32
Private ReadOnly m_ScaleLinesMinorWidth = 1
40
33
34
+ Private ReadOnly m_ScaleLinesInterInnerRadius = 40
35
+ Private ReadOnly m_ScaleLinesInterOuterRadius = 48
36
+ Private ReadOnly m_ScaleLinesInterWidth = 1
37
+
41
38
Private ReadOnly m_ScaleLinesMajorStepValue = 50.0F
42
39
Private ReadOnly m_ScaleLinesMajorInnerRadius = 40
43
40
Private ReadOnly m_ScaleLinesMajorOuterRadius = 48
@@ -56,7 +53,7 @@ Friend Class UPSVarGauge
56
53
Private ReadOnly m_NeedleWidth = 2
57
54
58
55
Private m_gradientType = GradientTypeEnum.RedGreen
59
- Private m_gradientOrientation = GradientOrientationEnum.BottomToUp
56
+ Private m_gradientOrientation = GradientOrientationEnum.BottomToTop
60
57
Private m_unitvalue1 = UnitValueEnum.Volts
61
58
Private m_unitvalue2 = UnitValueEnum.None
62
59
@@ -66,7 +63,7 @@ Friend Class UPSVarGauge
66
63
67
64
' Map Value1 onto Value
68
65
<Browsable( True ),
69
- Category( "UPSVarGauge " ),
66
+ Category( "AGauge " ),
70
67
Description( "First gauge value." )>
71
68
Public Property Value1 As Single
72
69
Get
@@ -162,8 +159,8 @@ Friend Class UPSVarGauge
162
159
End Enum
163
160
164
161
Public Enum GradientOrientationEnum
165
- UpToBottom
166
- BottomToUp
162
+ TopToBottom
163
+ BottomToTop
167
164
RightToLeft
168
165
LeftToRight
169
166
End Enum
@@ -178,45 +175,47 @@ Friend Class UPSVarGauge
178
175
179
176
Public Sub New ()
180
177
MyBase .New()
178
+ InitializeComponent()
181
179
182
180
Size = New Size( 148 , 130 )
183
- Center = New Point( 148 , 130 )
184
181
End Sub
185
182
186
- Overrides Sub RenderDefaultArc(graphics As Graphics, center As Point, centerFactor As Single )
183
+ Overrides Sub RenderDefaultArc(graphics As Graphics)
187
184
If m_BaseArcRadius > 0 Then
188
185
Dim baseArcRadius As Integer = m_BaseArcRadius * centerFactor
189
- If m_gradientType <> GradientTypeEnum.None Then
190
- Dim GradientP1Brush = New Point( 0 , (center.X + baseArcRadius + m_BaseArcWidth + 2 ))
191
- Dim GradientP2Brush = New Point( 0 , (center.X - baseArcRadius - m_BaseArcWidth - 2 ))
186
+
187
+ If m_gradientType = GradientTypeEnum.None Then
188
+ Using pnArc = New Pen(BaseArcColor, m_BaseArcWidth * centerFactor)
189
+ graphics.DrawArc(pnArc, New Rectangle(Center.X - baseArcRadius,
190
+ Center.Y - baseArcRadius,
191
+ 2 * baseArcRadius,
192
+ 2 * baseArcRadius),
193
+ m_BaseArcStart, m_BaseArcSweep)
194
+ End Using
195
+
196
+ Else
197
+ Dim GradientP1Brush = New Point( 0 , (Center.X + baseArcRadius + m_BaseArcWidth + 2 ))
198
+ Dim GradientP2Brush = New Point( 0 , (Center.X - baseArcRadius - m_BaseArcWidth - 2 ))
192
199
193
200
Select Case m_gradientOrientation
194
- Case GradientOrientationEnum.UpToBottom
195
- GradientP1Brush = New Point( 0 , (center.X - baseArcRadius - m_BaseArcWidth - 2 ))
196
- GradientP2Brush = New Point( 0 , (center.X + baseArcRadius + m_BaseArcWidth + 2 ))
197
- Case GradientOrientationEnum.BottomToUp
198
- GradientP1Brush = New Point( 0 , (center.X + baseArcRadius + m_BaseArcWidth + 2 ))
199
- GradientP2Brush = New Point( 0 , (center.X - baseArcRadius - m_BaseArcWidth - 2 ))
201
+ Case GradientOrientationEnum.TopToBottom
202
+ GradientP1Brush = New Point( 0 , (Center.Y - baseArcRadius - m_BaseArcWidth - 2 ))
203
+ GradientP2Brush = New Point( 0 , (Center.Y + baseArcRadius + m_BaseArcWidth + 2 ))
204
+ Case GradientOrientationEnum.BottomToTop
205
+ GradientP1Brush = New Point( 0 , (Center.Y + baseArcRadius + m_BaseArcWidth + 2 ))
206
+ GradientP2Brush = New Point( 0 , (Center.Y - baseArcRadius - m_BaseArcWidth - 2 ))
200
207
Case GradientOrientationEnum.RightToLeft
201
- GradientP1Brush = New Point((center.Y + baseArcRadius + m_BaseArcWidth + 2 ), 0 )
202
- GradientP2Brush = New Point((center.Y - baseArcRadius - m_BaseArcWidth - 2 ), 0 )
208
+ GradientP1Brush = New Point((Center.X + baseArcRadius + m_BaseArcWidth + 2 ), 0 )
209
+ GradientP2Brush = New Point((Center.X - baseArcRadius - m_BaseArcWidth - 2 ), 0 )
203
210
Case GradientOrientationEnum.LeftToRight
204
- GradientP1Brush = New Point((center.Y - baseArcRadius - m_BaseArcWidth - 2 ), 0 )
205
- GradientP2Brush = New Point((center.Y + baseArcRadius + m_BaseArcWidth + 2 ), 0 )
211
+ GradientP1Brush = New Point((Center.X - baseArcRadius - m_BaseArcWidth - 2 ), 0 )
212
+ GradientP2Brush = New Point((Center.X + baseArcRadius + m_BaseArcWidth + 2 ), 0 )
206
213
End Select
207
214
208
215
Dim myArc1Gradient = New LinearGradientBrush(GradientP1Brush, GradientP2Brush, Color.Red, Color.Green)
209
216
Using pnArc = New Pen(myArc1Gradient, m_BaseArcWidth * centerFactor)
210
- graphics.DrawArc(pnArc, New Rectangle(center.X - baseArcRadius,
211
- center.Y - baseArcRadius,
212
- 2 * baseArcRadius,
213
- 2 * baseArcRadius),
214
- m_BaseArcStart, m_BaseArcSweep)
215
- End Using
216
- Else
217
- Using pnArc = New Pen(BaseArcColor, m_BaseArcWidth * centerFactor)
218
- graphics.DrawArc(pnArc, New Rectangle(center.X - baseArcRadius,
219
- center.Y - baseArcRadius,
217
+ graphics.DrawArc(pnArc, New Rectangle(Center.X - baseArcRadius,
218
+ Center.Y - baseArcRadius,
220
219
2 * baseArcRadius,
221
220
2 * baseArcRadius),
222
221
m_BaseArcStart, m_BaseArcSweep)
@@ -228,13 +227,13 @@ Friend Class UPSVarGauge
228
227
''' <summary>
229
228
''' Override PostRender and render the value of the gauge with unit.
230
229
''' </summary>
231
- Overrides Sub PostRender(graphics As Graphics, center As Point, centerFactor As Single )
230
+ Overrides Sub PostRender(graphics As Graphics)
232
231
Dim PenString = New Pen(Color.Black)
233
232
Dim PenFontV1 = New Font( "Microsoft Sans Serif" , 8 , FontStyle.Bold)
234
233
Dim PenFontV2 = New Font( "Microsoft Sans Serif" , 7 , FontStyle.Bold)
235
234
Dim StringPen = New SolidBrush(Color.Black)
236
235
Dim LineHeight = 15
237
- Dim StrPos = center
236
+ Dim StrPos = Center
238
237
StrPos.Y += 5
239
238
240
239
If UnitValue1 <> UnitValueEnum.None Then
0 commit comments