Using Automatic Placement: Difference between revisions

From HLKitWiki
Jump to navigationJump to search
 
No edit summary
Line 1: Line 1:
[[Category:Basic Concepts and Terminology]]
[[Category:Basic Concepts and Terminology]]
[Context: [[Home|HL Kit]] … [[Basic Concepts and Terminology]] … [[Manipulation of Visual Elements]]]
[Context: [[Home|HL Kit]] … [[Basic Concepts and Terminology]] … [[Manipulation of Visual Elements]]]
-Visual elements can utilize the "autoplace" target reference for quick and easy
    placement of those elements
    -Only allowed on visual elements within layouts and scenes
    -Every layout and scene manages logic for automatically placing its elements
    -Automatic placement assumes an progression of elements being placed in a
        vertical arrangement, with each successive element appearing beneath the
        previous element
    -Syntax is "autoplace[gap]", where "gap" is the vertical gap between the new
        element being placed and the bottom of the previous element that was
        automatically placed
    -Additional target references provide an author with complete control over
        the bounds of the region within which automatic placement is performed
        -Set these characteristics before using "autoplace" if you need to first
            manually position certain elements
        -Get these characteristics after using "autoplace" if you need to
            manually position elements in the space remaining, or if you need to
            determine the extent of the elements that were placed
        -"autoleft", "autotop", "autoright", and "autobottom" provide read/write
            access to the bounds of the region used for automatic placement
        -"autowidth" and "autoheight" provide read/write access to the dimensions
            -They default to the full width of the visual container
    -Before anything is placed, the bounds of the region are initialized to be
        the full height and width of the visual container (i.e. layout or scene)
    -When an element is automatically placed, the width of that element is set
        to the "autowidth" of the visual container
    -After an element is automatically placed, the "top" edge of the region is
        moved downward to the bottom of the placed visual element
    -When a template is automatically placed, it is rendered upon completion
    -When a layout is automatically placed, it is estimated upon completion
    -Until at least one visual element with actual contents is successfully
        placed within the container, the gap is always considered to be zero
        -This ensures that the first item actually placed in the container always
            starts at the top, regardless of how many elements render no contents
    -When automatically placed, most visual elements have their height set to the
        full remaining height of the automatic placement region
        -Lone exception is a non-table portal being placed within a layout, for
            which the height is assumed to be whatever is already set
        -Since heights are set the full region during automatic placement, it is
            assumed that visual elements will properly truncate their height as
            part of their rendering
        -For example, a template placed within a layout or a layout placed within
            a scene must properly set their height at the end of the Position
            script, based on the extent of the bottommost item within them
        -Table portals automatically determine their extent, so automatic
            placement of tables will work smoothly
    -When automatic placement attempt to place a visual element that will not
        fully fit in the remaining space, the region is considered to be fully
        utilized and no further elements can be placed
    -If a table is placed and it does not fully fit in the remaining space, as
        many items as will fit are output, with all remaining items being treated
        as "spillover" for rendering in subsequent tables
    -Any visual element that is not displayed at all is designated as non-visible
        -Tables that contain zero items are non-visible
        -Templates and layout that do not fully fit are non-visible

Revision as of 11:52, 20 November 2008

[Context: HL Kit … Basic Concepts and Terminology … Manipulation of Visual Elements]



-Visual elements can utilize the "autoplace" target reference for quick and easy

   placement of those elements
   -Only allowed on visual elements within layouts and scenes
   -Every layout and scene manages logic for automatically placing its elements
   -Automatic placement assumes an progression of elements being placed in a
       vertical arrangement, with each successive element appearing beneath the
       previous element
   -Syntax is "autoplace[gap]", where "gap" is the vertical gap between the new
       element being placed and the bottom of the previous element that was
       automatically placed
   -Additional target references provide an author with complete control over
       the bounds of the region within which automatic placement is performed
       -Set these characteristics before using "autoplace" if you need to first
           manually position certain elements
       -Get these characteristics after using "autoplace" if you need to
           manually position elements in the space remaining, or if you need to
           determine the extent of the elements that were placed
       -"autoleft", "autotop", "autoright", and "autobottom" provide read/write
           access to the bounds of the region used for automatic placement
       -"autowidth" and "autoheight" provide read/write access to the dimensions
           -They default to the full width of the visual container
   -Before anything is placed, the bounds of the region are initialized to be
       the full height and width of the visual container (i.e. layout or scene)
   -When an element is automatically placed, the width of that element is set
       to the "autowidth" of the visual container
   -After an element is automatically placed, the "top" edge of the region is
       moved downward to the bottom of the placed visual element
   -When a template is automatically placed, it is rendered upon completion
   -When a layout is automatically placed, it is estimated upon completion
   -Until at least one visual element with actual contents is successfully
       placed within the container, the gap is always considered to be zero
       -This ensures that the first item actually placed in the container always
           starts at the top, regardless of how many elements render no contents
   -When automatically placed, most visual elements have their height set to the
       full remaining height of the automatic placement region
       -Lone exception is a non-table portal being placed within a layout, for
           which the height is assumed to be whatever is already set
       -Since heights are set the full region during automatic placement, it is
           assumed that visual elements will properly truncate their height as
           part of their rendering
       -For example, a template placed within a layout or a layout placed within
           a scene must properly set their height at the end of the Position
           script, based on the extent of the bottommost item within them
       -Table portals automatically determine their extent, so automatic
           placement of tables will work smoothly
   -When automatic placement attempt to place a visual element that will not
       fully fit in the remaining space, the region is considered to be fully
       utilized and no further elements can be placed
   -If a table is placed and it does not fully fit in the remaining space, as
       many items as will fit are output, with all remaining items being treated
       as "spillover" for rendering in subsequent tables
   -Any visual element that is not displayed at all is designated as non-visible
       -Tables that contain zero items are non-visible
       -Templates and layout that do not fully fit are non-visible