#lang scribble/doc @(require "common.ss") @definterface/title[style<%> ()]{ A @scheme[style<%>] object encapsulates drawing information (font, color, alignment, etc.) in a hierarchical manner. A @scheme[style<%>] object always exists within the context of a @scheme[style-list%] object and is never created except by a @scheme[style-list%] object. See also @|stylediscuss|. @defmethod[(get-alignment) (one-of/c 'top 'center 'bottom)]{ Returns the style's alignment: @scheme['top], @scheme['center], or @scheme['bottom]. } @defmethod[(get-background) (is-a?/c color%)]{ Returns the style's background color. } @defmethod[(get-base-style) (or/c (is-a?/c style<%>) false/c)]{ Returns the style's base style. See @|stylediscuss| for more information. The return value is @scheme[#f] only for the basic style in the list. } @defmethod[(get-delta [delta (is-a?/c style-delta%)]) void?]{ Mutates @racket[delta], changing it to match the style's delta, if the style is not a join style. See @|stylediscuss| for more information. } @defmethod[(get-face) (or/c string? false/c)]{ Returns the style's face name. See @scheme[font%]. } @defmethod[(get-family) (one-of/c 'default 'decorative 'roman 'script 'swiss 'modern 'symbol 'system)]{ Returns the style's font family. See @scheme[font%]. } @defmethod[(get-font) (is-a?/c font%)]{ Returns the style's font information. } @defmethod[(get-foreground) (is-a?/c color%)]{ Returns the style's foreground color. } @defmethod[(get-name) (or/c string? false/c)]{ Returns the style's name, or @scheme[#f] if it is unnamed. Style names are only set through the style's @scheme[style-list%] object. } @defmethod[(get-shift-style) (is-a?/c style<%>)]{ Returns the style's shift style if it is a join style. Otherwise, the root style is returned. See @|stylediscuss| for more information. } @defmethod[(get-size) (integer-in 0 255)]{ Returns the style's font size. } @defmethod[(get-size-in-pixels) boolean?]{ Returns @scheme[#t] if the style size is in pixels, instead of points, or @scheme[#f] otherwise. } @defmethod[(get-smoothing) (one-of/c 'default 'partly-smoothed 'smoothed 'unsmoothed)]{ Returns the style's font smoothing. See @scheme[font%]. } @defmethod[(get-style) (one-of/c 'normal 'italic 'slant)]{ Returns the style's font style. See @scheme[font%]. } @defmethod[(get-text-descent [dc (is-a?/c dc<%>)]) (and/c real? (not/c negative?))]{ Returns the descent of text using this style in a given DC. } @defmethod[(get-text-height [dc (is-a?/c dc<%>)]) (and/c real? (not/c negative?))]{ Returns the height of text using this style in a given DC. } @defmethod[(get-text-space [dc (is-a?/c dc<%>)]) (and/c real? (not/c negative?))]{ Returns the vertical spacing for text using this style in a given DC. } @defmethod[(get-text-width [dc (is-a?/c dc<%>)]) (and/c real? (not/c negative?))]{ Returns the width of a space character using this style in a given DC. } @defmethod[(get-transparent-text-backing) boolean?]{ Returns @scheme[#t] if text is drawn without erasing the text background or @scheme[#f] otherwise. } @defmethod[(get-underlined) boolean?]{ Returns @scheme[#t] if the style is underlined or @scheme[#f] otherwise. } @defmethod[(get-weight) (one-of/c 'normal 'bold 'light)]{ Returns the style's font weight. See @scheme[font%]. } @defmethod[(is-join?) boolean?]{ Returns @scheme[#t] if the style is a join style or @scheme[#f] otherwise. See @|stylediscuss| for more information. } @defmethod[(set-base-style [base-style (is-a?/c style<%>)]) void?]{ Sets the style's base style and recomputes the style's font, etc. See @|stylediscuss| for more information. } @defmethod[(set-delta [delta (is-a?/c style-delta%)]) void?]{ Sets the style's delta (if it is not a join style) and recomputes the style's font, etc. See @|stylediscuss| for more information. } @defmethod[(set-shift-style [style (is-a?/c style<%>)]) void?]{ Sets the style's shift style (if it is a join style) and recomputes the style's font, etc. See @|stylediscuss| for more information. } @defmethod[(switch-to [dc (is-a?/c dc<%>)] [old-style (or/c (is-a?/c style<%>) false/c)]) void?]{ Sets the font, pen color, etc. of the given drawing context. If @scheme[oldstyle] is not @scheme[#f], only differences between the given style and this one are applied to the drawing context. }}