superclass: object% |
A style-delta% object encapsulates a style change. The changes expressible by a delta include:
changing the font family
changing the font face
changing the font size to a new value
enlarging the font by an additive amount
enlarging the font by a multiplicative amount, etc.
changing the font style (normal, {\it italic}, or {\sl slant})
toggling the font style
changing the font to {\it italic} if it is currently {\sl slant}, etc.
changing the font weight, etc.
changing the underline, etc.
changing the vertical alignment, etc.
changing the foreground color
dimming or brightening the foreground color, etc.
changing the background color, etc.
changing text backing transparency
The set-delta method is convenient for most style delta settings; it takes a high-level delta specification and sets the internal delta information.
To take full advantage of a style delta, it is necessary to understand the internal on/off settings that can be manipulated through methods such as set-weight-on. For example, the font weight change is specified through the weight-on and weight-off internal settings. Roughly, weight-on turns on a weight setting when it is not present and weight-off turns off a weight setting when it is present. These two interact precisely in the following way:
If both weight-on and weight-off are set to 'base, then the font weight is not changed.
If weight-on is not 'base, then the weight is set to weight-on.
If weight-off is not 'base, then the weight will be set back to 'normal when the base style has the weight weight-off.
If both weight-on and weight-off are set to the same value, then the weight is toggled with respect to that value: if the base style has the weight weight-on, then weight is changed to 'normal; if the base style has a different weight, it is changed to weight-on.
If both weight-on and weight-off are set, but to different values, then the weight is changed to weight-on only when the base style has the weight weight-off.
Font styles, smoothing, underlining, and alignment work in an analogous manner.
The possible values for alignment-on and alignment-off are:
The possible values for style-on and style-off are:
The possible values for smoothing-on and smoothing-off are:
The possible values for underlined-on and underlined-off are:
#f (acts like 'base)
#t
The possible values for size-in-pixels-on and size-in-pixels-off are:
#f (acts like 'base)
#t
The possible values for transparent-text-backing-on and transparent-text-backing-off are:
#f (acts like 'base)
#t
The possible values for weight-on and weight-off are:
The family and face settings in a style delta are interdependent:
When a delta’s face is #f and its family is 'base, then neither the face nor family are modified by the delta.
When a delta’s face is a string and its family is 'base, then only face is modified by the delta.
When a delta’s family is not 'base, then both the face and family are modified by the delta. If the delta’s face is #f, then applying the delta sets a style’s face to #f, so that the family setting prevails in choosing a font.
(make-object style-delta% [change-command]) | ||||||||||||||||||
→ (is-a?/c style-delta%) | ||||||||||||||||||
| ||||||||||||||||||
(make-object style-delta% change-command v) | ||||||||||||||||||
→ (is-a?/c style-delta%) | ||||||||||||||||||
| ||||||||||||||||||
v : symbol | ||||||||||||||||||
(make-object style-delta% change-command v) | ||||||||||||||||||
→ (is-a?/c style-delta%) | ||||||||||||||||||
| ||||||||||||||||||
v : (integer-in 0 255) | ||||||||||||||||||
(make-object style-delta% change-command v) | ||||||||||||||||||
→ (is-a?/c style-delta%) | ||||||||||||||||||
| ||||||||||||||||||
v : any/c |
The initialization arguments are passed on to set-delta.
delta : (is-a?/c style-delta%) |
Tries to collapse into a single delta the changes that would be made by applying this delta after a given delta. If the return value is #f, then it is impossible to perform the collapse. Otherwise, the return value is #t and this delta will contain the collapsed change specification.
delta : (is-a?/c style-delta%) |
Copies the given style delta’s settings into this one.
delta : (is-a?/c style-delta%) |
Returns #t if the given delta is equivalent to this one in all contexts or #f otherwise.
(send a-style-delta get-alignment-off) |
→ (one-of/c 'base 'top 'center 'bottom) |
See style-delta%.
(send a-style-delta get-alignment-on) |
→ (one-of/c 'base 'top 'center 'bottom) |
See style-delta%.
(send a-style-delta get-background-add) |
→ (is-a?/c add-color<%>) |
Gets the object additive color shift for the background (applied after the multiplicative factor). Call this add-color<%> object’s methods to change the style delta’s additive background color shift.
(send a-style-delta get-background-mult) |
→ (is-a?/c mult-color<%>) |
Gets the multiplicative color shift for the background (applied before the additive factor). Call this mult-color<%> object’s methods to change the style delta’s multiplicative background color shift.
Gets the delta’s font face string. If this string is #f and the family is 'base when the delta is applied to a style, the style’s face and family are not changed. However, if the face string is #f and the family is not 'base, then the style’s face is changed to #f.
See also get-family.
(send a-style-delta get-family) | ||||||
|
Returns the delta’s font family. The possible values are
See also get-face.
(send a-style-delta get-foreground-add) |
→ (is-a?/c add-color<%>) |
Gets the additive color shift for the foreground (applied after the multiplicative factor). Call this add-color<%> object’s methods to change the style delta’s additive foreground color shift.
(send a-style-delta get-foreground-mult) |
→ (is-a?/c mult-color<%>) |
Gets the multiplicative color shift for the foreground (applied before the additive factor). Call this mult-color<%> object’s methods to change the style delta’s multiplicative foreground color shift.
(send a-style-delta get-size-add) → (integer-in 0 255) |
Gets the additive font size shift (applied after the multiplicative factor).
(send a-style-delta get-size-in-pixels-off) → boolean? |
See style-delta%.
(send a-style-delta get-size-in-pixels-on) → boolean? |
See style-delta%.
(send a-style-delta get-size-mult) → real? |
Gets the multiplicative font size shift (applied before the additive factor).
(send a-style-delta get-smoothing-off) |
→ (one-of/c 'base 'default 'partly-smoothed 'smoothed 'unsmoothed) |
See style-delta%.
(send a-style-delta get-smoothing-on) |
→ (one-of/c 'base 'default 'partly-smoothed 'smoothed 'unsmoothed) |
See style-delta%.
(send a-style-delta get-style-off) |
→ (one-of/c 'base 'normal 'italic 'slant) |
See style-delta%.
(send a-style-delta get-style-on) |
→ (one-of/c 'base 'normal 'italic 'slant) |
See style-delta%.
(send a-style-delta get-transparent-text-backing-off) |
→ boolean? |
See style-delta%.
(send a-style-delta get-transparent-text-backing-on) |
→ boolean? |
See style-delta%.
(send a-style-delta get-underlined-off) → boolean? |
See style-delta%.
(send a-style-delta get-underlined-on) → boolean? |
See style-delta%.
(send a-style-delta get-weight-off) |
→ (one-of/c 'base 'normal 'bold 'light) |
See style-delta%.
(send a-style-delta get-weight-on) |
→ (one-of/c 'base 'normal 'bold 'light) |
See style-delta%.
(send a-style-delta set-alignment-off v) → void? |
v : (one-of/c 'base 'top 'center 'bottom) |
See style-delta%.
(send a-style-delta set-alignment-on v) → void? |
v : (one-of/c 'base 'top 'center 'bottom) |
See style-delta%.
→ (is-a?/c style-delta%) | ||||||||||||||||||
| ||||||||||||||||||
| ||||||||||||||||||
→ (is-a?/c style-delta%) | ||||||||||||||||||
| ||||||||||||||||||
param : symbol | ||||||||||||||||||
| ||||||||||||||||||
→ (is-a?/c style-delta%) | ||||||||||||||||||
| ||||||||||||||||||
param : (integer-in 0 255) | ||||||||||||||||||
| ||||||||||||||||||
→ (is-a?/c style-delta%) | ||||||||||||||||||
| ||||||||||||||||||
on? : any/c |
Configures the delta with high-level specifications. The return value is the delta itself.
Except for 'change-nothing and 'change-normal, the command only changes part of the delta. Thus, applying 'change-bold and then 'change-italic sets the delta for both the style and weight change.
The change-command argument specifies how the delta is changed; the possible values are:
'change-nothing – reset all changes
'change-normal – turn off all styles and resizings
'change-toggle-underline – underline regions that are currently not underlined, and vice-versa
'change-toggle-size-in-pixels – interpret sizes in pixels for regions that are currently interpreted in points, and vice-versa
'change-normal-color – change the foreground and background to black and white, respectively
'change-italic – change the style of the font to {\it italic}
'change-bold – change the weight of the font to {\bf bold}
'change-family – change the font family (param is a family; see font%); see also get-family
'change-style – change the style of the font (param is a style; see font%)
'change-toggle-style – toggle the style of the font (param is a style; see font%)
'change-weight – change the weight of the font (param is a weight; see font%)
'change-toggle-weight – toggle the weight of the font (param is a weight; see font%)
'change-smoothing – change the smoothing of the font (param is a smoothing; see font%)
'change-toggle-smoothing – toggle the smoothing of the font (param is a smoothing; see font%)
'change-alignment – change the alignment (param is an alignment; see style-delta%)
'change-size – change the size to an absolute value (param is a size)
'change-bigger – make the text larger (param is an additive amount)
'change-smaller – make the text smaller (param is an additive amount)
'change-underline – set the underline status to either underlined or plain
'change-size-in-pixels – set the size interpretation to pixels or points
(send a-style-delta set-delta-background name) |
→ (is-a?/c style-delta%) |
name : string? |
(send a-style-delta set-delta-background color) |
→ (is-a?/c style-delta%) |
Makes the delta encode a background color change to match the absolute color given; that is, it sets the multiplicative factors to 0.0 in the result of get-background-mult, and it sets the additive values in the result of get-background-add to the specified color’s values. The return value of the method is the delta itself.
For the case that a string color name is supplied, see color-database<%>.
| ||||||||||||||
→ (is-a?/c style-delta%) | ||||||||||||||
name : string? | ||||||||||||||
|
Like set-face, but sets the family at the same time.
The return value is a-style-delta.
(send a-style-delta set-delta-foreground name) |
→ (is-a?/c style-delta%) |
name : string? |
(send a-style-delta set-delta-foreground color) |
→ (is-a?/c style-delta%) |
Makes the delta encode a foreground color change to match the absolute color given; that is, it sets the multiplicative factors to 0.0 in the result of get-foreground-mult, and it sets the additive values in the result of get-foreground-add to the specified color’s values. The return value of the method is the delta itself.
For the case that a string color name is supplied, see color-database<%>.
See get-face. See also set-delta-face.
(send a-style-delta set-family v) → void? | ||||||||
|
Sets the delta’s font family. See get-family.
(send a-style-delta set-size-add v) → void? |
v : (integer-in 0 255) |
Sets the additive font size shift (applied after the multiplicative factor).
(send a-style-delta set-size-in-pixels-off v) → void? |
v : any/c |
See style-delta%.
(send a-style-delta set-size-in-pixels-on v) → void? |
v : any/c |
See style-delta%.
(send a-style-delta set-size-mult v) → void? |
v : real? |
Sets the multiplicative font size shift (applied before the additive factor).
(send a-style-delta set-smoothing-off v) → void? |
v : (one-of/c 'base 'default 'partly-smoothed 'smoothed 'unsmoothed) |
See style-delta%.
(send a-style-delta set-smoothing-on v) → void? |
v : (one-of/c 'base 'default 'partly-smoothed 'smoothed 'unsmoothed) |
See style-delta%.
(send a-style-delta set-style-off v) → void? |
v : (one-of/c 'base 'normal 'italic 'slant) |
See style-delta%.
(send a-style-delta set-style-on v) → void? |
v : (one-of/c 'base 'normal 'italic 'slant) |
See style-delta%.
(send a-style-delta set-transparent-text-backing-off v) → void? |
v : any/c |
See style-delta%.
(send a-style-delta set-transparent-text-backing-on v) → void? |
v : any/c |
See style-delta%.
(send a-style-delta set-underlined-off v) → void? |
v : any/c |
See style-delta%.
(send a-style-delta set-underlined-on v) → void? |
v : any/c |
See style-delta%.
(send a-style-delta set-weight-off v) → void? |
v : (one-of/c 'base 'normal 'bold 'light) |
See style-delta%.
(send a-style-delta set-weight-on v) → void? |
v : (one-of/c 'base 'normal 'bold 'light) |
See style-delta%.