OxyPlot.Annotations.RectangleAnnotation.ps1
Set-StrictMode -Version 3 <# .SYNOPSIS Represents an annotation that shows a rectangle. .PARAMETER Fill Sets the fill color. .PARAMETER Stroke Sets the stroke color. .PARAMETER StrokeThickness Sets the stroke thickness. .PARAMETER MinimumX Sets the minimum X. .PARAMETER MaximumX Sets the maximum X. .PARAMETER MinimumY Sets the minimum Y. .PARAMETER MaximumY Sets the maximum Y. .PARAMETER Text Sets the annotation text. .PARAMETER TextPosition Sets the position of the text. If the value is DataPoint.Undefined, the default position of the text will be used. .PARAMETER TextHorizontalAlignment Sets the horizontal alignment of the text. .PARAMETER TextVerticalAlignment Sets the vertical alignment of the text. .PARAMETER TextRotation Sets the rotation of the text. .PARAMETER Layer Sets the rendering layer of the annotation. The default value is OxyPlot.Annotations.AnnotationLayer.AboveSeries. .PARAMETER XAxis Gets the X axis. .PARAMETER XAxisKey Sets the X axis key. .PARAMETER YAxis Gets the Y axis. .PARAMETER YAxisKey Sets the Y axis key. .PARAMETER Parent Gets the parent model of the element. .PARAMETER Font Sets the font. The default is null (use OxyPlot.PlotModel.DefaultFont. If the value is null, the DefaultFont of the parent PlotModel will be used. .PARAMETER FontSize Sets the size of the font. The default is double.NaN (use OxyPlot.PlotModel.DefaultFontSize). If the value is NaN, the DefaultFontSize of the parent PlotModel will be used. .PARAMETER FontWeight Sets the font weight. The default is FontWeights.Normal. .PARAMETER PlotModel Gets the parent OxyPlot.PlotElement.PlotModel. .PARAMETER Tag Sets an arbitrary object value that can be used to store custom information about this plot element. The default is null. This property is analogous to Tag properties in other Microsoft programming models. Tag is intended to provide a pre-existing property location where you can store some basic custom information about any PlotElement without requiring you to subclass an element. .PARAMETER TextColor Sets the color of the text. The default is OxyColors.Automatic (use OxyPlot.PlotModel.TextColor). If the value is OxyColors.Automatic, the TextColor of the parent PlotModel will be used. .PARAMETER ToolTip Sets the tool tip. The default is null. .PARAMETER ActualFont Gets the actual font. .PARAMETER ActualFontSize Gets the actual size of the font. .PARAMETER ActualFontWeight Gets the actual font weight. .PARAMETER ActualTextColor Gets the actual color of the text. .PARAMETER ActualCulture Gets the actual culture. The culture is defined in the parent PlotModel. .PARAMETER Selectable Sets a value indicating whether this element can be selected. The default is true. .PARAMETER SelectionMode Sets the selection mode of items in this element. The default is SelectionMode.All. This is only used by the select/unselect functionality, not by the rendering. .PARAMETER ActualSelectedColor Gets the actual selection color. .INPUTS #> function New-OxyRectangleAnnotation { [cmdletbinding()] [OutputType([OxyPlot.Annotations.RectangleAnnotation])] param( [double]$MinimumX, [double]$MaximumX, [double]$MinimumY, [double]$MaximumY, [ValidatePattern('AliceBlue|AntiqueWhite|Aqua|Aquamarine|Automatic|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenrod|DarkGray|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGray|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGray|DodgerBlue|Firebrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|Goldenrod|Gray|Green|GreenYellow|Honeydew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenrodYellow|LightGray|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGray|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquamarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenrod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGray|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Undefined|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen|(#?[0-9a-f]{1,8})')][string]$Fill, [ValidatePattern('AliceBlue|AntiqueWhite|Aqua|Aquamarine|Automatic|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenrod|DarkGray|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGray|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGray|DodgerBlue|Firebrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|Goldenrod|Gray|Green|GreenYellow|Honeydew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenrodYellow|LightGray|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGray|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquamarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenrod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGray|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Undefined|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen|(#?[0-9a-f]{1,8})')][string]$Stroke, [double]$StrokeThickness, [string]$Text, [OxyPlot.DataPoint]$TextPosition, [OxyPlot.HorizontalAlignment]$TextHorizontalAlignment, [OxyPlot.VerticalAlignment]$TextVerticalAlignment, [double]$TextRotation, [OxyPlot.Annotations.AnnotationLayer]$Layer, [string]$XAxisKey, [string]$YAxisKey, [string]$Font, [double]$FontSize, [double]$FontWeight, [System.Object]$Tag, [ValidatePattern('AliceBlue|AntiqueWhite|Aqua|Aquamarine|Automatic|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenrod|DarkGray|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGray|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGray|DodgerBlue|Firebrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|Goldenrod|Gray|Green|GreenYellow|Honeydew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenrodYellow|LightGray|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGray|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquamarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenrod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGray|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Undefined|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen|(#?[0-9a-f]{1,8})')][string]$TextColor, [string]$ToolTip, [bool]$Selectable, [OxyPlot.SelectionMode]$SelectionMode, [OxyPlot.Model]$Parent, [hashtable]$Options = @{}, [string]$Style = "default", [OxyPlot.PlotModel]$AddTo ) $a = New-Object OxyPlot.Annotations.RectangleAnnotation foreach ($key in $Options.Keys) { $a.$key = $Options[$key] } if ($PSBoundParameters.ContainsKey('MinimumX')) { $a.MinimumX = $MinimumX } if ($PSBoundParameters.ContainsKey('MaximumX')) { $a.MaximumX = $MaximumX } if ($PSBoundParameters.ContainsKey('MinimumY')) { $a.MinimumY = $MinimumY } if ($PSBoundParameters.ContainsKey('MaximumY')) { $a.MaximumY = $MaximumY } if ($PSBoundParameters.ContainsKey('Fill')) { $a.Fill = New-OxyColor $Fill } if ($PSBoundParameters.ContainsKey('Stroke')) { $a.Stroke = New-OxyColor $Stroke } if ($PSBoundParameters.ContainsKey('StrokeThickness')) { $a.StrokeThickness = $StrokeThickness } if ($PSBoundParameters.ContainsKey('Text')) { $a.Text = $Text } if ($PSBoundParameters.ContainsKey('TextPosition')) { $a.TextPosition = $TextPosition } if ($PSBoundParameters.ContainsKey('TextHorizontalAlignment')) { $a.TextHorizontalAlignment = $TextHorizontalAlignment } if ($PSBoundParameters.ContainsKey('TextVerticalAlignment')) { $a.TextVerticalAlignment = $TextVerticalAlignment } if ($PSBoundParameters.ContainsKey('TextRotation')) { $a.TextRotation = $TextRotation } if ($PSBoundParameters.ContainsKey('Layer')) { $a.Layer = $Layer } if ($PSBoundParameters.ContainsKey('XAxisKey')) { $a.XAxisKey = $XAxisKey } if ($PSBoundParameters.ContainsKey('YAxisKey')) { $a.YAxisKey = $YAxisKey } if ($PSBoundParameters.ContainsKey('Font')) { $a.Font = $Font } if ($PSBoundParameters.ContainsKey('FontSize')) { $a.FontSize = $FontSize } if ($PSBoundParameters.ContainsKey('FontWeight')) { $a.FontWeight = $FontWeight } if ($PSBoundParameters.ContainsKey('Tag')) { $a.Tag = $Tag } if ($PSBoundParameters.ContainsKey('TextColor')) { $a.TextColor = New-OxyColor $TextColor } if ($PSBoundParameters.ContainsKey('ToolTip')) { $a.ToolTip = $ToolTip } if ($PSBoundParameters.ContainsKey('Selectable')) { $a.Selectable = $Selectable } if ($PSBoundParameters.ContainsKey('SelectionMode')) { $a.SelectionMode = $SelectionMode } if ($PSBoundParameters.ContainsKey('Parent')) { $a.Parent = $Parent } if ($AddTo -ne $null) { $AddTo.Annotations.Add($a) $AddTo.InvalidatePlot($false) } else { $a } } |