Feature Representation
Flash features consist of geometric shapes which have associated with them attributes as part of their definition.
In addition to the generic FME feature attributes that FME Workbench adds to all features (see About Feature Attributes), all Flash features contain a flash_type attribute, which identifies the geometric type.
All element types also have an associate color. All coordinate points and line widths are in twips instead of pixels, where 20 twips = 1 pixel.
Depending on the geometric type, the feature contains additional attributes specific to the geometric type. Note that points are a subset of area, circles are a subset of ellipse and most polygons and closed shapes fall into the area category. Additional attributes are described in subsequent sections. The table below lists the common attributes of all Flash features.
Note: For closed areas that can hold a URL, the URL can only be active if the area has not been rotated, so it both are specified, the rotation takes precedence.
Attribute Name |
Contents |
flash_type
|
The Flash geometric type of this entity. Range: flash_point| flash_line| flash_text| flash_area| flash_arc| flash_ellipse Default: No default |
flash_linecolor
|
This is a string that represents the color intensities of the element. It is formatted as red, green, blue intensities which range between 0..255 Note: If this attribute is not found, then fme_color will be used. Range: String. (0..255, 0..255, 0..255) Default: String (0,0,0) |
fme_linecolor |
This is a string that represents the color intensities of the element. It is formatted as red, green, blue intensities which range between 0..1 This is used as a backup to flash_color. Range: String. (0..1, 0..1, 0..1) Default: String(0,0,0) |
flash_linewidth |
This is an integer value representing the width of the line in twips. Range: Integer>=0 Default: 20 |
flash_rotation |
This attribute specifies and optional rotation for the shape where the clockwise direction is positive. Range: -360 to 360 degrees Default: 0 |
Text
flash_type: flash_text
Flash text is supported through the drawing of Hershey fonts in FME.
The string is broken into letters, which are then broken into lines and drawn. Attributes like text_size may be specified, but the font is fixed due to availability of Hershey fonts. Essentially, although made up of lines, the text has no linewidth or color that is available for setting.
Attribute Name |
Contents |
flash_text_string |
This is the string that will be written to the flash movie. Range: Any String value? Default: “No String Value” Optional: No |
flash_text_size |
This is the size for the text height and if specified, the text will have this height in ground units multiplied by a Hershey height factor to result in a reasonable size of text that if hopefully readable. Range: Integer Default: 20 Optional: Yes |
Points
flash_type: flash_point
Flash point features specify a single set of coordinates which is converted. Each point has a color associated with it. If not defined, default parameters are used, black for the color. URL is the only additional attribute available to control the Flash point settings other than the common ones for all feature types listed.
Note: The concept of a line width is absent in the point feature.
Attribute Name |
Contents |
flash_URL |
This is the URL for the point and if specified, the point will have a small circle around it which is linked to the given URL. Range: Any String value? Default: None |
Lines
flash_type: flash_line
Flash line features specify linear features defined by a starting point and then a series of delta x and y values specifying the distance to travel from the last point, thus a line consists of 1 or more line segments. Each line has a colour and line width used when the line is drawn. If not defined, default parameters are used. The no special attributes are required to control the Flash line settings other than the common ones for all feature types listed. Since Flash does not support a line class in its swf API, lines are broken into strictly monotone segments and then buffered into simple polygons.
Arcs
flash_type: flash_arc
The flash_arcs are really just converted to a series of line segments to be drawn as a line since in Flash they are defined in terms of a delta x and delta y value pair for the distances from the starting point to the control point and a control x and control y value pair for the distance from the control point to the end point. This does not match the FME definition of an arc, thus to avoid gruesome math, the arc is stroked into a series of line segments and drawn as a line.
Areas
flash_type: flash_area
Flash area features specify various polygon features. The areas that make up a single feature may or may not be disjoint.
Note: The flash linewidth and linecolor now refer to the border lines of the closed polygons. Any closed area can be used as a button for events so long is it has not undergone any transformations, i..e., rotation, scaling or translation.
The following table lists the special FME attribute names used to control the flash area settings.
Attribute Name |
Contents |
flash_fill_color |
This is a string that represents the color intensities of the element. It is formatted as red, green, blue intensities which range between 0..255. If this attribute is not found, then the polygon will not be filled. Range: String. (0..255, 0..255, 0..255) Default: None |
fme_fillcolor |
This is a string that represents the color intensities of the element. It is formatted as red, green, blue intensities which range between 0..1 This is used as a backup to flash_fill_color. Range: String. (0..1, 0..1, 0..1) Default: String(0,0,0) |
flash_fillstyle |
This is the value that determines which of the five available fill styles will be used when filling a closed area: nofill,solidfill, left to right linearfill, right to left linear fill, and radialfill. Note this requires a fill color to be specified. Range: 0,1,2,3,4 Default: 0 (nofill) |
flash_URL |
This is the URL for the area and if specified, the area will have a URL linked to it its shape unless rotated, scaled, or translated, any of which will negate the URL property. Range: Any String value? Default: None |
Ellipses
flash_type: flash_ellipse
The flash_ellipse features are simply closed arc features and thus are handled in the same manner. The ellipse is stroked into a line segment and drawn as a line. Note that the flash linewidth and linecolor now refer to the border lines of the ellipse. Any ellipse can be used as a button for events so long is it has not undergone any transformations, i..e. rotation, scaling or translation. From the flash ellipse we also can arrive at circles since they are just ellipses with equal axis.
The following table lists the additional FME attribute names used to control the flash ellipse settings. on top of the common ones.
Attribute Name |
Contents |
flash_fill_color |
This is a string that represents the color intensities of the element. It is formatted as red, green, blue intensities which range between 0..255. If this attribute is not found, then the ellipse will not be filled. Range: String. (0.255, 0..255, 0..255) Default: None |
fme_fillcolor |
This is a string that represents the color intensities of the element. It is formatted as red, green, blue intensities which range between 0..1 This is used as a backup to flash_fill_color. Range: String. (0..1, 0..1, 0..1) Default: String(0,0,0) |
flash_fillstyle |
This is the value that determines which of the five available fill styles will be used when filling an ellipse: nofill,solidfill, left to right linearfill, right to left linear fill, and radialfill. Note: This requires that a fill color be specified. Range: 0,1,2,3,4 Default: 0 (nofill) |
flash_URL |
This is the URL for the ellipse and if specified, the ellipse will have a URL linked to it its shape unless rotated, scaled, or translated, any of which will negate the URL property. Range: Any String value Default: None |