Frogans Technology OP3FT FSDL 3.0 February 16, 2016 Preliminary Draft #2 ISBN n/a Frogans Slide Description Language (FSDL) - 3.0 EXTRACT , , , , and elements Status This document is a preliminary draft, for examination, review, and evaluation by the developer community. Aspects of this document may be discussed publicly on the Frogans technology mailing lists, accessible at the following permanent URL: https://lists.frogans.org/. Location This document is accessible at the following permanent URL: https://www.frogans.org/en/resources/fsdl/access.html Copyright Statement This document must be used in compliance with the Frogans Technology User Policy, accessible at the following permanent URL: https://www.frogans.org/en/resources/ftup/access.html. Copyright (C) 2016 OP3FT. All rights reserved. OP3FT Frogans Technology [Page 1] FSDL 3.0 Internal Draft #2 February 2016 6.3. Preparing Image Resources - Element The element prepares an image resource that is based on an image file. The image file contains a pre-authored image, which is created previously using image editing software. The element is a child of the element (see Section 6.1). The element does not contain any children. It does not contain text characters. As stated in the Frogans slide layout rules (Section 4.6): - The image resource is intended to be used in the Frogans slide as the foundation of a layer (see the element in Section 6.12) or as part of a merge resource (see the and elements in Section 6.11). - The image resource can be used once or several times in the Frogans slide. The image resource is identified using a component identifier (Section 4.5) which is determined by the value of the "resid" attribute of the element. The size, in pixels, of the image resource depends on the value of the "size" attribute of the element. The image file on which the image resource is based is defined using a element (see Section 6.2). As a result, the image file is either a static or a dynamic auxiliary file in the Frogans site root directory (Section 4.1), or is embedded as text characters in the element, depending on the value of the "nature" attribute of the element. The image file is referred to using a component identifier which is determined by the value of the "fileref" attribute of the element. The image file is encoded using one of the following image formats: PNG [PNG], JPEG [JPEG], or GIF [GIF]. If the image file contains information on the degree of opacity of its pixels, such as an alpha channel that can be defined using the PNG image format, then this information is used when preparing the image resource. Otherwise, the pixels in the image file are considered fully opaque when preparing the image resource. In application of the FSDL design principle on avoiding on-screen OP3FT Frogans Technology [Page 29] FSDL 3.0 Internal Draft #2 February 2016 distractions (Section 1.4), if the image file is encoded using the GIF image format and contains an animation, then only the first frame is used when preparing the image resource. For more information on the process to decode image files, see Appendix B.1. If the image file is an auxiliary file, then according to Appendix B.1 on decoding image files, the image file extension is not required in the "name" attribute of the element. In application of the FSDL design principle on saving device resources (Section 1.4), the width and height of the pre-authored image are both limited to 1,024 pixels. A selection of the pre-authored image is used, representing either the entire pre-authored image, or an extract of the pre-authored image. Using an extract of the pre-authored image can be helpful if, in order to reduce latency for loading the Frogans slide, the pre- authored image is an image sprite, i.e. it contains a collection of images. The image selection depends on the values of the "selection" and "bounds" attributes of the element. By default, the image selection is the entire pre-authored image. The way in which the image selection is incorporated in the image resource depends on the values of the "aspect", "adjust", and "origin" attributes of the element. The size, in pixels, of the image selection is not necessarily the same as the size, in pixels, of the image resource. If the image file is an auxiliary file, then its size, in bytes, is subject to the overall file size limitations applicable to the Frogans slide (Section 4.4). If the image file is embedded as text characters in the element, then the text characters represent the contents of the image file encoded using Base64 (see Section 6.2). Embedding an image file as text characters in the element reduces latency for loading the Frogans slide, since both the FSDL document and the image file are loaded at the same time. Embedding an image file can also simplify the task for generating both the FSDL document and the image file on the fly (i.e. dynamically) on the server hosting the Frogans site. However, embedding an image file as text characters in the OP3FT Frogans Technology [Page 30] FSDL 3.0 Internal Draft #2 February 2016 element leads to an overhead to be taken into account in the overall file size limitations applicable to the Frogans slide (Section 4.4), since the number of text characters required to encode the image file is approximately 1.33 times the size in bytes of the image file. Furthermore, depending on the character encoding of the FSDL document (Section 5.3), more than one byte may be necessary to encode each text character. Finally, an embedded image file cannot benefit from potential inclusion in the auxiliary file cache (Section 4.3). During the rendering of the Frogans slide, when preparing the image resource, a placeholder image is used instead of the image selection in the following cases: * if the image file is an auxiliary file in the Frogans site root directory and it cannot be retrieved for any reason (such as a network failure, or if the image file does not exist) * if the image file cannot be decoded, whether or not the image file is embedded as text characters in the element * if the width or height of the pre-authored image, in pixels, exceeds the limits indicated above * If the size of the Frogans slide exceeds the overall file size limitations applicable to Frogans slides (Section 4.4). If a placeholder image is used, then it has the same size, in pixels, as the image resource. In this case, the values of the "selection", "bounds", "aspect", "adjust", and "origin" attributes of the element are ignored. For more information on the process to generate placeholder images, see Appendix B.2. The element has the following attributes: resid - Mandatory The identifier of the image resource. The value of the attribute is a component identifier. The value is compliant with the rules presented in Section 4.5. As a result, the value cannot have been utilized previously in the FSDL document as a component identifier. OP3FT Frogans Technology [Page 31] FSDL 3.0 Internal Draft #2 February 2016 Examples of accepted values: resid='foo1' resid='Foo1' resid='foo2' resid='foo_1' Examples of refused values: resid='' resid='foo-1' resid='foo/1' resid='foo.1' resid='foo 1' resid='foo1,foo2' size - Mandatory The size of the image resource. The value of the attribute represents the width and height, in pixels, of the image resource. As stated in the Frogans slide layout rules (Section 4.6), the width of the image resource is an integer between 1 and 640 (inclusive) and its height is an integer between 1 and 480 (inclusive). The value of the attribute is a string in the 'width,height' pattern where: ',' is the U+002C COMMA character; and 'width' and 'height' are each a substring representing respectively the width or height of the image resource. Each substring contains between one and three decimal characters (inclusive). Each decimal character of the substring is in the range from '0' to '9' (U+0033 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The substring does not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: size='40,200' size='400,200' Examples of refused values: size='' OP3FT Frogans Technology [Page 32] FSDL 3.0 Internal Draft #2 February 2016 size='400,0' size='400,550' size='400' size='400 200' size='040,200' size='400, 200' size='+400,200' size='400,-200' size='400.5,200' fileref - Mandatory The identifier referencing the image file on which the image resource is based. The value of the attribute is a component identifier. The value is compliant with the rules presented in Section 4.5. The value of the attribute has been utilized previously in the FSDL document as a component identifier for a element. Examples of accepted values: fileref='foo1' fileref='Foo1' fileref='foo2' fileref='foo_1' Examples of refused values: fileref='' fileref='foo-1' fileref='foo/1' fileref='foo.1' fileref='foo 1' fileref='foo1,foo2' selection - Optional The image selection used in the image resource. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'entire' indicates that the image selection is the entire pre- authored image. OP3FT Frogans Technology [Page 33] FSDL 3.0 Internal Draft #2 February 2016 * 'extract' indicates that the image selection is an extract of the pre-authored image. The extract depends on the value of the "bounds" attribute of the element. The default value is 'entire'. bounds - Applicable only if the value of the "selection" attribute equals 'extract'. Mandatory if applicable. The bounds of the image selection used in the image resource. The value of the attribute represents the left, top, right, and bottom coordinates, in pixels, of the image selection in the pre- authored image. The left and top coordinates are integers between 0 and 1,023 (inclusive). The right and bottom coordinates are integers between 1 and 1,024 (inclusive). The image selection uses an x,y coordinate system where: the x and the y coordinates of the pixel at the top-left corner of the pre- authored image are both zero; values on the x axis increase towards the right; values on the y axis increase towards the bottom. The image selection is made as follows: * The left coordinate is equal to the x coordinate of the pixel at the top-left corner of the image selection. * The top coordinate is equal to the y coordinate of the pixel at the top-left corner of the image selection. * The right coordinate is equal to one plus the x coordinate of the pixel at the bottom-right corner of the image selection. The right coordinate is greater than the left coordinate. * The bottom coordinate is equal to one plus the y coordinate of the pixel at the bottom-right corner of the image selection. The bottom coordinate is greater than the top coordinate. As a result, the width of the image selection is equal to the right coordinate minus the left coordinate, and the height of the image selection is equal to the bottom coordinate minus the top coordinate. The value of the attribute is a string in the 'left,top,right,bottom' pattern where: ',' is the U+002C COMMA OP3FT Frogans Technology [Page 34] FSDL 3.0 Internal Draft #2 February 2016 character; and 'left', 'top', 'right', and 'bottom' are each a substring representing respectively the left, top, right, or bottom coordinate. Each substring contains between one and four decimal characters (inclusive). Each decimal character of each substring is in the range from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The substrings do not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: bounds='50,30,150,130' bounds='250,30,450,130' Examples of refused values: bounds='' bounds='50,30,1500,130' bounds='150,30,50,130' bounds='50,30' bounds='50 30 150 130' bounds='050,30,150,130' bounds='50, 30,150,130' bounds='+50,30,150,130' bounds='50,-30,150,130' bounds='50.5,30,150,130' During the rendering of the Frogans slide, when preparing the image resource: * If the left coordinate is greater than the width of the pre- authored image minus one, then the image selection is empty. In this case, the prepared image resource is fully transparent. * If the top coordinate is greater than the height of the pre- authored image minus one, then the image selection is empty. In this case, the prepared image resource is fully transparent. * If the right coordinate is greater than the width of the pre- authored image, then the right coordinate is considered to be equal to the width of the pre-authored image. * If the bottom coordinate is greater than the height of the pre- authored image, then the bottom coordinate is considered to be equal to the height of the pre-authored image. OP3FT Frogans Technology [Page 35] FSDL 3.0 Internal Draft #2 February 2016 aspect - Optional The aspect of the image selection in the image resource. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'base' indicates that the image selection is resized, maintaining its original proportions, such that the whole image selection occupies either the entire width or the entire height of the image resource. Any remaining parts of the image resource that are not occupied by the image selection are fully transparent. The placement of the image selection in the image resource depends on the value of the "adjust" attribute of the element. * 'spread' indicates that the image selection is resized, without maintaining its original proportions, such that the image selection occupies the entire width and height of the image resource. * 'zoom' indicates that the image selection is resized, maintaining its original proportions, such that the image selection occupies the entire width and height of the image resource. The image selection is cropped in order to fit in the image resource if its proportions are different from the proportions of the image resource. The placement of the image selection in the image resource depends on the value of the "adjust" attribute of the element. * 'echo' indicates that the image selection is resized, maintaining its original proportions, such that the whole image selection occupies either the entire width or the entire height of the image resource. Any remaining parts of the image resource that are not occupied by the image selection are covered by copies of the image selection that are placed next to one another, either vertically or horizontally. Copies of the image selection are cropped in order to fit in the image resource if their placement makes them extend beyond the edge of the image resource. The placement of the image selection in the image resource depends on the value of the "adjust" attribute of the element. OP3FT Frogans Technology [Page 36] FSDL 3.0 Internal Draft #2 February 2016 * 'tile' indicates that the image selection is not resized. Any remaining parts of the image resource that are not occupied by the image selection are covered by copies of the image selection that are placed next to one another, both vertically and horizontally. The image selection and copies of the image selection are cropped in order to fit in the image resource if their placement makes them extend beyond the edge of the image resource. The placement of the image selection in the image resource depends on the value of the "origin" attribute of the element. The default value is 'base'. For more information on the process to resize image selections, see Appendix B.3. adjust - Applicable only if the value of the "aspect" attribute of the element equals 'base', 'zoom', or 'echo'. Optional if applicable. The adjustment of the image selection in the image resource. The value of the attribute represents an integer between -100 and 100 (inclusive). The adjustment is applied, either horizontally or vertically, as follows: * An adjustment of -100 corresponds to the LT placement, where the image selection is placed so that its left or top edge matches the left or top edge of the image resource. * An adjustment of 0 corresponds to the central placement, where the image selection is centered vertically or horizontally in the image resource. * An adjustment of 100 corresponds to the RB placement, where the image selection is placed so that its right or bottom edge matches the right or bottom edge of the image resource. * An adjustment between -100 and 0 (exclusive) corresponds to a proportional placement, where the image selection is placed according to the absolute value of the adjustment, starting from the central placement and moving towards the LT placement. For instance, an adjustment of -25 corresponds to a placement where the image selection is placed one-quarter of the way from the central placement towards the LT placement. OP3FT Frogans Technology [Page 37] FSDL 3.0 Internal Draft #2 February 2016 * An adjustment between 0 and 100 (exclusive) corresponds to a proportional placement, where the image selection is placed according to the value of the adjustment, starting from the central placement and moving towards the RB placement. For instance, an adjustment of 75 corresponds to a placement where the image selection is placed three-quarters of the way from the central placement towards the RB placement. The default value is 0. The value of the attribute is a string in the 'pd' pattern where: 'p' is a substring representing the sign of the adjustment; and 'd' is a substring representing the absolute value of the adjustment. The 'p' substring is either an empty string, indicating that the value of the adjustment is greater than or equal to zero, or is the '-' (U+002D HYPHEN-MINUS) character. The 'd' substring contains between one and three decimal characters (inclusive). Each decimal character of the 'd' substring is in the range from '0' to '9' (U+0033 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The 'd' substring does not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), and '.' (U+002E FULL STOP). Examples of accepted values: adjust='0' adjust='-100' adjust='100' adjust='-25' adjust='75' Examples of refused values: adjust='' adjust='-0' adjust='-120' adjust='150' adjust='-025' adjust='075' adjust='- 25' adjust='+100' adjust='-25.5' origin - Applicable only if the value of the "aspect" attribute of the element equals 'tile'. Optional if applicable. OP3FT Frogans Technology [Page 38] FSDL 3.0 Internal Draft #2 February 2016 The origin in the image selection used in the image resource. The value of the attribute represents the x and y coordinates, in pixels, of the origin in the image selection. The x and y coordinates correspond to the horizontal and vertical coordinates, respectively, of the pixel in the image selection that is placed in the top-left corner of the image resource. The x and y coordinates are integers between 0 and 1,023 (inclusive). The x and y coordinates of the top-left corner of the image selection are both zero. The default value is '0,0'. The value of the attribute is a string in the 'x,y' pattern where: ',' is the U+002C COMMA character; and 'x' and 'y' are each a substring representing respectively the x or y coordinate. Each substring contains between one and four decimal characters (inclusive). Each decimal character of each substring is in the range from '0' to '9' (U+0033 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The substrings do not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: origin='0,0' origin='50,30' origin='250,30' Examples of refused values: origin='' origin='50,3000' origin='50' origin='50 30' origin='050,30' origin='50, 30' origin='+50,30' origin='50,-30' origin='50.5,30' During the rendering of the Frogans slide, when preparing the image resource: OP3FT Frogans Technology [Page 39] FSDL 3.0 Internal Draft #2 February 2016 * If the x coordinate is greater than the width of the pre- authored image minus one, then the x coordinate is considered to be equal to the width of the pre-authored image minus one. * If the y coordinate is greater than the height of the pre- authored image minus one, then the y coordinate is considered to be equal to the height of the pre-authored image minus one. OP3FT Frogans Technology [Page 40] FSDL 3.0 Internal Draft #2 February 2016 6.4. Preparing Pixels Resources - Element The element prepares a pixels resource that is based on a miniature bitmap. The element is a child of the element (see Section 6.1). The element does not contain any children. It contains text characters. As stated in the Frogans slide layout rules (Section 4.6): - The pixels resource is intended to be used in the Frogans slide as the foundation of a layer (see the element in Section 6.12) or as part of a merge resource (see the and elements in Section 6.11). - The pixels resource can be used once or several times in the Frogans slide. The pixels resource is identified using a component identifier (Section 4.5) which is determined by the value of the "resid" attribute of the element. The size, in pixels, of the pixels resource depends on the value of the "size" attribute of the element. The miniature bitmap is made up of individual pixels, organized in columns and rows. The miniature bitmap is resized, without maintaining its original proportions, such that the miniature bitmap occupies the entire width and height of the pixels resource. The pixels resource can be used, for instance, as a background with color gradients, or as a mask with transparency gradients. For more information on the process to resize miniature bitmaps, see Appendix B.4. The number of columns of the miniature bitmap depends on the value of the "columns" attribute of the element. The number of rows of the miniature bitmap depends on the value of the "rows" attribute of the element. Each individual pixel of the miniature bitmap is defined using four components: the R, G and B components (color) and the A component (transparency). OP3FT Frogans Technology [Page 41] FSDL 3.0 Internal Draft #2 February 2016 The R, G, B, and A components of the individual pixels of the miniature bitmap are all defined in the same way, depending on the value of the "pix" attribute of the element. The definition of all the individual pixels of the miniature bitmap can be either: * an rgba definition, where, for an individual pixel, the values of the R, G, B, and A components are defined in the text characters of the element. * an rgb definition, where, for an individual pixel, the values of the R, G, and B components are defined in the text characters of the element, and the value of the A component depends on the value of the "alpha" attribute of the element. * an a definition, where, for an individual pixel, the values of the R, G, and B components depend on the value of the "color" attribute of the element, and the value of the A component is defined in the text characters of the element. * a y definition, where, for an individual pixel, the values of the R, G, and B components are defined in the text characters of the element, and the value of the A component depends on the value of the "alpha" attribute of the element. Using this definition, the R, G, and B components share the same value, corresponding to the luminance of the individual pixel, hence the color of the individual pixel is on a gray scale. * a ya definition, where, for an individual pixel, the R, G, B and A components are defined in the text characters of the element. Using this definition, the R, G, and B components share the same value, corresponding to the luminance of the individual pixel, hence the color of the individual pixel is on a gray scale. The text characters of the element contain a list of items. Each item corresponds to an individual pixel. The individual pixels are ordered row by row, from the top-left to the bottom-right pixel of the miniature bitmap. The number of items in the list is the product of the number of rows and the number of columns. All items in the list are strings using one of the following patterns: OP3FT Frogans Technology [Page 42] FSDL 3.0 Internal Draft #2 February 2016 * '#rrggbbaa': this pattern corresponds to the rgba definition. * '#rrggbb': this pattern corresponds to the rgb definition. * '#aa': this pattern corresponds to the a definition. * '#yy': this pattern correponds to the y definition. * '#yyaa': this pattern correponds to the ya definition. In the patterns above: '#' is the U+0013 NUMBER SIGN character; 'rr', 'gg', and 'bb' are each a substring representing respectively the R, G, and B components; 'aa' is a substring representing the A component; and 'yy' is a substring representing the value shared by the R, G, and B components (luminance). Each substring contains two hexadecimal characters. Each hexadecimal character of each substring is in one of the following ranges: from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive), from 'A' to 'F' (U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, inclusive), from 'a' to 'f' (U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, inclusive). As a result, the pattern does not contain any white space characters defined in Section 5.5. Examples of accepted items: #004698bf #004698 #bf #3a #3abf #3Abf #3ABF Examples of refused items: 004698bf # #004698b #00469 #b #3ab # 004698bf #004698 bf #0004698bf The separator character used to separate items in the list is the ';' (U+003B SEMICOLON) character. OP3FT Frogans Technology [Page 43] FSDL 3.0 Internal Draft #2 February 2016 White space characters, as defined in Section 5.5, can optionally be included before and after the ';' (U+003B SEMICOLON) separator characters in the list. These white space characters are ignored. The list cannot contain empty items. As a result, there is no separator character either before the first item or after the last item in the list. Furthermore, there cannot be two consecutive separator characters in the list. Examples of accepted item lists: #004698bf;#ffbf00ff;#00469840 #004698;#ffbf00;#001c46 #bf;#ff #3abf;#00ff;#3abf;#ff00 Examples of refused item lists: #004698bf;#ffbf00;#00469840 #004698;#bf;#3abf #004698bf#ffbf00ff #004698bf #ffbf00ff ;#004698bf;#ffbf00ff #004698bf;#ffbf00ff; #004698bf;;#ffbf00ff During the rendering of the Frogans slide, when preparing the pixels resource, individual pixels of the miniature bitmap can be invisible pixels, i.e. the level of the A component (transparency) is equal to zero. In this case, as stated in the Frogans slide layout rules, the levels of the R, G and B components (color) of the individual pixel are considered to be equal to zero. The element has the following attributes: resid - Mandatory The identifier of the pixels resource. The value of the attribute is a component identifier. The value is compliant with the rules presented in Section 4.5. As a result, the value cannot have been utilized previously in the FSDL document as a component identifier. Examples of accepted values: resid='foo1' resid='Foo1' OP3FT Frogans Technology [Page 44] FSDL 3.0 Internal Draft #2 February 2016 resid='foo2' resid='foo_1' Examples of refused values: resid='' resid='foo-1' resid='foo/1' resid='foo.1' resid='foo 1' resid='foo1,foo2' size - Mandatory The size of the pixels resource. The value of the attribute represents the width and height, in pixels, of the pixels resource. As stated in the Frogans slide layout rules (Section 4.6), the width of the pixels resource is an integer between 1 and 640 (inclusive) and its height is an integer between 1 and 480 (inclusive). The value of the attribute is a string in the 'width,height' pattern where: ',' is the U+002C COMMA character; and 'width' and 'height' are each a substring representing respectively the width or height of the pixels resource. Each substring contains between one and three decimal characters (inclusive). Each decimal character of the substring is in the range from '0' to '9' (U+0033 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The substring does not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: size='40,200' size='400,200' Examples of refused values: size='' size='400,0' size='400,550' size='400' OP3FT Frogans Technology [Page 45] FSDL 3.0 Internal Draft #2 February 2016 size='400 200' size='040,200' size='400, 200' size='+400,200' size='400,-200' size='400.5,200' columns - Mandatory The number of columns of the miniature bitmap on which the pixels resource is based. The value of the attribute represents an integer between 1 and 16 (inclusive). The value of the attribute is a string containing between one and two decimal characters (inclusive). Each decimal character of the string is in the range from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The string does not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: columns='1' columns='16' columns='9' Examples of refused values: columns='' columns='-9' columns='20' columns='09' columns='+9' columns='9.5' rows - Mandatory The number of rows of the miniature bitmap on which the pixels resource is based. The value of the attribute represents an integer between 1 and 16 (inclusive). OP3FT Frogans Technology [Page 46] FSDL 3.0 Internal Draft #2 February 2016 The value of the attribute is a string containing between one and two decimal characters (inclusive). Each decimal character of the string is in the range from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The string does not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: rows='1' rows='16' rows='9' Examples of refused values: rows='' rows='-9' rows='20' rows='09' rows='+9' rows='9.5' pix - Mandatory The way of defining all the individual pixels of the miniature bitmap on which the pixels resource is based. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'rgba' indicates that all the individual pixels of the minature bitmap use an rgba definition. * 'rgb' indicates that all the individual pixels of the minature bitmap use an rgb definition. * 'a' indicates that all the individual pixels of the minature bitmap use an a definition. * 'y' indicates that all the individual pixels of the minature bitmap use a y definition. OP3FT Frogans Technology [Page 47] FSDL 3.0 Internal Draft #2 February 2016 * 'ya' indicates that all the individual pixels of the minature bitmap use a ya definition. color - Applicable only if the value of the "pix" attribute equals 'a'. Optional if applicable. The color of the individual pixels of the miniature bitmap on which the pixels resource is based. The value of the attribute represents the levels of the R, G, and B components of the color. The level of each component is represented using two hexadecimal digits. As stated in the Frogans slide layout rules (Section 4.6), the level of each one of the R, G, and B components is in the range from 00 (0) to ff (255). The default value is '#0000ff'. The value of the attribute is a string in the '#rrggbb' pattern where: '#' is the U+0013 NUMBER SIGN character; and 'rr', 'gg', and 'bb' are each a substring representing respectively the R, G, and B components. Each substring contains two hexadecimal characters. Each hexadecimal character of each substring is in one of the following ranges: from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive), from 'A' to 'F' (U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, inclusive), from 'a' to 'f' (U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, inclusive). As a result, the value of the attribute does not contain any white space characters defined in Section 5.5. Examples of accepted values: color='#0000ff' color='#004698' color='#001c46' color='#ffbf00' color='#Ffbf00' color='#FFBF00' Examples of refused values: color='' color='ffbf00' color='#' color='#ffbf' OP3FT Frogans Technology [Page 48] FSDL 3.0 Internal Draft #2 February 2016 color='# ffbf00' color='#ffbf 00' color='#0ffbf00' color='#00f' alpha - Applicable only if the value of the "pix" attribute Xequals either 'rgb' or 'y'. Optional if applicable. The transparency of the individual pixels of the miniature bitmap on which the pixels resource is based. The value of the attribute represents the level of the A component of the individual pixels. The level of the A component is represented using two hexadecimal digits. As stated in the Frogans slide layout rules (Section 4.6), the level of the A component is in the range from 00 (0) to ff (255), where the level 00 corresponds to a fully transparent pixel and ff corresponds to a fully opaque pixel. The default value is '#ff'. The value of the attribute is a string in the '#aa' pattern where: '#' is the U+0013 NUMBER SIGN character; and 'aa' is a substring representing the A component. Each substring contains two hexadecimal characters. Each hexadecimal character of each substring is in one of the following ranges: from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive), from 'A' to 'F' (U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, inclusive), from 'a' to 'f' (U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, inclusive). As a result, the value of the attribute does not contain any white space characters defined in Section 5.5. Examples of accepted values: alpha='#ff' alpha='#00' alpha='#bf' alpha='#Bf' alpha='#BF' Examples of refused values: alpha='' alpha='bf' alpha='#' OP3FT Frogans Technology [Page 49] FSDL 3.0 Internal Draft #2 February 2016 alpha='#b' alpha='# bf' alpha='#b f' alpha='#0bf' OP3FT Frogans Technology [Page 50] FSDL 3.0 Internal Draft #2 February 2016 6.5. Preparing Drawing Resources - Element The element prepares a drawing resource that is based on a geometric form. The element is a child of the element (see Section 6.1). The element does not contain any children. It does not contain text characters. As stated in the Frogans slide layout rules (Section 4.6): - The drawing resource is intended to be used in the Frogans slide as the foundation of a layer (see the element in Section 6.12) or as part of a merge resource (see the and elements in Section 6.11). - The drawing resource can be used once or several times in the Frogans slide. The drawing resource is identified using a component identifier (Section 4.5) which is determined by the value of the "resid" attribute of the element. The size, in pixels, of the drawing resource depends on the value of the "size" attribute of the element. The geometric form is either a rectangle, a rounded rectangle, or an ellipse, depending on the value of the "figure" attribute of the element. The geometric form is drawn either as a line or as a filled area, depending on the value of the "stroke" attribute of the element. If the geometric form is drawn as a line, then the thickness of the line depends on the value of the "thick" attribute of the element. The geometric form covers the entire width and height of the drawing resource. If the geometric form is drawn as a line, then the thickness of the line is fully included in the drawing resource, i.e. it does not extend beyond the edge of the drawing resource. A rounded rectangle is a rectangle with four rounded corners, where each corner is one quarter of an ellipse. For a rounded rectangle: * The width and height of the ellipse used to draw the corners depend on the value of the "round" attribute of the OP3FT Frogans Technology [Page 51] FSDL 3.0 Internal Draft #2 February 2016 element. * The top-left, top-right, bottom-left, and bottom-right corners correspond respectively to the top-left, top-right, bottom-left, and bottom-right quarters of the ellipse. * If the width of the ellipse is equal to the width of the drawing resource, then the top and bottom of the rounded rectangle are both a semi-ellipse. * If the height of the ellipse is equal to the height of the drawing resource, then the left and right sides of the rounded rectangle are both a semi-ellipse. * If the width and height of the ellipse are equal respectively to the width and height of the drawing resource, then the rounded rectangle becomes an ellipse. The color of the drawing resource depends on the value of the "color" attribute of the element. For more information on the process to draw geometric forms, see Appendix B.5. The element has the following attributes: resid - Mandatory The identifier of the drawing resource. The value of the attribute is a component identifier. The value is compliant with the rules presented in Section 4.5. As a result, the value cannot have been utilized previously in the FSDL document as a component identifier. Examples of accepted values: resid='foo1' resid='Foo1' resid='foo2' resid='foo_1' Examples of refused values: resid='' resid='foo-1' resid='foo/1' OP3FT Frogans Technology [Page 52] FSDL 3.0 Internal Draft #2 February 2016 resid='foo.1' resid='foo 1' resid='foo1,foo2' size - Mandatory The size of the drawing resource. The value of the attribute represents the width and height, in pixels, of the drawing resource. As stated in the Frogans slide layout rules (Section 4.6), the width of the drawing resource is an integer between 1 and 640 (inclusive) and its height is an integer between 1 and 480 (inclusive). The value of the attribute is a string in the 'width,height' pattern where: ',' is the U+002C COMMA character; and 'width' and 'height' are each a substring representing respectively the width or height of the drawing resource. Each substring contains between one and three decimal characters (inclusive). Each decimal character of the substring is in the range from '0' to '9' (U+0033 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The substring does not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: size='40,200' size='400,200' Examples of refused values: size='' size='400,0' size='400,550' size='400' size='400 200' size='040,200' size='400, 200' size='+400,200' size='400,-200' size='400.5,200' figure - Mandatory OP3FT Frogans Technology [Page 53] FSDL 3.0 Internal Draft #2 February 2016 The geometric form on which the drawing resource is based. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'rect' indicates that the geometric form is a rectangle. * 'roundrect' indicates that the geometric form is a rounded rectangle. * 'ellipse' indicates that the geometric form is an ellipse. If the width and height of the drawing resource are equal, then the geometric form is a circle. stroke - Mandatory The way of drawing the geometric form on which the drawing resource is based. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'on' indicates that the geometric form is drawn as a line. The thickness of the line depends on the value of the "thick" attribute of the element. * 'off' indicates that the geometric form is drawn as a filled area. thick - Applicable only if the value of the "stroke" attribute of the element equals 'on'. Optional if applicable. The thickness of the line in the drawing resource. The value of the attribute represents an integer between 1 and 64 (inclusive). The thickness is in pixels. OP3FT Frogans Technology [Page 54] FSDL 3.0 Internal Draft #2 February 2016 The default value is '8'. The value of the attribute is a string containing between one and two decimal characters (inclusive). Each decimal character of the string is in the range from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The string does not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: thick='1' thick='64' thick='9' Examples of refused values: thick='' thick='-9' thick='80' thick='+9' thick='9.5' round - Applicable only if the value of the "figure" attribute of the element equals 'roundrect'. Optional if applicable. The dimensions of the ellipse used to draw the corners of the rounded rectangle on which the drawing resource is based. The value of the attribute represents the width and height, in pixels, of the ellipse. The width of the ellipse is an integer between 1 and 640 (inclusive) and its height is an integer between 1 and 480 (inclusive). The default value is '16,16'. The value of the attribute is a string in the 'width,height' pattern where: ',' is the U+002C COMMA character; and 'width' and 'height' are each a substring representing respectively the width or height of the ellipse. Each substring contains between one and three decimal characters (inclusive). Each decimal character of each substring is in the range from '0' to '9' (U+0033 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The substrings do not contain OP3FT Frogans Technology [Page 55] FSDL 3.0 Internal Draft #2 February 2016 any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: origin='16,16' origin='40,200' origin='400,200' Examples of refused values: origin='' origin='400,0' origin='400,550' origin='400' origin='400 200' origin='040,200' origin='400, 200' origin='+400,200' origin='400,-200' origin='400.5,200' During the rendering of the Frogans slide, when preparing the drawing resource: * If the width of the ellipse is greater than the width of the drawing resource, then the width of the ellipse is considered to be equal to the width of the drawing resource. * If the height of the ellipse is greater than the height of the drawing resource, then the height of the ellipse is considered to be equal to the height of the drawing resource. color - Optional The color of the drawing resource. The value of the attribute represents the levels of the R, G, and B components of the color. The level of each component is represented using two hexadecimal digits. As stated in the Frogans slide layout rules (Section 4.6), the level of each one of the R, G, and B components is in the range from 00 (0) to ff (255). OP3FT Frogans Technology [Page 56] FSDL 3.0 Internal Draft #2 February 2016 The default value is '#0000ff'. The value of the attribute is a string in the '#rrggbb' pattern where: '#' is the U+0013 NUMBER SIGN character; and 'rr', 'gg', and 'bb' are each a substring representing respectively the R, G, and B components. Each substring contains two hexadecimal characters. Each hexadecimal character of each substring is in one of the following ranges: from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive), from 'A' to 'F' (U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, inclusive), from 'a' to 'f' (U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, inclusive). As a result, the value of the attribute does not contain any white space characters defined in Section 5.5. Examples of accepted values: color='#0000ff' color='#004698' color='#001c46' color='#ffbf00' color='#Ffbf00' color='#FFBF00' Examples of refused values: color='' color='ffbf00' color='#' color='#ffbf' color='# ffbf00' color='#ffbf 00' color='#0ffbf00' color='#00f' OP3FT Frogans Technology [Page 57] FSDL 3.0 Internal Draft #2 February 2016 6.6. Preparing Path Resources - Element The element prepares a path resource that is based on a plane containing Bezier curves. The element is a child of the element (see Section 6.1). The element does not contain any children. It contains text characters. As stated in the Frogans slide layout rules (Section 4.6): - The path resource is intended to be used in the Frogans slide as the foundation of a layer (see the element in Section 6.12) or as part of a merge resource (see the and elements in Section 6.11). - The path resource can be used once or several times in the Frogans slide. The path resource is identified using a component identifier (Section 4.5) which is determined by the value of the "resid" attribute of the element. The size, in pixels, of the path resource depends on the value of the "size" attribute of the element. Each Bezier curve contained in the plane is either: * a linear Bezier curve, which has a starting point and an ending point. * a conic Bezier curve, which has a starting point, an ending point, and one control point. A conic Bezier curve is also referred to as a quadratic Bezier curve. * a cubic Bezier curve, which has a starting point, an ending point, and two control points. Each Bezier curve can be used in the plane either as: * a simple Bezier curve, meaning that it is independent from all the other Bezier curves contained in the plane, or * a part of a composite Bezier curve. A composite Bezier curve is made up of two of more linear, conic, or cubic Bezier curves, joined end to end in any combination, such that the ending point of one curve coincides with the starting point of the next curve. OP3FT Frogans Technology [Page 58] FSDL 3.0 Internal Draft #2 February 2016 The plane can contain any combination of simple and composite Bezier curves. In order to position the starting, ending, and control points of the simple and composite Bezier curves in the plane, the plane uses an x,y coordinate system where: the x and the y coordinates of a point in the plane represent the distances of the point from the x and y coordinate axes; the x coordinate is an integer which increases towards the right from 0 to 2,048; and the y coordinate is an integer which increases towards the bottom from 0 to 2,048. The plane can be cropped in order to select which part of the plane is apparent in the path resource, depending on the values of the "crop" and "corners" attributes of the element. For instance, the plane can be cropped automatically in cases where the x,y coordinates of the starting, ending, and control points of the Bezier curves contained in the plane do not use the full range from 0 to 2,048. Furthermore, the plane can be cropped using custom coordinates in order to exclude certain parts or control points of Bezier curves, or in order to draw, on a fixed scale, graphs representing data that is generated on the fly (i.e. dynamically) on the server hosting the Frogans site. All the simple and composite Bezier curves are drawn either as lines or as filled areas, depending on the value of the "stroke" attribute of the element. If the simple and composite Bezier curves are drawn as lines, then the thickness of the lines depends on the value of the "thick" attribute of the element. If the simple and composite Bezier curves are drawn as lines, then they can all be closed depending on the value of the "close" attribute of the element. If a simple Bezier curve is closed, then a straight line is drawn from its ending point to its starting point. If a composite Bezier curve is closed, then a straight line is drawn from the ending point of its last Bezier curve to the starting point of its first Bezier curve. A composite Bezier curve cannot be closed correctly by appending a linear Bezier curve whose ending point is the starting point of the first Bezier curve of the composite Bezier curve. If the simple and composite Bezier curves are drawn as filled areas, then the rule used to determine these filled areas depends on the value of the "fill" attribute of the element. OP3FT Frogans Technology [Page 59] FSDL 3.0 Internal Draft #2 February 2016 The way in which the apparent part of the plane is mapped to the path resource depends on the values of the "spread" and "adjust" attributes of the element. The size, in x,y coordinates, of the apparent part of the plane is not necessarily the same as the size, in pixels, of the path resource. If the simple and composite Bezier curves are drawn as lines, and if their starting, ending, and control points are all included in the apparent part of the plane, then the thickness of the lines is fully included in the path resource, i.e. it does not extend beyond the edge of the path resource. The color of the path resource depends on the value of the "color" attribute of the element. The text characters of the element contain a list of items. Each item can be either: * a jump item, which corresponds to the starting point of a simple or composite Bezier curve * a linear item, which corresponds to the ending point of a linear Bezier curve * a conic item, which corresponds to the ending point and the control point of a conic Bezier curve, or * a cubic item, which corresponds to the ending point and both control points of a cubic Bezier curve Each simple and composite Bezier curve contained in the plane is represented as a sequence of items in the list: * A simple Bezier curve is represented as a jump item followed by one linear, conic, or cubic item. * A composite Bezier curve is represented as a jump item followed by any combination of two or more linear, conic, or cubic items. The simple and composite Bezier curves contained in the plane are included one after another in the list. As a result, the list starts with a jump item, cannot end with a jump item, and cannot contain two consecutive jump items. Each item in the list is a string using one of the following patterns: OP3FT Frogans Technology [Page 60] FSDL 3.0 Internal Draft #2 February 2016 * 'Ju:xstart,ystart': this pattern corresponds to a jump item. * 'Li:xend,yend': this pattern corresponds to a linear item. * 'Co:xend,yend,xcp1,ycp1': this pattern corresponds to a conic item. * 'Cu:xend,yend,xcp1,ycp1,xcp2,ycp2': this pattern correponds to a cubic item. In the patterns above: 'Ju', 'Li', 'Co', and 'Cu' are case-sensitive string constants representing the kind of item; ':' is the U+003A COLON character; ',' is the U+002C COMMA character; 'xstart' and 'ystart' are each a substring representing the x and y coordinates of a starting point; 'xend' and 'yend' are each a substring representing the x and y coordinates of an ending point; 'xcp1' and 'ycp1' are each a substring representing the x and y coordinates of either the control point of a conic Bezier curve, or the first control point of a cubic Bezier curve; and 'xcp2' and 'ycp2' are each a substring representing the x and y coordinates of the second control point of a cubic Bezier curve. Each substring contains between one and four decimal characters (inclusive). Each decimal character of each substring is in the range from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The substrings do not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the item does not contain any white space characters, as defined in Section 5.5any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted items: Ju:200,1000 Li:200,1000 Co:200,1000,450,1300 Cu:200,1000,450,1300,1850,300 Examples of refused items: 200,1000 J200,1000 Ju200,1000 Ju 200,1000 Ju=200,1000 ju:200,1000 JU:200,1000 Ju:200,2400 OP3FT Frogans Technology [Page 61] FSDL 3.0 Internal Draft #2 February 2016 Ju:200 Ju:200 1000 Ju:0200,1000 Ju:200, 1000 Ju:+200,1000 Ju:200,-1000 Ju:200.5,1000 Li:200 Co:200,1000 Co:200,1000,450 Cu:200,1000,450,1300 Cu:200,1000,450,1300,1850 The separator character used to separate items in the list is the ';' (U+003B SEMICOLON) character. White space characters, as defined in Section 5.5, can optionally be included before and after the ';' (U+003B SEMICOLON) separator characters in the list. These white space characters are ignored. The list cannot contain empty items. As a result, there is no separator character either before the first item or after the last item in the list. Furthermore, there cannot be two consecutive separator characters in the list. The number of items in the list is between 2 and 512 (inclusive). Examples of accepted item lists: Ju:10,50;Li:200,1000 Ju:10,50;Co:200,1000,450,1300 Ju:10,50;Cu:200,1000,450,1300,1850,300 Ju:10,50;Li:500,100;Li:200,1000 Ju:10,50;Li:500,100;Co:200,1000,450,1300 Ju:10,50;Li:500,100;Cu:200,1000,450,1300,1850,300 Ju:10,50;Li:75,1400;Ju:1400,1600;Li:500,100 Ju:10,50;Li:75,1400;Ju:1400,1600;Li:500,100;Co:200,1000,450,1300 Examples of refused item lists: Li:75,1400;Ju:1400,1600;Li:500,100 Ju:10,50;Li:75,1400;Ju:1400,1600 Ju:10,50;Li:75,1400;Ju:200,1000;Ju:1400,1600;Li:500,100 Ju:10,50Li:200,1000 Ju:10,50 Li:200,1000 ;Ju:10,50;Li:200,1000 Ju:10,50;Li:200,1000; Ju:10,50;;Li:200,1000 For more information on the process to draw Bezier curves, see OP3FT Frogans Technology [Page 62] FSDL 3.0 Internal Draft #2 February 2016 Appendix B.6. The element has the following attributes: resid - Mandatory The identifier of the path resource. The value of the attribute is a component identifier. The value is compliant with the rules presented in Section 4.5. As a result, the value cannot have been utilized previously in the FSDL document as a component identifier. Examples of accepted values: resid='foo1' resid='Foo1' resid='foo2' resid='foo_1' Examples of refused values: resid='' resid='foo-1' resid='foo/1' resid='foo.1' resid='foo 1' resid='foo1,foo2' size - Mandatory The size of the path resource. The value of the attribute represents the width and height, in pixels, of the path resource. As stated in the Frogans slide layout rules (Section 4.6), the width of the path resource is an integer between 1 and 640 (inclusive) and its height is an integer between 1 and 480 (inclusive). The value of the attribute is a string in the 'width,height' pattern where: ',' is the U+002C COMMA character; and 'width' and 'height' are each a substring representing respectively the width or height of the path resource. Each substring contains between one and three decimal characters (inclusive). Each decimal character of the substring is in the range from '0' to '9' (U+0033 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The substring does not contain any leading '0' (U+0033 DIGIT ZERO) characters. OP3FT Frogans Technology [Page 63] FSDL 3.0 Internal Draft #2 February 2016 As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: size='40,200' size='400,200' Examples of refused values: size='' size='400,0' size='400,550' size='400' size='400 200' size='040,200' size='400, 200' size='+400,200' size='400,-200' size='400.5,200' crop - Mandatory The cropping applied to the plane on which the path resource is based. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'none' indicates that no cropping is applied to the plane. The x and y coordinates of the point at the top-left corner of the apparent part of the plane are both zero. The x and y coordinates of the point at the bottom-right corner of the apparent part of the plane are both 2048. * 'auto' indicates that the plane is cropped automatically. The x and y coordinates of the point at the top-left corner of the apparent part of the plane are xmin and ymin, where xmin is the smallest x coordinate and ymin is the smallest y coordinate of all the starting, ending, and control points of all the Bezier curves contained in the plane. The x and y coordinates of the point at the bottom-right corner of the apparent part of the plane are xmax and ymax, where xmax is the largest x coordinate and ymax is the largest y coordinate of all the starting, OP3FT Frogans Technology [Page 64] FSDL 3.0 Internal Draft #2 February 2016 ending, and control points of all the Bezier curves contained in the plane. * 'custom' indicates that the plane is cropped using custom coordinates. The x,y coordinates of the points at the top-left and bottom-right corners of the apparent part of the plane depend on the value of the "corners" attribute of the element. corners - Applicable only if the value of the "crop" attribute equals 'custom'. Mandatory if applicable. The top-left and bottom-right corners of the apparent part of the plane on which the path resource is based. The value of the attribute represents the x and y coordinates of the points at the top-left and bottom-right corners of the apparent part of the plane. The x and y coordinates of the point at the top-left corner are integers between 0 and 2,047 (inclusive). The x and y coordinates of the point at the bottom-right corner are integers between 1 and 2,048 (inclusive). The x and y coordinates of the point at the bottom-right corner are greater respectively than the x and y coordinates of the point at the top-left corner. The value of the attribute is a string in the 'xtl,ytl,xbr,ybr' pattern where: ',' is the U+002C COMMA character; and 'xtl' and 'ytl' are each a substring representing respectively the x and y coordinates of the point at the top-left corner and 'xbr' and 'ybr' are each a substring representing respectively the x and y coordinates of the point at the bottom-right corner. Each substring contains between one and four decimal characters (inclusive). Each decimal character of each substring is in the range from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The substrings do not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: OP3FT Frogans Technology [Page 65] FSDL 3.0 Internal Draft #2 February 2016 corners='10,50,200,1000' corners='200,50,450,1000' Examples of refused values: corners='' corners='10,50,2400,1000' corners='450,50,200,1000' corners='10,50' corners='10 50 200 1000' corners='010,50,200,1000' corners='10, 50,200,1000' corners='+10,50,200,1000' corners='10,-50,200,1000' corners='10.5,50,200,1000' stroke - Mandatory The way of drawing all the simple and composite Bezier curves contained in the plane on which the path resource is based. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'on' indicates that all the simple and composite Bezier curves are drawn as lines. The thickness of the lines depends on the value of the "thick" attribute of the element. * 'off' indicates that all the simple and composite Bezier curves are drawn as filled areas. thick - Applicable only if the value of the "stroke" attribute of the element equals 'on'. Optional if applicable. The thickness of the lines in the path resource. The value of the attribute represents an integer between 1 and 64 (inclusive). The thickness is in pixels. The default value is '8'. OP3FT Frogans Technology [Page 66] FSDL 3.0 Internal Draft #2 February 2016 The value of the attribute is a string containing between one and two decimal characters (inclusive). Each decimal character of the string is in the range from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The string does not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), '-' (U+002D HYPHEN-MINUS), and '.' (U+002E FULL STOP). Examples of accepted values: thick='1' thick='64' thick='9' Examples of refused values: thick='' thick='-9' thick='80' thick='+9' thick='9.5' close - Applicable only if the value of the "stroke" attribute of the element equals 'on'. Optional if applicable. Whether to close all the simple and composite Bezier curves contained in the plane on which the path resource is based. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'on' indicates that all the simple and composite Bezier curves are closed. * 'off' indicates that none of the simple and composite Bezier curves are closed. The default value is 'off'. OP3FT Frogans Technology [Page 67] FSDL 3.0 Internal Draft #2 February 2016 fill - Applicable only if the value of the "stroke" attribute of the element equals 'off'. Optional if applicable. The rule used to determine the filled areas in the path resource. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'non-zero' indicates that the non-zero winding rule is used. * 'even-odd' indicates that the even-odd fill rule is used. The default value is 'off'. spread - Mandatory Whether the apparent part of the plane is spread when mapped to the path resource. The attribute is based on a string set which represents the possible values of the attribute. The value of the attribute is case-sensitive. The value can be: * 'on' indicates that the apparent part of the plane is mapped to the path resource, without maintaining its original proportions, such that the apparent part of the plane covers the entire width and height of the path resource. * 'off' indicates that the apparent part of the plane is mapped to the path resource, maintaining its original proportions, such that the apparent part of the plane covers either the entire width or the entire height of the path resource. Any remaining parts of the path resource that are not covered by the apparent part of the plane are fully transparent. The placement of the apparent part of the plane in the path resource depends on the value of the "adjust" attribute of the element. OP3FT Frogans Technology [Page 68] FSDL 3.0 Internal Draft #2 February 2016 adjust - Applicable only if the value of the "spread" attribute of the element equals 'off'. Optional if applicable. The adjustment of the apparent part of the plane in the path resource. The value of the attribute represents an integer between -100 and 100 (inclusive). The adjustment is applied, either horizontally or vertically, as follows: * An adjustment of -100 corresponds to the LT placement, where the apparent part of the plane is placed so that its left or top edge matches the left or top edge of the path resource. * An adjustment of 0 corresponds to the central placement, where the apparent part of the plane is centered vertically or horizontally in the path resource. * An adjustment of 100 corresponds to the RB placement, where the apparent part of the plane is placed so that its right or bottom edge matches the right or bottom edge of the path resource. * An adjustment between -100 and 0 (exclusive) corresponds to a proportional placement, where the apparent part of the plane is placed according to the absolute value of the adjustment, starting from the central placement and moving towards the LT placement. For instance, an adjustment of -25 corresponds to a placement where the apparent part of the plane is placed one- quarter of the way from the central placement towards the LT placement. * An adjustment between 0 and 100 (exclusive) corresponds to a proportional placement, where the apparent part of the plane is placed according to the value of the adjustment, starting from the central placement and moving towards the RB placement. For instance, an adjustment of 75 corresponds to a placement where the apparent part of the plane is placed three-quarters of the way from the central placement towards the RB placement. The default value is 0. The value of the attribute is a string in the 'pd' pattern where: 'p' is a substring representing the sign of the adjustment; and 'd' is a substring representing the absolute value of the adjustment. The 'p' substring is either an empty string, OP3FT Frogans Technology [Page 69] FSDL 3.0 Internal Draft #2 February 2016 indicating that the value of the adjustment is greater than or equal to zero, or is the '-' (U+002D HYPHEN-MINUS) character. The 'd' substring contains between one and three decimal characters (inclusive). Each decimal character of the 'd' substring is in the range from '0' to '9' (U+0033 DIGIT ZERO to U+0039 DIGIT NINE, inclusive). The 'd' substring does not contain any leading '0' (U+0033 DIGIT ZERO) characters. As a result, the value of the attribute does not contain any of the following characters: white space characters defined in Section 5.5, '+' (U+002B PLUS SIGN), and '.' (U+002E FULL STOP). Examples of accepted values: adjust='0' adjust='-100' adjust='100' adjust='-25' adjust='75' Examples of refused values: adjust='' adjust='-0' adjust='-120' adjust='150' adjust='-025' adjust='075' adjust='- 25' adjust='+100' adjust='-25.5' color - Optional The color of the path resource. The value of the attribute represents the levels of the R, G, and B components of the color. The level of each component is represented using two hexadecimal digits. As stated in the Frogans slide layout rules (Section 4.6), the level of each one of the R, G, and B components is in the range from 00 (0) to ff (255). The default value is '#0000ff'. The value of the attribute is a string in the '#rrggbb' pattern where: '#' is the U+0013 NUMBER SIGN character; and 'rr', 'gg', and 'bb' are each a substring representing respectively the R, G, and B components. Each substring contains two hexadecimal OP3FT Frogans Technology [Page 70] FSDL 3.0 Internal Draft #2 February 2016 characters. Each hexadecimal character of each substring is in one of the following ranges: from '0' to '9' (U+0030 DIGIT ZERO to U+0039 DIGIT NINE, inclusive), from 'A' to 'F' (U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, inclusive), from 'a' to 'f' (U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, inclusive). As a result, the value of the attribute does not contain any white space characters defined in Section 5.5. Examples of accepted values: color='#0000ff' color='#004698' color='#001c46' color='#ffbf00' color='#Ffbf00' color='#FFBF00' Examples of refused values: color='' color='ffbf00' color='#' color='#ffbf' color='# ffbf00' color='#ffbf 00' color='#0ffbf00' color='#00f' OP3FT Frogans Technology [Page 71] FSDL 3.0 Internal Draft #2 February 2016 6.12. Adding Layers to the Frogans Slide - Element The element defines a layer to be added to the Frogans slide. The element is a child either of the element (see Section 6.1) or of a