The graphic objects that are available in the OIPI are rectangles, lines, ellipses, polygons, polylines, and bitmaps. All of the graphic objects have a Location parameter. This Location parameter is used to specify the starting X and starting Y positions. The starting positions can be negative. If the starting position is negative, then the graphic object is printed outside of the margins.
The Location also specifies the ending X and ending Y positions for a rectangle, line, or ellipse. The Location parameter specifies the width and height for bitmaps.
The BMP message has a NoScale parameter that determines how the picture is stretched. If the NoScale parameter is 1, then the picture is not scaled and the width and height parameters are ignored. If the NoScale parameter is set to 1, then the actual printed size of the picture will depend on the resolution of the printer. Set the NoScale parameter to 0 to make the size of the picture always the same size and independent of the printer resolution.
All of the graphic objects and the TEXTXY message have a Repeat parameter. The Repeat parameter is used to repeat the printing of the graphic object on all remaining pages at the same location. There is no limit to the number of repeating objects you can print, but there will be performance and memory issues if there are more than 256 repeating objects.
The graphic objects are always printed on top. This means that a graphic object will be printed on top of any previous printed material. If the brush style is set to a NULL brush with the FILLSTYLE message, then any text under a rectangle, ellipse, or polygon will not be covered. A NULL pen style can be set with the LINESTYLE message, and is useful for printing rectangles or ellipses with no borders.
The quality of the brush styles and line styles are dependent on the printer. Some brush styles and line styles do not print properly on all printers. The appearance of the line style and brush style depends on the resolution of the printer. The line thickness has units of points, so the thickness does not depend on the resolution of the printer.