# PNMPainter

from pandac.PandaModules import PNMPainter

Class : PNMPainter
Description : This class provides a number of convenient methods for painting drawings directly into a PNMImage.
It stores a pointer to the PNMImage you pass it, but it does not take ownership of the object; you are responsible for ensuring that the PNMImage does not destruct during the lifetime of the PNMPainter object.

## Inheritance:

PNMPainter:

## Methods of PNMPainter:

PNMPainter (Constructor)
drawLine
drawPoint
drawRectangle
getFill
getPen
setFill
setPen

PNMPainter PNMPainter::PNMPainter(PNMImage &image, int xo = (0), int yo = (0)); Description: The constructor stores a pointer to the PNMImage you pass it, but it does not take ownership of the object; you are responsible for ensuring that the PNMImage does not destruct during the lifetime of the PNMPainter object. The xo, yo coordinates specify an optional offset for fill coordinates. If you are painting with a pattern fill, these specify the virtual coordinates of the upper-left corner of the image, which can allow you to adjust the pattern to line up with nested images, if necessary.

drawLine void PNMPainter::draw_line(double xa, double ya, double xb, double yb); Description: Draws an antialiased line on the PNMImage, using the current pen.

drawPoint void PNMPainter::draw_point(double x, double y); Description: Draws an antialiased point on the PNMImage, using the current pen.

drawRectangle void PNMPainter::draw_rectangle(double xa, double ya, double xb, double yb); Description: Draws a filled rectangule on the PNMImage, using the current pen for the outline, and the current fill brush for the interior. The two coordinates specify any two diagonally opposite corners.

getFill PNMBrush *PNMPainter::get_fill(void) const; Description: Returns the current fill brush. See set_fill().

getPen PNMBrush *PNMPainter::get_pen(void) const; Description: Returns the current pen. See set_pen().

setFill void PNMPainter::set_fill(PNMBrush *fill); Description: Specifies a PNMBrush that will be used for filling in the interiors of objects. If the brush is a bitmap brush, its image will be tiled throughout the space. Unlike the PNMImage passed to the constructor, the PNMPainter will take ownership of the fill brush. It is not necessary to keep a separate pointer to it.

setPen void PNMPainter::set_pen(PNMBrush *pen); Description: Specifies a PNMBrush that will be used for drawing lines and edges. If the brush is a bitmap brush, its image will be smeared pixelwise along the line. Unlike the PNMImage passed to the constructor, the PNMPainter will take ownership of the pen. It is not necessary to keep a separate pointer to it.