Table of Contents

Namespace Northwoods.Go

Classes

Adornment

An Adornment is a special kind of Part that is associated with another Part, the AdornedPart.

Animation

Animations are used to animate GraphObject and Diagram properties.

AnimationManager

AnimationManager handles animations in a Northwoods.Go.AnimationManager.Diagram. Each Diagram has one, AnimationManager.

AnimationTrigger

An AnimationTrigger describes how to automatically animate a property on a GraphObject.

Builder

This static class allows for the creation of GraphObjects via predefined builders, and for the definition of custom builder functions.

ColumnDefinition

The ColumnDefinition class describes constraints on a column in a Panel of type PanelLayoutTable. It also provides information about the actual layout after the Table Panel has been arranged.

CommandHandler

The CommandHandler implements various commands such as DeleteSelection() or Redo(). The CommandHandler includes keyboard event handling to interpret key presses as commands.

Diagram

A Diagram is associated with a component within your application. Constructing a Diagram creates a the necessary page elements, along with other helpers elements.

DiagramEvent

A DiagramEvent represents a more abstract event than an InputEvent. They are raised on the Diagram class.

DraggingInfo

This is used in dragging methods to remember initial locations, for relative positioning and for cancellation.

DraggingOptions

This class contains options for dragging and moving parts.

Font

Defines a particular format for text, including font face, size, weight, and style.

Geometry

The Geometry class is used to define the "shape" of a Shape.

GradientPaint

A GradientPaint holds information describing how to draw a linear or radial gradient. GradientPaints are immutable.

GraphObject

This is the abstract base class for all graphical objects. Classes inheriting from GraphObject include: Shape, TextBlock, Picture, and Panel. From the Panel class the Part class is derived, from which the Node and Link classes derive.

Group

A Group is a Node that can contain a subgraph of Nodes and Links, which are members of the group.

ImageDataProperties

This class specifies optional properties passed to MakeImageData(ImageDataProperties).

ImageElement

Provides some kind of visual image for a Picture, with a reference to a System.Drawing.Image.

InputEvent

An InputEvent represents a mouse or keyboard or touch event.

Layer

Layers are how named collections of Parts are drawn in front or behind other collections of Parts in a Diagram.

LinearGradientPaint

A LinearGradientPaint describes how to draw a linear gradient.

Link

A Link is a Part that connects Nodes. The link relationship is directional, going from FromNode to ToNode. A link can connect to a specific port element in a node, as named by the FromPortId and ToPortId properties.

Node

A Node is a Part that may connect to other nodes with Links, or that may be a member of a Group.

Group inherits from Node, enabling nodes to logically contain other nodes and links.

Overview

An Overview is a Diagram that displays all of a different diagram, with a rectangular box showing the viewport displayed by that other diagram.

Paint

This is the abstract base class for all paints. A Paint holds color information and describes how a Brush will draw the inside of a Shape or the stroke of a shape or a TextBlock or the background of any GraphObject.

Palette

Palette extends the Diagram class to allow objects to be dragged and placed onto other Diagrams.

Panel

A Panel is a GraphObject that holds other GraphObjects as its elements. A Panel is responsible for sizing and positioning its elements. The elements of a panel are drawn in the order in which they appear in the Elements collection.

The Part class inherits from Panel; Part in turn is the base class of Node and Link.

PanelType

Contains strings to be used in the Panel(string) contructor.

Part

This is the base class for all user-manipulated top-level objects. Because it inherits from Panel, it is automatically a visual container of other GraphObjects. Because it thus also inherits from GraphObject, it also has properties such as ActualBounds, ContextMenu, and Visible.

PathFigure

A PathFigure represents a section of a Geometry. It is a single connected series of two-dimensional geometric PathSegments.

PathSegment

A PathSegment represents a straight line or curved segment of a path between two or more points that are part of a PathFigure.

Picture

A Picture is a GraphObject that shows an image, video-frame, or Canvas element.

Placeholder

If a Placeholder is in the visual tree of a Group, it represents the area of all of the member Parts of that Group. If a Placeholder is in the visual tree of an Adornment, it represents the area of the AdornedElement.

RadialGradientPaint

A RadialGradientPaint describes how to draw a radial gradient.

RowDefinition

The RowDefinition class describes constraints on a row in a Panel of type PanelLayoutTable. It also provides information about the actual layout after the Table Panel has been arranged.

Shape

A Shape is a GraphObject that shows a geometric figure. The Geometry determines what is drawn; the properties Fill and Stroke (and other stroke properties) determine how it is drawn.

SolidPaint

A SolidPaint holds information describing how to draw a solid color.

TextBlock

A TextBlock is a GraphObject that displays a Text string in a given Font.

Structs

Brush

A Brush holds color information and describes how to draw the inside of a Shape or the stroke of a shape or a TextBlock or the background of any GraphObject.

Margin

A Margin represents a band of space outside or inside a rectangular area, with possibly different values on each of the four sides.

Point

A Point represents an x- and y-coordinate pair in two-dimensional space.

Rect

A Rect describes a rectangular two-dimensional area as a top-left point (x and y values) and a size (width and height values).

Size

A Size describes a width and a height in two-dimensional coordinates. The width and height must both be non-negative.

Spot

A Spot represents a relative point from (0,0) to (1,1) within the bounds of a rectangular area plus an absolute offset.

Interfaces

IHostInfo

IHostInfo is used to show and hide custom elements with an associated value.

Currently this is only used for text editing.

IShowHidable

IShowHidable is used to show and hide elements, such as a context menus, tooltips, or text editors.

Enums

AnimationStyle

This enumeration specifies possible values for InitialAnimationStyle.

AutoScale

This enumeration specifies how the Diagram should attempt to scale its DocumentBounds into the view. Used for AutoScale.

ColorSpace

This enumeration describes possible values used for lightening and darkening.

CycleMode

This enumeration specifies how the Diagram should handle cycles in graphs. Used for ValidCycle.

DiagramEventName

This enumeration specifies the various names for DiagramEvents.

Flip

This enumeration specifies possible values for Flip and Flip.

FontStyle

This enumeration specifies possible values for Style.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

FontUnit

This enumeration specifies possible values for Unit.

FontWeight

This enumeration specifies possible values for Weight.

Format

This enumeration specifies possible values for Formatting.

GeometryStretch

This enumeration specifies possible values for GeometryStretch and DefaultStretch.

GeometryType

This enumeration specifies possible values for Type.

ImageStretch

This enumeration specifies possible values for ImageStretch.

LayoutConditions

This enumeration specifies possible values for LayoutConditions.

LineCap

This enumeration specifies possible values for StrokeCap.

LineJoin

This enumeration specifies possible values for StrokeJoin.

LinkAdjusting

This enumeration specifies possible values for Adjusting.

LinkCurve

This enumeration specifies possible values for Curve.

LinkRouting

This enumeration specifies possible values for Routing.

Orientation

This enumeration specifies possible values for SegmentOrientation.

Overflow

This enumeration specifies possible values for Overflow.

PortSpreading

This enumeration specifies possible values for PortSpreading.

ScrollMode

This enumeration specifices how a Diagram can be scrolled. Used for ScrollMode.

SegmentType

This enumeration specifies possible values for Type.

Sizing

This enumeration specifies how rows and columns deal with extra space. Used for Sizing and Sizing.

StartCondition

This enumeration specifices how an animation should be triggered. Used for StartCondition.

Stretch

This enumeration specifies possible values for Stretch.

TextAlign

This enumeration specifies possible values for TextAlign.

ViewboxStretch

This enumeration specifies possible values for ViewboxStretch.

Wrap

This enumeration specifies possible values for Wrap.

Delegates

AnimationFunction

Function that transforms the property values. It takes the animated object, start value, end value, easing function (the Easing), current time, duration, and animation state. It should modify one or more properties on the object.

EasingFunction

An EasingFunction describes how much to modify a scalar value based on the current time, the start value, the change in value, and the duration.