{"size": 1960, "ext": "scrbl", "max_stars_repo_path": "gui-doc/embedded-gui/scribblings/snip-procs.scrbl", "max_stars_repo_name": "jjsimpso/gui", "max_stars_repo_stars_event_min_datetime": "2015-03-17T22:11:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-12T15:09:34.000Z", "max_issues_repo_path": "gui-doc/embedded-gui/scribblings/snip-procs.scrbl", "max_issues_repo_name": "jjsimpso/gui", "max_issues_repo_issues_event_min_datetime": "2015-01-09T15:53:25.000Z", "max_issues_repo_issues_event_max_datetime": "2022-03-31T16:21:29.000Z", "max_forks_repo_path": "gui-doc/embedded-gui/scribblings/snip-procs.scrbl", "max_forks_repo_name": "jjsimpso/gui", "max_forks_repo_forks_event_min_datetime": "2015-01-08T13:03:07.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-26T21:49:09.000Z"}
{"max_stars_count": 65, "max_issues_count": 231, "max_forks_count": 89, "avg_line_length": 31.1111111111, "max_line_length": 70, "alphanum_fraction": 0.6229591837}
#lang scribble/doc
@(require "common.rkt")

@title[#:tag "snip-related-functions"]{Snip Functions}

@defproc[(snip-width [snip (is-a?/c snip%)]) real?]{

The width of a snip in the parent pasteboard.}

@defproc[(snip-height [snip (is-a?/c snip%)]) real?]{

The height of a snip in the parent pasteboard.}

@defproc[(snip-min-width [snip (is-a?/c snip%)]) real?]{

The minimum width of the snip}

@defproc[(snip-min-height [snip (is-a?/c snip%)]) real?]{

The minimum height of the snip.}

@defproc[(snip-parent [snip (is-a?/c snip%)]) (is-a?/c pasteboard%)]{

The pasteboard that contains the snip.}

@defproc[(fold-snip [f ((is-a?/c snip%) any/c . -> . any/c)]
                    [init-acc any/c]
                    [snip (is-a?/c snip%)])
          any/c]{

Applies @racket[f] to all snips in the parent of @racket[snip], 
starting with @racket[snip].}

@defproc[(for-each-snip [f ((is-a?/c snip%) . -> . any/c)]
                        [first-snip (is-a?/c snip%)] 
                        [more list?] ...)
         void?]{

Applies the function to each snip in the parent of
@racket[first-snip], starting with @racket[first-snip]. If
@racket[more] lists are supplied, they are used for extra arguments to
@racket[f], just like extra lists provided to @racket[for-each].}

@defproc[(map-snip [f ((is-a?/c snip%) . -> . any/c)]
                   [first-snip (is-a?/c snip%)] 
                   [more list?] ...)
         void?]{

Applies the function to each snip in the parent of
@racket[first-snip], starting with @racket[first-snip], and
accumulates the results into a list. If @racket[more] lists are
supplied, they are used for extra arguments to @racket[f], just like
extra lists provided to @racket[map].}


@defproc[(stretchable-width? [snip (is-a?/c snip%)]) boolean?]{

True if the snip can be resized in the X dimension.}

@defproc[(stretchable-height? [snip (is-a?/c snip%)]) boolean?]{

True if the snip can be resized in the Y dimension.}
