OEPen

class OEPen

The OEPen class encapsulates properties that determine the way various lines, curves and shapes are drawn.

Currently the OEPen class stores the following properties:

Property

Get method

Set method

Corresponding namespace/class

background color

OEPen::GetBackColor

OEPen::SetBackColor

OEColor

foreground color

OEPen::GetForeColor

OEPen::SetForeColor

OEColor

fill

OEPen::GetFill

OEPen::SetFill

OEFill

line join

OEPen::GetLineJoin

OEPen::SetLineJoin

OELineJoin

line cap

OEPen::GetLineCap

OEPen::SetLineCap

OELineCap

line width

OEPen::GetLineWidth

OEPen::SetLineWidth

none

line stipple

OEPen::SetLineStipple

OEPen::GetLineStipple

OEStipple

stipple factor

OEPen::SetStippleFactor

OEPen::GetStippleFactor

none

Constructors

OEPen()

Default constructor that initializes an OEPen object with the following properties:

Default parameters of OEPen

Property

Default value

background color

OEWhite = OEColor(255,255,255)

foreground color

OEBlack = OEColor(0,0,0)

fill

OEFill::Default

line join

OELineJoin::Default

line cap

OELineCap::Default

line width

1.0

line stipple

OEStipple::Default

stipple factor

1

OEPen(const OESystem::OEColor &bg, const OESystem::OEColor &fg,
      unsigned int fill=OEFill::Off, double linewidth=1.0)

Creates and initializes an OEPen object with the given parameters. The other properties of the pen are set to the default values (see table above).

bg, fg

The background and foreground color of the pen.

fill

The fill property of the pen.

linewidth

The line width property of the pen.

OEPen(const OEPen &rhs)

Copy constructor.

operator=

OEPen &operator=(const OEPen &rhs)

Assignment operator.

operator!=

bool operator!=(const OEPen &) const

Determines whether two OEPen objects are different. Two OEPen objects are considered different, if any of their properties (such as line width, background color, etc.) are different.

operator==

bool operator==(const OEPen &) const

Determines whether two OEPen objects are equal. Two OEPen objects are considered equivalent only if all of their properties (such as line width, background color, etc.) are identical.

GetBackColor

const OESystem::OEColor &GetBackColor() const

Returns the background color of the OEPen object that is used to fill shapes.

See also

GetFill

unsigned int GetFill() const

If the returned value is OEFill::On, than shapes drawn with the OEPen object are filled with the background color of the pen. If the returned value is OEFill::Off, than shapes drawn with the OEPen object are left “empty” i.e. only their outlines are drawn using the foreground color of the pen.

See also

GetForeColor

const OESystem::OEColor &GetForeColor() const

Returns the foreground color of the OEPen object that controls the color of the strokes when drawing lines, curves and outlines of shapes.

See also

GetLineCap

unsigned int GetLineCap() const

Returns the line cap property of the OEPen object that controls how the endpoints of lines are drawn. The return value is taken from the OELineCap namespace.

See also

GetLineJoin

unsigned int GetLineJoin() const

Returns the line join property of the OEPen object that controls how lines connect at corners when drawing outlines. The return value is taken from the OELineJoin namespace.

See also

GetLineStipple

unsigned short GetLineStipple() const

Returns the line stipple property of the OEPen object that controls the pattern of dashes and gaps used to draw lines and outlines. The return value is taken from the OEStipple namespace.

See also

GetLineWidth

double GetLineWidth() const

Returns the line width of the OEPen object that controls the width of strokes used when drawing lines, curves and outlines of shapes.

See also

GetStippleFactor

unsigned short GetStippleFactor() const

Returns the stipple factor of the OEPen object. The stipple factor is a multiplier that is used when drawing stipple patterns. For example, if the factor is three, then the stipple pattern is stretched to three times of its original size.

SetBackColor

void SetBackColor(const OESystem::OEColor &col)

Sets the background color of the OEPen object that is used to fill shapes.

Example (Figure: Example of using the SetBackColor method)

OEPen pen;
pen.SetFill(OEFill::On);
pen.SetBackColor(OEBlueTint);
../../_images/OEPen_SetBackColor.png

Example of using the SetBackColor method

Note

In order to fill a shape using the background color, the fill property of the OEPen has to be turned on (OEFill::On). (See OEPen::SetFill method and OEFill namespace)

See also

SetFill

void SetFill(unsigned int fill)

Sets the fill property of the OEPen object.

fill

This value has to be from the OEFill namespace.

See also

SetForeColor

void SetForeColor(const OESystem::OEColor &col)

Sets the foreground color of the OEPen object that controls the color of the stroke when drawing lines, curves and outlines of shapes.

Example (Figure: Example of using the SetForeColor method)

OEPen pen;
pen.SetForeColor(OERed);
../../_images/OEPen_SetForeColor.png

Example of using the SetForeColor method

See also

SetLineCap

void SetLineCap(unsigned int cap)

Sets the line cap property of the OEPen object that controls how the endpoints of lines are drawn.

cap

This value has to be from the OELineCap namespace.

Example (Figure: Example of using the SetLineCap method)

OEPen pen;
pen.SetLineWidth(4);
pen.SetLineCap(OELineCap::Square);
../../_images/OEPen_SetLineCap.png

Example of using the SetLineCap method

See also

SetLineJoin

void SetLineJoin(unsigned int join)

Sets the line join property of the OEPen object that controls how lines connect at corners when drawing outlines.

join

This value has to be from the OELineJoin namespace.

Example (Figure: Example of using the SetLineJoin method)

OEPen pen;
pen.SetLineWidth(4);
pen.SetLineJoin(OELineJoin::Miter);
../../_images/OEPen_SetLineJoin.png

Example of using the SetLineJoin method

See also

SetLineStipple

void SetLineStipple(unsigned short pattern)

Sets the line stipple property of the OEPen object that controls the pattern of dashes and gaps used to draw lines and outlines.

pattern

This value has to be from the OEStipple namespace.

Example (Figure: Example of using the SetLineStipple method)

OEPen pen;
pen.SetLineStipple(OEStipple::ShortDash);
../../_images/OEPen_SetLineStipple.png

Example of using the SetLineStipple method

See also

SetLineWidth

void SetLineWidth(double width)

Sets the line width of the OEPen object that controls the width of strokes used when drawing lines, curves and outlines of shapes.

width

This value has to be a positive number.

Example (Figure: Example of using the SetLineWidth method)

OEPen pen;
pen.SetLineWidth(5.0);
../../_images/OEPen_SetLineWidth.png

Example of using the SetLineWidth method

See also

SetStippleFactor

void SetStippleFactor(unsigned short factor)

Sets the stipple factor of the OEPen object. The stipple factor is a multiplier that is used when drawing stipple patterns.

Example (Figure: Example of using the SetStippleFactor method)

OEPen pen;
pen.SetLineStipple(OEStipple::ShortDash);
pen.SetStippleFactor(2);
../../_images/OEPen_SetStippleFactor.png

Example of using the SetStippleFactor method