CanvasPlatform

ostrat.pgui.CanvasPlatform

An abstract Canvas interface implemented and to be implemented on various platforms. A concrete implementation will utilise canvas like an HTML canvas or a Scalafx canvas. This concrete implementation class must (can?) be mixed in with a a particular use trait like CanvSimple or CanvMulti. The default methods take the origin as the centre of the canvas. Note the Canvas Platform merely passes bare pointer event data to delegate functions. It does not process them in relation to objects painted on the Canvas.

It is really not a good idea to use this trait, use a sub class of this trait directly in your applications. You do not want to be thinking in terms of the imperative methods of this application. Use one of the provided classes like CanvasNoPanels or Canvas Panelled or create your own if the provided classes don't fulfill your needs.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Concise view

Value members

Abstract methods

Draws a circular arc on the canvas.

Draws a circular arc on the canvas.

Attributes

Side effecting procedure that draws a circle on the screen. Implemented by the target platform.

Side effecting procedure that draws a circle on the screen. Implemented by the target platform.

Attributes

Side effecting procedure that fills a circle. Implemented by the target platform.

Side effecting procedure that fills a circle. Implemented by the target platform.

Attributes

def circleFillRadial(circle: Circle, fill: FillRadial): Unit
def clear(colour: Colour): Unit
def clip(pts: Polygon): Unit

To be removed from CanvasPlatform.

To be removed from CanvasPlatform.

Attributes

Draws an elliptical arc on the canvas.

Draws an elliptical arc on the canvas.

Attributes

Side effecting procedure that draws an ellipse on the screen. Implemented by the target platform.

Side effecting procedure that draws an ellipse on the screen. Implemented by the target platform.

Attributes

Side effecting procedure that fills an ellipse on the screen. Implemented by the target platform.

Side effecting procedure that fills an ellipse on the screen. Implemented by the target platform.

Attributes

def gcSave(): Unit

Returns the system (Unix) time in milliseconds.

Returns the system (Unix) time in milliseconds.

Attributes

def loadFile(fileName: String): EMon[String]
protected def pLinePathDraw(pod: LinePathDraw): Unit
protected def pPolyDraw(pd: PolygonDraw): Unit
protected def pPolyFill(pf: PolygonFill): Unit
protected def pShapeGenDraw(sgd: ShapeGenDrawOld): Unit
protected def pShapeGenFill(sgf: ShapeGenFillOld): Unit
def saveFile(fileName: String, output: String): Unit
def timeOut(f: () => Unit, millis: Integer): Unit

A call back timer. Takes the delay in milliseconds

A call back timer. Takes the delay in milliseconds

Attributes

Concrete methods

def animSeq(anims: Seq[DispPhase]): Unit
def frame(f: (Integer, Integer) => Unit, startTime: Integer, frameLength: Integer): Unit

A callback timer with an elapsed time from a given start point. Although are in a general purpose form, the most common usage is for animations where things move dependent on how much time has passed. The function is of form: (elapsedTime(in milliseconds), Startime (in milliseconds) => Unit. The startTime is to be used to call the next frame at then end of the function, if another frame is needed.

A callback timer with an elapsed time from a given start point. Although are in a general purpose form, the most common usage is for animations where things move dependent on how much time has passed. The function is of form: (elapsedTime(in milliseconds), Startime (in milliseconds) => Unit. The startTime is to be used to call the next frame at then end of the function, if another frame is needed.

Attributes

def fromFileFind[A](fileName: String)(implicit ev: Unshow[A]): EMon[A]
def fromFileFindElse[A](fileName: String, elseValue: => A)(implicit ev: Unshow[A]): A
def fromFileFindForeach[A](fileName: String, f: A => Unit)(implicit ev: Unshow[A]): Unit

Attempts to find find and load file, attempts to parse the file, attempts to find object of type A. If all stages successful, calls procedure (Unit returning function) with that object of type A

Attempts to find find and load file, attempts to parse the file, attempts to find object of type A. If all stages successful, calls procedure (Unit returning function) with that object of type A

Attributes

def fromFileFindSetting[A](settingStr: String, fileName: String)(implicit ev: Unshow[A]): EMon[A]
def fromFileFindSettingElse[A](settingStr: String, fileName: String, elseValue: => A)(implicit ev: Unshow[A]): A
final def polygonDraw(pd: PolygonDraw): Unit
final def polygonFill(pf: PolygonFill): Unit
def startFrame(f: (Integer, Integer) => Unit, frameLength: Integer): Unit

The initial frame although are in a general purpose form, the most common usage is for animations where things move dependent on how much time has passed.

The initial frame although are in a general purpose form, the most common usage is for animations where things move dependent on how much time has passed.

Attributes

def startFramePermanent(f: Integer => Unit, millis: Integer): Unit
def toBL(input: Pt2): Pt2

Inherited methods

Attributes

Inherited from:
OrdinalEdgePoints

Attributes

Inherited from:
RectCenlign
final override def bottomLeft: Pt2

Attributes

Definition Classes
Inherited from:
RectCenlign
final override def bottomRight: Pt2

Attributes

Definition Classes
Inherited from:
RectCenlign

Attributes

Inherited from:
OrdinalEdgePoints
override def cen: Pt2

The centre of this geometric / graphical element. The centre will not change if the object type is capable of being rotated and is rotated. The cenDefault on other bounded elements may move relative to points on the object when the object is rotated.

The centre of this geometric / graphical element. The centre will not change if the object type is capable of being rotated and is rotated. The cenDefault on other bounded elements may move relative to points on the object when the object is rotated.

Attributes

Definition Classes
Inherited from:
RectCenlign

Attributes

Inherited from:
RectCenlign

The X component of the centre.

The X component of the centre.

Attributes

Inherited from:
RectCenlign

The Y component of the centre.

The Y component of the centre.

Attributes

Inherited from:
RectCenlign
def crossHairs(lineWidth: Double, lineColour: Colour): LinesDraw

Attributes

Inherited from:
RectCenlign
def gridLines(spacing: Double, colour: Colour, lineWidth: Double): LinesDraw

Not sure why spacing has got a minus sign

Not sure why spacing has got a minus sign

Attributes

Inherited from:
RectCenlign
def gridLines2Colours(spacing: Double, cenColour: Colour, otherColour: Colour, lineWidth: Double): RArr[LinesDraw]

Badly named I think, not sure why spacing has got a minus sign

Badly named I think, not sure why spacing has got a minus sign

Attributes

Inherited from:
RectCenlign

Attributes

Inherited from:
Rectangularlign

Attributes

Inherited from:
RectCenlign

Attributes

Inherited from:
RectCenlign

Attributes

Inherited from:
RectCenlign

Attributes

Inherited from:
OrdinalEdgePoints
def top: Double

Attributes

Inherited from:
RectCenlign
final override def topLeft: Pt2

Attributes

Definition Classes
Inherited from:
RectCenlign
final override def topRight: Pt2

Attributes

Definition Classes
Inherited from:
RectCenlign

Top right offset from centre.

Top right offset from centre.

Attributes

Inherited from:
OrdinalEdgePoints

Attributes

Inherited from:
Rectangularlign
final override def xBottomLeft: Double

Attributes

Definition Classes
Inherited from:
RectCenlign
final override def xBottomRight: Double

Attributes

Definition Classes
Inherited from:
RectCenlign
final override def xTopLeft: Double

Attributes

Definition Classes
Inherited from:
RectCenlign
final override def xTopRight: Double

Attributes

Definition Classes
Inherited from:
RectCenlign
final override def yBottomLeft: Double

Attributes

Definition Classes
Inherited from:
RectCenlign
final override def yBottomRight: Double

Attributes

Definition Classes
Inherited from:
RectCenlign
final override def yTopLeft: Double

Attributes

Definition Classes
Inherited from:
RectCenlign
final override def yTopRight: Double

Attributes

Definition Classes
Inherited from:
RectCenlign

Concrete fields

var keyUp: String => Unit

The canvas implementation will call this function when the mouse button is depressed. Named after Javascript command.

The canvas implementation will call this function when the mouse button is depressed. Named after Javascript command.

Attributes

The canvas implementation will call this function when a mouse button is released. Named after Javascript command.

The canvas implementation will call this function when a mouse button is released. Named after Javascript command.

Attributes

var resize: () => Unit