{"size": 3696, "ext": "scrbl", "max_stars_repo_path": "gui-doc/scribblings/gui/area-intf.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/scribblings/gui/area-intf.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/scribblings/gui/area-intf.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": 30.8, "max_line_length": 110, "alphanum_fraction": 0.694534632}
#lang scribble/doc
@(require "common.rkt")

@definterface/title[area<%> ()]{

An @racket[area<%>] object is either a window or a windowless
 container for managing the position and size of other areas. An
 @racket[area<%>] can be a container, a containee, or both. The only
 areas without a parent are top-level windows.

All @racket[area<%>] classes accept the following named instantiation
 arguments:
@itemize[

 @item{@indexed-racket[min-width] --- default is the initial graphical minimum width; passed to
@method[area<%> min-width]} 
 @item{@indexed-racket[min-height] --- default is the initial graphical minimum height; passed to
@method[area<%> min-height]} 
 @item{@indexed-racket[stretchable-width] --- default is class-specific; passed to
@method[area<%> stretchable-width]} 
 @item{@indexed-racket[stretchable-height] --- default is class-specific; passed to
@method[area<%> stretchable-height]} 
]



@defmethod[(get-graphical-min-size)
           (values dimension-integer?
                   dimension-integer?)]{

Returns the area's graphical minimum size as two values: the minimum
 width and the minimum height (in pixels).

See @|geomdiscuss| for more information. Note that the return value
 @italic{does not} depend on the area's
@method[area<%> min-width] and
@method[area<%> min-height] settings.

}

@defmethod[(get-parent)
           (or/c (is-a?/c area-container<%>) #f)]{

Returns the area's parent. A top-level window may have no parent (in
 which case @racket[#f] is returned), or it may have another top-level
 window as its parent.

}

@defmethod[(get-top-level-window)
           (or/c (is-a?/c frame%) (is-a?/c dialog%))]{

Returns the area's closest frame or dialog ancestor. For a frame or
 dialog area, the frame or dialog itself is returned.

}

@defmethod*[([(min-width)
              dimension-integer?]
             [(min-width [w dimension-integer?])
              void?])]{

Gets or sets the area's minimum width (in pixels) for geometry
 management.

The minimum width is ignored when it is smaller than the area's
 @tech{graphical minimum width}, or when it is smaller
 than the width reported by
@method[area-container<%> container-size] if the area is a container. See @|geomdiscuss| for more information.

An area's initial minimum width is its graphical minimum width. See
 also
@method[area<%> get-graphical-min-size] .

When setting the minimum width, if @racket[w] is smaller than the
 internal hard minimum, @|MismatchExn|.

}

@defmethod*[([(min-height)
              dimension-integer?]
             [(min-height [h dimension-integer?])
              void?])]{

Gets or sets the area's minimum height for geometry management.

The minimum height is ignored when it is smaller than the area's
 @tech{graphical minimum height}, or when it is smaller
 than the height reported by
@method[area-container<%> container-size] if the area is a container. See @|geomdiscuss| for more information.

An area's initial minimum height is its graphical minimum height. See
 also
@method[area<%> get-graphical-min-size] .

When setting the minimum height (in pixels); if @racket[h] is smaller
 than the internal hard minimum, @|MismatchExn|.

}

@defmethod*[([(stretchable-height)
              boolean?]
             [(stretchable-height [stretch? any/c])
              void?])]{

Gets or sets the area's vertical stretchability for geometry
 management. See @|geomdiscuss| for more information.

}

@defmethod*[([(stretchable-width)
              boolean?]
             [(stretchable-width [stretch? any/c])
              void?])]{

Gets or sets the area's horizontal stretchability for geometry
 management. See @|geomdiscuss| for more information.

}}
