[701] | 1 | ' Classes/System/Drawing/Brush.ab
|
---|
| 2 |
|
---|
| 3 | Namespace System
|
---|
| 4 | Namespace Drawing
|
---|
| 5 |
|
---|
| 6 | Class Brush
|
---|
| 7 | Implements IDisposable, ICloneable
|
---|
| 8 | Public
|
---|
| 9 | Sub Dispose()
|
---|
| 10 | GdipDeleteBrush(nativeBrush)
|
---|
| 11 | nativeBrush = 0
|
---|
| 12 | End Sub
|
---|
| 13 |
|
---|
| 14 | Sub ~Brush()
|
---|
| 15 | Dispose()
|
---|
| 16 | End Sub
|
---|
| 17 |
|
---|
| 18 | Function Clone() As Brush
|
---|
| 19 | Dim brush As *GpBrush
|
---|
| 20 | SetStatus(GdipCloneBrush(nativeBrush, brush))
|
---|
| 21 | Try
|
---|
| 22 | Clone = New Brush(brush)
|
---|
| 23 | Catch e As Exception
|
---|
| 24 | GdipDeleteBrush(brush)
|
---|
| 25 | Throw e
|
---|
| 26 | End Try
|
---|
| 27 | End Function
|
---|
| 28 |
|
---|
| 29 | Function GetType() As BrushType
|
---|
| 30 | GetType = -1 As BrushType
|
---|
| 31 | SetStatus(GdipGetBrushType(nativeBrush, GetType))
|
---|
| 32 | End Function
|
---|
| 33 |
|
---|
| 34 | Function NativeBrush() As *GpBrush
|
---|
| 35 | NativeBrush = nativeBrush
|
---|
| 36 | End Function
|
---|
| 37 |
|
---|
| 38 | Sub Brush(native As *GpBrush)
|
---|
| 39 | nativeBrush = native
|
---|
| 40 | End Sub
|
---|
| 41 |
|
---|
| 42 | Private
|
---|
| 43 | nativeBrush As *GpBrush
|
---|
| 44 | End Class
|
---|
| 45 |
|
---|
| 46 | Class SolidBrush
|
---|
| 47 | Inherits Brush
|
---|
| 48 | Public
|
---|
| 49 |
|
---|
| 50 | Sub SolidBrush(c As Color)
|
---|
| 51 | Brush(CreateSolidBrush(c))
|
---|
| 52 | End Sub
|
---|
| 53 |
|
---|
| 54 | Function Color() As Color
|
---|
| 55 | SetStatus(GdipGetSolidFillColor(nativeBrush As *GpSolidFill, Color))
|
---|
| 56 | End Function
|
---|
| 57 |
|
---|
| 58 | Sub SetColor(c As Color)
|
---|
| 59 | SetStatus(GdipSetSolidFillColor(nativeBrush As *GpSolidFill, c))
|
---|
| 60 | End Sub
|
---|
| 61 |
|
---|
| 62 | Private
|
---|
| 63 | Static Function CreateSolidBrush(c As Color) As *GpBrush
|
---|
| 64 | SetStatus(GdipCreateSolidFill(c, CreateSolidBrush))
|
---|
| 65 | End Function
|
---|
| 66 | End Class
|
---|
| 67 |
|
---|
| 68 | Class TextureBrush
|
---|
| 69 | Inherits Brush
|
---|
| 70 | Public
|
---|
| 71 | Sub TextureBrush(image As Image) '暫定
|
---|
| 72 | Brush(CreateTexture(image.NativeImage, System.Drawing.Drawing2D.WrapMode.Tile) As *GpBrush)
|
---|
| 73 | End Sub
|
---|
| 74 |
|
---|
| 75 | Sub TextureBrush(image As Image, wrapMode /*= WrapMode.Tile*/ As Drawing2D.WrapMode)
|
---|
| 76 | Brush(CreateTexture(image.NativeImage, wrapMode) As *GpBrush)
|
---|
| 77 | End Sub
|
---|
| 78 |
|
---|
| 79 | Static Function CreateTexture(image As *GpImage, wrapMode As Drawing2D.WrapMode) As *GpTexture
|
---|
| 80 | SetStatus(GdipCreateTexture(image, wrapMode, CreateTexture))
|
---|
| 81 | End Function
|
---|
| 82 |
|
---|
| 83 | Sub TextureBrush(image As Image, wrapMode As Drawing2D.WrapMode, ByRef dstRect As Rectangle)
|
---|
| 84 | Brush(CreateTexture2I(image.NativeImage, wrapMode, dstRect) As *GpBrush)
|
---|
| 85 | End Sub
|
---|
| 86 |
|
---|
| 87 | Static Function CreateTexture2I(image As *GpImage, wrapMode As Drawing2D.WrapMode, ByRef rc As Rectangle) As *GpTexture
|
---|
| 88 | SetStatus(GdipCreateTexture2I(image, wrapMode, rc.X, rc.Y, rc.Width, rc.Height, CreateTexture2I))
|
---|
| 89 | End Function
|
---|
| 90 |
|
---|
| 91 | Sub TextureBrush(image As Image, wrapMode As Drawing2D.WrapMode, ByRef dstRect As RectangleF)
|
---|
| 92 | Brush(CreateTexture2(image.NativeImage, wrapMode, dstRect) As *GpBrush)
|
---|
| 93 | End Sub
|
---|
| 94 |
|
---|
| 95 | Static Function CreateTexture2(image As *GpImage, wrapMode As Drawing2D.WrapMode, ByRef rc As RectangleF) As *GpTexture
|
---|
| 96 | SetStatus(GdipCreateTexture2(image, wrapMode, rc.X, rc.Y, rc.Width, rc.Height, CreateTexture2))
|
---|
| 97 | End Function
|
---|
| 98 |
|
---|
| 99 | Sub TextureBrush(image As Image, ByRef dstRect As Rectangle, imageAttributes = Nothing As ImageAttributes)
|
---|
| 100 | Brush(CreateTextureIAI(image.NativeImage, dstRect, getNativeImageAttributes(imageAttributes)) As *GpBrush)
|
---|
| 101 | End Sub
|
---|
| 102 |
|
---|
| 103 | Static Function CreateTextureIAI(image As *GpImage, ByRef rc As Rectangle, imageAttr = 0 As *GpImageAttributes) As *GpTexture
|
---|
| 104 | SetStatus(GdipCreateTextureIAI(image, imageAttr, rc.X, rc.Y, rc.Width, rc.Height, CreateTextureIAI))
|
---|
| 105 | End Function
|
---|
| 106 |
|
---|
| 107 | Sub TextureBrush(image As Image, ByRef dstRect As RectangleF, imageAttributes = Nothing As ImageAttributes)
|
---|
| 108 | Brush(CreateTextureIA(image.NativeImage, dstRect, getNativeImageAttributes(imageAttributes)) As *GpBrush)
|
---|
| 109 | End Sub
|
---|
| 110 |
|
---|
| 111 | Static Function CreateTextureIA(image As *GpImage, ByRef rc As RectangleF, imageAttr = 0 As *GpImageAttributes) As *GpTexture
|
---|
| 112 | SetStatus(GdipCreateTextureIA(image, imageAttr, rc.X, rc.Y, rc.Width, rc.Height, CreateTextureIA))
|
---|
| 113 | End Function
|
---|
| 114 |
|
---|
| 115 | Sub Transform(matrix As Drawing2D.Matrix)
|
---|
| 116 | SetStatus(GdipSetTextureTransform(nativeBrush As *GpTexture, matrix.NativeMatrix))
|
---|
| 117 | End Sub
|
---|
| 118 |
|
---|
| 119 | Function Transform() As Drawing2D.Matrix
|
---|
| 120 | Dim matrix As *GpMatrix
|
---|
| 121 | SetStatus(GdipGetTextureTransform(nativeBrush As *GpTexture, matrix))
|
---|
| 122 | Transform = New Matrix(matrix)
|
---|
| 123 | End Function
|
---|
| 124 |
|
---|
| 125 | Sub ResetTransform()
|
---|
| 126 | SetStatus(GdipResetTextureTransform(nativeBrush As *GpTexture))
|
---|
| 127 | End Sub
|
---|
| 128 |
|
---|
| 129 | Sub MultiplyTransform(matrix As Drawing2D.Matrix, order /*= Drawing2D.MatrixOrder.Prepend*/ As Drawing2D.MatrixOrder)
|
---|
| 130 | SetStatus(GdipMultiplyTextureTransform(nativeBrush As *GpTexture, matrix.NativeMatrix, order))
|
---|
| 131 | End Sub
|
---|
| 132 |
|
---|
| 133 | Sub TranslateTransform(dx As Single, dy As Single, order /*= Drawing2D.MatrixOrder.Prepend*/ As Drawing2D.MatrixOrder)
|
---|
| 134 | SetStatus(GdipTranslateTextureTransform(nativeBrush As *GpTexture, dx, dy, order))
|
---|
| 135 | End Sub
|
---|
| 136 |
|
---|
| 137 | Sub ScaleTransform(sx As Single, sy As Single, order /*= Drawing2D.MatrixOrder.Prepend*/ As Drawing2D.MatrixOrder)
|
---|
| 138 | SetStatus(GdipScaleTextureTransform(nativeBrush As *GpTexture, sx, sy, order))
|
---|
| 139 | End Sub
|
---|
| 140 |
|
---|
| 141 | Sub RotateTransform(angle As Single, order /*= Drawing2D.MatrixOrder.Prepend*/ As Drawing2D.MatrixOrder)
|
---|
| 142 | SetStatus(GdipRotateTextureTransform(nativeBrush As *GpTexture, angle, order))
|
---|
| 143 | End Sub
|
---|
| 144 |
|
---|
| 145 | Sub WrapMode(wrapMode As Drawing2D.WrapMode)
|
---|
| 146 | SetStatus(GdipSetTextureWrapMode(nativeBrush As *GpTexture, wrapMode))
|
---|
| 147 | End Sub
|
---|
| 148 | /*
|
---|
| 149 | Function WrapMode() As Drawing2D.WrapMode
|
---|
| 150 | SetStatus(GdipGetTextureWrapMode(nativeBrush As *GpTexture, WrapMode))
|
---|
| 151 | End Function
|
---|
| 152 | */
|
---|
| 153 | Function GetImage() As Image
|
---|
| 154 | Dim image As *GpImage
|
---|
| 155 | SetStatus(GdipGetTextureImage(nativeBrush As *GpTexture, image))
|
---|
| 156 | GetImage = New Image(image)
|
---|
| 157 | End Function
|
---|
| 158 |
|
---|
| 159 | Private
|
---|
| 160 | Static Function getNativeImageAttributes(imageAttr As ImageAttributes) As *GpImageAttributes
|
---|
| 161 | If ActiveBasic.IsNothing(imageAttr) Then
|
---|
| 162 | getNativeImageAttributes = 0
|
---|
| 163 | Else
|
---|
| 164 | getNativeImageAttributes = imageAttr.nativeImage
|
---|
| 165 | End If
|
---|
| 166 | End Function
|
---|
| 167 | End Class
|
---|
| 168 |
|
---|
| 169 | Namespace Drawing2D
|
---|
| 170 |
|
---|
| 171 | Class HatchBrush
|
---|
| 172 | Inherits Brush
|
---|
| 173 | Public
|
---|
| 174 | Sub HatchBrush(hatchStyle As HatchStyle, foreColor As Color, backColor = 0 As Color)
|
---|
| 175 | Brush(CreateHatchBrush(hatchStyle, foreColor, backColor) As *GpBrush)
|
---|
| 176 | End Sub
|
---|
| 177 | /*
|
---|
| 178 | Function HatchStyle() As HatchStyle
|
---|
| 179 | SetStatus(GdipGetHatchStyle(NativeBrush As *GpHatch, HatchStyle))
|
---|
| 180 | End Function
|
---|
| 181 | */
|
---|
| 182 | Function ForegroundColor() As Color
|
---|
| 183 | SetStatus(GdipGetHatchForegroundColor(NativeBrush As *GpHatch, ForegroundColor))
|
---|
| 184 | End Function
|
---|
| 185 |
|
---|
| 186 | Function BackgroundColor() As Color
|
---|
| 187 | SetStatus(GdipGetHatchBackgroundColor(NativeBrush As *GpHatch, BackgroundColor))
|
---|
| 188 | End Function
|
---|
| 189 |
|
---|
| 190 | Private
|
---|
| 191 | Static Function CreateHatchBrush(hatchStyle As HatchStyle, foreColor As ARGB, backColor As ARGB) As *GpHatch
|
---|
| 192 | SetStatus(GdipCreateHatchBrush(hatchStyle, foreColor, backColor, CreateHatchBrush))
|
---|
| 193 | End Function
|
---|
| 194 | End Class
|
---|
| 195 |
|
---|
| 196 | Class LinearGradientBrush
|
---|
| 197 | Inherits Brush
|
---|
| 198 | Public
|
---|
| 199 |
|
---|
| 200 | Sub LinearGradientBrush(ByRef pt1 As Point, ByRef pt2 As Point, c1 As Color, c2 As Color)
|
---|
| 201 | Brush(CreateLineBrush(pt1, pt2, c1, c2) As *GpBrush)
|
---|
| 202 | End Sub
|
---|
| 203 |
|
---|
| 204 | Sub LinearGradientBrush(ByRef pt1 As PointF, ByRef pt2 As PointF, c1 As Color, c2 As Color)
|
---|
| 205 | Brush(CreateLineBrush(pt1, pt2, c1, c2) As *GpBrush)
|
---|
| 206 | End Sub
|
---|
| 207 |
|
---|
| 208 | Sub LinearGradientBrush(ByRef rc As Rectangle, c1 As Color, c2 As Color, mode As LinearGradientMode)
|
---|
| 209 | Brush(CreateLineBrushFromRect(rc, c1, c2, mode) As *GpBrush)
|
---|
| 210 | End Sub
|
---|
| 211 |
|
---|
| 212 | Sub LinearGradientBrush(ByRef rc As RectangleF, c1 As Color, c2 As Color, mode As LinearGradientMode)
|
---|
| 213 | Brush(CreateLineBrushFromRect(rc, c1, c2, mode) As *GpBrush)
|
---|
| 214 | End Sub
|
---|
| 215 |
|
---|
| 216 | Sub LinearGradientBrush(ByRef rc As Rectangle, c1 As Color, c2 As Color, angle As Single, isAngleScalable = False As Boolean)
|
---|
| 217 | Brush(CreateLineBrushFromRectWithAngle(rc, c1, c2, angle, isAngleScalable) As *GpBrush)
|
---|
| 218 | End Sub
|
---|
| 219 |
|
---|
| 220 | Sub LinearGradientBrush(ByRef rc As RectangleF, c1 As Color, c2 As Color, angle As Single, isAngleScalable = False As Boolean)
|
---|
| 221 | Brush(CreateLineBrushFromRectWithAngle(rc, c1, c2, angle, isAngleScalable) As *GpBrush)
|
---|
| 222 | End Sub
|
---|
| 223 |
|
---|
| 224 | Static Function CreateLineBrush(ByRef pt1 As Point, ByRef pt2 As Point, c1 As ARGB, c2 As ARGB) As *GpLineGradient
|
---|
| 225 | SetStatus(GdipCreateLineBrushI(pt1, pt2, c1, c2, WrapMode.Tile, CreateLineBrush))
|
---|
| 226 | End Function
|
---|
| 227 |
|
---|
| 228 | Static Function CreateLineBrush(ByRef pt1 As PointF, ByRef pt2 As PointF, c1 As ARGB, c2 As ARGB) As *GpLineGradient
|
---|
| 229 | SetStatus(GdipCreateLineBrush(pt1, pt2, c1, c2, WrapMode.Tile, CreateLineBrush))
|
---|
| 230 | End Function
|
---|
| 231 |
|
---|
| 232 | Static Function CreateLineBrushFromRect(ByRef rc As Rectangle, c1 As ARGB, c2 As ARGB, mode As LinearGradientMode) As *GpLineGradient
|
---|
| 233 | SetStatus(GdipCreateLineBrushFromRectI(rc, c1, c2, mode, 0 /*WrapMode.Tile*/, CreateLineBrushFromRect))
|
---|
| 234 | End Function
|
---|
| 235 |
|
---|
| 236 | Static Function CreateLineBrushFromRect(ByRef rc As RectangleF, c1 As ARGB, c2 As ARGB, mode As LinearGradientMode) As *GpLineGradient
|
---|
| 237 | SetStatus(GdipCreateLineBrushFromRect(rc, c1, c2, mode, 0 /*WrapMode.Tile*/, CreateLineBrushFromRect))
|
---|
| 238 | End Function
|
---|
| 239 |
|
---|
| 240 | Static Function CreateLineBrushFromRectWithAngle(ByRef rc As Rectangle, c1 As ARGB, c2 As ARGB, angle As Single, isAngleScalable As Boolean) As *GpLineGradient
|
---|
| 241 | SetStatus(GdipCreateLineBrushFromRectWithAngleI(rc, c1, c2, angle, isAngleScalable, 0 /*WrapMode.Tile*/ , CreateLineBrushFromRectWithAngle))
|
---|
| 242 | End Function
|
---|
| 243 |
|
---|
| 244 | Static Function CreateLineBrushFromRectWithAngle(ByRef rc As RectangleF, c1 As ARGB, c2 As ARGB, angle As Single, isAngleScalable As Boolean) As *GpLineGradient
|
---|
| 245 | SetStatus(GdipCreateLineBrushFromRectWithAngle(rc, c1, c2, angle, isAngleScalable, 0 /*WrapMode.Tile*/, CreateLineBrushFromRectWithAngle))
|
---|
| 246 | End Function
|
---|
| 247 |
|
---|
| 248 | 'LinearColors - GdipGetLineColors/GdipSetLineColors
|
---|
| 249 |
|
---|
| 250 | Function Rectangle() As RectangleF
|
---|
| 251 | SetStatus(GdipGetLineRect(nativeBrush As *GpLineGradient, Rectangle))
|
---|
| 252 | End Function
|
---|
| 253 |
|
---|
| 254 | Sub GammaCorrection(gammaCorrection As Boolean)
|
---|
| 255 | SetStatus(GdipSetLineGammaCorrection(nativeBrush As *GpLineGradient, gammaCorrection))
|
---|
| 256 | End Sub
|
---|
| 257 |
|
---|
| 258 | Function GammaCorrection() As Boolean
|
---|
| 259 | Dim gammaCorrection As BOOL
|
---|
| 260 | SetStatus(GdipGetLineGammaCorrection(nativeBrush As *GpLineGradient, gammaCorrection))
|
---|
| 261 | GammaCorrection = gammaCorrection As Boolean
|
---|
| 262 | End Function
|
---|
| 263 |
|
---|
| 264 | 'Blend - GdipGetLineBlend/GdipSetLineBlend
|
---|
| 265 | 'InterpolationColors - GdipGetLinePresetBlend/GdipSetLinePresetBlend
|
---|
| 266 |
|
---|
| 267 | Sub SetBlendBellShape(focus As Single, scale = 1.0 As Single)
|
---|
| 268 | SetStatus(GdipSetLineSigmaBlend(nativeBrush As *GpLineGradient, focus, scale))
|
---|
| 269 | End Sub
|
---|
| 270 |
|
---|
| 271 | Sub SetBlendTriangularShape(focus As Single, scale = 1.0 As Single)
|
---|
| 272 | SetStatus(GdipSetLineLinearBlend(nativeBrush As *GpLineGradient, focus, scale))
|
---|
| 273 | End Sub
|
---|
| 274 |
|
---|
| 275 | Sub Transform(matrix As Matrix)
|
---|
| 276 | SetStatus(GdipSetLineTransform(nativeBrush As *GpLineGradient, matrix.NativeMatrix))
|
---|
| 277 | End Sub
|
---|
| 278 |
|
---|
| 279 | Function Transform() As Matrix
|
---|
| 280 | Dim matrix As *GpMatrix
|
---|
| 281 | SetStatus(GdipGetLineTransform(nativeBrush As *GpLineGradient, matrix))
|
---|
| 282 | Transform = New Matrix(matrix)
|
---|
| 283 | End Function
|
---|
| 284 |
|
---|
| 285 | Sub ResetTransform()
|
---|
| 286 | SetStatus(GdipResetLineTransform(nativeBrush As *GpLineGradient))
|
---|
| 287 | End Sub
|
---|
| 288 |
|
---|
| 289 | Sub MultiplyTransform(matrix As Drawing2D.Matrix, order /*= MatrixOrder.Prepend*/ As MatrixOrder)
|
---|
| 290 | SetStatus(GdipMultiplyLineTransform(nativeBrush As *GpLineGradient, matrix.NativeMatrix, order))
|
---|
| 291 | End Sub
|
---|
| 292 |
|
---|
| 293 | Sub TranslateTransform(dx As Single, dy As Single, order /*= MatrixOrder.Prepend*/ As MatrixOrder)
|
---|
| 294 | SetStatus(GdipTranslateLineTransform(nativeBrush As *GpLineGradient, dx, dy, order))
|
---|
| 295 | End Sub
|
---|
| 296 |
|
---|
| 297 | Sub ScaleTransform(sx As Single, sy As Single, order /*= MatrixOrder.Prepend*/ As MatrixOrder)
|
---|
| 298 | SetStatus(GdipScaleLineTransform(nativeBrush As *GpLineGradient, sx, sy, order))
|
---|
| 299 | End Sub
|
---|
| 300 |
|
---|
| 301 | Sub RotateTransform(angle As Single, order /*= MatrixOrder.Prepend*/ As MatrixOrder)
|
---|
| 302 | SetStatus(GdipRotateLineTransform(nativeBrush As *GpLineGradient, angle, order))
|
---|
| 303 | End Sub
|
---|
| 304 |
|
---|
| 305 | Sub WrapMode(wrapMode As WrapMode)
|
---|
| 306 | SetStatus(GdipSetLineWrapMode(nativeBrush As *GpLineGradient, wrapMode))
|
---|
| 307 | End Sub
|
---|
| 308 | /*
|
---|
| 309 | Function WrapMode() As WrapMode
|
---|
| 310 | SetStatus(GdipGetLineWrapMode(nativeBrush As *GpLineGradient, WrapMode))
|
---|
| 311 | End Function
|
---|
| 312 | */
|
---|
| 313 | End Class
|
---|
| 314 |
|
---|
| 315 | Class PathGradientBrush
|
---|
| 316 | Inherits Brush
|
---|
| 317 | Public
|
---|
| 318 | Sub PathGradientBrush(points As *PointF, count As Long, wrapMode /*= WrapMode.Clamp*/ As WrapMode)
|
---|
| 319 | Brush(CreatePathGradient(points, count, wrapMode))
|
---|
| 320 | End Sub
|
---|
| 321 |
|
---|
| 322 | Sub PathGradientBrush(points As *Point, count As Long, wrapMode /*= WrapMode.Clamp*/ As WrapMode)
|
---|
| 323 | Brush(CreatePathGradientI(points, count, wrapMode))
|
---|
| 324 | End Sub
|
---|
| 325 |
|
---|
| 326 | Sub PathGradientBrush(path As GraphicsPath)
|
---|
| 327 | Brush(CreatePathGradientFromPath(path.NativePath As *GpBrush))
|
---|
| 328 | End Sub
|
---|
| 329 |
|
---|
| 330 | Sub CenterColor(c As Color)
|
---|
| 331 | SetStatus(GdipSetPathGradientCenterColor(nativeBrush As *GpPathGradient, c))
|
---|
| 332 | End Sub
|
---|
| 333 |
|
---|
| 334 | Function CenterColor() As Color
|
---|
| 335 | SetStatus(GdipGetPathGradientCenterColor(nativeBrush As *GpPathGradient, CenterColor))
|
---|
| 336 | End Function
|
---|
| 337 |
|
---|
| 338 | 'SurroundColors - GdipGetPathGradientSurroundColorsWithCount/GdipSetPathGradientSurroundColorsWithCount/GdipGetPathGradientSurroundColorCount
|
---|
| 339 |
|
---|
| 340 | Sub GraphicsPath(path As GraphicsPath)
|
---|
| 341 | If ActiveBasic.IsNothing(path) Then
|
---|
| 342 | Throw New System.ArgumentNullException("path")
|
---|
| 343 | End If
|
---|
| 344 | SetStatus(GdipSetPathGradientPath(nativeBrush As *GpPathGradient, path.NativePath))
|
---|
| 345 | End Sub
|
---|
| 346 |
|
---|
| 347 | Function GraphicsPath() As GraphicsPath
|
---|
| 348 | Dim path As *GpPath
|
---|
| 349 | SetStatus(GdipGetPathGradientPath(nativeBrush As *GpPathGradient, path))
|
---|
| 350 | GraphicsPath = New GraphicsPath(path)
|
---|
| 351 | End Function
|
---|
| 352 |
|
---|
| 353 | Sub CenterPoint(ByRef pt As PointF)
|
---|
| 354 | SetStatus(GdipSetPathGradientCenterPoint(nativeBrush As *GpPathGradient, pt))
|
---|
| 355 | End Sub
|
---|
| 356 |
|
---|
| 357 | Function CenterPoint() As PointF
|
---|
| 358 | SetStatus(GdipSetPathGradientCenterPoint(nativeBrush As *GpPathGradient, CenterPoint))
|
---|
| 359 | End Function
|
---|
| 360 |
|
---|
| 361 | Function Rectangle() As RectangleF
|
---|
| 362 | SetStatus(GdipGetPathGradientRect(nativeBrush As *GpPathGradient, Rectangle))
|
---|
| 363 | End Function
|
---|
| 364 |
|
---|
| 365 | Sub GammaCorrection(gammaCorrection As Boolean)
|
---|
| 366 | SetStatus(GdipSetPathGradientGammaCorrection(nativeBrush As *GpPathGradient, gammaCorrection))
|
---|
| 367 | End Sub
|
---|
| 368 |
|
---|
| 369 | Function GammaCorrection() As Boolean
|
---|
| 370 | Dim gammaCorrection As BOOL
|
---|
| 371 | SetStatus(GdipGetPathGradientGammaCorrection(nativeBrush As *GpPathGradient, gammaCorrection))
|
---|
| 372 | GammaCorrection = gammaCorrection As Boolean
|
---|
| 373 | End Function
|
---|
| 374 |
|
---|
| 375 | ' Blend - GdipGetPathGradientBlend/GdipSetPathGradientBlend/GdipGetPathGradientBlendCount
|
---|
| 376 | ' InterpolationColors - GdipGetPathGradientPresetBlend/GdipSetPathGradientPresetBlend/GdipGetPathGradientPresetBlendCount
|
---|
| 377 |
|
---|
| 378 | Sub SetBlendBellShape(focus As Single, scale = 1.0 As Single)
|
---|
| 379 | SetStatus(GdipSetPathGradientSigmaBlend(nativeBrush As *GpPathGradient, focus, scale))
|
---|
| 380 | End Sub
|
---|
| 381 |
|
---|
| 382 | Sub SetBlendTriangularShape(focus As Single, scale = 1.0 As Single)
|
---|
| 383 | SetStatus(GdipSetPathGradientLinearBlend(nativeBrush As *GpPathGradient, focus, scale))
|
---|
| 384 | End Sub
|
---|
| 385 |
|
---|
| 386 | Sub Transform(matrix As Matrix)
|
---|
| 387 | SetStatus(GdipSetPathGradientTransform(nativeBrush As *GpPathGradient, matrix.NativeMatrix))
|
---|
| 388 | End Sub
|
---|
| 389 |
|
---|
| 390 | Function Transform() As Matrix
|
---|
| 391 | Dim matrix As *GpMatrix
|
---|
| 392 | SetStatus(GdipGetPathGradientTransform(nativeBrush As *GpPathGradient, matrix))
|
---|
| 393 | Transform = New Matrix(matrix)
|
---|
| 394 | End Function
|
---|
| 395 |
|
---|
| 396 | Sub ResetTransform()
|
---|
| 397 | SetStatus(GdipResetPathGradientTransform(nativeBrush As *GpPathGradient))
|
---|
| 398 | End Sub
|
---|
| 399 |
|
---|
| 400 | Sub MultiplyTransform(matrix As Drawing2D.Matrix, order /*= MatrixOrder.Prepend*/ As MatrixOrder)
|
---|
| 401 | SetStatus(GdipMultiplyPathGradientTransform(nativeBrush As *GpPathGradient, matrix.NativeMatrix, order))
|
---|
| 402 | End Sub
|
---|
| 403 |
|
---|
| 404 | Sub TranslateTransform(dx As Single, dy As Single, order /*= MatrixOrder.Prepend*/ As MatrixOrder)
|
---|
| 405 | SetStatus(GdipTranslatePathGradientTransform(nativeBrush As *GpPathGradient, dx, dy, order))
|
---|
| 406 | End Sub
|
---|
| 407 |
|
---|
| 408 | Sub ScaleTransform(sx As Single, sy As Single, order /*= MatrixOrder.Prepend*/ As MatrixOrder)
|
---|
| 409 | SetStatus(GdipScalePathGradientTransform(nativeBrush As *GpPathGradient, sx, sy, order))
|
---|
| 410 | End Sub
|
---|
| 411 |
|
---|
| 412 | Sub RotateTransform(angle As Single, order /*= MatrixOrder.Prepend*/ As MatrixOrder)
|
---|
| 413 | SetStatus(GdipRotatePathGradientTransform(nativeBrush As *GpPathGradient, angle, order))
|
---|
| 414 | End Sub
|
---|
| 415 |
|
---|
| 416 | Function FocusScales() As PointF
|
---|
| 417 | SetStatus(GdipGetPathGradientFocusScales(nativeBrush As *GpPathGradient, FocusScales.X, FocusScales.Y))
|
---|
| 418 | End Function
|
---|
| 419 |
|
---|
| 420 | Sub FocusScales(scale As PointF)
|
---|
| 421 | SetStatus(GdipSetPathGradientFocusScales(nativeBrush As *GpPathGradient, scale.X, scale.Y))
|
---|
| 422 | End Sub
|
---|
| 423 |
|
---|
| 424 | Sub WrapMode(wrapMode As WrapMode)
|
---|
| 425 | SetStatus(GdipSetPathGradientWrapMode(nativeBrush As *GpPathGradient, wrapMode))
|
---|
| 426 | End Sub
|
---|
| 427 | /*
|
---|
| 428 | Function WrapMode() As WrapMode
|
---|
| 429 | SetStatus(GdipGetPathGradientWrapMode(nativeBrush As *GpPathGradient, WrapMode))
|
---|
| 430 | End Function
|
---|
| 431 | */
|
---|
| 432 | Private
|
---|
| 433 | Static Function CreatePathGradient(points As *PointF, count As Long, wrapMode As WrapMode) As *GpPathGradient
|
---|
| 434 | SetStatus(GdipCreatePathGradient(points, count, wrapMode, CreatePathGradient))
|
---|
| 435 | End Function
|
---|
| 436 |
|
---|
| 437 | Static Function CreatePathGradientI(points As *Point, count As Long, wrapMode As WrapMode) As *GpPathGradient
|
---|
| 438 | SetStatus(GdipCreatePathGradientI(points, count, wrapMode, CreatePathGradientI))
|
---|
| 439 | End Function
|
---|
| 440 |
|
---|
| 441 | Static Function CreatePathGradientFromPath(path As *GpPath) As *GpPathGradient
|
---|
| 442 | SetStatus(GdipCreatePathGradientFromPath(path, CreatePathGradientFromPath))
|
---|
| 443 | End Function
|
---|
| 444 | End Class
|
---|
| 445 |
|
---|
| 446 | End Namespace
|
---|
| 447 |
|
---|
| 448 | End Namespace
|
---|
| 449 | End Namespace
|
---|