# Grasshopper.GUI.Canvas namespace

Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

## Interfaces

- [IGH_CanvasValidator](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.igh-canvasvalidator.md): 'Interface used for limiting a collection of typical actions on the canvas. Do not implement this interface directly if you can help it, instead inherit from GH_CanvasValidator.
- [IGH_ResponsiveObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.igh-responsiveobject.md): If you wish to participate in Canvas UI events, you must implement this interface.
- [IGH_TooltipAwareObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.igh-tooltipawareobject.md): Implement this interface if you want your object to participate in Grasshopper Canvas tooltips.

## Classes

- [GH_Border](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-border.md): Represents a resizing border of a Grasshopper canvas object.
- [GH_Canvas](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.md): The GH_Canvas is the control that handles all mouse and paint events for a single loaded document.
- [GH_Canvas.GH_ImageSettings](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.gh-imagesettings.md): Settings class for high-resolution image output.
- [GH_CanvasDocumentChangedEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvasdocumentchangedeventargs.md): These arguments are used in the DocumentChanged event on GH_Canvas.
- [GH_CanvasDropTargetValidator](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvasdroptargetvalidator.md): Utility validator for restricting component creation.
- [GH_CanvasValidator](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvasvalidator.md): Abstract implementation of IGH_CanvasValidator. Inherit from this class rather than implementing IGH_CanvasValidator from scratch.
- [GH_CanvasViewportChangedEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvasviewportchangedeventargs.md): These arguments are used in the ViewportChanged event on GH_Canvas.
- [GH_CanvasWidgetListEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvaswidgetlisteventargs.md): The event arguments are used in the WidgetListCreated event.
- [GH_CanvasWireValidator](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvaswirevalidator.md): Utility validator for restricting wire creation.
- [GH_Capsule](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-capsule.md): Class used to draw standard Grasshopper interface boxes.
- [GH_CapsuleRenderEngine](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-capsulerenderengine.md): Provides basic Render methods for capsule display. You typically don't need this class, just use the Render() overloads on GH_Capsule directly.
- [GH_DocDiagramPainter](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-docdiagrampainter.md): This class paints diagrammatic images of a collection of objects.
- [GH_FilePanel](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-filepanel.md): A panel on the canvas that allows for recent files to be loaded.
- [GH_NamedView](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-namedview.md): Named views are used both to store named views but also to allow smooth programmatic canvas navigation.
- [GH_NavigationPaneDialog](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-navigationpanedialog.md)
- [GH_Painter](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-painter.md): This class performs most of the drawing operations required for Grasshopper Canvas controls.
- [GH_PaletteStyle](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-palettestyle.md): Contains all the colours for a single capsule palette.
- [GH_PopupSearchDialog](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-popupsearchdialog.md)
- [GH_ResizeBorder](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-resizeborder.md)
- [GH_Viewport](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-viewport.md): Provides functionality for panning and zooming in a GH_Canvas environment.

## Enums

- [GH_BorderTopology](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-bordertopology.md): Enumerates all possble border types.
- [GH_CanvasChannel](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvaschannel.md): Enumerates all the drawing channels that are handled inside the Grasshopper canvas.
- [GH_CanvasMode](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvasmode.md): Enumerates all pre-defined Canvas modes.
- [GH_CanvasNavigation](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvasnavigation.md): Enumerates all possible canvas navigations.
- [GH_DragDropFileAction](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-dragdropfileaction.md): Enumerates the possible actions for drag+drop loading ghx files.
- [GH_NamedViewType](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-namedviewtype.md): Types of named view anchor points.
- [GH_ObjectResponse](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-objectresponse.md): Lists the possible responses an object can give when confronted with a UI event.
- [GH_Orientation](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-orientation.md): Enumerates possible alignments.
- [GH_Palette](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-palette.md): Lists all possible Capsule Palette styles in Grasshopper.
- [GH_Viewport.GH_DisplayMatrix](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-viewport.gh-displaymatrix.md): Enumerates the possible Display Transformation matrices.
- [GH_WireDirection](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-wiredirection.md): Identifies a wire direction.
- [GH_WireType](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-wiretype.md): Enumerates the different kinds of connecting wires.

## Delegates

- [GH_Canvas.CanvasPaintBackgroundEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvaspaintbackgroundeventhandler.md)
- [GH_Canvas.CanvasPaintBeginEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvaspaintbegineventhandler.md)
- [GH_Canvas.CanvasPaintEndEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvaspaintendeventhandler.md)
- [GH_Canvas.CanvasPostPaintGroupsEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvaspostpaintgroupseventhandler.md)
- [GH_Canvas.CanvasPostPaintObjectsEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvaspostpaintobjectseventhandler.md)
- [GH_Canvas.CanvasPostPaintOverlayEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvaspostpaintoverlayeventhandler.md)
- [GH_Canvas.CanvasPostPaintWidgetsEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvaspostpaintwidgetseventhandler.md)
- [GH_Canvas.CanvasPostPaintWiresEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvaspostpaintwireseventhandler.md)
- [GH_Canvas.CanvasPrePaintGroupsEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvasprepaintgroupseventhandler.md)
- [GH_Canvas.CanvasPrePaintObjectsEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvasprepaintobjectseventhandler.md)
- [GH_Canvas.CanvasPrePaintOverlayEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvasprepaintoverlayeventhandler.md)
- [GH_Canvas.CanvasPrePaintWidgetsEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvasprepaintwidgetseventhandler.md)
- [GH_Canvas.CanvasPrePaintWiresEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.canvasprepaintwireseventhandler.md)
- [GH_Canvas.Document_ModifiedChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.document-modifiedchangedeventhandler.md)
- [GH_Canvas.Document_ObjectsAddedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.document-objectsaddedeventhandler.md)
- [GH_Canvas.Document_ObjectsDeletedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.document-objectsdeletedeventhandler.md)
- [GH_Canvas.Document_SettingsChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.document-settingschangedeventhandler.md)
- [GH_Canvas.DocumentChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.documentchangedeventhandler.md)
- [GH_Canvas.DocumentObjectMouseDownEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.documentobjectmousedowneventhandler.md)
- [GH_Canvas.DocumentObjectsDeletedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.documentobjectsdeletedeventhandler.md)
- [GH_Canvas.ModifiersChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.modifierschangedeventhandler.md)
- [GH_Canvas.NavigationSettingsChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.navigationsettingschangedeventhandler.md)
- [GH_Canvas.ViewportChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.viewportchangedeventhandler.md)
- [GH_Canvas.WidgetListCreatedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-canvas.widgetlistcreatedeventhandler.md)
- [GH_NamedView.SmoothFrameEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-namedview.smoothframeeventhandler.md)

## Modules

- [GH_Skin](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.canvas.gh-skin.md): Provides static access to typical Palletes and other GUI colours.
