Libraries.Data.Formats.ScalableVectorGraphics.ScalableVectorGraphics Documentation

The ScalableVectorGraphics class is a ScalableVectorGraphicsObject that defines a coordinate system and viewport for which other elements can be added to. For an SVG file this class defines the outermost element but the SVG standard allows for another SVG to be embedded into an SVG document.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

    // make an svg with a circle
    ScalableVectorGraphics canvas
    canvas:SetSize(100,100)

    Circle circle
    circle:SetPosition(50, 50)
    circle:SetRadius(20)
    circle:SetFill("green")

    canvas:Add(circle)

    output canvas:ToText

Inherits from: Libraries.Language.Object, Libraries.Data.Formats.ScalableVectorGraphics.ScalableVectorGraphicsObject

Summary

Actions Summary Table

ActionsDescription
Add(Libraries.Data.Formats.ScalableVectorGraphics.ScalableVectorGraphicsObject object)This action adds other ScalableVectorGraphicsObjects as children to this object.
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns an integer.
Empty()This action removes all of the children that have been added.
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
GetCloseTag(text name, boolean container)This is an interal action that allows the ScalableVectorGraphicsObject generate the correct closing ta
GetColor()This action returns the color of the object.
GetDescription()This action will return the currently set description to a ScalableVectorGraphicsObject.
GetFill()This action returns the fill of the object.
GetHashCode()This action gets the hash code for an object.
GetHeight()This action returns the height of the viewport.
GetID()This action returns the id of the object.
GetPositionX()This action returns the x position of the viewport in the document.
GetPositionY()This action returns the y position of the viewport in the document.
GetStroke()This action returns the stroke of the object.
GetStrokeWidth()This action returns the stroke width of the object.
GetStyle()This action returns the style information of the object.
GetStyleClass()This action will give a class attribute to the SVG element.
GetTabIndex()This action returns the tab index of the object.
GetTitle()This action will return the currently set title of the object.
GetWidth()This action returns the width of the viewport.
GlobalAttributesToText()This is an interal action that allows the ScalableVectorGraphicsObject to write out its global attribute
IsContainer()This action is used internally by the system to designate whether the SVG element is a single tag or contains more objects within it.
IsTopLevel()This action will return whether or not the current object is set to be the top level element.
SetColor(text color)This action will give a color attribute to the SVG element.
SetDescription(text description)This action will give a description to a ScalableVectorGraphicsObject.
SetFill(text fill)This action will give a fill attribute to the SVG element.
SetHeight(integer height)This action sets the height of the ScalableVectorGraphics.
SetID(text id)This action will give an ID attribute to the SVG element.
SetIsContainer(boolean isContainer)This action is used internally by the system to designate whether the SVG element is a single tag or contains more objects within it.
SetIsTopLevel(boolean isTopLevel)This action sets whether or not this instance of ScalableVectorGraphics is outermost element of the SVG file.
SetPosition(integer x, integer y)This action sets the position of the ScalableVectorGraphics in the document.
SetPositionX(integer x)This action sets the x position of the ScalableVectorGraphics in the document.
SetPositionY(integer y)This action sets the y position of the ScalableVectorGraphics in the document.
SetSize(integer width, integer height)This action sets the width and height of the ScalableVectorGraphics.
SetStroke(text stroke)This action will give a stroke attribute to the SVG element.
SetStrokeWidth(number strokeWidth)This action sets the width of the stroke of the SVG element.
SetStrokeWidth(number strokeWidth, text unit)This action sets the width of the stroke of the SVG element along with which unit to use.
SetStyle(text style)This action will give a style attribute to the SVG element.
SetStyleClass(text styleClass)This action will give a class attribute to the SVG element.
SetTabIndex(integer tabIndex)This action will give the ScalableVectorGraphicsObject a tab index.
SetTitle(text title)This action will give a title to a ScalableVectorGraphicsObject.
SetViewBox(integer minX, integer minY, integer width, integer height)This action sets the view box of the ScalableVectorGraphics.
SetWidth(integer width)This action sets the width of the ScalableVectorGraphics.
ToText()This action takes all of the ScalableVectorGraphicsObjects added to this object and writes out all of the necessary tags and attributes to a string and returns that string.

Actions Documentation

Add(Libraries.Data.Formats.ScalableVectorGraphics.ScalableVectorGraphicsObject object)

This action adds other ScalableVectorGraphicsObjects as children to this object. When ScalableVectorGraphics is written out it will also write out all of the content of its children. To add other elements such as shapes and text to an SVG document this action must be used. Note that the order at which objects are drawn on the document corresponds to the order they were added using this action.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        Circle circle
        canvas:Add(circl

Parameters

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Example Code

Object o
        Object t
        integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smalle

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Empty()

This action removes all of the children that have been added.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        Circle circle
        canvas:Add(circle)

        canvas:Empty

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Example Code

use Libraries.Language.Object
        use Libraries.Language.Types.Text
        Object o
        Text t
        boolean result = o:Equals(

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

GetCloseTag(text name, boolean container)

This is an interal action that allows the ScalableVectorGraphicsObject generate the correct closing ta

Parameters

Return

text:

GetColor()

This action returns the color of the object.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetColor("navy")
        output circle:GetColor

Return

text: the color of the object.

GetDescription()

This action will return the currently set description to a ScalableVectorGraphicsObject.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetDescription("This is my circle and it will be blue")
        text myDescpription = circle:GetDescription

Return

text: The current text description of the object.

GetFill()

This action returns the fill of the object.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetFill("navy")
        output circle:GetFill

Return

text: the fill of the object.

GetHashCode()

This action gets the hash code for an object.

Example Code

Object o
        integer hash = o:GetHashCode

Return

integer: The integer hash code of the object.

GetHeight()

This action returns the height of the viewport.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        output canvas:GetHeight

Return

integer: the height of the viewport.

GetID()

This action returns the id of the object.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetID("My Circle")
        output circle:GetID

Return

text: the id of the object.

GetPositionX()

This action returns the x position of the viewport in the document.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        output canvas:GetPositionX

Return

integer: the x position of the viewport.

GetPositionY()

This action returns the y position of the viewport in the document.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        output canvas:GetPositionY

Return

integer: the y position of the viewport.

GetStroke()

This action returns the stroke of the object.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetStroke("navy")
        output circle:GetStroke

Return

text: the stroke of the object.

GetStrokeWidth()

This action returns the stroke width of the object. Since lengths can have varying units in SVG the unit will be appended to the returned length

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetStrokeWidth(5, "%")
        text strokeWidth = circle:GetStrokeWidth

Return

text: the stroke width with the unit appended if one was given.

GetStyle()

This action returns the style information of the object.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetStyle("fill: skyblue; stroke: navy;")
        output circle:GetStyle

Return

text: the style information of the object.

GetStyleClass()

This action will give a class attribute to the SVG element. This class can be for gerneral use by a web browser or for when using a styling sheet on the SVG file.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetStyleClass("circleClass

Return

text:

GetTabIndex()

This action returns the tab index of the object.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetTabIndex(5)
        output circle:GetTabIndex

Return

integer: the tab index of the object.

GetTitle()

This action will return the currently set title of the object.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetTitle("My Circle")
        text myTitle = circle:GetTitle

Return

text: The current title of the object.

GetWidth()

This action returns the width of the viewport.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        output canvas:GetWidth

Return

integer: the width of the viewport.

GlobalAttributesToText()

This is an interal action that allows the ScalableVectorGraphicsObject to write out its global attribute

Return

text:

IsContainer()

This action is used internally by the system to designate whether the SVG element is a single tag or contains more objects within it.

Return

boolean:

IsTopLevel()

This action will return whether or not the current object is set to be the top level element.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        canvas:SetIsTopLevel(fals

Return

boolean: true if this ScalableVectorGraphics is set to be top level, false otherwise.

SetColor(text color)

This action will give a color attribute to the SVG element. This attribute does not directly change an objects color. It provides a color for other attriubtes, such as fill and stroke that may not have a defined color, to inherit a color.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetColor("green

Parameters

SetDescription(text description)

This action will give a description to a ScalableVectorGraphicsObject. When an object has a non-empty description a description tag will be generated when the whole object is written out. A description in SVG functions similarly to the description of an image in HTML.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetDescription("This is my circle and it will be blue

Parameters

SetFill(text fill)

This action will give a fill attribute to the SVG element. This attribute may do different things depending on the type of SVG element. For shapes and text it will define the color used to paint the object

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetFill("green

Parameters

SetHeight(integer height)

This action sets the height of the ScalableVectorGraphics. This width and height affects the size of viewport of the SVG. ScalableVectorGraphics defines a coordinate system so elements that would be outside of this viewport are not visible.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        canvas:SetHeight(50

Parameters

SetID(text id)

This action will give an ID attribute to the SVG element. This is useful in contexts where you need to reference an SVG element by a name such as when using a styling sheet with the SVG file.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetID("circle1

Parameters

SetIsContainer(boolean isContainer)

This action is used internally by the system to designate whether the SVG element is a single tag or contains more objects within it.

Parameters

SetIsTopLevel(boolean isTopLevel)

This action sets whether or not this instance of ScalableVectorGraphics is outermost element of the SVG file. Setting this to false opens up the ability add the position attributes.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics innerCanvas
        innerCanvas:SetIsTopLevel(fals

Parameters

SetPosition(integer x, integer y)

This action sets the position of the ScalableVectorGraphics in the document. This has no effect if ScalableVectorGraphics is the top level element. Note that the x and y define the top left corner of the element in SVG.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        canvas:SetPosition(50,5

Parameters

SetPositionX(integer x)

This action sets the x position of the ScalableVectorGraphics in the document. This has no effect if ScalableVectorGraphics is the top level element. Note that the x and y define the top left corner of the element in SVG.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        canvas:SetPositionX(5

Parameters

SetPositionY(integer y)

This action sets the y position of the ScalableVectorGraphics in the document. This has no effect if ScalableVectorGraphics is the top level element. Note that the x and y define the top left corner of the element in SVG.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        canvas:SetPositionY(5

Parameters

SetSize(integer width, integer height)

This action sets the width and height of the ScalableVectorGraphics. This width and height affects the size of viewport of the SVG. ScalableVectorGraphics defines a coordinate system so elements that would be outside of this viewport are not visible.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        canvas:SetSize(500,50

Parameters

SetStroke(text stroke)

This action will give a stroke attribute to the SVG element. This attribute defines the color used to paint the outline of a shape. For shapes like lines that have no fill a stroke must be set so that the line will be visible.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetStroke("navy

Parameters

SetStrokeWidth(number strokeWidth)

This action sets the width of the stroke of the SVG element. Shapes with an outline have a stroke width.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetStrokeWidth(

Parameters

SetStrokeWidth(number strokeWidth, text unit)

This action sets the width of the stroke of the SVG element along with which unit to use. Shapes with an outline have a stroke width. In SVG, units are defined by unit identifiers giving by the CSS specification along with percentages.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetStrokeWidth(5, "%

Parameters

SetStyle(text style)

This action will give a style attribute to the SVG element. This attribute also for embedding CSS declarations inline with the SVG element. Use of this attribute requires knowledge of CSS.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetStyle("fill: skyblue; stroke: navy;

Parameters

SetStyleClass(text styleClass)

This action will give a class attribute to the SVG element. This class can be for gerneral use by a web browser or for when using a styling sheet on the SVG file.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetStyleClass("circleClass

Parameters

SetTabIndex(integer tabIndex)

This action will give the ScalableVectorGraphicsObject a tab index. A non-negative tab index attribute will allow the element to be focusable and it can define the relative order for sequential navigation with the tab key. If two objects have the same tab index then whichever was added first is first in the naviagation. Default is 0 which means the item is focusable.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle1
        Circle circle2
        Circle circle3
        circle1:SetTabIndex(1)
        circle2:SetTabIndex(2)
        circle3:SetTabIndex(

Parameters

SetTitle(text title)

This action will give a title to a ScalableVectorGraphicsObject. When an object has a non-empty title a title tag will be generated when the whole object is written out which will show the title as a popup box when hovering over the object in the final SVG file.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        Circle circle
        circle:SetTitle("My Circle

Parameters

SetViewBox(integer minX, integer minY, integer width, integer height)

This action sets the view box of the ScalableVectorGraphics. ScalableVectorGraphics define a coordinate system and the view box defines the position and dimension of the user sapce fills the viewport. The four parameters define the rectangle in user space that is then bound to the viewport of this SVG element. Note that the x and y define the top left corner of the element in SVG.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        canvas:SetViewBox(0,0,1000,100

Parameters

SetWidth(integer width)

This action sets the width of the ScalableVectorGraphics. This width and height affects the size of viewport of the SVG. ScalableVectorGraphics defines a coordinate system so elements that would be outside of this viewport are not visible.

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        canvas:SetWidth(50

Parameters

ToText()

This action takes all of the ScalableVectorGraphicsObjects added to this object and writes out all of the necessary tags and attributes to a string and returns that string. That string can then be pushed to file

Example Code

Libraries.Data.Formats.ScalableVectorGraphics.all

        ScalableVectorGraphics canvas
        output canvas:ToText

Return

text: the formatted string of all tags and objects in the SVG