Views
Foundation Package API Reference Guide
Product Documentation:
Views Documentation Home
List of all members | Public Member Functions
IlvPSDevice Class Reference

Class implementing a dump device in PostScript. More...

#include <ilviews/util/ps.h>

Inheritance diagram for IlvPSDevice:
IlvPort IlvValueInterface IlvPSColorDevice

Public Member Functions

 IlvPSDevice (IlvDisplay *display, IlvPSColorModel colorModel=IlvPSGrayScale)
 Constructor. More...
 
virtual void clip (const IlvRect *) const
 Limits the drawing to the given rectangular area. More...
 
virtual void clip (const IlvRegion *) const
 Limits the drawing to the given region. More...
 
virtual void drawArc (const IlvPalette *, const IlvRect &, IlFloat, IlFloat) const
 Draws an arc. More...
 
virtual void drawBezier (const IlvPalette *, IlUInt, const IlvPoint *) const
 Draws a set of Bézier curves. More...
 
virtual void drawBitmap (const IlvPalette *, const IlvBitmap *, const IlvRect &, const IlvRegion *=0, IlvPosition=IlvCenter, IlBoolean=IlFalse) const
 Draws an image. More...
 
virtual void drawBitmap (const IlvPalette *, const IlvSystemPort *, const IlvRect &, const IlvPoint &) const
 Draws an image. More...
 
virtual void drawClosedBezier (const IlvPalette *, IlUInt, const IlvPoint *) const
 Appends a closing curve to a set of Bézier curves. More...
 
virtual void drawIString (const IlvPalette *, const IlvPoint &, const char *, int, IlvPosition=IlvLeft) const
 Draws a string at the given position. More...
 
virtual void drawLine (const IlvPalette *, const IlvPoint &, const IlvPoint &) const
 Draws a line between 2 points. More...
 
virtual void drawPoint (const IlvPalette *, const IlvPoint &) const
 Draws a point at the given position. More...
 
virtual void drawPoints (const IlvPalette *, IlUInt, const IlvPoint *) const
 Draws a series of points. More...
 
virtual void drawPolyLine (const IlvPalette *, const IlvPoint &, IlUInt, const IlvDeltaPoint *) const
 Draws a series of connected lines relatively to a reference. More...
 
virtual void drawPolyLine (const IlvPalette *, IlUInt count, const IlvPoint *) const
 Draws a series of connected lines. More...
 
virtual void drawRectangle (const IlvPalette *, const IlvRect &) const
 Draws the given rectangle. More...
 
virtual void drawSegments (const IlvPalette *, IlUInt, const IlvPoint *, const IlvPoint *) const
 Draws a set of segments. More...
 
virtual void drawString (const IlvPalette *, const IlvPoint &, const char *, int, IlvPosition=IlvLeft) const
 Draws a string at the given position. More...
 
virtual void drawTransformedString (const IlvPalette *, const char *, int, const IlvTransformer &, const IlvRegion *=0) const
 Draws a transformed string. More...
 
virtual void drawTransparentBitmap (const IlvPalette *, const IlvSystemPort *, const IlvRect &, const IlvPoint &) const
 Draws a transparent bitmap. More...
 
virtual void end ()
 Closed the dump device. More...
 
virtual void fillArc (const IlvPalette *, const IlvRect &, IlFloat, IlFloat) const
 Fills the arc. More...
 
virtual void fillBezier (const IlvPalette *, IlUInt, const IlvPoint *) const
 Fills an area specified by a set of Bézier curves. More...
 
virtual void fillPaths (const IlvPalette *, IlUInt, const IlvPointArray *) const
 Fills the shape defined by the given paths. More...
 
virtual void fillPolyLine (const IlvPalette *, const IlvPoint &, IlUInt, const IlvDeltaPoint *, IlBoolean) const
 Fills a polygon. More...
 
virtual void fillPolyLine (const IlvPalette *, IlUInt, const IlvPoint *, IlBoolean) const
 Fills a polygon. More...
 
virtual void fillRectangle (const IlvPalette *, const IlvRect &) const
 Fills the given rectangle. More...
 
IlvRegion const & getClip () const
 Gets the current clipping region of this device. More...
 
IlvPSColorModel getColorModel () const
 Indicates the color model in use. More...
 
IlvDim getPaperHeight () const
 Gets the height of the output paper page. More...
 
IlvDim getPaperWidth () const
 Gets the width of the output paper page. More...
 
virtual IlBoolean initDevice (const char *, IlvRect *=0)
 Initializes the dump device. More...
 
virtual IlBoolean isADevice () const
 Queries the nature of this port. More...
 
virtual IlBoolean isBad () const
 Indicates whether this port is valid. More...
 
virtual IlBoolean newPage () const
 Produces an output page and prepares for a new page. More...
 
virtual void send (const char *) const
 Sends character strings to an output device. More...
 
void setColorModel (IlvPSColorModel val)
 Specifies the color model to use. More...
 
void setMinLineWidth (IlvDim lw)
 Specifies the minimum line width. More...
 
void setPaperHeight (IlvDim height)
 Sets the height of the output paper page. More...
 
void setPaperWidth (IlvDim width)
 Sets the width of the output paper page. More...
 
virtual void setTransformer (const IlvTransformer &)
 Applies another transformer to the coordinates provided for the drawing functions. More...
 
void setZoomableLineWidths (IlBoolean flag)
 Indicates whether the line width will be zoomable. More...
 
virtual void stretchBitmap (const IlvPalette *, const IlvPoint &, const IlvBitmap *, const IlvTransformer &, const IlvRect *=0) const
 Stretches a bitmap. More...
 
virtual void stretchBitmap (const IlvPalette *, const IlvRect &, const IlvBitmap *, const IlvRect *=0) const
 Stretches a bitmap. More...
 
virtual void stretchBitmapData (const IlvPalette *palette, const IlvBitmapData *src, const IlvRect &from, const IlvRect &to, IlBoolean opaque=IlFalse) const
 Draws a bitmap data. More...
 
virtual void stretchTransparentBitmap (const IlvPalette *, const IlvPoint &, const IlvBitmap *, const IlvTransformer &, const IlvRect *=0) const
 Stretches a transparent bitmap. More...
 
virtual void stretchTransparentBitmap (const IlvPalette *, const IlvRect &, const IlvBitmap *, const IlvRect *=0) const
 Stretches a transparent bitmap. More...
 
- Public Member Functions inherited from IlvPort
 IlvPort (IlvDisplay *display=0)
 Constructor. More...
 
virtual void clearArea (const IlvRect &rect, IlBoolean reDraw=IlFalse) const
 Clears a rectangular area of the screen. More...
 
virtual void clearArea (const IlvRegion &region, IlBoolean reDraw=IlFalse) const
 Clears a region of the screen. More...
 
void composeAlpha (IlvIntensity alpha)
 Composes the current alpha value of the port. More...
 
virtual void drawArrow (const IlvPalette *palette, const IlvPoint &from, const IlvPoint &to, IlFloat position) const
 Draws an arrow. More...
 
virtual void drawILabel (const IlvPalette *palette, const char *label, int length, const IlvRect &drawRect, const IlvRegion *clip=0, IlvPosition align=IlvCenter) const
 Draws a label in a rectangle. More...
 
virtual void drawLabel (const IlvPalette *palette, const char *label, int length, const IlvRect &drawRect, const IlvRegion *clip=0, IlvPosition align=IlvCenter) const
 Draws a label in a rectangle. More...
 
virtual void drawMarker (const IlvPalette *palette, const IlvPoint &location, IlvMarkerType type=IlvMarkerSquare, IlUShort size=IlvDefaultMarkerSize) const
 Draws a marker. More...
 
virtual void drawMnemonicLabel (const IlvPalette *palette, const char *label, const IlvRect &drawRect, const IlvRegion *clip=0, IlvPosition align=IlvCenter, IlBoolean underline=IlTrue) const
 Draws an underlined letter in a label. More...
 
virtual void drawOutlineRectangle (const IlvPalette *outlinePalette, const IlvPalette *fillPalette, const IlvRect &rect, const IlvRegion *clip=0) const
 Draws a rectangle with border effects. More...
 
virtual void drawPaths (const IlvPalette *palette, IlUInt count, const IlvPointArray *paths) const
 Draws an array of paths as polylines. More...
 
virtual void drawReliefDiamond (const IlvPalette *, const IlvPalette *invertedPalette, const IlvPalette *topShade, const IlvPalette *bottomShade, const IlvRect &bbox, IlUShort thickness, const IlvRegion *clip=0) const
 Draws a diamond with depth effects. More...
 
virtual void drawReliefRectangle (const IlvPalette *palette, const IlvPalette *invertedPalette, const IlvPalette *topShade, const IlvPalette *bottomShade, const IlvRect &bbox, IlUShort thickness, const IlvRegion *clip=0) const
 Draws a filled rectangle with depth effects. More...
 
virtual void drawRoundRectangle (const IlvPalette *palette, const IlvRect &rect, IlUShort radius) const
 Draws a round rectangle. More...
 
virtual void drawShadowRectangle (const IlvPalette *palette, const IlvPalette *invertedPalette, const IlvRect &bbox, IlUShort thickness, IlvPosition shadowPosition, const IlvRegion *clip=0) const
 Draws a filled rectangle with its shadow. More...
 
virtual void fillRoundRectangle (const IlvPalette *palette, const IlvRect &rect, IlUShort radius) const
 Fills a round rectangle. More...
 
IlvIntensity getAlpha () const
 Provides the alpha value of the port. More...
 
IlvAntialiasingMode getAntialiasingMode () const
 Provides the anti-aliasing mode of the port. More...
 
IlvDisplaygetDisplay () const
 Returns a pointer to the IlvDisplay of this port. More...
 
IlvDim height () const
 Provides the height of the port. More...
 
virtual IlBoolean isABitmap () const
 Indicates that this port is a bitmap (not a view or a dump device). More...
 
virtual IlBoolean isASystemPort () const
 Indicates that this port is a true system port (not a dump device). More...
 
void setAlpha (IlvIntensity alpha)
 Sets the alpha value of the port. More...
 
void setAntialiasingMode (IlvAntialiasingMode mode)
 Sets the anti-aliasing mode of the port. More...
 
void size (IlvDim &w, IlvDim &h) const
 Gives the dimensions of the port. More...
 
IlvDim width () const
 Provides the width of the port. More...
 
- Public Member Functions inherited from IlvValueInterface
virtual IlBoolean applyValue (const IlvValue &value)
 Apply an accessor. More...
 
virtual IlBoolean changeValue (const IlvValue &val)
 Changes the value of an accessor. More...
 
virtual IlBoolean changeValues (const IlvValue *values, IlUShort count=0)
 Changes several accessor values simultaneously. More...
 
virtual void getAccessors (const IlSymbol *const **names, const IlvValueTypeClass *const **types, IlUInt &count) const
 Retrieves the list of available accessors of an object. More...
 
virtual const char * getName () const
 Returns the name of the instance. The semantic and implementation of this method are defined by concrete subclasses. The default implementation returns 0. More...
 
virtual IlvValuequeryValue (IlvValue &val) const
 Retrieves an accessor value. More...
 
virtual void queryValues (IlvValue *values, IlUShort count) const
 Retrieves multiple accessor values simultaneously. More...
 

Detailed Description

Class implementing a dump device in PostScript.

Library: xviews or winviews or mviews (mutually exclusive)

The class IlvPSDevice inherits from IlvPort and provides printing services using the PostScript language. It allows to print any region of a view into a text file that can be sent to a PostScript printer. All the drawing member functions are implemented to produce the appropriate PostScript code instead of drawing in a window or a bitmap.

The class can handle both grayscale and color printing, but the color model must not be changed in the course of printing.

See also
getColorModel(), setColorModel()

Constructor & Destructor Documentation

◆ IlvPSDevice()

IlvPSDevice::IlvPSDevice ( IlvDisplay display,
IlvPSColorModel  colorModel = IlvPSGrayScale 
)

Constructor.

Initializes a new instance of IlvPSDevice. For compatibility with previous versions, IlvPSDevice uses by default a grayscale model. This may be overriden by setting colorModel to IlvPSColor.

Parameters
displayThe display instance.
colorModelCan be set to IlvPSGrayScale (the default value) or IlvPSColor.

Member Function Documentation

◆ clip() [1/2]

virtual void IlvPSDevice::clip ( const IlvRect rect) const
virtual

Limits the drawing to the given rectangular area.

Limits the drawing to the rect area. This area maps out a temporary clipping area. These settings will be erased when a new clip function is called.

Parameters
rectThe drawing rectangle.

Implements IlvPort.

◆ clip() [2/2]

virtual void IlvPSDevice::clip ( const IlvRegion region) const
virtual

Limits the drawing to the given region.

Limits the drawing to the region region. This area maps out a temporary clipping area. These settings will be erased when a new clip function is called.

Parameters
regionThe drawing region.

Implements IlvPort.

◆ drawArc()

virtual void IlvPSDevice::drawArc ( const IlvPalette palette,
const IlvRect rect,
IlFloat  start,
IlFloat  range 
) const
virtual

Draws an arc.

Draws an arc that is part of an ellipse whose bounding box is the rectangle specified by rect. The arc extends from the angle start to the angle formed by the sum of start and range. These angles are given in degrees and the arc is drawn counterclockwise for positive angles and clockwise for negative angles.

Parameters
paletteThe palette to use for the color of the arc.
rectThe bounding box of the ellipse for the arc.
startThe start angle in degrees.
rangeThe range in degrees.

Implements IlvPort.

◆ drawBezier()

virtual void IlvPSDevice::drawBezier ( const IlvPalette palette,
IlUInt  count,
const IlvPoint points 
) const
virtual

Draws a set of Bézier curves.

Draws a set of Bézier curves. The points parameter is a pointer to count points defining the curve. Each fragment of a Bézier curve is represented by four points. The first point indicates where the curve starts, and the fourth point indicates where it ends. The second and third points determine the orientation of the curve. Here is a simple example, with a single fragment:


Principle of the Bézier curves

The first point in the points array starts the curve. The next two points are control points, which determine the shape of the curve. The fourth point is both the last point of the first curve fragment and the starting point - if it exists - of the next fragment.

Parameters
paletteThe palette used for drawing.
countThe number of points defining the curve.
pointsThe array of count points defining the curve.

Reimplemented from IlvPort.

◆ drawBitmap() [1/2]

virtual void IlvPSDevice::drawBitmap ( const IlvPalette palette,
const IlvBitmap src,
const IlvRect drawRect,
const IlvRegion clip = 0,
IlvPosition  alignment = IlvCenter,
IlBoolean  transparent = IlFalse 
) const
virtual

Draws an image.

Draws the image stored in src in the rectangle from, using the alignment position specified in the alignment parameter in relation to from. Copies part of the image maintained by a source port called src to this destination port.
You can specify a transparent bitmap display by setting the transparent parameter to IlTrue. Note that in this case the bitmap has to be 1-bit deep (that is, a monochrome bitmap) or must have a transparency mask.

Parameters
paletteThe palette to use for the color of the bitmap.
srcThe source port of the image.
drawRectThe size of the transferred image.
clipThe destination clip rectangle.
alignmentThe position of the image in relation to the drawRect parameter.
transparentSpecifies whether the bitmap is transparent.

Reimplemented from IlvPort.

◆ drawBitmap() [2/2]

virtual void IlvPSDevice::drawBitmap ( const IlvPalette palette,
const IlvSystemPort src,
const IlvRect from,
const IlvPoint to 
) const
virtual

Draws an image.

Draws the image stored in src in the rectangle from. Copies part of the image maintained by a source port called src to this destination port.

Parameters
paletteThe palette to use for the color of the bitmap.
srcThe source port of the image.
fromThe portion of src that is transferred.
toThe location of the top left corner of the destination.

Implements IlvPort.

◆ drawClosedBezier()

virtual void IlvPSDevice::drawClosedBezier ( const IlvPalette palette,
IlUInt  count,
const IlvPoint points 
) const
virtual

Appends a closing curve to a set of Bézier curves.

Similar to the member function drawBezier, except that a closing Bézier curve is appended in order to join the end to the start.

Parameters
paletteThe palette used for drawing.
countThe number of points defining the curve.
pointsThe array of count points defining the curve.

Reimplemented from IlvPort.

◆ drawIString()

virtual void IlvPSDevice::drawIString ( const IlvPalette palette,
const IlvPoint position,
const char *  string,
int  length,
IlvPosition  align = IlvLeft 
) const
virtual

Draws a string at the given position.

Similar to drawString, except that it uses the background color to fill the rectangle that surrounds the string.

Parameters
paletteThe palette used for drawing the string.
positionThe location where to draw the string. This indicates the y location of the base line, and the x coordinates depends on align.
stringThe text to draw.
lengthThe length of the string.
alignThe alignment of the string with respect to position.

Implements IlvPort.

◆ drawLine()

virtual void IlvPSDevice::drawLine ( const IlvPalette palette,
const IlvPoint point1,
const IlvPoint point2 
) const
virtual

Draws a line between 2 points.

Draws a line from the point point1 to the point point2.

Parameters
paletteThe palette to use for the color of the line.
point1The position of the first point.
point2The position of the second point.

Implements IlvPort.

◆ drawPoint()

virtual void IlvPSDevice::drawPoint ( const IlvPalette palette,
const IlvPoint point 
) const
virtual

Draws a point at the given position.

Draws a point at the position referred to as point, which is in fact a pixel. This function sets the indicated pixel in the destination port to the foreground color of palette.

Parameters
paletteThe palette to use for the color of the point.
pointThe position of the point to draw.

Implements IlvPort.

◆ drawPoints()

virtual void IlvPSDevice::drawPoints ( const IlvPalette palette,
IlUInt  count,
const IlvPoint points 
) const
virtual

Draws a series of points.

Draws a series of points (that is, sets a group of pixels to a given color value). They are stored as an array of count points, whose address is indicated by the pointer points.

Parameters
paletteThe palette to use for the color of the point.
countThe number of points to draw.
pointsThe address of the points array.

Reimplemented from IlvPort.

◆ drawPolyLine() [1/2]

virtual void IlvPSDevice::drawPolyLine ( const IlvPalette palette,
const IlvPoint first,
IlUInt  count,
const IlvDeltaPoint others 
) const
virtual

Draws a series of connected lines relatively to a reference.

Draws a series of connected lines that starts at the point called first and extends by means of relative positions which are given in the others array of count-1 delta values.

Parameters
paletteThe palette to use for the color of the line.
firstThe starting point of the polyline.
countThe number of points.
othersThe other points of the polyline.

Reimplemented from IlvPort.

◆ drawPolyLine() [2/2]

virtual void IlvPSDevice::drawPolyLine ( const IlvPalette palette,
IlUInt  count,
const IlvPoint points 
) const
virtual

Draws a series of connected lines.

Draws a series of connected lines between the set of count points referred to as points.

Parameters
paletteThe palette to use for the color of the lines.
countThe number of points.
pointsThe array of at least count points that define the polyline shape.

Implements IlvPort.

◆ drawRectangle()

virtual void IlvPSDevice::drawRectangle ( const IlvPalette palette,
const IlvRect rect 
) const
virtual

Draws the given rectangle.

Draws the rectangle specified by rect.

Parameters
paletteThe palette to use for the color of the rectangle.
rectThe rectangle to draw.

Reimplemented from IlvPort.

◆ drawSegments()

virtual void IlvPSDevice::drawSegments ( const IlvPalette palette,
IlUInt  count,
const IlvPoint from,
const IlvPoint to 
) const
virtual

Draws a set of segments.

Draws a set of segments whose number is indicated by count. The ith segment starts at the point from[i] and ends at the point to[i].

Parameters
paletteThe palette to use for the color of the segments.
countThe number of segments to draw.
fromThe starting point of the segment.
toThe ending point of the segment.

Reimplemented from IlvPort.

◆ drawString()

virtual void IlvPSDevice::drawString ( const IlvPalette palette,
const IlvPoint position,
const char *  string,
int  length,
IlvPosition  align = IlvLeft 
) const
virtual

Draws a string at the given position.

Draws a string at the position referred to as position. The text to be drawn is given in the string parameter and its length is set in the length integer parameter. For this length parameter you can provide a negative number -1 instead of giving the real length. Text length is then computed internally since string is handled as a zero-terminated character array. The align parameter indicates how the string is to be aligned with respect to the position point. For this alignment, the y-coordinate of the position point represents the baseline, and the options are IlvLeft, IlvRight, and IlvCenter.

Parameters
paletteThe palette used for drawing the string.
positionThe location where to draw the string. This indicates the y location of the base line, and the x coordinates depends on align.
stringThe text to draw.
lengthThe length of the string.
alignThe alignment of the string with respect to position.

Implements IlvPort.

◆ drawTransformedString()

virtual void IlvPSDevice::drawTransformedString ( const IlvPalette palette,
const char *  string,
int  length,
const IlvTransformer t,
const IlvRegion clip = 0 
) const
virtual

Draws a transformed string.

Similar to drawString except that the string is drawn using the transformer t. Note that with the X window system, you should use normal fonts and transform the fonts through bitmaps. With Windows and OS/2, you should use true system vectorial fonts such as truetype fonts.

Parameters
paletteThe palette used to draw the string.
stringThe text to draw.
lengthThe length of the string.
tThe transformer to apply to the string.
clipThe destination clip area.

Implements IlvPort.

◆ drawTransparentBitmap()

virtual void IlvPSDevice::drawTransparentBitmap ( const IlvPalette palette,
const IlvSystemPort src,
const IlvRect from,
const IlvPoint to 
) const
virtual

Draws a transparent bitmap.

Draws the transparent bitmap in the rectangle. The result is displayed in the system port with the palette palette.

Parameters
paletteThe palette to use for the color of the resulting bitmap.
srcThe system port.
fromThe portion of src that is transferred.
toThe location of the top left corner of the destination.

Implements IlvPort.

◆ end()

virtual void IlvPSDevice::end ( )
virtual

Closed the dump device.

Closes the dump device and does all the necessary cleaning.

Implements IlvPort.

◆ fillArc()

virtual void IlvPSDevice::fillArc ( const IlvPalette palette,
const IlvRect rect,
IlFloat  start,
IlFloat  range 
) const
virtual

Fills the arc.

Fills the closed arc that is part of an ellipse whose bounding box is the rectangle specified by rect. The arc extends from the angle start to the angle formed by the sum of start and range. These angles are given in degrees. The actual filled shape depends on how the arc has been closed, either in IlvArcPie mode or in IlvArcChord mode.

Parameters
paletteThe palette to use for the fill color of the arc.
rectThe bounding box of the ellipse for the arc.
startThe start angle in degrees.
rangeThe range in degrees.

Implements IlvPort.

◆ fillBezier()

virtual void IlvPSDevice::fillBezier ( const IlvPalette palette,
IlUInt  count,
const IlvPoint points 
) const
virtual

Fills an area specified by a set of Bézier curves.

Fills an area specified by a set of Bézier curves.

Parameters
paletteThe palette used for drawing.
countThe number of points defining the curve.
pointsThe array of count points defining the curve.

Reimplemented from IlvPort.

◆ fillPaths()

virtual void IlvPSDevice::fillPaths ( const IlvPalette palette,
IlUInt  count,
const IlvPointArray pathArray 
) const
virtual

Fills the shape defined by the given paths.

Fills the shape defined by all the paths described in the IlvPointArray array pathArray, with the IlvPalette palette. If count is 1, fillPaths may be seen as the drawing of a polygon. If none of the paths provided intersect, each polygon is drawn with the palette. The drawing becomes more complex when the paths intersect. A simple way to see this drawing is that when filled areas overlap, the intersection is empty. When a third area intersects with the first two areas, the intersection is filled.


The two objects have no filled intersection.


The small gray area in the middle represents the filled intersection of these three objects, while the white spaces are the overlapping areas between two objects. (For the purpose of this diagram, rectangles have been outlined).

Parameters
paletteThe palette to use for the fill color of the paths.
countThe number of paths provided in the IlvPointArray array.
pathArrayThe array of paths.

Reimplemented from IlvPort.

◆ fillPolyLine() [1/2]

virtual void IlvPSDevice::fillPolyLine ( const IlvPalette palette,
const IlvPoint first,
IlUInt  count,
const IlvDeltaPoint others,
IlBoolean  convex 
) const
virtual

Fills a polygon.

Fills a polygon that is drawn as a series of connected lines that starts at the point whose reference is first, and extends by means of relative positions referred to as the array of others of count relative positions.
If the optional flag convex is set to IlTrue, drawing convex polygons on certain systems may be accelerated. This feature should only be used when you are sure that the points provided form a convex contour. If this is not the case the result may be unpredictable.

Parameters
paletteThe palette to use for the fill color of the polygon.
firstThe starting point of the polyline.
countThe number of points.
othersThe other points of the polyline.
convexFlag for convex polygons.

Reimplemented from IlvPort.

◆ fillPolyLine() [2/2]

virtual void IlvPSDevice::fillPolyLine ( const IlvPalette palette,
IlUInt  count,
const IlvPoint points,
IlBoolean  convex 
) const
virtual

Fills a polygon.

Fills a polygon that is drawn as a series of connected lines between the set of count points referred to as points.
If the optional flag convex is set to IlTrue, drawing convex polygons on certain systems may be accelerated. This feature should only be used when you are sure that the points provided form a convex contour. If this is not the case the result may be unpredictable.

Parameters
paletteThe palette to use for the fill color of the polygon.
countThe number of points.
pointsThe points in the polyline.
convexFlag for convex polygons.

Implements IlvPort.

◆ fillRectangle()

virtual void IlvPSDevice::fillRectangle ( const IlvPalette palette,
const IlvRect rect 
) const
virtual

Fills the given rectangle.

Fills the rectangle specified by rect.

Parameters
paletteThe palette to use for the fill color of the rectangle.
rectThe rectangle to fill.

Reimplemented from IlvPort.

◆ getClip()

IlvRegion const& IlvPSDevice::getClip ( ) const

Gets the current clipping region of this device.

Returns
The current clipping region of this device.

◆ getColorModel()

IlvPSColorModel IlvPSDevice::getColorModel ( ) const

Indicates the color model in use.

Returns
IlvPSGrayScale or IlvPSColor depending on the color model in use.

◆ getPaperHeight()

IlvDim IlvPSDevice::getPaperHeight ( ) const

Gets the height of the output paper page.

Returns
The height of the output paper page in PostScript dot units.

◆ getPaperWidth()

IlvDim IlvPSDevice::getPaperWidth ( ) const

Gets the width of the output paper page.

Returns
The width of the output paper page in PostScript dot units.

◆ initDevice()

virtual IlBoolean IlvPSDevice::initDevice ( const char *  filename,
IlvRect clip = 0 
)
virtual

Initializes the dump device.

Initializes the dump device so that it writes its result in the filename file. This member function must be called before any other class member function. The region to be dumped is clipped by the bbox parameter. This member function sets the global clip with bbox set as the parameter to be used throughout the device lifespan.

Parameters
filenameIs usually used to indicate the output filename of the dump.
clipThe clipping rectangle to be used when drawing.

Implements IlvPort.

◆ isADevice()

virtual IlBoolean IlvPSDevice::isADevice ( ) const
virtual

Queries the nature of this port.

Returns
Always IlTrue.

Reimplemented from IlvPort.

◆ isBad()

virtual IlBoolean IlvPSDevice::isBad ( ) const
virtual

Indicates whether this port is valid.

Indicates whether the display system can allocate the system-dependent part of the IlvPort. You must not use this port if it is "bad".

Returns
IlTrue if the display system can not allocate the system-dependent part of the IlvPort.

Implements IlvPort.

◆ newPage()

virtual IlBoolean IlvPSDevice::newPage ( ) const
virtual

Produces an output page and prepares for a new page.

Produces an output page and prepares the dump device for a new page. If there has been an error, you should stop producing output data.

Returns
IlFalse if there has been an error.

Implements IlvPort.

◆ send()

virtual void IlvPSDevice::send ( const char *  string) const
virtual

Sends character strings to an output device.

Sends any character string to an output device to send information to the device.

Parameters
stringThe string sent to the device. It is the responsibility of the device to interpret this string and perform the proper job.

Implements IlvPort.

◆ setColorModel()

void IlvPSDevice::setColorModel ( IlvPSColorModel  val)

Specifies the color model to use.

Note
This method should not be called in the course of printing; it should be called before.
Parameters
valIlvPSGrayScale to use grayscale, IlvPSColor to use color.

◆ setMinLineWidth()

void IlvPSDevice::setMinLineWidth ( IlvDim  lw)

Specifies the minimum line width.

Sets lw as the PostScript line width to be used when the line width of the palette is 0. The default is 1, to match the screen display, but you may set it to 0 to obtain the minimal PostScript width.

Parameters
lwThe minimum line width.

◆ setPaperHeight()

void IlvPSDevice::setPaperHeight ( IlvDim  height)

Sets the height of the output paper page.

Specifies the height of the output paper page in PostScript dot units. This member function should be called just after the creation of the IlvPSDevice object.

Parameters
heightThe height of the output paper page in PostScript dot units.

◆ setPaperWidth()

void IlvPSDevice::setPaperWidth ( IlvDim  width)

Sets the width of the output paper page.

Specifies the width of the output paper page in PostScript dot units. This member function should be called just after the creation of the IlvPSDevice object.

Parameters
widthThe width of the output paper page in PostScript dot units.

◆ setTransformer()

virtual void IlvPSDevice::setTransformer ( const IlvTransformer t)
virtual

Applies another transformer to the coordinates provided for the drawing functions.

Applies another transformer to the coordinates provided for the drawing functions.

Parameters
tThe transformer that is applied.

Implements IlvPort.

◆ setZoomableLineWidths()

void IlvPSDevice::setZoomableLineWidths ( IlBoolean  flag)

Indicates whether the line width will be zoomable.

Indicates whether the line width will be zoomable on the PostScript output. The default is IlTrue, which does not match the display capabilities.

◆ stretchBitmap() [1/2]

virtual void IlvPSDevice::stretchBitmap ( const IlvPalette palette,
const IlvPoint to,
const IlvBitmap src,
const IlvTransformer t,
const IlvRect clip = 0 
) const
virtual

Stretches a bitmap.

Draws the bitmap src in the point to, applying the transformation t. (In a Windows environment, you can only zoom in on the object, you cannot rotate.) The result is displayed in the current object.

Parameters
paletteThe palette used for drawing.
toThe point to stretch the bitmap to.
srcThe bitmap to stretch.
tThe transformation to apply to the bitmap.
clipThe destination clip area.

Implements IlvPort.

◆ stretchBitmap() [2/2]

virtual void IlvPSDevice::stretchBitmap ( const IlvPalette palette,
const IlvRect from,
const IlvBitmap src,
const IlvRect clip = 0 
) const
virtual

Stretches a bitmap.

Stretches the dimensions from in the bitmap src to correspond with the size of this IlvPort object. The result is displayed in the current port with the palette palette, and clipped by the parameter clip.

Parameters
paletteThe palette used for drawing.
fromThe location of the source area.
srcThe bitmap to stretch.
clipThe destination clip rectangle.

Implements IlvPort.

◆ stretchBitmapData()

virtual void IlvPSDevice::stretchBitmapData ( const IlvPalette palette,
const IlvBitmapData src,
const IlvRect from,
const IlvRect to,
IlBoolean  opaque = IlFalse 
) const
virtual

Draws a bitmap data.

This method allows bitmap datas to be drawn. If the bitmap data has per pixel alpha, then it is composed with the underlying graphics.

Parameters
paletteThe palette used for drawing.
srcThe bitmap data to draw.
fromThe source rectangle in the bitmap data.
toThe destination rectangle.
opaqueA Boolean value indicating whether per pixel alpha should be taken into account (IlTrue indicates that no per pixel alpha is used).

Implements IlvPort.

◆ stretchTransparentBitmap() [1/2]

virtual void IlvPSDevice::stretchTransparentBitmap ( const IlvPalette palette,
const IlvPoint to,
const IlvBitmap src,
const IlvTransformer t,
const IlvRect clip = 0 
) const
virtual

Stretches a transparent bitmap.

Stretches the transparent bitmap src to the point to, applying the transformation t. The result is displayed in the current object.

Parameters
paletteThe palette used for drawing.
toThe point to stretch the bitmap to.
srcThe transparent bitmap to stretch.
tThe transformation to apply to the bitmap.
clipThe destination clip area.

Implements IlvPort.

◆ stretchTransparentBitmap() [2/2]

virtual void IlvPSDevice::stretchTransparentBitmap ( const IlvPalette palette,
const IlvRect from,
const IlvBitmap src,
const IlvRect clip = 0 
) const
virtual

Stretches a transparent bitmap.

Stretches the source bitmap src in the rectangle from. The result is displayed in the bitmap src with the palette palette and clipped by parameter clip.

Parameters
paletteThe palette used for drawing.
fromThe location of the source area.
srcThe transparent bitmap to stretch.
clipThe destination clip rectangle.

Implements IlvPort.