This class is used to control the shape and color of the drawing operations performed by a
Normally, you don’t create a PNMBrush directly; instead, use one of the static PNMBrush::make_*() methods provided here.
A PNMBrush is used to draw the border of a polygon or rectangle, as well as for filling its interior. When it is used to draw a border, the brush is “smeared” over the border; when it is used to fill the interior, it is tiled through the interior.
enumerator BE_set = 0
enumerator BE_blend = 1
enumerator BE_darken = 2
enumerator BE_lighten = 3
- enumerator BE_set = 0
static PointerTo<PNMBrush> make_image(PNMImage const &image, float xc, float yc, BrushEffect effect = BE_blend)
Returns a new brush that paints with the indicated image. xc and yc indicate the pixel in the center of the brush.
The brush makes a copy of the image; it is safe to deallocate or modify the image after making this call.
static PointerTo<PNMBrush> make_pixel(LColorf const &color, BrushEffect effect = BE_blend)
Returns a new brush that paints a single pixel of the indicated color on a border, or paints a solid color in an interior.
static PointerTo<PNMBrush> make_spot(LColorf const &color, float radius, bool fuzzy, BrushEffect effect = BE_blend)
Returns a new brush that paints a spot of the indicated color and radius. If fuzzy is true, the spot is fuzzy; otherwise, it is hard-edged.
- enum BrushEffect