Jump to content

Rebol Programming/span?

From Wikibooks, open books for an open world

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]
]