GoJS API
/ to search
    Preparing search index...

    Class Brush

    A Brush holds color information and describes how to draw the inside of a Shape or the stroke of a shape or a TextBlock or the background of any GraphObject.

    A Brush must not be modified once it has been assigned to a GraphObject, such as the Shape.fill or TextBlock.stroke or GraphObject.background. However, a Brush may be shared by multiple GraphObjects.

    Index

    Constructors

    • Construct a Brush class that holds the given color information.

      Parameters

      • Optionaltype: string | BrushType

        Optional, one of the values BrushType.Solid, BrushType.Linear, BrushType.Radial, BrushType.Pattern, or a well-formed CSS string describing a solid color brush. No argument defaults to a BrushType.Solid with a color description of 'black'.

      • Optionalinit: Partial<Brush> & Record<number, string>

        Optional initialization properties. In addition to Brush properties, this object can also contain color stops in the format: { 0: "#FEC901", 0.2: "#FFFFAA", 1: "#FEA200" } Such numeric property names result in calls to Brush.addColorStop.

      Returns Brush

    Accessors

    • get color(): string

      Gets or sets the color of a solid Brush. The default value is 'black'. The value must be a valid CSS color string.

      Returns string

    • get colorStops(): Map<number, string> | null

      Gets or sets a Map holding all of the color stops used in this gradient, where the key is a number, the fractional distance between 0 and 1 (inclusive), and where the corresponding value is a color string.

      Call addColorStop in order to add color stops to this brush. This property value may be null if no gradient stops have been defined.

      Returns Map<number, string> | null

    • get endRadius(): number

      Gets or sets the radius of a radial brush at the end location. The default value is NaN.

      Returns number

    • get pattern(): HTMLCanvasElement | HTMLImageElement | null

      Gets or sets the pattern of a brush of type BrushType.Pattern.

      Returns HTMLCanvasElement | HTMLImageElement | null

    • get startRadius(): number

      Gets or sets the radius of a radial brush at the start location. The default value is 0.

      Returns number

    • get type(): BrushType

      Gets or sets the type of brush. The default value is BrushType.Solid. The value must be a BrushType. If the new value is a linear or radial brush type, and if the start or end spots are not specific spots, they are changed to be specific spots, depending on the type of brush.

      Returns BrushType

    Methods

    • Specify a particular color at a particular fraction of the distance. If the type is BrushType.Solid, change the type to BrushType.Linear. You should not have duplicate color stop values at the same fractional distance.

      Parameters

      • loc: number

        A number between 0 and 1 (inclusive).

      • color: string

        A valid CSS color string.

      Returns this

      this Brush

    • Create a copy of this Brush with the same values.

      Returns Brush

    • Modifies all colors within this Brush, darkening them by some fraction.

      Parameters

      • Optionalfraction: number

        Fraction to darken the colors by. Defaults to 0.2, must be between 0 and 1 (inclusive).

      • Optionalmode: ColorSpace

        Color space to use for adjusting. Must be a ColorSpace value, defaults to ColorSpace.Oklch.

      Returns this

      This Brush with modified color values.

    • This function determines whether this Brush is "dark."

      Returns boolean

      since

      2.0

    • Modifies all colors within this Brush, lightening them by some fraction.

      Parameters

      • Optionalfraction: number

        Fraction to lighten the colors by. Defaults to 0.2, must be between 0 and 1 (inclusive).

      • Optionalmode: ColorSpace

        Color space to use for adjusting. Must be a ColorSpace value, defaults to ColorSpace.Oklch.

      Returns this

      This Brush with modified color values.

    • This static function takes a color and darkens it by 20% in the Lab color space. This is a convenience function which calls Brush.darkenBy.

      Parameters

      • color: string

        A valid CSS color string.

      Returns string

      A CSS string for the darkened color in RGBA.

    • This static function takes a color and darkens it.

      Parameters

      • color: string

        A valid CSS color string

      • Optionalfraction: number

        Fraction to darken the color by. Defaults to 0.2, must be between 0 and 1 (inclusive).

      • Optionalmode: ColorSpace

        Color space to use for adjusting. Must be a ColorSpace value, defaults to ColorSpace.Oklch.

      Returns string

      A CSS string for the darkened color in RGBA or HSLA.

    • This static function takes a color and determines whether it is "dark." Does not account for transparency.

      Example usage:

      myDiagram.nodeTemplate =
      new go.Node('Auto')
      .add(
      new go.Shape('RoundedRectangle', { strokeWidth: 0 })
      .bind('fill', 'color'),
      new go.TextBlock({ margin: 8 })
      // Dark nodes use white text, light nodes use black text
      .bind('stroke', 'color', c => go.Brush.isDark(c) ? 'white' : 'black')
      .bind('text', 'key')
      );

      Parameters

      • color: BrushLike

        A valid CSS color string or a Brush.

      Returns boolean

      since

      2.0

    • This static function takes a color and lightens it by 20% in the Lab color space. This is a convenience function which calls Brush.lightenBy.

      Parameters

      • color: string

        A valid CSS color string.

      Returns string

      A CSS string for the lightened color in RGBA.

    • This static function takes a color and lightens it.

      Parameters

      • color: string

        A valid CSS color string.

      • Optionalfraction: number

        Fraction to lighten the colors by. Defaults to 0.2, must be between 0 and 1 (inclusive).

      • Optionalmode: ColorSpace

        Color space to use for adjusting. Must be a ColorSpace value, defaults to ColorSpace.Oklch.

      Returns string

      A CSS string for the lightened color in RGBA or HSLA.

    • This static function takes two colors and mixes them together, using the (optionally) specified amount of the second color.

      Parameters

      • color1: string

        A valid CSS color string.

      • color2: string

        Another valid CSS color string to mix.

      • Optionalfraction: number

        Fraction specifying how much color2 to mix into color1. Defaults to .5, must be between 0 and 1 (inclusive).

      Returns string

      since

      2.0

    • This static function can be used to generate a random color.

      Parameters

      • Optionalmin: number

        A number between 0 and 255, defaults to 128.

      • Optionalmax: number

        A number between 0 and 255, defaults to 255.

      Returns string

      A color value in # hexadecimal format.

    Properties

    HSL: HSL = ColorSpace.HSL
    deprecated

    See ColorSpace.HSL.

    Lab: Lab = ColorSpace.Lab
    deprecated

    See ColorSpace.Lab.

    Linear: Linear = BrushType.Linear
    deprecated

    See BrushType.Linear.

    Pattern: Pattern = BrushType.Pattern
    deprecated

    See BrushType.Pattern.

    Radial: Radial = BrushType.Radial
    deprecated

    See BrushType.Radial.

    Solid: Solid = BrushType.Solid
    deprecated

    See BrushType.Solid.