Rebol Programming/span?

From Wikibooks, open books for an open world
Jump to navigation Jump to search

USAGE:[edit | edit source]

SPAN? pane /part count 

DESCRIPTION:[edit | edit source]

Returns a block of [min max] bounds for all faces

SPAN? is a function value.

ARGUMENTS[edit | edit source]

  • pane -- (Type: block)

REFINEMENTS[edit | edit source]

  • /part
    • count -- Limit the number of faces (Type: integer)

SOURCE CODE[edit | edit source]

span?: func [
    "Returns a block of [min max] bounds for all faces" 
    pane [block!] 
    /part count [integer!] "Limit the number of faces" 
    /local origin margin
][
    origin: 100000x100000 
    margin: 0x0 
    foreach item pane [
        if object? item [
            if all [count negative? count: count - 1] [break] 
            origin: min origin item/offset 
            margin: max margin item/offset + item/size
        ]
    ] 
    reduce [origin margin]
]