Skip to content

GeoGraphicsView

Namespace: ThinkGeo.UI.Maui

Provides drawing helpers backed by GraphicsView for overlay rendering.

public class GeoGraphicsView : Microsoft.Maui.Controls.GraphicsView, System.ComponentModel.INotifyPropertyChanged, Microsoft.Maui.Controls.Internals.IDynamicResourceHandler, Microsoft.Maui.Controls.IElementDefinition, Microsoft.Maui.Controls.Internals.INameScope, Microsoft.Maui.Controls.IElementController, Microsoft.Maui.IVisualTreeElement, Microsoft.Maui.IElement, Microsoft.Maui.Controls.IEffectControlProvider, Microsoft.Maui.IToolTipElement, Microsoft.Maui.IContextFlyoutElement, Microsoft.Maui.Controls.IControlsElement, Microsoft.Maui.IHandlerDisconnectPolicies, Microsoft.Maui.Controls.StyleSheets.IStyleSelectable, Microsoft.Maui.Controls.Internals.INavigationProxy, Microsoft.Maui.Controls.IAnimatable, Microsoft.Maui.Controls.IVisualElementController, Microsoft.Maui.Controls.IResourcesProvider, Microsoft.Maui.Controls.IStyleElement, Microsoft.Maui.Controls.IFlowDirectionController, Microsoft.Maui.Controls.IPropertyPropagationController, Microsoft.Maui.Controls.IVisualController, Microsoft.Maui.Controls.IWindowController, Microsoft.Maui.IView, Microsoft.Maui.ITransform, Microsoft.Maui.Controls.IControlsVisualElement, Microsoft.Maui.IConstrainedView, Microsoft.Maui.Controls.StyleSheets.IStylable, Microsoft.Maui.Controls.IViewController, Microsoft.Maui.Controls.Internals.IGestureController, Microsoft.Maui.Controls.IGestureRecognizers, Microsoft.Maui.IPropertyMapperView, Microsoft.Maui.HotReload.IHotReloadableView, Microsoft.Maui.IReplaceableView, Microsoft.Maui.Controls.IControlsView, Microsoft.Maui.IGraphicsView

Inheritance object → BindableObject → Element → StyleableElement → NavigableElement → VisualElement → View → GraphicsView → GeoGraphicsView
Implements INotifyPropertyChanged, IDynamicResourceHandler, IElementDefinition, INameScope, IElementController, IVisualTreeElement, IElement, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IControlsElement, IHandlerDisconnectPolicies, IStyleSelectable, INavigationProxy, IAnimatable, IVisualElementController, IResourcesProvider, IStyleElement, IFlowDirectionController, IPropertyPropagationController, IVisualController, IWindowController, IView, ITransform, IControlsVisualElement, IConstrainedView, IStylable, IViewController, IGestureController, IGestureRecognizers, IPropertyMapperView, IHotReloadableView, IReplaceableView, IControlsView, IGraphicsView

Fields

transientNamescope

public INameScope transientNamescope;

Properties

Drawable

public IDrawable Drawable { get; set; }

Property Value

IDrawable

GestureRecognizers

public IList<IGestureRecognizer> GestureRecognizers { get; }

Property Value

IList<IGestureRecognizer>

HorizontalOptions

public LayoutOptions HorizontalOptions { get; set; }

Property Value

LayoutOptions

Margin

public Thickness Margin { get; set; }

Property Value

Thickness

VerticalOptions

public LayoutOptions VerticalOptions { get; set; }

Property Value

LayoutOptions

Visual

public IVisual Visual { get; set; }

Property Value

IVisual

FlowDirection

public FlowDirection FlowDirection { get; set; }

Property Value

FlowDirection

Window

public Window Window { get; }

Property Value

Window

AnchorX

public double AnchorX { get; set; }

Property Value

double

AnchorY

public double AnchorY { get; set; }

Property Value

double

BackgroundColor

public Color BackgroundColor { get; set; }

Property Value

Color

Background

public Brush Background { get; set; }

Property Value

Brush

Behaviors

public IList<Behavior> Behaviors { get; }

Property Value

IList<Behavior>

Bounds

public Rect Bounds { get; }

Property Value

Rect

Height

public double Height { get; }

Property Value

double

HeightRequest

public double HeightRequest { get; set; }

Property Value

double

InputTransparent

public bool InputTransparent { get; set; }

Property Value

bool

IsEnabled

public bool IsEnabled { get; set; }

Property Value

bool

IsFocused

public bool IsFocused { get; }

Property Value

bool

IsVisible

public bool IsVisible { get; set; }

Property Value

bool

MinimumHeightRequest

public double MinimumHeightRequest { get; set; }

Property Value

double

MinimumWidthRequest

public double MinimumWidthRequest { get; set; }

Property Value

double

MaximumHeightRequest

public double MaximumHeightRequest { get; set; }

Property Value

double

MaximumWidthRequest

public double MaximumWidthRequest { get; set; }

Property Value

double

Opacity

public double Opacity { get; set; }

Property Value

double

Rotation

public double Rotation { get; set; }

Property Value

double

RotationX

public double RotationX { get; set; }

Property Value

double

RotationY

public double RotationY { get; set; }

Property Value

double

Scale

public double Scale { get; set; }

Property Value

double

ScaleX

public double ScaleX { get; set; }

Property Value

double

ScaleY

public double ScaleY { get; set; }

Property Value

double

TranslationX

public double TranslationX { get; set; }

Property Value

double

TranslationY

public double TranslationY { get; set; }

Property Value

double

Triggers

public IList<TriggerBase> Triggers { get; }

Property Value

IList<TriggerBase>

Width

public double Width { get; }

Property Value

double

WidthRequest

public double WidthRequest { get; set; }

Property Value

double

X

public double X { get; }

Property Value

double

Y

public double Y { get; }

Property Value

double

Clip

public Geometry Clip { get; set; }

Property Value

Geometry

Batched

public bool Batched { get; }

Property Value

bool

DisableLayout

public bool DisableLayout { get; set; }

Property Value

bool

IsInPlatformLayout

public bool IsInPlatformLayout { get; set; }

Property Value

bool

IsPlatformStateConsistent

public bool IsPlatformStateConsistent { get; set; }

Property Value

bool

IsPlatformEnabled

public bool IsPlatformEnabled { get; set; }

Property Value

bool

Resources

public ResourceDictionary Resources { get; set; }

Property Value

ResourceDictionary

Frame

public Rect Frame { get; set; }

Property Value

Rect

Handler

public IViewHandler Handler { get; set; }

Property Value

IViewHandler

Shadow

public Shadow Shadow { get; set; }

Property Value

Shadow

ZIndex

public int ZIndex { get; set; }

Property Value

int

DesiredSize

public Size DesiredSize { get; protected set; }

Property Value

Size

IsLoaded

public bool IsLoaded { get; }

Property Value

bool

public INavigation Navigation { get; internal set; }

Property Value

INavigation

public NavigationProxy NavigationProxy { get; }

Property Value

NavigationProxy

Style

public Style Style { get; set; }

Property Value

Style

StyleClass

public IList<string> StyleClass { get; set; }

Property Value

IList<string>

class

public IList<string> class { get; set; }

Property Value

IList<string>

AutomationId

public string AutomationId { get; set; }

Property Value

string

ClassId

public string ClassId { get; set; }

Property Value

string

Effects

public IList<Effect> Effects { get; }

Property Value

IList<Effect>

Id

public Guid Id { get; }

Property Value

Guid

StyleId

public string StyleId { get; set; }

Property Value

string

LogicalChildren

public ReadOnlyCollection<Element> LogicalChildren { get; }

Property Value

ReadOnlyCollection<Element>

RealParent

public Element RealParent { get; }

Property Value

Element

Parent

public Element Parent { get; set; }

Property Value

Element

EffectControlProvider

public IEffectControlProvider EffectControlProvider { get; set; }

Property Value

IEffectControlProvider

Handler

public IElementHandler Handler { get; set; }

Property Value

IElementHandler

Dispatcher

public IDispatcher Dispatcher { get; }

Property Value

IDispatcher

BindingContext

public object BindingContext { get; set; }

Property Value

object

Constructors

GeoGraphicsView()

Initializes a new instance of the GeoGraphicsView class.

public GeoGraphicsView()

Methods

Clear()

Clears all scheduled drawing operations.

public void Clear()

Returns

void

GetColorFromGeoColor(GeoColor)

Converts a GeoColor to a MAUI graphics color.

public Color GetColorFromGeoColor(GeoColor geoColor)

Parameters

geoColor GeoColor
The color to convert.

Returns

Color
The MAUI color representation.

AddEllipse(ScreenPointF, float, float, GeoPen, GeoBrush, float, float)

Adds an ellipse drawing operation to the render queue.

public void AddEllipse(ScreenPointF screenPoint, float width, float height, GeoPen outlinePen, GeoBrush fillBrush, float xOffset, float yOffset)

Parameters

screenPoint ScreenPointF
The center point of the ellipse in screen coordinates.

width float
The ellipse width.

height float
The ellipse height.

outlinePen GeoPen
The pen used to outline the ellipse.

fillBrush GeoBrush
The brush used to fill the ellipse.

xOffset float
The horizontal offset applied to the drawing.

yOffset float
The vertical offset applied to the drawing.

Returns

void

AddLine(IEnumerable<ScreenPointF>, GeoPen, float, float)

Adds a polyline drawing operation to the render queue.

public void AddLine(IEnumerable<ScreenPointF> screenPoints, GeoPen linePen, float xOffset, float yOffset)

Parameters

screenPoints IEnumerable<ScreenPointF>
The ordered list of points defining the line.

linePen GeoPen
The pen used to draw the line.

xOffset float
The horizontal offset applied to the drawing.

yOffset float
The vertical offset applied to the drawing.

Returns

void

AddPolygon(IEnumerable<ScreenPointF[]>, GeoPen, GeoBrush, DrawingLevel, float, float, PenBrushDrawingOrder)

Adds a polygon drawing operation to the render queue.

public void AddPolygon(IEnumerable<ScreenPointF[]> screenPoints, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)

Parameters

screenPoints IEnumerable<ScreenPointF[]>
The collection of polygon rings, each expressed as screen points.

outlinePen GeoPen
The pen used to draw polygon borders.

fillBrush GeoBrush
The brush used to fill polygons.

drawingLevel DrawingLevel
The drawing level for ordering purposes.

xOffset float
The horizontal offset applied to the drawing.

yOffset float
The vertical offset applied to the drawing.

penBrushDrawingOrder PenBrushDrawingOrder
Determines whether the pen or brush is applied first.

Returns

void

AddText(string, GeoFont, GeoBrush, GeoPen, IEnumerable<ScreenPointF>, DrawingLevel, float, float, DrawingTextAlignment, float)

Adds a text drawing operation to the render queue.

public void AddText(string text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, IEnumerable<ScreenPointF> textPathInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, DrawingTextAlignment drawingTextAlignment, float rotateAngle)

Parameters

text string
The text to draw.

font GeoFont
The font used for rendering.

fillBrush GeoBrush
The brush used to fill the text.

haloPen GeoPen
The pen used for halo/outline effects.

textPathInScreen IEnumerable<ScreenPointF>
The path defining the text location.

drawingLevel DrawingLevel
The drawing level for ordering purposes.

xOffset float
The horizontal offset applied to the drawing.

yOffset float
The vertical offset applied to the drawing.

drawingTextAlignment DrawingTextAlignment
The text alignment relative to the first point.

rotateAngle float
The rotation angle applied to the text.

Returns

void

Events

StartHoverInteraction

public event EventHandler<TouchEventArgs> StartHoverInteraction;

MoveHoverInteraction

public event EventHandler<TouchEventArgs> MoveHoverInteraction;

EndHoverInteraction

public event EventHandler EndHoverInteraction;

StartInteraction

public event EventHandler<TouchEventArgs> StartInteraction;

DragInteraction

public event EventHandler<TouchEventArgs> DragInteraction;

EndInteraction

public event EventHandler<TouchEventArgs> EndInteraction;

CancelInteraction

public event EventHandler CancelInteraction;

ChildrenReordered

public event EventHandler ChildrenReordered;

Focused

public event EventHandler<FocusEventArgs> Focused;

MeasureInvalidated

public event EventHandler MeasureInvalidated;

SizeChanged

public event EventHandler SizeChanged;

Unfocused

public event EventHandler<FocusEventArgs> Unfocused;

BatchCommitted

public event EventHandler<EventArg<VisualElement>> BatchCommitted;

FocusChangeRequested

public event EventHandler<FocusRequestArgs> FocusChangeRequested;

Loaded

public event EventHandler Loaded;

Unloaded

public event EventHandler Unloaded;

ChildAdded

public event EventHandler<ElementEventArgs> ChildAdded;

ChildRemoved

public event EventHandler<ElementEventArgs> ChildRemoved;

DescendantAdded

public event EventHandler<ElementEventArgs> DescendantAdded;

DescendantRemoved

public event EventHandler<ElementEventArgs> DescendantRemoved;

ParentChanging

public event EventHandler<ParentChangingEventArgs> ParentChanging;

ParentChanged

public event EventHandler ParentChanged;

HandlerChanging

public event EventHandler<HandlerChangingEventArgs> HandlerChanging;

HandlerChanged

public event EventHandler HandlerChanged;

PropertyChanged

public event PropertyChangedEventHandler PropertyChanged;

PropertyChanging

public event PropertyChangingEventHandler PropertyChanging;

BindingContextChanged

public event EventHandler BindingContextChanged;