Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1947)

Unified Diff: skia/animator/SkAnimateSchema.xsd

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « skia/animator/SkAnimateProperties.h ('k') | skia/animator/SkAnimateSchema.xsx » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/animator/SkAnimateSchema.xsd
===================================================================
--- skia/animator/SkAnimateSchema.xsd (revision 16859)
+++ skia/animator/SkAnimateSchema.xsd (working copy)
@@ -1,2787 +0,0 @@
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-xmlns:Sk="urn:screenplay" targetNamespace="urn:screenplay">
-
- <!-- /** Animate
- An ID of an element of type <animate> or <set>
- */ -->
- <xs:simpleType name="Animate">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** 3D_Point
- An array of three floats in ECMAScript notation: [x, y, z].
- */ -->
- <xs:simpleType name="3D_Point">
- <xs:restriction base="xs:string">
- <xs:pattern value="[+-]?([0-9]*\.[0-9]+|[0-9]+\.?)( *, *[+-]?([0-9]*\.[0-9]+|[0-9]+\.?)){2}" />
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** ARGB
- The red, green, blue, and optional alpha color components.
- */ -->
- <xs:simpleType name="ARGB">
- <xs:restriction base="xs:string">
- <!-- @pattern #[0-9a-fA-F]{3} #rgb contains three hexadecimal digits. #rgb is equivalent to 0xFFrrggbb. -->
- <xs:pattern value="#[0-9a-fA-F]{3}"/>
- <!-- @pattern #[0-9a-fA-F]{4} #argb contains four hexadecimal digits. #argb is equivalent to 0xaarrggbb. -->
- <xs:pattern value="#[0-9a-fA-F]{4}"/>
- <!-- @pattern #[0-9a-fA-F]{6} #rrggbb contains six hexadecimal digits. #rrggbb is equivalent to 0xFFrrggbb. -->
- <xs:pattern value="#[0-9a-fA-F]{6}"/>
- <!-- @pattern #[0-9a-fA-F]{8} #aarrggbb contains eight hexadecimal digits. #aarrggbb is equivalent to 0xaarrggbb. -->
- <xs:pattern value="#[0-9a-fA-F]{8}"/>
- <!-- @pattern 0[xX][0-9a-fA-F]{8} 0xaarrggbb describes the color as a packed hexadecimal; each pair of digits
- corresponds to alpha, red, green, and blue respectively. -->
- <xs:pattern value="0[xX][0-9a-fA-F]{8}"/>
- <!-- @pattern rgb\(\d+{1,3},\d+{1,3},\d+{1,3}\) rgb(r, g, b) describes color with three integers ranging from 0 to 255,
- corresponding to red, green, and blue respectively. -->
- <xs:pattern value="rgb\(\d+{1,3},\d+{1,3},\d+{1,3}\)"/>
- <!-- @patternList Color can be described by the following standard CSS color names. -->
- <xs:pattern value="aliceblue"/>
- <xs:pattern value="antiquewhite"/>
- <xs:pattern value="aqua"/>
- <xs:pattern value="aquamarine"/>
- <xs:pattern value="azure"/>
- <xs:pattern value="beige"/>
- <xs:pattern value="bisque"/>
- <xs:pattern value="black"/>
- <xs:pattern value="blanchedalmond"/>
- <xs:pattern value="blue"/>
- <xs:pattern value="blueviolet"/>
- <xs:pattern value="brown"/>
- <xs:pattern value="burlywood"/>
- <xs:pattern value="cadetblue"/>
- <xs:pattern value="chartreuse"/>
- <xs:pattern value="chocolate"/>
- <xs:pattern value="coral"/>
- <xs:pattern value="cornflowerblue"/>
- <xs:pattern value="cornsilk"/>
- <xs:pattern value="crimson"/>
- <xs:pattern value="cyan"/>
- <xs:pattern value="darkblue"/>
- <xs:pattern value="darkcyan"/>
- <xs:pattern value="darkgoldenrod"/>
- <xs:pattern value="darkgray"/>
- <xs:pattern value="darkgreen"/>
- <xs:pattern value="darkkhaki"/>
- <xs:pattern value="darkmagenta"/>
- <xs:pattern value="darkolivegreen"/>
- <xs:pattern value="darkorange"/>
- <xs:pattern value="darkorchid"/>
- <xs:pattern value="darkred"/>
- <xs:pattern value="darksalmon"/>
- <xs:pattern value="darkseagreen"/>
- <xs:pattern value="darkslateblue"/>
- <xs:pattern value="darkslategray"/>
- <xs:pattern value="darkturquoise"/>
- <xs:pattern value="darkviolet"/>
- <xs:pattern value="deeppink"/>
- <xs:pattern value="deepskyblue"/>
- <xs:pattern value="dimgray"/>
- <xs:pattern value="dodgerblue"/>
- <xs:pattern value="firebrick"/>
- <xs:pattern value="floralwhite"/>
- <xs:pattern value="forestgreen"/>
- <xs:pattern value="fuchsia"/>
- <xs:pattern value="gainsboro"/>
- <xs:pattern value="ghostwhite"/>
- <xs:pattern value="gold"/>
- <xs:pattern value="goldenrod"/>
- <xs:pattern value="gray"/>
- <xs:pattern value="green"/>
- <xs:pattern value="greenyellow"/>
- <xs:pattern value="honeydew"/>
- <xs:pattern value="hotpink"/>
- <xs:pattern value="indianred"/>
- <xs:pattern value="indigo"/>
- <xs:pattern value="ivory"/>
- <xs:pattern value="khaki"/>
- <xs:pattern value="lavender"/>
- <xs:pattern value="lavenderblush"/>
- <xs:pattern value="lawngreen"/>
- <xs:pattern value="lemonchiffon"/>
- <xs:pattern value="lightblue"/>
- <xs:pattern value="lightcoral"/>
- <xs:pattern value="lightcyan"/>
- <xs:pattern value="lightgoldenrodyellow"/>
- <xs:pattern value="lightgreen"/>
- <xs:pattern value="lightgrey"/>
- <xs:pattern value="lightpink"/>
- <xs:pattern value="lightsalmon"/>
- <xs:pattern value="lightseagreen"/>
- <xs:pattern value="lightskyblue"/>
- <xs:pattern value="lightslategray"/>
- <xs:pattern value="lightsteelblue"/>
- <xs:pattern value="lightyellow"/>
- <xs:pattern value="lime"/>
- <xs:pattern value="limegreen"/>
- <xs:pattern value="linen"/>
- <xs:pattern value="magenta"/>
- <xs:pattern value="maroon"/>
- <xs:pattern value="mediumaquamarine"/>
- <xs:pattern value="mediumblue"/>
- <xs:pattern value="mediumorchid"/>
- <xs:pattern value="mediumpurple"/>
- <xs:pattern value="mediumseagreen"/>
- <xs:pattern value="mediumslateblue"/>
- <xs:pattern value="mediumspringgreen"/>
- <xs:pattern value="mediumturquoise"/>
- <xs:pattern value="mediumvioletred"/>
- <xs:pattern value="midnightblue"/>
- <xs:pattern value="mintcream"/>
- <xs:pattern value="mistyrose"/>
- <xs:pattern value="moccasin"/>
- <xs:pattern value="navajowhite"/>
- <xs:pattern value="navy"/>
- <xs:pattern value="oldlace"/>
- <xs:pattern value="olive"/>
- <xs:pattern value="olivedrab"/>
- <xs:pattern value="orange"/>
- <xs:pattern value="orangered"/>
- <xs:pattern value="orchid"/>
- <xs:pattern value="palegoldenrod"/>
- <xs:pattern value="palegreen"/>
- <xs:pattern value="paleturquoise"/>
- <xs:pattern value="palevioletred"/>
- <xs:pattern value="papayawhip"/>
- <xs:pattern value="peachpuff"/>
- <xs:pattern value="peru"/>
- <xs:pattern value="pink"/>
- <xs:pattern value="plum"/>
- <xs:pattern value="powderblue"/>
- <xs:pattern value="purple"/>
- <xs:pattern value="red"/>
- <xs:pattern value="rosybrown"/>
- <xs:pattern value="royalblue"/>
- <xs:pattern value="saddlebrown"/>
- <xs:pattern value="salmon"/>
- <xs:pattern value="sandybrown"/>
- <xs:pattern value="seagreen"/>
- <xs:pattern value="seashell"/>
- <xs:pattern value="sienna"/>
- <xs:pattern value="silver"/>
- <xs:pattern value="skyblue"/>
- <xs:pattern value="slateblue"/>
- <xs:pattern value="slategray"/>
- <xs:pattern value="snow"/>
- <xs:pattern value="springgreen"/>
- <xs:pattern value="steelblue"/>
- <xs:pattern value="tan"/>
- <xs:pattern value="teal"/>
- <xs:pattern value="thistle"/>
- <xs:pattern value="tomato"/>
- <xs:pattern value="turquoise"/>
- <xs:pattern value="violet"/>
- <xs:pattern value="wheat"/>
- <xs:pattern value="white"/>
- <xs:pattern value="whitesmoke"/>
- <xs:pattern value="yellow"/>
- <!--@patternListLast -->
- <xs:pattern value="yellowgreen"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** AddMode
- AddMode controls how the add element adds its referenced element to the
- display list. By default, the referenced element remains in the add element
- so that the add element's use attribute may be animated to change the
- element it refers to. Setting the mode attribute to "immediate" causes the
- add element to put the referenced element in the display list directly.
- The move and replace elements are not affected by the mode attribute;
- they always move or replace the referenced element directly.
- */ -->
- <xs:simpleType name="AddMode">
- <xs:restriction base="xs:string">
- <!-- @pattern immediate Puts the referenced element in the display list. -->
- <xs:pattern value="immediate"/>
- <!-- @pattern indirect Puts the containing element in the display list. -->
- <xs:pattern value="indirect"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Align
- Align places text to the left, center, or right of the text position.
- */ -->
- <xs:simpleType name="Align">
- <xs:restriction base="xs:string">
- <!-- @pattern left The first character in the text string is drawn at the text position. -->
- <xs:pattern value="left"/>
- <!-- @pattern center The text string is measured and centered on the text position. -->
- <xs:pattern value="center"/>
- <!-- @pattern right The last character in the text string is drawn to the left of the text position. -->
- <xs:pattern value="right"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** ApplyMode
- ApplyMode affects how the apply element animates values.
- */ -->
- <xs:simpleType name="ApplyMode">
- <xs:restriction base="xs:string">
- <!-- @pattern immediate Iterates through all animation values immediately. -->
- <xs:pattern value="immediate"/>
- <!-- @pattern once Performs the animation at once without adding the scope to
- the display list. -->
- <xs:pattern value="once"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** ApplyTransition
- ApplyTransition affects how the apply element sets the time of the animators.
- */ -->
- <xs:simpleType name="ApplyTransition">
- <xs:restriction base="xs:string">
- <!-- @pattern reverse Performs the animation in reverse. -->
- <xs:pattern value="reverse"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Base64
- Base64 describes 8 bit binary using 64 character values.
- See http://rfc.net/rfc2045.html for the base64 format.
- */ -->
- <xs:simpleType name="Base64">
- <xs:restriction base="xs:string">
- <xs:pattern value="[A-Za-z0-9+/ ]+"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** BaseBitmap
- A reference to an image like a JPEG, GIF, or PNG; or a reference to a bitmap element
- that has been drawn into with a drawTo element.
- */ -->
- <xs:simpleType name="BaseBitmap">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** BitmapEncoding
- Used to specify the compression format for writing an image file with the snapshot element.
- */ -->
- <xs:simpleType name="BitmapEncoding">
- <xs:restriction base="xs:string">
- <!-- @pattern jpeg See http://www.jpeg.org/jpeg/ for more information about JPEG. -->
- <xs:pattern value="jpeg"/>
- <!-- @pattern png See http://www.libpng.org/pub/png/ for more information about PNG. -->
- <xs:pattern value="png"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** BitmapFormat
- Determines the number of bits per pixel in a bitmap.
- */ -->
- <xs:simpleType name="BitmapFormat">
- <xs:restriction base="xs:string">
- <xs:pattern value="none"/>
- <!-- @pattern A1 1-bit per pixel, (0 is transparent, 1 is opaque). -->
- <xs:pattern value="A1"/>
- <!-- @pattern A8 8-bits per pixel, with only alpha specified (0 is transparent, 0xFF is opaque). -->
- <xs:pattern value="A8"/>
- <!-- @pattern Index8 8-bits per pixel, using a ColorTable element to specify the colors. -->
- <xs:pattern value="Index8"/>
- <!-- @pattern RGB16 16-bits per pixel, compile-time configured to be either 555 or 565. -->
- <xs:pattern value="RGB16"/>
- <!-- @pattern RGB32 32-bits per pixel, plus alpha. -->
- <xs:pattern value="RGB32"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Boolean
- Either "true" (non-zero) or "false" (zero).
- */ -->
- <xs:simpleType name="Boolean">
- <xs:restriction base="xs:string">
- <xs:pattern value="false"/>
- <xs:pattern value="true"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Cap
- The values for the strokeCap attribute.
- */ -->
- <xs:simpleType name="Cap">
- <xs:restriction base="xs:string">
- <!-- @pattern butt begin and end a contour with no extension -->
- <xs:pattern value="butt"/>
- <!-- @pattern round begin and end a contour with a semi-circle extension -->
- <xs:pattern value="round"/>
- <!-- @pattern square begin and end a contour with a half square extension -->
- <xs:pattern value="square"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Color
- A reference to a color element.
- */ -->
- <xs:simpleType name="Color">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** Displayable
- A reference to any element: @list(Displayable)
- */ -->
- <xs:simpleType name="Displayable">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** DisplayableArray
- An array of one or more element IDs.
- */ -->
- <xs:simpleType name="DisplayableArray">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** Drawable
- A reference to an element that can be drawn: @list(Drawable)
- */ -->
- <xs:simpleType name="Drawable">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** DynamicString
- Dynamic strings contain scripts that are re-evaluated each time the script is enabled.
- */ -->
- <xs:simpleType name="DynamicString">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** EventCode
- Key codes that can trigger events, usually corresponding to physical buttons on the device.
- */ -->
- <xs:simpleType name="EventCode">
- <xs:restriction base="xs:string">
- <xs:pattern value="none"/>
- <!-- @pattern up The up arrow. -->
- <xs:pattern value="up"/>
- <!-- @pattern down The down arrow. -->
- <xs:pattern value="down"/>
- <!-- @pattern left The left arrow. -->
- <xs:pattern value="left"/>
- <!-- @pattern right The right arrow. -->
- <xs:pattern value="right"/>
- <!-- @pattern back The back button (may not be present; the Backspace key on a PC). -->
- <xs:pattern value="back"/>
- <!-- @pattern end The end button (may not be present; the Esc key on a PC). -->
- <xs:pattern value="end"/>
- <!-- @pattern OK The OK button (the Enter key on a PC). -->
- <xs:pattern value="OK"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** EventKind
- Specifies how an event is triggered; by a key, when an animation ends, when the
- document is loaded, or when this event is triggered by the user's C++ or XML.
- */ -->
- <xs:simpleType name="EventKind">
- <xs:restriction base="xs:string">
- <xs:pattern value="none"/>
- <!-- @pattern keyChar A key corresponding to a Unichar value. -->
- <xs:pattern value="keyChar"/>
- <!-- @pattern keyPress A key with a particular function, such as an arrow key or the OK button. -->
- <xs:pattern value="keyPress"/>
- <!-- @pattern mouseDown Triggered when the primary mouse button is pressed. -->
- <xs:pattern value="mouseDown"/>
- <!-- @pattern mouseDrag Triggered when the primary mouse is moved while the button is pressed. -->
- <xs:pattern value="mouseDrag"/>
- <!-- @pattern mouseMove Triggered when the primary mouse is moved. -->
- <xs:pattern value="mouseMove"/>
- <!-- @pattern mouseUp Triggered when the primary mouse button is released. -->
- <xs:pattern value="mouseUp"/>
- <!-- @pattern onEnd Triggered when an event ends. -->
- <xs:pattern value="onEnd"/>
- <!-- @pattern onLoad Triggered when the document loads. -->
- <xs:pattern value="onLoad"/>
- <!-- @pattern user Triggered when a post element or C++ event is activated. -->
- <xs:pattern value="user"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** EventMode
- Specifies whether the event is delivered immediately to matching event element or deferred to
- the application-wide event handler.
- */ -->
- <xs:simpleType name="EventMode">
- <xs:restriction base="xs:string">
- <!-- @pattern deferred Process the event using the host's event queue. -->
- <xs:pattern value="deferred"/>
- <!-- @pattern immediate Activate the event element immediately. -->
- <xs:pattern value="immediate"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** FillType
- Filled paths that self-intersect use the winding or evenOdd rule to determine whether the
- overlaps are filled or are holes.
- */ -->
- <xs:simpleType name="FillType">
- <xs:restriction base="xs:string">
- <!-- @pattern winding Fill if the sum of edge directions is non-zero. -->
- <xs:pattern value="winding"/>
- <!-- @pattern evenOdd Fill if the sum of edges is an odd number. -->
- <xs:pattern value="evenOdd"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** FilterType
- Scaled bitmaps without a filter type set point-sample the source bitmap to determine the
- destination pixels' colors. Bilinear and bicubic compute the values of intermediate pixels
- by sampling the pixels around them.
- */ -->
- <xs:simpleType name="FilterType">
- <xs:restriction base="xs:string">
- <xs:pattern value="none"/>
- <!-- @pattern bilinear Compute the pixel value as the linear interpolation of adjacent pixels. -->
- <xs:pattern value="bilinear"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Float
- A signed fractional value.
- */ -->
- <xs:simpleType name="Float">
- <xs:restriction base="xs:float">
- <xs:pattern value="[+-]?([0-9]*\.[0-9]+|[0-9]+\.?)"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** FloatArray
- An array of one or more signed fractional values.
- */ -->
- <xs:simpleType name="FloatArray">
- <xs:restriction base="xs:float">
- <xs:pattern value="\[[+-]?([0-9]*\.[0-9]+|[0-9]+\.?)( *, *[+-]?([0-9]*\.[0-9]+|[0-9]+\.?))*\]"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** FromPathMode
- A matrix computed from an offset along a path may include the point's position, the angle
- tangent, or both.
- .
- */ -->
- <xs:simpleType name="FromPathMode">
- <xs:restriction base="xs:string">
- <!-- @pattern normal Compute the matrix using the path's angle and position. -->
- <xs:pattern value="normal"/>
- <!-- @pattern angle Compute the matrix using only the path's angle. -->
- <xs:pattern value="angle"/>
- <!-- @pattern position Compute the matrix using only the path's position. -->
- <xs:pattern value="position"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Int
- A signed integer.
- */ -->
- <xs:simpleType name="Int">
- <xs:restriction base="xs:integer"/>
- </xs:simpleType>
-
- <!-- /** IntArray
- An array of one or more signed integer values.
- */ -->
- <xs:simpleType name="IntArray">
- <xs:restriction base="xs:integer">
- <xs:pattern value="\[[+-]?[0-9]+( *, *[+-]?[0-9]+)*\]"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Join
- The edges of thick lines in a path are joined by extending the outer edges to form a miter,
- or by adding a round circle at the intersection point, or by connecting the outer edges with a line
- to form a blunt joint.
- */ -->
- <xs:simpleType name="Join">
- <xs:restriction base="xs:string">
- <!-- @pattern miter Extend the outer edges to form a miter. -->
- <xs:pattern value="miter"/>
- <!-- @pattern round Join the outer edges with a circular arc. -->
- <xs:pattern value="round"/>
- <!-- @pattern blunt Connect the outer edges with a line. -->
- <xs:pattern value="blunt"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** MaskFilterBlurStyle
- A blur can affect the inside or outside part of the shape, or it can affect both. The shape
- itself can be drawn solid, or can be invisible.
- */ -->
- <xs:simpleType name="MaskFilterBlurStyle">
- <xs:restriction base="xs:string">
- <!-- @pattern normal Blur inside and outside. -->
- <xs:pattern value="normal"/>
- <!-- @pattern solid Solid inside, blur outside. -->
- <xs:pattern value="solid"/>
- <!-- @pattern outer Invisible inside, blur outside. -->
- <xs:pattern value="outer"/>
- <!-- @pattern inner Blur inside only.. -->
- <xs:pattern value="inner"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** MaskFilter
- The ID of a blur or emboss element.
- */ -->
- <xs:simpleType name="MaskFilter">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** Matrix
- The ID of a matrix element.
- */ -->
- <xs:simpleType name="Matrix">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** MSec
- A fractional second with millisecond resolution.
- */ -->
- <xs:simpleType name="MSec">
- <xs:restriction base="xs:float"/>
- </xs:simpleType>
-
- <!-- /** Paint
- The ID of a paint element.
- */ -->
- <xs:simpleType name="Paint">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** Path
- The ID of a path element.
- */ -->
- <xs:simpleType name="Path">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** PathDirection
- PathDirection determines if the path is traveled clockwise or counterclockwise.
- */ -->
- <xs:simpleType name="PathDirection">
- <xs:restriction base="xs:string">
- <!-- @pattern cw The path is traveled clockwise. -->
- <xs:pattern value="cw"/>
- <!-- @pattern ccw The path is traveled counterclockwise. -->
- <xs:pattern value="ccw"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** PathEffect
- The ID of a dash or discrete element.
- */ -->
- <xs:simpleType name="PathEffect">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** Point
- A pair of signed values representing the x and y coordinates of a point.
- */ -->
- <xs:simpleType name="Point">
- <xs:restriction base="xs:string">
- <xs:pattern value="\[ *[+-]?([0-9]*\.[0-9]+|[0-9]+\.?) *[ ,] *[+-]?([0-9]*\.[0-9]+|[0-9]+\.?)\]"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Rect
- The ID of a rectangle element.
- */ -->
- <xs:simpleType name="Rect">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** Shader
- The ID of a linear or radial gradient.
- */ -->
- <xs:simpleType name="Shader">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** String
- A sequence of characters.
- */ -->
- <xs:simpleType name="String">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** Style
- Geometry can be filled, stroked or both.
- */ -->
- <xs:simpleType name="Style">
- <xs:restriction base="xs:string">
- <!-- @pattern fill The interior of the geometry is filled with the paint's color. -->
- <xs:pattern value="fill"/>
- <!-- @pattern stroke The outline of the geometry is stroked with the paint's color. -->
- <xs:pattern value="stroke"/>
- <!-- @pattern strokeAndFill The interior is filled and outline is stroked with the paint's color. -->
- <xs:pattern value="strokeAndFill"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Text
- The ID of a text element.
- */ -->
- <xs:simpleType name="Text">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** TextBoxAlign
- Multiple lines of text may be aligned to the start of the box, the center, or the end.
- */ -->
- <xs:simpleType name="TextBoxAlign">
- <xs:restriction base="xs:string">
- <!-- @pattern start The text begins within the upper left of the box. -->
- <xs:pattern value="start"/>
- <!-- @pattern center The text is positioned in the center of the box. -->
- <xs:pattern value="center"/>
- <!-- @pattern end The text ends within the lower right of the box. -->
- <xs:pattern value="end"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** TextBoxMode
- Fitting the text may optionally introduce line breaks.
- */ -->
- <xs:simpleType name="TextBoxMode">
- <xs:restriction base="xs:string">
- <!-- @pattern oneLine No additional linebreaks are added. -->
- <xs:pattern value="oneLine"/>
- <!-- @pattern lineBreak Line breaks may be added to fit the text to the box. -->
- <xs:pattern value="lineBreak"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** TileMode
- A shader describes how to draw within a rectangle.
- Outside of the rectangle, the shader may be ignored, clamped on the edges, or repeated.
- The repetitions may be mirrored from the original shader.
- */ -->
- <xs:simpleType name="TileMode">
- <xs:restriction base="xs:string">
- <!-- @pattern clamp The edge shader color is extended. -->
- <xs:pattern value="clamp"/>
- <!-- @pattern repeat The shader is repeated horizontally and vertically. -->
- <xs:pattern value="repeat"/>
- <!-- @pattern mirror The shader is mirrored horizontally and vertically. -->
- <xs:pattern value="mirror"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Typeface
- The ID of a typeface element.
- */ -->
- <xs:simpleType name="Typeface">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** UnknownArray
- An array of values of any type.
- */ -->
- <xs:simpleType name="UnknownArray">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-
- <!-- /** Xfermode
- The operation applied when drawing a color to the destination background.
- */ -->
- <xs:simpleType name="Xfermode">
- <xs:restriction base="xs:string">
- <!-- @pattern clear Set the destination alpha to zero and the destination color to black. -->
- <xs:pattern value="clear"/>
- <!-- @pattern src Set the destination to the source alpha and color. -->
- <xs:pattern value="src"/>
- <!-- @pattern dst Set the destination to the destination alpha and color. -->
- <xs:pattern value="dst"/>
- <!-- @pattern srcOver The default. Set the destination to the source color blended
- with the destination by the source alpha. -->
- <xs:pattern value="srcOver"/>
- <!-- @pattern dstOver Set the destination to the destination color blended
- with the source by the destination alpha. -->
- <xs:pattern value="dstOver"/>
- <!-- @pattern srcIn Set the destination to the source color scaled by the destination
- alpha. -->
- <xs:pattern value="srcIn"/>
- <!-- @pattern dstIn Set the destination to the destination color scaled by the source
- alpha. -->
- <xs:pattern value="dstIn"/>
- <!-- @pattern srcOut Set the destination to the source color scaled by the
- inverse of the destination alpha. -->
- <xs:pattern value="srcOut"/>
- <!-- @pattern dstOut Set the destination to the destination color scaled by the
- inverse of the source alpha. -->
- <xs:pattern value="dstOut"/>
- <!-- @pattern srcATop Set the destination to the source color times the destination alpha,
- blended with the destination times the inverse of the source alpha. -->
- <xs:pattern value="srcATop"/>
- <!-- @pattern dstATop Set the destination to the destination color times the source alpha,
- blended with the source times the inverse of the destination alpha. -->
- <xs:pattern value="dstATop"/>
- <!-- @pattern xor Set the destination to the destination color times the
- inverse of the source alpha,
- blended with the source times the inverse of the destination alpha. -->
- <xs:pattern value="xor"/>
- </xs:restriction>
- </xs:simpleType>
-
- <!-- /** Math
- Math provides functions and properties in the ECMAScript library to screenplay script expressions.
- The Math element is always implicitly added at the top of every screenplay description, so
- its functions and properties are always available.
- */ -->
- <xs:element name="Math">
- <xs:complexType>
- <!-- @attribute E The value 2.718281828. -->
- <xs:attribute name="E" type="Sk:Float"/>
- <!-- @attribute LN10 The value 2.302585093. -->
- <xs:attribute name="LN10" type="Sk:Float"/>
- <!-- @attribute LN2 The value 0.693147181. -->
- <xs:attribute name="LN2" type="Sk:Float"/>
- <!-- @attribute LOG10E The value 0.434294482. -->
- <xs:attribute name="LOG10E" type="Sk:Float"/>
- <!-- @attribute LOG2E The value 1.442695041. -->
- <xs:attribute name="LOG2E" type="Sk:Float"/>
- <!-- @attribute PI The value 3.141592654. -->
- <xs:attribute name="PI" type="Sk:Float"/>
- <!-- @attribute SQRT1_2 The value 0.707106781. -->
- <xs:attribute name="SQRT1_2" type="Sk:Float"/>
- <!-- @attribute SQRT2 The value 1.414213562. -->
- <xs:attribute name="SQRT2" type="Sk:Float"/>
- <!-- @attribute abs A function that returns the absolute value of its argument. -->
- <xs:attribute name="abs" type="Sk:Float"/>
- <!-- @attribute acos A function that returns the arc cosine of its argument. -->
- <xs:attribute name="acos" type="Sk:Float"/>
- <!-- @attribute asin A function that returns the arc sine of its argument. -->
- <xs:attribute name="asin" type="Sk:Float"/>
- <!-- @attribute atan A function that returns the arc tan of its argument. -->
- <xs:attribute name="atan" type="Sk:Float"/>
- <!-- @attribute atan2 A function that returns the arc tan of the ratio of its two arguments. -->
- <xs:attribute name="atan2" type="Sk:Float"/>
- <!-- @attribute ceil A function that returns the rounded up value of its argument. -->
- <xs:attribute name="ceil" type="Sk:Float"/>
- <!-- @attribute cos A function that returns the cosine of its argument. -->
- <xs:attribute name="cos" type="Sk:Float"/>
- <!-- @attribute exp A function that returns E raised to a power (the argument). -->
- <xs:attribute name="exp" type="Sk:Float"/>
- <!-- @attribute floor A function that returns the rounded down value of its argument. -->
- <xs:attribute name="floor" type="Sk:Float"/>
- <!-- @attribute log A function that returns the natural logarithm its argument. -->
- <xs:attribute name="log" type="Sk:Float"/>
- <!-- @attribute max A function that returns the largest of any number of arguments. -->
- <xs:attribute name="max" type="Sk:Float"/>
- <!-- @attribute min A function that returns the smallest of any number of arguments. -->
- <xs:attribute name="min" type="Sk:Float"/>
- <!-- @attribute pow A function that returns the first argument raised to the power of the second argument. -->
- <xs:attribute name="pow" type="Sk:Float"/>
- <!-- @attribute random A function that returns a random value from zero to one.
- (See also the &lt;random&gt; element.) -->
- <xs:attribute name="random" type="Sk:Float"/>
- <!-- @attribute round A function that returns the rounded value of its argument. -->
- <xs:attribute name="round" type="Sk:Float"/>
- <!-- @attribute sin A function that returns the sine of its argument. -->
- <xs:attribute name="sin" type="Sk:Float"/>
- <!-- @attribute sqrt A function that returns the square root of its argument. -->
- <xs:attribute name="sqrt" type="Sk:Float"/>
- <!-- @attribute tan A function that returns the tangent of its argument. -->
- <xs:attribute name="tan" type="Sk:Float"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** Number
- Number provides properties in the ECMAScript library to screenplay script expressions.
- The Number element is always implicitly added at the top of every screenplay description, so
- its properties are always available.
- */ -->
- <xs:element name="Number">
- <xs:complexType>
- <!-- @attribute MAX_VALUE The maximum number value; approximately 32767.999985 fixed point,
- 3.4028235e+38 floating point. -->
- <xs:attribute name="MAX_VALUE" type="Sk:Float"/>
- <!-- @attribute MIN_VALUE The minimum number value; approximately 0.000015 fixed point,
- 1.1754944e-38 floating point. -->
- <xs:attribute name="MIN_VALUE" type="Sk:Float"/>
- <!-- @attribute NEGATIVE_INFINITY The most negative number value. Fixed point does not
- have a value for negative infinity, and approximates it with -32767.999985. -->
- <xs:attribute name="NEGATIVE_INFINITY" type="Sk:Float"/>
- <!-- @attribute NaN A bit pattern representing "Not a Number". Fixed point does not
- have a value for NaN, and approximates it with -32768. -->
- <xs:attribute name="NaN" type="Sk:Float"/>
- <!-- @attribute POSITIVE_INFINITY The greatest positive number value. Fixed point does not
- have a value for positive infinity, and approximates it with 32767.999985. -->
- <xs:attribute name="POSITIVE_INFINITY" type="Sk:Float"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** add
- Add references a drawable element, and adds it to the display list.
- If where and offset are omitted, the element is appended to the end of the display list.
- If where is specified, the element is inserted at the first occurance of where in the display list.
- If offset and where are specified, the element is inserted at where plus offset.
- A positive offset without where inserts the element at the start of the list plus offset.
- A negative offset without where inserts the element at the end of the list minus offset.
- */ -->
- <xs:element name="add">
- <xs:complexType>
- <!-- @attribute mode If indirect (the default), keep the add element in the display list,
- and draw the add's use element. If immediate, put the add's use element in the display list. -->
- <xs:attribute name="mode" type="Sk:AddMode"/>
- <!-- @attribute offset The offset added to the insert index. -->
- <xs:attribute name="offset" type="Sk:Int"/>
- <!-- @attribute use The drawable element to add to the display list. -->
- <xs:attribute name="use" type="Sk:Drawable"/>
- <!-- @attribute where The drawable element marking where to insert. -->
- <xs:attribute name="where" type="Sk:Drawable"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** addCircle
- AddCircle adds a closed circle to the parent path element.
- */ -->
- <xs:element name="addCircle">
- <xs:complexType>
- <!-- @attribute direction One of @pattern. @patternDescription -->
- <xs:attribute name="direction" type="Sk:PathDirection"/>
- <!-- @attribute radius The distance from the center to the edge of the circle. -->
- <xs:attribute name="radius" type="Sk:Float"/>
- <!-- @attribute x The x coordinate of the circle's center. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The y coordinate of the circle's center.-->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** addOval
- AddOval adds a closed oval described by its bounding box to the parent path element.
- */ -->
- <xs:element name="addOval">
- <xs:complexType>
- <!-- @attribute direction One of @pattern. @patternDescription -->
- <xs:attribute name="direction" type="Sk:PathDirection"/>
- <!-- @attribute bottom The bottom edge of the oval's bounding box. -->
- <xs:attribute name="bottom" type="Sk:Float"/>
- <!-- @attribute left The left edge of the oval's bounding box. -->
- <xs:attribute name="left" type="Sk:Float"/>
- <!-- @attribute right The right edge of the oval's bounding box. -->
- <xs:attribute name="right" type="Sk:Float"/>
- <!-- @attribute top The top edge of the oval's bounding box. -->
- <xs:attribute name="top" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** addPath
- AddPath adds a path to the parent path element.
- An optional matrix may transform the path as it is added.
- */ -->
- <xs:element name="addPath">
- <xs:complexType>
- <!-- @attribute matrix The matrix applied to the path as it is added. -->
- <xs:attribute name="matrix" type="Sk:Matrix"/>
- <!-- @attribute path The path to add. -->
- <xs:attribute name="path" type="Sk:Path"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** addRect
- AddRect adds a closed rectangle to the parent path element.
- */ -->
- <xs:element name="addRect">
- <xs:complexType>
- <!-- @attribute direction One of @pattern. @patternDescription -->
- <xs:attribute name="direction" type="Sk:PathDirection"/>
- <!-- @attribute bottom The bottom edge of the rectangle. -->
- <xs:attribute name="bottom" type="Sk:Float"/>
- <!-- @attribute left The left edge of the rectangle. -->
- <xs:attribute name="left" type="Sk:Float"/>
- <!-- @attribute right The right edge of the rectangle. -->
- <xs:attribute name="right" type="Sk:Float"/>
- <!-- @attribute top" The top" edge of the rectangle. -->
- <xs:attribute name="top" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** addRoundRect
- AddRoundRect adds a closed rounded rectangle to the parent path element.
- */ -->
- <xs:element name="addRoundRect">
- <xs:complexType>
- <!-- @attribute direction One of @pattern. @patternDescription -->
- <xs:attribute name="direction" type="Sk:PathDirection"/>
- <!-- @attribute bottom The bottom edge of the rounded rectangle's bounding box. -->
- <xs:attribute name="bottom" type="Sk:Float"/>
- <!-- @attribute left The left edge of the rounded rectangle's bounding box. -->
- <xs:attribute name="left" type="Sk:Float"/>
- <!-- @attribute right The right edge of the rounded rectangle's bounding box. -->
- <xs:attribute name="right" type="Sk:Float"/>
- <!-- @attribute top The top edge of the rounded rectangle's bounding box. -->
- <xs:attribute name="top" type="Sk:Float"/>
- <!-- @attribute rx The X-radius of the oval used to round the corners. -->
- <xs:attribute name="rx" type="Sk:Float"/>
- <!-- @attribute ry The Y-radius of the oval used to round the corners. -->
- <xs:attribute name="ry" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** animate
- Animate varies the value of an element's attribute over time.
- The animation may vary starting at the 'from' attribute, and ending at the 'to' attribute,
- or may compute the value using the 'formula' attribute.
- */ -->
- <xs:element name="animate">
- <xs:complexType>
- <!-- @attribute begin An optional offset that must elapse before the animation begins. The apply
- begin attribute is added to any animator's begin attribute. -->
- <xs:attribute name="begin" type="Sk:MSec"/>
- <!-- @attribute blend Specifies how the from and to values are blended. A value from 0.0 to
- 1.0 specifies a cubic lag/log/lag blend (slow to change at the beginning and end); the closer
- blend is to 1.0, the more linear the blend. If omitted, the blend is linear. -->
- <xs:attribute name="blend" type="Sk:FloatArray"/>
- <!-- @attribute dur The duration of the animation in milliseconds. -->
- <xs:attribute name="dur" type="Sk:MSec"/>
- <!-- @attribute dynamic If true, restart the animation if any of the simple values the 'from', 'formula',
- 'lval', or 'to' attributes reference are changed. Simple values are contained by the array, boolean, float, int,
- and string elements. -->
- <xs:attribute name="dynamic" type="Sk:Boolean" />
- <!-- @attribute field The attribute to animate. -->
- <xs:attribute name="field" type="Sk:String"/>
- <!-- @attribute formula A script to execute over time to compute the field's value. Typically,
- the fomula is a script expression which includes a reference to the time attribute of the
- containing apply element. Requires a dur. For animations that do not stop, set dur="Number.POSITIVE_INFINITY" -->
- <xs:attribute name="formula" type="Sk:DynamicString"/>
- <!-- @attribute from The starting value (requires a 'to' attribute) -->
- <xs:attribute name="from" type="Sk:DynamicString"/>
- <!-- @attribute lval An expression evaluating to the attribute to animate.
- If present, lval overrides 'field'. The expression is typically an array element,
- e.g. lval="x[y]" . -->
- <xs:attribute name="lval" type="Sk:DynamicString"/>
- <!-- @attribute mirror If true, reverses the interpolated value during even repeat cycles. -->
- <xs:attribute name="mirror" type="Sk:Boolean"/>
- <!-- @attribute repeat Specifies the number of times to repeat the animation.
- (May be fractional.) -->
- <xs:attribute name="repeat" type="Sk:Float"/>
- <!-- @attribute reset If true, the computed value is the initial value after the
- animation is complete. If false, or by default, the computed value is the final value
- after the animation is complete. -->
- <xs:attribute name="reset" type="Sk:Boolean"/>
- <!-- @attribute step When the apply's attribute mode="immediate" or "create", the step attribute can be read by
- script to determine the current animation iteration. -->
- <xs:attribute name="step" type="Sk:Int" />
- <!-- @attribute target The element to animate. By default, the element contained by the apply
- or referenced by the apply's scope attribute is the animate target. -->
- <xs:attribute name="target" type="Sk:DynamicString"/>
- <!-- @attribute to The ending value (requires a 'from' attribute) -->
- <xs:attribute name="to" type="Sk:DynamicString"/>
- <!-- @attribute values [Depreciated] -->
- <xs:attribute name="values" type="Sk:DynamicString"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** apply
- Apply changes one or more attributes of an element.
- Apply either contains one displayable element or references the element scoping the change
- with the 'scope' attribute. Apply either contains one animator element or references it with
- the 'animator' attribute.
- In the display list, apply draws the element it scopes after evaluating the animation.
- */ -->
- <xs:element name="apply">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="1">
- <xs:element ref="Sk:animate"/>
- <xs:element ref="Sk:set" />
- <!-- not quite right; want to say 'one of the above, one of the below'
- </xs:choice>
- <xs:choice minOccurs="0" maxOccurs="1">
- -->
- <xs:element ref="Sk:add"/>
- <xs:element ref="Sk:array"/>
- <xs:element ref="Sk:apply"/>
- <xs:element ref="Sk:bitmap"/>
- <xs:element ref="Sk:boolean"/>
- <xs:element ref="Sk:bounds"/>
- <!-- <xs:element ref="Sk3D:camera"/> -->
- <xs:element ref="Sk:clear"/>
- <xs:element ref="Sk:clip"/>
- <xs:element ref="Sk:color"/>
- <xs:element ref="Sk:drawTo"/>
- <xs:element ref="Sk:float"/>
- <xs:element ref="Sk:full"/>
- <xs:element ref="Sk:group"/>
- <xs:element ref="Sk:image"/>
- <xs:element ref="Sk:int"/>
- <xs:element ref="Sk:line"/>
- <xs:element ref="Sk:matrix"/>
- <xs:element ref="Sk:move"/>
- <xs:element ref="Sk:oval"/>
- <xs:element ref="Sk:paint"/>
- <!-- <xs:element ref="Sk:patch"/> -->
- <xs:element ref="Sk:path"/>
- <xs:element ref="Sk:point"/>
- <xs:element ref="Sk:polygon"/>
- <xs:element ref="Sk:polyline"/>
- <xs:element ref="Sk:post"/>
- <xs:element ref="Sk:random"/>
- <xs:element ref="Sk:rect"/>
- <xs:element ref="Sk:remove"/>
- <xs:element ref="Sk:replace"/>
- <xs:element ref="Sk:roundRect"/>
- <xs:element ref="Sk:save"/>
- <xs:element ref="Sk:snapshot"/>
- <xs:element ref="Sk:string"/>
- <xs:element ref="Sk:text"/>
- <xs:element ref="Sk:textBox"/>
- <xs:element ref="Sk:textOnPath"/>
- <xs:element ref="Sk:textToPath"/>
- </xs:choice>
- <!-- @attribute animator The description of how the element is changed over time. -->
- <xs:attribute name="animator" type="Sk:Animate"/>
- <!-- @attribute begin An optional offset that must elapse before the animation begins. The apply
- begin attribute is added to any animator's begin attribute. -->
- <xs:attribute name="begin" type="Sk:MSec" />
- <!-- @attribute dontDraw Edits an element's attribute without drawing it; for instance,
- to edit a clip's rectangle without drawing the rectangle, set dontDraw="true". -->
- <xs:attribute name="dontDraw" type="Sk:Boolean"/>
- <!-- @attribute dynamicScope The location in the display list where animations are stored. Use
- dynamicScope instead of scope if a script expression with potentially different values is desired to
- describe the scope. -->
- <xs:attribute name="dynamicScope" type="Sk:String"/>
- <!-- @attribute interval The optional time interval from one animation frame to the next. -->
- <xs:attribute name="interval" type="Sk:MSec" />
- <!-- @attribute mode One of @pattern. @patternDescription -->
- <xs:attribute name="mode" type="Sk:ApplyMode"/>
- <!-- @attribute pickup Starts the animation at the current target's attribute value. Enabling
- 'pickup' permits omitting the 'from' attribute of the animator. -->
- <xs:attribute name="pickup" type="Sk:Boolean"/>
- <!-- @attribute restore If true, multiple references to the same apply statement save and
- restore the interpolated target values. -->
- <xs:attribute name="restore" type="Sk:Boolean"/>
- <!-- @attribute scope The location in the display list where animations are stored. -->
- <xs:attribute name="scope" type="Sk:Drawable"/>
- <!-- @attribute step When mode="immediate" or "create", the step attribute can be read by
- script to determine the current animation iteration. -->
- <xs:attribute name="step" type="Sk:Int" />
- <!-- @attribute steps When mode="immediate", the number of times the animation
- is stepped. The animation iterates 'steps' times plus one. -->
- <xs:attribute name="steps" type="Sk:Int" />
- <!-- @attribute time When read from script, returns the animation time. Typically used by
- an animate element's formula attribute. -->
- <xs:attribute name="time" type="Sk:MSec" />
- <!-- @attribute transition One of @pattern. @patternDescription -->
- <xs:attribute name="transition" type="Sk:ApplyTransition"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** array
- Array contains an array of values of the same type. The values may be
- numbers or strings.
- */ -->
- <xs:element name="array">
- <xs:complexType>
- <!-- @attribute length The number of elements in the array (read only). -->
- <xs:attribute name="length" type="Sk:Int"/>
- <!-- @attribute values The elements in the array. -->
- <xs:attribute name="values" type="Sk:UnknownArray"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** bitmap
- Bitmap describes a rectangle of pixels.
- Use the <drawTo> element to draw to a bitmap.
- Add the bitmap to the display list to draw from a bitmap.
- */ -->
- <xs:element name="bitmap">
- <xs:complexType>
- <!-- @attribute erase The color, including the alpha, the bitmap is intially set to. -->
- <xs:attribute name="erase" type="Sk:ARGB"/>
- <!-- @attribute format One of @pattern. @patternDescription -->
- <xs:attribute name="format" type="Sk:BitmapFormat"/>
- <!-- @attribute height The height of the bitmap in pixels. -->
- <xs:attribute name="height" type="Sk:Int"/>
- <!-- @attribute rowBytes The number of byte describing each row of pixels (optional). -->
- <xs:attribute name="rowBytes" type="Sk:Int"/>
- <!-- @attribute width The height of the width in pixels. -->
- <xs:attribute name="width" type="Sk:Int"/>
- <!-- @attribute x The left edge of the bitmap in unit space. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The top edge of teh bitmap in unit space. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** bitmapShader
- BitmapShader sets the paint shader to draw the bitmap as a texture.
- */ -->
- <xs:element name="bitmapShader">
- <xs:complexType>
- <xs:choice >
- <xs:element ref="Sk:image" minOccurs="0" />
- <xs:element ref="Sk:matrix" minOccurs="0" />
- </xs:choice>
- <!-- @attribute matrix Matrix applies a 3x3 transform to the gradient. -->
- <xs:attribute name="matrix" type="Sk:Matrix"/>
- <!-- @attribute tileMode One of @pattern. @patternDescription -->
- <xs:attribute name="tileMode" type="Sk:TileMode"/>
- <!-- @attribute filterType The bitmap filter to employ, one of @pattern. -->
- <xs:attribute name="filterType" type="Sk:FilterType"/>
- <!-- @attribute image The bitmap to draw. -->
- <xs:attribute name="image" type="Sk:BaseBitmap"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
-
- <!-- /** blur
- Blur describes an image filter in the paint that blurs the drawn geometry.
- */ -->
- <xs:element name="blur">
- <xs:complexType>
- <!-- @attribute blurStyle One of @pattern. @patternDescription -->
- <xs:attribute name="blurStyle" type="Sk:MaskFilterBlurStyle"/>
- <!-- @attribute radius The extent of the filter effect in unit space. If the radius is less
- than zero, the blur has no effect. -->
- <xs:attribute name="radius" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** boolean
- Boolean contains an boolean. The boolean element cannot be added to a display list, but can
- by set by animations and read by any attribute definition. An boolean element may be referenced,
- for instance, by a group's condition attribute to make an animation conditionally execute.
- */ -->
- <xs:element name="boolean">
- <xs:complexType>
- <!-- @attribute value The contained boolean. -->
- <xs:attribute name="value" type="Sk:Boolean"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** bounds
- Bounds describes a bounding box that is not drawn. Bounds is used to specify a rectangle to
- invalidate or record whether the specified area was drawn.
- The width and height attribute compute the rectangle's right and bottom edges when the rectangle
- description is first seen. Animating the rectangle's left or top will not recompute the right or bottom
- if the width or height have been specified.
- */ -->
- <xs:element name="bounds">
- <xs:complexType>
- <!-- @attribute bottom The bottom edge of the rectangle. -->
- <xs:attribute name="bottom" type="Sk:Float"/>
- <!-- @attribute height The height of the rectangle. Setting height computes the
- bottom attribute from the top attribute. -->
- <xs:attribute name="height" type="Sk:Float"/>
- <!-- @attribute inval If set to true, union the drawn bounds to compute an inval area. -->
- <xs:attribute name="inval" type="Sk:Boolean"/>
- <!-- @attribute left The left edge of the rectangle. -->
- <xs:attribute name="left" type="Sk:Float"/>
- <!-- @attribute needsRedraw Set to true if last draw was visible. -->
- <xs:attribute name="needsRedraw" type="Sk:Boolean"/>
- <!-- @attribute right The right edge of the rectangle. -->
- <xs:attribute name="right" type="Sk:Float"/>
- <!-- @attribute top The top edge of the rectangle. -->
- <xs:attribute name="top" type="Sk:Float"/>
- <!-- @attribute width The width of the rectangle. -->
- <xs:attribute name="width" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** clear
- Clear removes all entries in the display list.
- */ -->
- <xs:element name="clear">
- <xs:complexType>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** clip
- Clip sets the canvas to clip drawing to an element's geometry.
- A clip element may contain an element or reference an element with the path or
- rectangle attributes. To make the clip unrestricted, enclose a 'full' element.
- */ -->
- <xs:element name="clip">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="1">
- <xs:element ref="Sk:full"/>
- <xs:element ref="Sk:rect"/>
- <xs:element ref="Sk:path"/>
- <xs:element ref="Sk:polygon"/>
- <xs:element ref="Sk:polyline"/>
- </xs:choice>
- <!-- @attribute path A path-derived element to clip to: either an oval,
- a path, a polygon, a polyline, or a roundRect. -->
- <xs:attribute name="path" type="Sk:Path"/>
- <!-- @attribute rect A rectangle element to clip to. -->
- <xs:attribute name="rect" type="Sk:Rect"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** close
- Close connects the last point in the path's contour to the first if the contour is not already closed.
- */ -->
- <xs:element name="close">
- <xs:complexType>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** color
- Color describes a color in RGB space or HSV space, and its alpha (transparency).
- */ -->
- <xs:element name="color">
- <xs:complexType>
- <!-- @attribute alpha The alpha component, which describes transparency.
- Alpha ranges from 0.0 (transparent) to 1.0 (completely opaque). -->
- <xs:attribute name="alpha" type="Sk:Float"/>
- <!-- @attribute blue The blue component of an RGB color. Blue ranges from 0 to 255. -->
- <xs:attribute name="blue" type="Sk:Float"/>
- <!-- @attribute color The complete color. The color can be specified by name,
- by hexadecimal value, or with the rgb function. -->
- <xs:attribute name="color" type="Sk:ARGB"/>
- <!-- @attribute green The green component of an RGB color. Green ranges from 0 to 255. -->
- <xs:attribute name="green" type="Sk:Float"/>
- <!-- @attribute hue The hue component of an HSV color. Hue ranges from 0 to 360. -->
- <xs:attribute name="hue" type="Sk:Float"/>
- <!-- @attribute red The red component of an RGB color. Red ranges from 0 to 255. -->
- <xs:attribute name="red" type="Sk:Float"/>
- <!-- @attribute saturation The saturation component of an HSV color. Saturation ranges from 0 to 1. -->
- <xs:attribute name="saturation" type="Sk:Float"/>
- <!-- @attribute value The value component of an HSV color. Value ranges from 0 to 1. -->
- <xs:attribute name="value" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** cubicTo
- CubicTo adds a cubic to the path, using the last point in the path as the first point of the cubic.
- */ -->
- <xs:element name="cubicTo">
- <xs:complexType>
- <!-- @attribute x1 The x position of the first off-curve point. -->
- <xs:attribute name="x1" type="Sk:Float"/>
- <!-- @attribute x2 The x position of the second off-curve point. -->
- <xs:attribute name="x2" type="Sk:Float"/>
- <!-- @attribute x3 The x position of the final on-curve point. -->
- <xs:attribute name="x3" type="Sk:Float"/>
- <!-- @attribute y1 The y position of the first off-curve point. -->
- <xs:attribute name="y1" type="Sk:Float"/>
- <!-- @attribute y2 The y position of the second off-curve point. -->
- <xs:attribute name="y2" type="Sk:Float"/>
- <!-- @attribute y3 The y position of the final on-curve point. -->
- <xs:attribute name="y3" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** dash
- Dash describes an array of dashes and gaps that describe how the paint strokes lines,
- rectangles, and paths. The intervals, phase, and dashed path are all measured in the same
- unit space. The phase and distance between dashes is unaffected by the paint's stroke width.
- */ -->
- <xs:element name="dash">
- <xs:complexType>
- <!-- @attribute intervals An array of floats that alternately describe the lengths of
- dashes and gaps. Intervals must contain an even number of entries. -->
- <xs:attribute name="intervals" type="Sk:FloatArray"/>
- <!-- @attribute phase Phase advances the placement of the first dash. A positive phase
- preceeds the first dash with a gap. A negative phase shortens the length of the first dash. -->
- <xs:attribute name="phase" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** data
- Data provides metadata to an event. The metadata may be an integer, a float,
- or a string.
- */ -->
- <xs:element name="data">
- <xs:complexType>
- <!-- @attribute float The float value associated with the metadata. -->
- <xs:attribute name="float" type="Sk:Float"/>
- <!-- @attribute initialized A read-only value set to false (unused by data). -->
- <xs:attribute name="initialized" type="Sk:Boolean"/>
- <!-- @attribute int The integer value associated with the metadata. -->
- <xs:attribute name="int" type="Sk:Int"/>
- <!-- @attribute name The name of the metadata. This is the name of the data. -->
- <xs:attribute name="name" type="Sk:String"/>
- <!-- @attribute string The string value associated with the metadata. -->
- <xs:attribute name="string" type="Sk:String"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** discrete
- Discrete alters the edge of the stroke randomly. Discrete is a path effect, and only has an
- effect when referenced from a paint.. A <pathEffect/>
- element with no attributes will dissable discrete.
- */ -->
- <xs:element name="discrete">
- <xs:complexType>
- <!-- @attribute deviation The amount of wobble in the stroke. -->
- <xs:attribute name="deviation" type="Sk:Float"/>
- <!-- @attribute segLength The length of wobble in the stroke. -->
- <xs:attribute name="segLength" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** drawTo
- DrawTo images to a bitmap. The bitmap can be added to the display list
- to draw the composite image.
- DrawTo can be used as an offscreen to speed complicated animations, and
- for bitmap effects such as pixelated zooming.
- DrawTo can only reference a single drawable element. Use <add>,
- <group>, or <save> to draw multiple elements with <drawTo>.
- */ -->
- <xs:element name="drawTo">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded" >
- <xs:element ref="Sk:add"/>
- <xs:element ref="Sk:apply"/>
- <xs:element ref="Sk:bitmap"/>
- <xs:element ref="Sk:bounds"/>
- <!-- <xs:element ref="Sk3D:camera"/> -->
- <xs:element ref="Sk:clear"/>
- <xs:element ref="Sk:clip"/>
- <xs:element ref="Sk:color"/>
- <xs:element ref="Sk:full"/>
- <xs:element ref="Sk:group"/>
- <xs:element ref="Sk:image"/>
- <xs:element ref="Sk:line"/>
- <xs:element ref="Sk:matrix"/>
- <xs:element ref="Sk:move"/>
- <xs:element ref="Sk:oval"/>
- <xs:element ref="Sk:paint"/>
- <!-- <xs:element ref="Sk:patch"/> -->
- <xs:element ref="Sk:path"/>
- <xs:element ref="Sk:point"/>
- <xs:element ref="Sk:polygon"/>
- <xs:element ref="Sk:polyline"/>
- <xs:element ref="Sk:rect"/>
- <xs:element ref="Sk:remove"/>
- <xs:element ref="Sk:replace"/>
- <xs:element ref="Sk:roundRect"/>
- <xs:element ref="Sk:save"/>
- <xs:element ref="Sk:text"/>
- <xs:element ref="Sk:textBox"/>
- <xs:element ref="Sk:textOnPath"/>
- <xs:element ref="Sk:textToPath"/>
- </xs:choice>
- <!-- @attribute drawOnce If set, the drawTo will only draw a single time. -->
- <xs:attribute name="drawOnce" type="Sk:Boolean"/>
- <!-- @attribute use The bitmap to draw into. -->
- <xs:attribute name="use" type="Sk:bitmap"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** dump
- Dump prints a list of the items in the display list and all items'
- children to the debug console. Dump is only available in Debug
- builds. */ -->
- <xs:element name="dump">
- <xs:complexType>
- <!-- @attribute displayList Dumps the current display list if true. The display list is also
- dumped if dump has no attributes. -->
- <xs:attribute name="displayList" type="Sk:Boolean"/>
- <!-- @attribute eventList Dumps the list of events, both enabled and disabled. -->
- <xs:attribute name="eventList" type="Sk:Boolean"/>
- <!-- @attribute events Outputs each event element as it is enabled. -->
- <xs:attribute name="events" type="Sk:Boolean"/>
- <!-- @attribute groups Outputs each group element as its condition is evaluated. -->
- <xs:attribute name="groups" type="Sk:Boolean"/>
- <!-- @attribute name Outputs the values associated with a single named element. -->
- <xs:attribute name="name" type="Sk:String"/>
- <!-- @attribute posts Outputs each post element as it is enabled. -->
- <xs:attribute name="posts" type="Sk:Boolean"/>
- <!-- @attribute script Evaluates the provided script -->
- <xs:attribute name="script" type=Sk:String"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** emboss
- PRELIMINARY [to be replaced with SkEmbossMaskFilter.h doxyfomation
- at some point]
- Emboss applies a mask filter to the paint that makes bias the object's color
- towards white or black depending on the normals of the path contour, giving
- the shape a 3D raised or depressed effect.
- Embossing is replaced by subsequent mask filter elements, or
- disabled a negative radius, or by an empty <mask filter> element.
- */ -->
- <xs:element name="emboss">
- <xs:complexType>
- <!-- @attribute ambient The amount of ambient light, from 0 to 1. -->
- <xs:attribute name="ambient" type="Sk:Float"/>
- <!-- @attribute direction The direction of the light source, as descibed by a 3D vector.
- (The vector is normalized to a unit length of 1.0.) -->
- <xs:attribute name="direction" type="Sk:FloatArray"/>
- <!-- @attribute radius The extent of the filter effect in unit space. If the radius is less
- than zero, the emboss has no effect. -->
- <xs:attribute name="radius" type="Sk:Float"/>
- <!-- @attribute specular The expotential intensity of the light, from 0 to 1.
- Each increase of 0.0625 doubles the intensity. -->
- <xs:attribute name="specular" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** event
- Event contains a series of actions performed each time the event's criteria are satisfied.
- These actions may modify the display list, may enable animations which in turn modify
- elements' attributes, and may post other events.
- */ -->
- <xs:element name="event">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded" >
- <xs:element ref="Sk:add"/>
- <xs:element ref="Sk:apply"/>
- <xs:element ref="Sk:array"/>
- <xs:element ref="Sk:bitmap"/>
- <xs:element ref="Sk:boolean"/>
- <xs:element ref="Sk:bounds"/>
- <!-- <xs:element ref="Sk3D:camera"/> -->
- <xs:element ref="Sk:clear"/>
- <xs:element ref="Sk:clip"/>
- <xs:element ref="Sk:color"/>
- <xs:element ref="Sk:drawTo"/>
- <xs:element ref="Sk:dump"/>
- <xs:element ref="Sk:float"/>
- <xs:element ref="Sk:full"/>
- <xs:element ref="Sk:group"/>
- <xs:element ref="Sk:hitClear"/>
- <xs:element ref="Sk:hitTest"/>
- <xs:element ref="Sk:image"/>
- <xs:element ref="Sk:input"/>
- <xs:element ref="Sk:int"/>
- <xs:element ref="Sk:line"/>
- <xs:element ref="Sk:matrix"/>
- <xs:element ref="Sk:move"/>
- <xs:element ref="Sk:movie"/>
- <xs:element ref="Sk:oval"/>
- <xs:element ref="Sk:paint"/>
- <!-- <xs:element ref="Sk:patch"/> -->
- <xs:element ref="Sk:path"/>
- <xs:element ref="Sk:point"/>
- <xs:element ref="Sk:polygon"/>
- <xs:element ref="Sk:polyline"/>
- <xs:element ref="Sk:post"/>
- <xs:element ref="Sk:random"/>
- <xs:element ref="Sk:rect"/>
- <xs:element ref="Sk:remove"/>
- <xs:element ref="Sk:replace"/>
- <xs:element ref="Sk:roundRect"/>
- <xs:element ref="Sk:save"/>
- <xs:element ref="Sk:snapshot"/>
- <xs:element ref="Sk:string"/>
- <xs:element ref="Sk:text"/>
- <xs:element ref="Sk:textBox"/>
- <xs:element ref="Sk:textOnPath"/>
- <xs:element ref="Sk:textToPath"/>
- </xs:choice>
- <!-- @attribute code The key code to match to a key press event, one of @pattern.
- If the code is set to @pattern[0], the event is never activated. -->
- <xs:attribute name="code" type="Sk:EventCode"/>
- <!-- @attribute disable If true, the event cannot be activated. By default false.. -->
- <xs:attribute name="disable" type="Sk:Boolean"/>
- <!-- @attribute key The character code to match to a key down event.
- When read, the key that activated this event. -->
- <xs:attribute name="key" type="Sk:String"/>
- <!-- @attribute keys A dash-separated continuous range of character codes to match
- to a key down event. Read the key attribute to determine the key that activated this event. -->
- <xs:attribute name="keys" type="Sk:String"/> <!-- single or range of keys -->
- <!-- @attribute kind The event kind that activates this event, one of @pattern.
- If kind equals keyChar, either attribute key or keys is expected.
- If kind equals keyPress, attribute code is expected.
- If kind equals onEnd, attribute target is expected.
- If kind equals onLoad, the event is activated when the document containing the event
- is loaded. The onLoad attribute cannot be activated through a post event.
- If kind equals user, the event is activated when the posted event targets this event's ID. -->
- <xs:attribute name="kind" type="Sk:EventKind"/>
- <!-- @attribute target The element to listen to which activates this event. -->
- <xs:attribute name="target" type="Sk:String" />
- <!-- @attribute x For click events, the x-coordinate of the click. -->
- <xs:attribute name="x" type="Sk:Float" />
- <!-- @attribute y For click events, the y-coordinate of the click. -->
- <xs:attribute name="y" type="Sk:Float" />
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** float
- Float contains a signed fractional value. The float element cannot be added to a display list,
- but can be set by animations and read by any attribute definition.
- */ -->
- <xs:element name="float">
- <xs:complexType>
- <!-- @attribute value The contained float. -->
- <xs:attribute name="value" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** fromPath
- FromPath concatenates the parent matrix with a new matrix
- that maps a unit vector to a point on the given path.
- A fromPath element may contain a path element, or may refer to a previously
- defined path element with the path attribute.
- */ -->
- <xs:element name="fromPath">
- <xs:complexType>
- <xs:choice >
- <!-- @element path The path to evaluate. -->
- <xs:element ref="Sk:path" minOccurs="0" />
- </xs:choice>
- <!-- @attribute mode One of @pattern.
- If mode is set to normal, the matrix maps the unit vector's angle and position.
- If mode is set to angle, the matrix maps only the unit vector's angle.
- If mode is set to position, the matrix maps only the unit vector's position. -->
- <xs:attribute name="mode" type="Sk:FromPathMode"/>
- <!-- @attribute offset The distance along the path to evaluate. -->
- <xs:attribute name="offset" type="Sk:Float"/>
- <!-- @attribute path The path to evaluate. -->
- <xs:attribute name="path" type="Sk:Path"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** full
- Full paints the entire canvas to the limit of the canvas' clip.
- */ -->
- <xs:element name="full">
- <xs:complexType>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** group
- The group element collects a series of elements into a group. The group can be referenced
- or defined within elements, like apply, which operate on any kind of element. Groups
- may contain groups. An element in a group draws identically to an element outside a group.
- */ -->
- <xs:element name="group">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="Sk:add"/>
- <xs:element ref="Sk:apply"/>
- <xs:element ref="Sk:array"/>
- <xs:element ref="Sk:bitmap"/>
- <xs:element ref="Sk:boolean"/>
- <xs:element ref="Sk:bounds"/>
- <!-- <xs:element ref="Sk3D:camera"/> -->
- <xs:element ref="Sk:clear"/>
- <xs:element ref="Sk:clip"/>
- <xs:element ref="Sk:drawTo"/>
- <xs:element ref="Sk:float"/>
- <xs:element ref="Sk:full"/>
- <xs:element ref="Sk:group"/>
- <xs:element ref="Sk:hitClear"/>
- <xs:element ref="Sk:hitTest"/>
- <xs:element ref="Sk:image"/>
- <xs:element ref="Sk:int"/>
- <xs:element ref="Sk:line"/>
- <xs:element ref="Sk:matrix"/>
- <xs:element ref="Sk:move"/>
- <xs:element ref="Sk:oval"/>
- <xs:element ref="Sk:paint"/>
- <!-- <xs:element ref="Sk:patch"/> -->
- <xs:element ref="Sk:path"/>
- <xs:element ref="Sk:point"/>
- <xs:element ref="Sk:polygon"/>
- <xs:element ref="Sk:polyline"/>
- <xs:element ref="Sk:post"/>
- <xs:element ref="Sk:random"/>
- <xs:element ref="Sk:rect"/>
- <xs:element ref="Sk:remove"/>
- <xs:element ref="Sk:replace"/>
- <xs:element ref="Sk:roundRect"/>
- <xs:element ref="Sk:save"/>
- <xs:element ref="Sk:snapshot"/>
- <xs:element ref="Sk:string"/>
- <xs:element ref="Sk:text"/>
- <xs:element ref="Sk:textBox"/>
- <xs:element ref="Sk:textOnPath"/>
- <xs:element ref="Sk:textToPath"/>
- </xs:choice>
- <!-- @attribute condition If present and zero, the contained elements are ignored
- when drawn. -->
- <xs:attribute name="condition" type="Sk:DynamicString"/>
- <!-- @attribute enableCondition If present and zero, the contained elements are ignored
- when enabled. -->
- <xs:attribute name="enableCondition" type="Sk:DynamicString"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="hitClear" >
- <xs:complexType>
- <xs:choice maxOccurs="1">
- <xs:element ref="Sk:array"/>
- </xs:choice>
- <!-- @attribute targets An array of element IDs to clear their hit-tested state. -->
- <xs:attribute name="targets" type="Sk:DisplayableArray"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="hitTest" >
- <xs:complexType>
- <xs:choice maxOccurs="2">
- <xs:element ref="Sk:array"/>
- </xs:choice>
- <!-- @attribute bullets An array of element IDs to test for intersection with targets. -->
- <xs:attribute name="bullets" type="Sk:DisplayableArray"/>
- <!-- @attribute hits The targets the bullets hit. A read-only array of indices, one index
- per bullet. The value of the array element is the index of the target hit, or -1 if no
- target was hit. -->
- <xs:attribute name="hits" type="Sk:IntArray"/>
- <!-- @attribute targets An array of element IDs to test for intersection with bullets. -->
- <xs:attribute name="targets" type="Sk:DisplayableArray"/>
- <!-- @attribute value Read only; set to true if some bullet hit some target. -->
- <xs:attribute name="value" type="Sk:Boolean"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** image
- Image creates a reference to a JPEG, PNG or GIF. The image may be referenced
- through the local file system, the internet, or embedded in the document in Base64
- format. The specific image type is determined by examining the byte stream.
- */ -->
- <xs:element name="image">
- <xs:complexType>
- <!-- @attribute base64 The image in Base64 notation. See http://rfc.net/rfc2045.html
- for the base64 format. -->
- <xs:attribute name="base64" type="Sk:Base64"/>
- <!-- @attribute height The height of the image (read-only). -->
- <xs:attribute name="height" type="Sk:Int"/>
- <!-- @attribute src The URI reference, local to the contaiing document. -->
- <xs:attribute name="src" type="Sk:String"/>
- <!-- @attribute width The width of the image (read-only). -->
- <xs:attribute name="width" type="Sk:Int"/>
- <!-- @attribute x The position of the left edge of the image in local coordinates. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The position of the top edge of the image in local coordinates. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** include
- Include adds the referenced XML to the containing document. Unlike movie, the XML
- directives can reference the document's IDs and can define new IDs that are referenced
- by the remainder of the document or subsequent includes.
- */ -->
- <xs:element name="include">
- <xs:complexType>
- <!-- @attribute src The URI reference, local to the containing document,
- containing the include's XML. -->
- <xs:attribute name="src" type="Sk:String"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** input
- Input captures the metadata passed from an event. When the metadata's name or id
- matches the metadata's name, the metadata's payload is copied to the corresponding
- input attribute.
- */ -->
- <xs:element name="input">
- <xs:complexType>
- <!-- @attribute float The floating point payload carried by the metadata. -->
- <xs:attribute name="float" type="Sk:Float"/>
- <!-- @attribute initialized A read-only value set to true if the input received a value
- from the event. -->
- <xs:attribute name="initialized" type="Sk:Boolean"/>
- <!-- @attribute int The signed integer payload carried by the metadata. -->
- <xs:attribute name="int" type="Sk:Int"/>
- <!-- @attribute name The name of the metadata containing the payload. Note that
- the name or id may match the payload, but that XML requires the id to be
- uniquely defined in the document, while multiple input elements may reuse
- the name. -->
- <xs:attribute name="name" type="Sk:String"/>
- <!-- @attribute string The text payload carried by the metadata. -->
- <xs:attribute name="string" type="Sk:String"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** int
- Int contains an integer. The int element cannot be added to a display list, but can
- by set by animations and read by any attribute definition. An int element may be used,
- for instance, to index through an array element.
- */ -->
- <xs:element name="int">
- <xs:complexType>
- <!-- @attribute value The contained integer. -->
- <xs:attribute name="value" type="Sk:Int"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** line
- Line describes a line between two points. As noted below, the paint's stroke and
- strokeAndFill attributes are ignored.
- */ -->
- <xs:element name="line">
- <xs:complexType>
- <!-- @attribute x1 The start point's x value. -->
- <xs:attribute name="x1" type="Sk:Float"/>
- <!-- @attribute x2 The stop point's x value. -->
- <xs:attribute name="x2" type="Sk:Float"/>
- <!-- @attribute y1 The start point's y value. -->
- <xs:attribute name="y1" type="Sk:Float"/>
- <!-- @attribute y2 The stop point's y value. -->
- <xs:attribute name="y2" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** lineTo
- LineTo adds a line from the last point in a path to the specified point.
- */ -->
- <xs:element name="lineTo">
- <xs:complexType>
- <!-- @attribute x The final path x coordinate. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The final path y coordinate. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** linearGradient
- LinearGradient sets the paint shader to ramp between two or more colors.
- */ -->
- <xs:element name="linearGradient">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="Sk:color"/>
- <xs:element ref="Sk:matrix"/>
- </xs:choice>
- <!-- @attribute matrix Matrix applies a 3x3 transform to the gradient. -->
- <xs:attribute name="matrix" type="Sk:Matrix"/>
- <!-- @attribute tileMode One of @pattern. @patternDescription -->
- <xs:attribute name="tileMode" type="Sk:TileMode"/>
- <!-- @attribute offsets An optional array of values used to bias the colors. The first entry
- in the array must be 0.0, the last must be 1.0, and intermediate values must ascend. -->
- <xs:attribute name="offsets" type="Sk:FloatArray"/>
- <!-- @attribute points Two points describing the start and end of the gradient. -->
- <xs:attribute name="points" type="Sk:Point"/> <!-- not right; should be array of 2 points -->
- <!-- @attribute unitMapper A script that returns the mapping for [0,1] for the gradient.
- The script can use the predefined variable 'unit' to compute the mapping. For instance,
- "unit*unit" squares the value (while still keeping it in the range of [0,1].) The computed number
- is pinned to from 0 to 1 after the script is executed. -->
- <xs:attribute name="unitMapper" type="Sk:String"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** maskFilter
- MaskFilter disables any mask filter referenced by the paint.
- */ -->
- <xs:element name="maskFilter">
- <xs:complexType>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** matrix
- Matrix transforms all points drawn to the canvas. The matrix may translate, scale, skew, rotate,
- or apply perspective, or apply any combination.
- */ -->
- <xs:element name="matrix">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <!-- @element fromPath FromPath maps a unit vector to a position and direction on a path. -->
- <xs:element ref="Sk:fromPath"/>
- <!-- @element polyToPoly PolyToPoly maps a points between two polygons. -->
- <xs:element ref="Sk:polyToPoly"/>
- <!-- @element rectToRect RectToRect maps a points between two rectangles. -->
- <xs:element ref="Sk:rectToRect"/>
- <!-- @element rotate Rotate computes the matrix rotation in degrees. -->
- <xs:element ref="Sk:rotate"/>
- <!-- @element scale Scale stretches or shrinks horizontally, vertically, or both. -->
- <xs:element ref="Sk:scale"/>
- <!-- @element skew Skew slants horizontally, vertically, or both. -->
- <xs:element ref="Sk:skew"/>
- <!-- @element translate Translate moves horizontally, vertically, or both. -->
- <xs:element ref="Sk:translate"/>
- </xs:choice>
- <!-- @attribute matrix Nine floats describing a 3x3 matrix. -->
- <xs:attribute name="matrix" type="Sk:FloatArray"/>
- <!-- @attribute perspectX The [0][2] element of the 3x3 matrix. -->
- <xs:attribute name="perspectX" type="Sk:Float"/>
- <!-- @attribute perspectY The [1][2] element of the 3x3 matrix. -->
- <xs:attribute name="perspectY" type="Sk:Float"/>
- <!-- @attribute rotate The angle to rotate in degrees. -->
- <xs:attribute name="rotate" type="Sk:Float"/>
- <!-- @attribute scale The scale to apply in both X and Y.. -->
- <xs:attribute name="scale" type="Sk:Float"/>
- <!-- @attribute scaleX The [0][0] element of the 3x3 matrix. -->
- <xs:attribute name="scaleX" type="Sk:Float"/>
- <!-- @attribute scaleY The [1][1] element of the 3x3 matrix. -->
- <xs:attribute name="scaleY" type="Sk:Float"/>
- <!-- @attribute skewX The [0][1] element of the 3x3 matrix. -->
- <xs:attribute name="skewX" type="Sk:Float"/>
- <!-- @attribute skewY The [1][0] element of the 3x3 matrix. -->
- <xs:attribute name="skewY" type="Sk:Float"/>
- <!-- @attribute translate A point specifying the translation in X and Y. -->
- <xs:attribute name="translate" type="Sk:Point"/>
- <!-- @attribute translateX The [2][0] element of the 3x3 matrix. -->
- <xs:attribute name="translateX" type="Sk:Float"/>
- <!-- @attribute translateY The [2][1] element of the 3x3 matrix. -->
- <xs:attribute name="translateY" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** move
- Move an element in the display list in front or behind other elements.
- If where and offset are omitted, the element is moved to the end of the display list.
- If where is specified, the element is moved before the first occurance of where in the display list.
- If offset and where are specified, the element is moved before where plus offset.
- A positive offset without where moves the element to the start of the list plus offset.
- A negative offset without where moves the element to the end of the list minus offset.
- */ -->
- <xs:element name="move">
- <xs:complexType>
- <!-- @attribute mode Has no effect. -->
- <xs:attribute name="mode" type="Sk:AddMode"/>
- <!-- @attribute offset The destination position using the rules listed above. -->
- <xs:attribute name="offset" type="Sk:Int"/>
- <!-- @attribute use The element to move. -->
- <xs:attribute name="use" type="Sk:Drawable"/>
- <!-- @attribute where The ID of the first display list entry to move to. -->
- <xs:attribute name="where" type="Sk:Drawable"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** moveTo
- MoveTo specifies the first point in a path contour.
- */ -->
- <xs:element name="moveTo">
- <xs:complexType>
- <!-- @attribute x The point's x coordinate. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The point's y coordinate. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** movie
- Movie describes a display list within the current canvas and paint. Movies can contain
- movies. One movie cannot affect how another movie draws, but movies can communicate
- with each other by posting events.
- */ -->
- <xs:element name="movie">
- <xs:complexType>
- <!-- @attribute src The URI reference, local to the containing document, containing the movie's XML. -->
- <xs:attribute name="src" type="Sk:String"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** oval
- Oval describes a circle stretched to fit in a rectangle.
- The width and height attribute compute the oval's right and bottom edges when the oval
- description is first seen. Animating the oval's left or top will not recompute the right or bottom
- if the width or height have been specified.
- */ -->
- <xs:element name="oval">
- <xs:complexType>
- <!-- @attribute bottom The bottom edge of the oval. -->
- <xs:attribute name="bottom" type="Sk:Float"/>
- <!-- @attribute height The height of the oval. -->
- <xs:attribute name="height" type="Sk:Float"/>
- <!-- @attribute left The left edge of the oval. -->
- <xs:attribute name="left" type="Sk:Float"/>
- <!-- @attribute needsRedraw Set to true if last draw was visible. -->
- <xs:attribute name="needsRedraw" type="Sk:Boolean"/>
- <!-- @attribute right The right edge of the oval. -->
- <xs:attribute name="right" type="Sk:Float"/>
- <!-- @attribute top The top edge of the oval. -->
- <xs:attribute name="top" type="Sk:Float"/>
- <!-- @attribute width The width of the oval. -->
- <xs:attribute name="width" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** paint
- Paint uses color, flags, path effects, mask filters, shaders, and stroke effects when drawing
- geometries, images, and text.
- */ -->
- <xs:element name="paint">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <!-- @element bitmapShader Sets or cancels an image to draw as the color. -->
- <xs:element ref="Sk:bitmapShader"/>
- <!-- @element blur Blur radially draws the shape with varying transparency. -->
- <xs:element ref="Sk:blur"/>
- <!-- @element color Color specifies a solid color in RGB or HSV. -->
- <xs:element ref="Sk:color"/>
- <!-- @element dash Dashes alternates stroking with dashes and gaps. -->
- <xs:element ref="Sk:dash"/>
- <!-- @element discrete Discrete wobbles the geometry randomly. -->
- <xs:element ref="Sk:discrete"/>
- <!-- @element emboss Emboss simulates a 3D light to show highlights and relief. -->
- <xs:element ref="Sk:emboss"/>
- <!-- @element linearGradient LinearGradient linearly ramps between two or more colors. -->
- <xs:element ref="Sk:linearGradient"/>
- <!-- @element maskFilter MaskFilter cancels a blur or emboss. -->
- <xs:element ref="Sk:maskFilter"/>
- <!-- @element pathEffect PathEffect cancels a discrete or dash. -->
- <xs:element ref="Sk:pathEffect"/>
- <!-- @element radialGradient RadialGradient radially ramps between two or more colors. -->
- <xs:element ref="Sk:radialGradient"/>
- <!-- @element shader Shader cancels a linear or radial gradient. -->
- <xs:element ref="Sk:shader"/>
- <!-- @element typeface Typeface chooses a font out of a font family. -->
- <xs:element ref="Sk:typeface"/>
- <!-- @element transparentShader TransparentShader ? [not sure what this is for] -->
- <xs:element ref="Sk:transparentShader"/>
- </xs:choice>
- <!-- @attribute antiAlias AntiAlias uses gray shades to increase the definition of paths. -->
- <xs:attribute name="antiAlias" type="Sk:Boolean"/>
- <!-- @attribute ascent Ascent returns the height above the baseline defined by the font. -->
- <xs:attribute name="ascent" type="Sk:Float"/>
- <!-- @attribute color Color sets the paint to the color element with this ID. -->
- <xs:attribute name="color" type="Sk:Color"/>
- <!-- @attribute descent Descent returns the height below the baseline defined by thte font -->
- <xs:attribute name="descent" type="Sk:Float"/>
- <!-- @attribute fakeBold FakeBold enables a faked bold for text. -->
- <xs:attribute name="fakeBold" type="Sk:Boolean"/>
- <!-- @attribute filterType FilterType -->
- <xs:attribute name="filterType" type="Sk:FilterType"/>
- <!-- @attribute linearText LinearText uses the ideal path metrics at all sizes to describe text. -->
- <xs:attribute name="linearText" type="Sk:Boolean"/>
- <!-- @attribute maskFilter MaskFilter specifies a blur or emboss with this ID. -->
- <xs:attribute name="maskFilter" type="Sk:MaskFilter"/>
- <!-- @attribute measureText MeasureText(String) returns the width of the string in this paint. -->
- <xs:attribute name="measureText" type="Sk:Float"/>
- <!-- @attribute pathEffect PathEffect specifies a discrete or dash with this ID. -->
- <xs:attribute name="pathEffect" type="Sk:PathEffect"/>
- <!-- @attribute shader Shader specifies a gradient with this ID. -->
- <xs:attribute name="shader" type="Sk:Shader"/>
- <!-- @attribute strikeThru StrikeThru adds a line through the middle of drawn text. -->
- <xs:attribute name="strikeThru" type="Sk:Boolean"/>
- <!-- @attribute stroke Stroke draws the outline of geometry according to the pen attributes.
- If style is also present, its setting overrides stroke. -->
- <xs:attribute name="stroke" type="Sk:Boolean"/>
- <!-- @attribute strokeCap StrokeCap is one of @pattern. -->
- <xs:attribute name="strokeCap" type="Sk:Cap"/>
- <!-- @attribute strokeJoin StrokeJoin is one of @pattern. -->
- <xs:attribute name="strokeJoin" type="Sk:Join"/>
- <!-- @attribute strokeMiter StrokeMiter limits the pen's joins on narrow angles. -->
- <xs:attribute name="strokeMiter" type="Sk:Float"/>
- <!-- @attribute strokeWidth StrokeWidth specifies the width of the pen. -->
- <xs:attribute name="strokeWidth" type="Sk:Float"/>
- <!-- @attribute style Style fills, strokes, or strokes and fills the geometry with the paint's color. -->
- <xs:attribute name="style" type="Sk:Style"/>
- <!-- @attribute textAlign TextAlign is one of @pattern. -->
- <xs:attribute name="textAlign" type="Sk:Align"/>
- <!-- @attribute textScaleX TextScaleX condenses or exapnds the text. -->
- <xs:attribute name="textScaleX" type="Sk:Float"/>
- <!-- @attribute textSize TextSize specifies the point size of the text. -->
- <xs:attribute name="textSize" type="Sk:Float"/>
- <!-- @attribute textSkewX TextSkewX draws the text obliquely. -->
- <xs:attribute name="textSkewX" type="Sk:Float"/>
- <!-- @attribute textTracking TextTracking specifies the space between letters. -->
- <xs:attribute name="textTracking" type="Sk:Float"/>
- <!-- @attribute typeface Typeface specifies a typeface element with this ID. -->
- <xs:attribute name="typeface" type="Sk:Typeface"/>
- <!-- @attribute underline Underline draws a line under the baseline of the text. -->
- <xs:attribute name="underline" type="Sk:Boolean"/>
- <!-- @attribute xfermode Xfermode specifies a transfer mode, one of @pattern. -->
- <xs:attribute name="xfermode" type="Sk:Xfermode"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** path
- Path creates a geometry out of lines and curves.
- */ -->
- <xs:element name="path">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <!-- @element addCircle Adds a circle to the path. -->
- <xs:element ref="Sk:addCircle"/>
- <!-- @element addOval Adds an oval to the path. -->
- <xs:element ref="Sk:addOval"/>
- <!-- @element addPath Adds another path to the path. -->
- <xs:element ref="Sk:addPath"/>
- <!-- @element addRoundRect Adds a rounded-corner rectangle to the path. -->
- <xs:element ref="Sk:addRoundRect"/>
- <!-- @element close Connects the last point on the path to the first. -->
- <xs:element ref="Sk:close"/>
- <!-- @element cubicTo Extends the path with a cubic curve. -->
- <xs:element ref="Sk:cubicTo"/>
- <!-- @element lineTo Extends the path with a line. -->
- <xs:element ref="Sk:lineTo"/>
- <!-- @element moveTo Starts a new path contour. -->
- <xs:element ref="Sk:moveTo"/>
- <!-- @element quadTo Extends the path with a quadratic curve. -->
- <xs:element ref="Sk:quadTo"/>
- <!-- @element rCubicTo Extends the path with a cubic curve expressed with relative offsets. -->
- <xs:element ref="Sk:rCubicTo"/>
- <!-- @element rLineTo Extends the path with a line expressed with relative offsets. -->
- <xs:element ref="Sk:rLineTo"/>
- <!-- @element rMoveTo Starts a new path contour relative to the path's last point. -->
- <xs:element ref="Sk:rMoveTo"/>
- <!-- @element rQuadTo Extends the path with a quadratic curve expressed with relative offsets. -->
- <xs:element ref="Sk:rQuadTo"/>
- </xs:choice>
- <!-- @attribute d Creates a path using SVG path notation. -->
- <xs:attribute name="d" type="Sk:String"/>
- <!-- @attribute fillType One of @pattern. -->
- <xs:attribute name="fillType" type="Sk:FillType"/>
- <!-- @attribute length Returns the length of the path. -->
- <xs:attribute name="length" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** pathEffect
- PathEffect cancels any current path effect within the paint, such as dashing or discrete.
- */ -->
- <xs:element name="pathEffect">
- <xs:complexType>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** point
- Point describes a two dimensional point in space. The point element can be added
- to the display list and drawn.
- */ -->
- <xs:element name="point">
- <xs:complexType>
- <!-- @attribute x The x coordinate of the point. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The y coordinate of the point. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** polygon
- Polygon creates a geometry out of lines. Polygon is a specialization of path; element that
- refers to a path can refer to a polygon also. A polygon specified through elements behaves identically
- to a path. A polygon specified by the points attribute contains a single contour, and the contour is
- automatically closed.
- */ -->
- <xs:element name="polygon">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <!-- @element close Connects the last point on the path to the first. -->
- <xs:element ref="Sk:close"/>
- <!-- @element addPath Adds another path to the path. -->
- <xs:element ref="Sk:addPath"/>
- <!-- @element lineTo Extends the path with a line. -->
- <xs:element ref="Sk:lineTo"/>
- <!-- @element moveTo Starts a new path contour. -->
- <xs:element ref="Sk:moveTo"/>
- <!-- @element rLineTo Extends the path with a line expressed with relative offsets. -->
- <xs:element ref="Sk:rLineTo"/>
- <!-- @element rMoveTo Starts a new path contour relative to the path's last point. -->
- <xs:element ref="Sk:rMoveTo"/>
- </xs:choice>
- <!-- @attribute points An array of values that describe a sequence of points, compatible with SVG. -->
- <xs:attribute name="points" type="Sk:FloatArray"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** polyline
- Polyline creates a geometry out of lines. Polygon is a specialization of path; element that
- refers to a path can refer to a polygon also. A polygon specified through elements behaves identically
- to a path. A polygon specified by the points attribute contains a single contour, and the contour is
- not automatically closed.
- */ -->
- <xs:element name="polyline">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <!-- @element close Connects the last point on the path to the first. -->
- <xs:element ref="Sk:close"/>
- <!-- @element addPath Adds another path to the path. -->
- <xs:element ref="Sk:addPath"/>
- <!-- @element lineTo Extends the path with a line. -->
- <xs:element ref="Sk:lineTo"/>
- <!-- @element moveTo Starts a new path contour. -->
- <xs:element ref="Sk:moveTo"/>
- <!-- @element rLineTo Extends the path with a line expressed with relative offsets. -->
- <xs:element ref="Sk:rLineTo"/>
- <!-- @element rMoveTo Starts a new path contour relative to the path's last point. -->
- <xs:element ref="Sk:rMoveTo"/>
- </xs:choice>
- <!-- @attribute points An array of values that describe a sequence of points, compatible with SVG. -->
- <xs:attribute name="points" type="Sk:FloatArray"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** polyToPoly
- PolyToPoly creates a matrix which maps points proportionally from one polygon to the other.
- */ -->
- <xs:element name="polyToPoly">
- <xs:complexType>
- <xs:choice maxOccurs="2">
- <xs:element ref="Sk:polygon"/>
- </xs:choice>
- <!-- @attribute source The polygon to map from.. -->
- <xs:attribute name="source" type="Sk:polygon"/>
- <!-- @attribute destination The polygon to map to.. -->
- <xs:attribute name="destination" type="Sk:polygon"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** post
- Post activates an event. The event can trigger one or more actions, and can carry a data payload.
- */ -->
- <xs:element name="post">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="Sk:data"/>
- </xs:choice>
- <!-- @attribute delay Time in seconds that must elapse before the target event is activated. -->
- <xs:attribute name="delay" type="Sk:MSec"/>
- <!-- @attribute mode One of @pattern. @patternDescription -->
- <xs:attribute name="mode" type="Sk:EventMode"/>
- <!-- @attribute sink The optional named EventSink to direct the event to. -->
- <xs:attribute name="sink" type="Sk:String"/>
- <!-- @attribute target The ID of the user event to trigger. -->
- <xs:attribute name="target" type="Sk:String"/>
- <!-- @attribute type The name of the external event to post. -->
- <xs:attribute name="type" type="Sk:String"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** quadTo
- QuadTo adds a quadratic curve to a path.
- */ -->
- <xs:element name="quadTo">
- <xs:complexType>
- <!-- @attribute x1 The x position of the off-curve point. -->
- <xs:attribute name="x1" type="Sk:Float"/>
- <!-- @attribute x2 The x position of the final point. -->
- <xs:attribute name="x2" type="Sk:Float"/>
- <!-- @attribute y1 The y position of the off-curve point. -->
- <xs:attribute name="y1" type="Sk:Float"/>
- <!-- @attribute y2 The y position of the final point. -->
- <xs:attribute name="y2" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** rCubicTo
- RCubicTo adds a cubic to the path, using the last point in the path as the first point of the cubic. THe
- added points are offsets from the last point in the path.
- */ -->
- <xs:element name="rCubicTo">
- <xs:complexType>
- <!-- @attribute x1 The x offset of the first off-curve point. -->
- <xs:attribute name="x1" type="Sk:Float"/>
- <!-- @attribute x2 The x offset of the second off-curve point. -->
- <xs:attribute name="x2" type="Sk:Float"/>
- <!-- @attribute x3 The x offset of the final on-curve point. -->
- <xs:attribute name="x3" type="Sk:Float"/>
- <!-- @attribute y1 The y offset of the first off-curve point. -->
- <xs:attribute name="y1" type="Sk:Float"/>
- <!-- @attribute y2 The y offset of the second off-curve point. -->
- <xs:attribute name="y2" type="Sk:Float"/>
- <!-- @attribute y3 The y offset of the final on-curve point. -->
- <xs:attribute name="y3" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** rLineTo
- RLineTo adds a line from the last point in a path to the specified point. The specified
- point is relative to the last point in the path.
- */ -->
- <xs:element name="rLineTo">
- <xs:complexType>
- <!-- @attribute x The final path x coordinate. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The final path y coordinate. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** rMoveTo
- RMoveTo specifies the first point in a path contour. The specified
- point is relative to the last point in the path.
- */ -->
- <xs:element name="rMoveTo">
- <xs:complexType>
- <!-- @attribute x The point's x coordinate. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The point's y coordinate. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** rQuadTo
- RQuadTo adds a quadratic curve to a path. The quadratic
- points are relative to the last point in the path.
- */ -->
- <xs:element name="rQuadTo">
- <xs:complexType>
- <!-- @attribute x1 The x position of the off-curve point. -->
- <xs:attribute name="x1" type="Sk:Float"/>
- <!-- @attribute x2 The x position of the final point. -->
- <xs:attribute name="x2" type="Sk:Float"/>
- <!-- @attribute y1 The y position of the off-curve point. -->
- <xs:attribute name="y1" type="Sk:Float"/>
- <!-- @attribute y2 The y position of the final point. -->
- <xs:attribute name="y2" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** radialGradient
- RadialGradient sets the paint shader to ramp between two or more colors in concentric circles.
- */ -->
- <xs:element name="radialGradient">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="Sk:color"/>
- <xs:element ref="Sk:matrix"/>
- </xs:choice>
- <!-- @attribute matrix Matrix applies a 3x3 transform to the gradient. -->
- <xs:attribute name="matrix" type="Sk:Matrix"/>
- <!-- @attribute tileMode One of @pattern. @patternDescription -->
- <xs:attribute name="tileMode" type="Sk:TileMode"/>
- <!-- @attribute center The center point of the radial gradient. -->
- <xs:attribute name="center" type="Sk:Point"/>
- <!-- @attribute offsets An optional array of values used to bias the colors. The first entry
- in the array must be 0.0, the last must be 1.0, and intermediate values must ascend. -->
- <xs:attribute name="offsets" type="Sk:FloatArray"/>
- <!-- @attribute radius The distance from the first color to the last color. -->
- <xs:attribute name="radius" type="Sk:Float"/>
- <!-- @attribute unitMapper A script that returns the mapping for [0,1] for the gradient.
- The script can use the predefined variable 'unit' to compute the mapping. For instance,
- "unit*unit" squares the value (while still keeping it in the range of [0,1].) The computed number
- is pinned to from 0 to 1 after the script is executed. -->
- <xs:attribute name="unitMapper" type="Sk:String"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** random
- Random generates a random number, from min to max. Each time the random attribute is
- read, a new random number is generated.
- */ -->
- <xs:element name="random">
- <xs:complexType>
- <!-- @attribute blend The random bias from 0.0 to 1.0.
- 0.0 biias the number towards the start and end of the range.
- 1.0 (the default) generates a linear distribution.-->
- <xs:attribute name="blend" type="Sk:Float"/>
- <!-- @attribute max The largest value to generate. -->
- <xs:attribute name="max" type="Sk:Float"/>
- <!-- @attribute min The smallest value to generate. -->
- <xs:attribute name="min" type="Sk:Float"/>
- <!-- @attribute random The generated value. -->
- <xs:attribute name="random" type="Sk:Float"/>
- <!-- @attribute seed The random seed. Identical seeds generate the same series of
- numbers. -->
- <xs:attribute name="seed" type="Sk:Int"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** rect
- Rect describes a bounding box.
- The width and height attribute compute the rectangle's right and bottom edges when the rectangle
- description is first seen. Animating the rectangle's left or top will not recompute the right or bottom
- if the width or height have been specified.
- */ -->
- <xs:element name="rect">
- <xs:complexType>
- <!-- @attribute bottom The bottom edge of the rectangle. -->
- <xs:attribute name="bottom" type="Sk:Float"/>
- <!-- @attribute height The height of the rectangle. Setting height computes the
- bottom attribute from the top attribute. -->
- <xs:attribute name="height" type="Sk:Float"/>
- <!-- @attribute left The left edge of the rectangle. -->
- <xs:attribute name="left" type="Sk:Float"/>
- <!-- @attribute needsRedraw Set to true if last draw was visible. -->
- <xs:attribute name="needsRedraw" type="Sk:Boolean"/>
- <!-- @attribute right The right edge of the rectangle. -->
- <xs:attribute name="right" type="Sk:Float"/>
- <!-- @attribute top The top edge of the rectangle. -->
- <xs:attribute name="top" type="Sk:Float"/>
- <!-- @attribute width The width of the rectangle. -->
- <xs:attribute name="width" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** rectToRect
- RectToRect adds a matrix to map one rectangle's coordinates to another.
- */ -->
- <xs:element name="rectToRect">
- <xs:complexType>
- <xs:choice maxOccurs="2">
- <xs:element ref="Sk:rect"/>
- </xs:choice>
- <!-- @attribute source The rectangle to map from. -->
- <xs:attribute name="source" type="Sk:rect"/>
- <!-- @attribute destination The rectangle to map to. -->
- <xs:attribute name="destination" type="Sk:rect"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** remove
- Remove an item from the display list.
- If where is specified, the first occurance of where in the display list is removed.
- If offset and where are specified, the element at where plus offset is removed.
- A positive offset without where removes the element at the start of the list plus offset.
- A negative offset without where removes the element at the end of the list minus offset.
- */ -->
- <xs:element name="remove">
- <xs:complexType>
- <!-- @attribute delete If true, reverse the action of apply's attribute mode="create".
- (Experimental.) -->
- <xs:attribute name="delete" type="Sk:Boolean"/>
- <!-- @attribute offset The destination position using the rules listed above. -->
- <xs:attribute name="offset" type="Sk:Int"/>
- <!-- @attribute where The ID of the first display list entry to remove. -->
- <xs:attribute name="where" type="Sk:Drawable"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** replace
- Replace an item in the display list.
- If where is specified, the first occurance of where in the display list is replaced by use.
- If offset and where are specified, the element at where plus offset is replaced by use.
- A positive offset without where replaces the element at the start of the list plus offset.
- A negative offset without where replaces the element at the end of the list minus offset.
- */ -->
- <xs:element name="replace">
- <xs:complexType>
- <!-- @attribute mode Has no effect. -->
- <xs:attribute name="mode" type="Sk:AddMode"/>
- <!-- @attribute offset The destination position using the rules listed above. -->
- <xs:attribute name="offset" type="Sk:Int"/>
- <!-- @attribute use The element to be added to the display list.. -->
- <xs:attribute name="use" type="Sk:Drawable"/>
- <!-- @attribute where The ID of the first display list entry to remove. -->
- <xs:attribute name="where" type="Sk:Drawable"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** rotate
- Rotate creates a matrix that rotates a unit vector about a center point, and concatenated
- with the containing matrix.
- */ -->
- <xs:element name="rotate">
- <xs:complexType>
- <!-- @attribute center A point the rotation is centered about; by default, [0.0, 0.0]. -->
- <xs:attribute name="center" type="Sk:Point"/>
- <!-- @attribute degrees The rotation in degrees. -->
- <xs:attribute name="degrees" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** roundRect
- RoundRect creates a rectangle with rounded corners. The rounded corners are specified by
- two axes, which describe an quarter-section of the oval which is used in each corner.
- The width and height attribute compute the rectangle's right and bottom edges when the rectangle
- description is first seen. Animating the rectangle's left or top will not recompute the right or bottom
- if the width or height have been specified.
- */ -->
- <xs:element name="roundRect">
- <xs:complexType>
- <!-- @attribute bottom The bottom edge of the rectangle. -->
- <xs:attribute name="bottom" type="Sk:Float"/>
- <!-- @attribute height The height of the rectangle. Setting height computes the
- bottom attribute from the top attribute. -->
- <xs:attribute name="height" type="Sk:Float"/>
- <!-- @attribute left The left edge of the rectangle. -->
- <xs:attribute name="left" type="Sk:Float"/>
- <!-- @attribute needsRedraw Set to true if last draw was visible. -->
- <xs:attribute name="needsRedraw" type="Sk:Boolean"/>
- <!-- @attribute right The right edge of the rectangle. -->
- <xs:attribute name="right" type="Sk:Float"/>
- <!-- @attribute top The top edge of the rectangle. -->
- <xs:attribute name="top" type="Sk:Float"/>
- <!-- @attribute rx The radius of the corners on the x axis. -->
- <xs:attribute name="rx" type="Sk:Float"/>
- <!-- @attribute ry The radius of the corners on the y axis. -->
- <xs:attribute name="ry" type="Sk:Float"/>
- <!-- @attribute width The width of the rectangle. Setting width computes the
- right attribute from the left attribute. -->
- <xs:attribute name="width" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** save
- The save element collects a series of elements into a group. The state of the paint and
- canvas are saved, so that edits to the paint and canvas within the group are restored
- to their original value at the end of the group.
- The save element can be referenced
- or defined within elements, like apply, which operate on any kind of element. Groups
- may contain groups.
- */ -->
- <xs:element name="save">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="Sk:add"/>
- <xs:element ref="Sk:apply"/>
- <xs:element ref="Sk:array"/>
- <xs:element ref="Sk:bitmap"/>
- <xs:element ref="Sk:boolean"/>
- <xs:element ref="Sk:bounds"/>
- <!-- <xs:element ref="Sk3D:camera"/> -->
- <xs:element ref="Sk:clear"/>
- <xs:element ref="Sk:clip"/>
- <xs:element ref="Sk:color"/>
- <xs:element ref="Sk:drawTo"/>
- <xs:element ref="Sk:float"/>
- <xs:element ref="Sk:full"/>
- <xs:element ref="Sk:group"/>
- <xs:element ref="Sk:hitClear"/>
- <xs:element ref="Sk:hitTest"/>
- <xs:element ref="Sk:image"/>
- <xs:element ref="Sk:int"/>
- <xs:element ref="Sk:line"/>
- <xs:element ref="Sk:matrix"/>
- <xs:element ref="Sk:move"/>
- <xs:element ref="Sk:oval"/>
- <xs:element ref="Sk:paint"/>
- <!-- <xs:element ref="Sk:patch"/> -->
- <xs:element ref="Sk:path"/>
- <xs:element ref="Sk:point"/>
- <xs:element ref="Sk:polygon"/>
- <xs:element ref="Sk:polyline"/>
- <xs:element ref="Sk:post"/>
- <xs:element ref="Sk:random"/>
- <xs:element ref="Sk:rect"/>
- <xs:element ref="Sk:remove"/>
- <xs:element ref="Sk:replace"/>
- <xs:element ref="Sk:roundRect"/>
- <xs:element ref="Sk:save"/>
- <xs:element ref="Sk:set"/>
- <xs:element ref="Sk:snapshot"/>
- <xs:element ref="Sk:string"/>
- <xs:element ref="Sk:text"/>
- <xs:element ref="Sk:textBox"/>
- <xs:element ref="Sk:textOnPath"/>
- <xs:element ref="Sk:textToPath"/>
- </xs:choice>
- <!-- @attribute condition If present and zero, the contained elements are ignored. -->
- <xs:attribute name="condition" type="Sk:DynamicString"/>
- <!-- @attribute enableCondition If present and zero, the contained elements are ignored
- when enabled. -->
- <xs:attribute name="enableCondition" type="Sk:DynamicString"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** scale
- Scale creates a matrix that scales a unit vector about a center point, and concatenated
- with the containing matrix.
- */ -->
- <xs:element name="scale">
- <xs:complexType>
- <!-- @attribute center A point the scale is centered about; by default, [0.0, 0.0]. -->
- <xs:attribute name="center" type="Sk:Point"/>
- <!-- @attribute x The factor all x values are scaled by; by default, 1.0. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The factor all y values are scaled by; by default, 1.0. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** screenplay
- Screenplay contains all events and elements referenced by the events.
- A document may only contain a single screenplay element.
- */ -->
- <xs:element name="screenplay">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded" >
- <xs:element ref="Sk:add"/>
- <xs:element ref="Sk:apply"/>
- <xs:element ref="Sk:array"/>
- <xs:element ref="Sk:bitmap"/>
- <xs:element ref="Sk:boolean"/>
- <xs:element ref="Sk:bounds"/>
- <!-- <xs:element ref="Sk3D:camera"/> -->
- <xs:element ref="Sk:clear"/>
- <xs:element ref="Sk:clip"/>
- <xs:element ref="Sk:color"/>
- <xs:element ref="Sk:drawTo"/>
- <xs:element ref="Sk:event"/>
- <xs:element ref="Sk:float"/>
- <xs:element ref="Sk:full"/>
- <xs:element ref="Sk:group"/>
- <xs:element ref="Sk:hitClear"/>
- <xs:element ref="Sk:hitTest"/>
- <xs:element ref="Sk:image"/>
- <xs:element ref="Sk:include"/>
- <xs:element ref="Sk:int"/>
- <xs:element ref="Sk:line"/>
- <xs:element ref="Sk:matrix"/>
- <xs:element ref="Sk:move"/>
- <xs:element ref="Sk:movie"/>
- <xs:element ref="Sk:oval"/>
- <xs:element ref="Sk:paint"/>
- <!-- <xs:element ref="Sk:patch"/> -->
- <xs:element ref="Sk:path"/>
- <xs:element ref="Sk:point"/>
- <xs:element ref="Sk:polygon"/>
- <xs:element ref="Sk:polyline"/>
- <xs:element ref="Sk:post"/>
- <xs:element ref="Sk:random"/>
- <xs:element ref="Sk:rect"/>
- <xs:element ref="Sk:remove"/>
- <xs:element ref="Sk:replace"/>
- <xs:element ref="Sk:roundRect"/>
- <xs:element ref="Sk:save"/>
- <xs:element ref="Sk:set"/>
- <xs:element ref="Sk:snapshot"/>
- <xs:element ref="Sk:string"/>
- <xs:element ref="Sk:text"/>
- <xs:element ref="Sk:textBox"/>
- <xs:element ref="Sk:textOnPath"/>
- <xs:element ref="Sk:textToPath"/>
- </xs:choice>
- <!-- @attribute time The time of the draw (readable from script; not part of the document XML) -->
- <xs:attribute name="time" type="Sk:MSec"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** set
- Set animates the target element's attribute directly to the specified value.
- */ -->
- <xs:element name="set">
- <xs:complexType>
- <!-- @attribute begin An optional offset that must elapse before the animation begins. The apply
- begin attribute is added to any animator's begin attribute. -->
- <xs:attribute name="begin" type="Sk:MSec"/>
- <!-- @attribute dur The duration of the animation in milliseconds. -->
- <xs:attribute name="dur" type="Sk:MSec"/>
- <!-- @attribute dynamic If true, restart the animation if any of the simple values the
- 'lval' or 'to' attributes reference are changed. Simple values are contained by the array, boolean, float, int,
- and string elements. -->
- <!-- @attribute dynamic [Depreciated.] -->
- <xs:attribute name="dynamic" type="Sk:Boolean" />
- <!-- @attribute field The attribute to animate. -->
- <xs:attribute name="field" type="Sk:String"/>
- <!-- @attribute formula A script to execute over time to compute the field's value. Typically,
- the fomula is a script expression which includes a reference to the time attribute of the
- containing apply element. -->
- <xs:attribute name="formula" type="Sk:DynamicString"/>
- <!-- @attribute lval An expression evaluating to the attribute to animate.
- If present, lval overrides 'field'. The expression is typically an array element,
- e.g. lval="x[y]" . -->
- <xs:attribute name="lval" type="Sk:DynamicString"/>
- <!-- @attribute reset If true, the computed value is the initial value after the
- animation is complete. If false, or by default, the computed value is the final value
- after the animation is complete. -->
- <xs:attribute name="reset" type="Sk:Boolean"/>
- <!-- @attribute step When apply's attribute mode="immediate" or "create", the step attribute can be read by
- script to determine the current animation iteration. -->
- <xs:attribute name="step" type="Sk:Int" />
- <!-- @attribute target The element to animate. By default, the element contained by the apply
- or referenced by the apply's scope attribute is the animate target. -->
- <xs:attribute name="target" type="Sk:DynamicString"/>
- <!-- @attribute to The ending value (requires a 'from' attribute) -->
- <xs:attribute name="to" type="Sk:DynamicString"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** skew
- Skew creates a matrix that skews a unit vector about a center point, and concatenated
- with the containing matrix.
- */ -->
- <xs:element name="skew">
- <xs:complexType>
- <!-- @attribute center A point the skew is centered about; by default, [0.0, 0.0]. -->
- <xs:attribute name="center" type="Sk:Point"/>
- <!-- @attribute x The factor all x values are skewed by; by default, 0.0. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The factor all y values are skewed by; by default, 0.0. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** snapshot
- Snapshot creates an image file containing the display list.
- */ -->
- <xs:element name="snapshot">
- <xs:complexType>
- <!-- @attribute filename The name of the file to generate. -->
- <xs:attribute name="filename" type="Sk:String"/>
- <!-- @attribute quality The quality of the image, from 0 to 100. -->
- <xs:attribute name="quality" type="Sk:Float"/>
- <!-- @attribute sequence Set to true to number the filenames sequentially. -->
- <xs:attribute name="sequence" type="Sk:Boolean"/>
- <!-- @attribute type One of @pattern. The type of encoding to use. -->
- <xs:attribute name="type" type="Sk:BitmapEncoding"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** string
- String contains an array of characters.
- */ -->
- <xs:element name="string" >
- <xs:complexType>
- <!-- @attribute length The number of characters in the string (read only). -->
- <xs:attribute name="length" type="Sk:Int"/>
- <!-- @attribute slice An ECMAScript compatible function that returns part of the string. -->
- <xs:attribute name="slice" type="Sk:String"/>
- <!-- @attribute value The string itself. -->
- <xs:attribute name="value" type="Sk:String"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** text
- A drawable string with a position.
- */ -->
- <xs:element name="text">
- <xs:complexType>
- <!-- @attribute length The number of characters in the string (read only). -->
- <xs:attribute name="length" type="Sk:Int"/>
- <!-- @attribute text The string itself. -->
- <xs:attribute name="text" type="Sk:String"/>
- <!-- @attribute x The x coordinate of the string. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The y coordinate of the string. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** textBox
- A drawable string fit into a box.
- */ -->
- <xs:element name="textBox" >
- <xs:complexType>
- <!-- @attribute bottom The bottom of the box. -->
- <xs:attribute name="bottom" type="Sk:Float"/>
- <!-- @attribute height The height of the box, computed from top and bottom. -->
- <xs:attribute name="height" type="Sk:Float"/>
- <!-- @attribute left The left side of the box. -->
- <xs:attribute name="left" type="Sk:Float"/>
- <!-- @attribute mode One of @pattern. -->
- <xs:attribute name="mode" type="Sk:TextBoxMode"/>
- <!-- @attribute needsRedraw Set to true if last draw was visible. -->
- <xs:attribute name="needsRedraw" type="Sk:Boolean"/>
- <!-- @attribute right The right side of the box. -->
- <xs:attribute name="right" type="Sk:Float"/>
- <!-- @attribute spacingAdd The extra spacing between lines. -->
- <xs:attribute name="spacingAdd" type="Sk:Float"/>
- <!-- @attribute spacingAlign One of @pattern. -->
- <xs:attribute name="spacingAlign" type="Sk:TextBoxAlign"/>
- <!-- @attribute spacingMul The line spacing scaled by the text height. -->
- <xs:attribute name="spacingMul" type="Sk:Float"/>
- <!-- @attribute text The text to fit to the box. -->
- <xs:attribute name="text" type="Sk:String"/>
- <!-- @attribute top The top of the box. -->
- <xs:attribute name="top" type="Sk:Float"/>
- <!-- @attribute width The width of the box, computed from left and right. -->
- <xs:attribute name="width" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** textOnPath
- TextOnPath specifies the baseline for a string of text with a path.
- */ -->
- <xs:element name="textOnPath">
- <xs:complexType>
- <xs:choice >
- <xs:element ref="Sk:text" minOccurs="0" />
- <xs:element ref="Sk:path" minOccurs="0" />
- </xs:choice>
- <!-- @attribute offset The distance along the path to place the first text character. -->
- <xs:attribute name="offset" type="Sk:Float"/>
- <!-- @attribute path The baseline of the text. -->
- <xs:attribute name="path" type="Sk:Path"/>
- <!-- @attribute text The text to place along the path. -->
- <xs:attribute name="text" type="Sk:Text"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** textToPath
- TextToPath sets the path to the contours described by the text's glyphs, using the current paint.
- */ -->
- <xs:element name="textToPath">
- <xs:complexType>
- <xs:choice >
- <xs:element ref="Sk:text" minOccurs="0" />
- <xs:element ref="Sk:paint" minOccurs="0" />
- <xs:element ref="Sk:path" minOccurs="0" />
- </xs:choice>
- <!-- @attribute paint The paint selects the text font, size and other text properties. -->
- <xs:attribute name="paint" type="Sk:Paint"/>
- <!-- @attribute path The reference to the path element where the text as path is stored. -->
- <xs:attribute name="path" type="Sk:Path"/>
- <!-- @attribute text The reference to the text element to turn into a path. -->
- <xs:attribute name="text" type="Sk:Text"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** translate
- Translate concatenates a translation-only matrix onto the current matrix.
- */ -->
- <xs:element name="translate">
- <xs:complexType>
- <!-- @attribute x The translation in x. -->
- <xs:attribute name="x" type="Sk:Float"/>
- <!-- @attribute y The translation in y. -->
- <xs:attribute name="y" type="Sk:Float"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** transparentShader
- TransparentShader uses the background for its paint. Works well with emboss.
- */ -->
- <xs:element name="transparentShader">
- <xs:complexType>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
- </xs:element>
-
- <!-- /** typeface
- Typeface describes the text font.
- */ -->
- <xs:element name="typeface">
- <xs:complexType>
- <!-- @attribute fontName The name of the font. -->
- <xs:attribute name="fontName" type="Sk:String"/>
- </xs:complexType>
- </xs:element>
-
-</xs:schema>
-
« no previous file with comments | « skia/animator/SkAnimateProperties.h ('k') | skia/animator/SkAnimateSchema.xsx » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698