Views
Foundation Package API Reference Guide
Product Documentation:
Views Documentation Home
Classes | Enumerations
IlvPalette.h File Reference
#include <ilviews/base/resources/IlvResource.h>
#include <ilviews/base/resources/IlvColor.h>
#include <ilviews/base/region.h>

Classes

class  IlvPalette::Builder
 IlvPalette builder. More...
 
class  IlvPalette::Changer
 IlvPalette changer. More...
 
class  IlvPalette
 Resource class. More...
 

Enumerations

enum  IlvAntialiasingMode { IlvDefaultAntialiasingMode, IlvNoAntialiasingMode, IlvUseAntialiasingMode }
 The different anti-aliasing modes. More...
 
enum  IlvArcMode { IlvArcPie, IlvArcChord }
 The different ways to fill an arc. More...
 
enum  IlvBorderPosition { IlvBorderPosition::centeredOnBounds, IlvBorderPosition::insideBounds, IlvBorderPosition::outsideBounds }
 Indicates where a border is drawn. More...
 
enum  IlvDrawMode {
  IlvModeSet, IlvModeOr, IlvModeAnd, IlvModeXor,
  IlvModeNot, IlvModeInvert, IlvModeNotOr, IlvModeNotAnd,
  IlvModeNotXor
}
 The different logical modes for drawing. More...
 
enum  IlvFillRule { IlvEvenOddRule, IlvWindingRule }
 The different ways to fill a polygonal area. More...
 
enum  IlvFillStyle { IlvFillPattern, IlvFillMaskPattern, IlvFillColorPattern, IlvFillGradientPattern }
 The different ways to fill an area. More...
 

Detailed Description

Library: xviews or winviews or mviews (mutually exclusive)
Declaration of the IlvPalette class.

Enumeration Type Documentation

◆ IlvAntialiasingMode

The different anti-aliasing modes.

This enumeration indicates what sort of anti-aliasing mode you want for your drawing.

See also
IlvPalette::setAntialiasingMode().
Enumerator
IlvDefaultAntialiasingMode 

The anti-aliasing mode is the default one.

IlvNoAntialiasingMode 

No anti-aliasing is used.

IlvUseAntialiasingMode 

Anti-aliasing is forced.

◆ IlvArcMode

enum IlvArcMode

The different ways to fill an arc.

When you use a drawing command that fills an arc (typically IlvPort::fillArc()), this enumeration indicates how you want the arc to be closed.

See also
IlvPalette::setArcMode(), IlvGraphic::setArcMode().
Enumerator
IlvArcPie 

The arc is filled like a pie slice.

IlvArcChord 

The arc is filled by adding a chord between the two arc ends, and filling the entire resulting area.

◆ IlvBorderPosition

enum IlvBorderPosition
strong

Indicates where a border is drawn.

Enumerator
centeredOnBounds 

The border is drawn centered on bounds (default)

insideBounds 

The border is drawn inside the bounds

outsideBounds 

The border is drawn inside the bounds

◆ IlvDrawMode

The different logical modes for drawing.

This enumeration indicates the logical operation used when drawing in an IlvPort. This logical function combines the source and destination color values to perform some rendering effects. Most of the time, however, the actual resulting color cannot be predicted.

Usually, you will be using the IlvModeSet mode, which simply copies the source color value to the destination port, regardless of the color value of the replaced pixel. The IlvModeXor mode performs an XOR operation on the source and target pixel values, so that if you draw the same thing twice at the same time, the result would be just as if you had not performed any drawing at all. This is the mode that Rogue Wave Views sometimes uses to give visual feedback during interactive operations.

Here, the different possible values are described, indicating what will be the final destination color value (dst) depending on the source color value (src) and the original color value of the destination pixel (orig).

See also
IlvPalette::setMode(), IlvGraphic::setMode().
Enumerator
IlvModeSet 

dst = src

IlvModeOr 

dst = src OR orig

IlvModeAnd 

dst = src AND orig

IlvModeXor 

dst = src XOR orig

IlvModeNot 

dst = NOT orig

IlvModeInvert 

dst = NOT src

IlvModeNotOr 

dst = NOT (src OR orig)

IlvModeNotAnd 

dst = NOT (src AND orig)

IlvModeNotXor 

dst = NOT (src XOR orig)

◆ IlvFillRule

The different ways to fill a polygonal area.

When you use a drawing command that fills a polygon (typically IlvPort::fillPolyLine(), and if the resulting polygon has segments that cross each other, there are different ways to decide whether a point should be considered as part of the polygon (and therefore, painted) or not. This enumeration lets you specify what behavior you expect.

See also
IlvPalette::setFillRule(), IlvGraphic::setFillRule().
Enumerator
IlvEvenOddRule 

A point is considered inside the polygon if an infinite ray that contains that point would cross the polygon path an odd number of times. This mode may leave unfilled areas if your polygon is self-intersecting.

IlvWindingRule 

A point is considered inside the polygon if an infinite ray that contains that point would cross the polygon path an unequal number of clockwise and counterclockwise direct path segments (assume that a clockwise directed path segment is one that would cross the ray from left to right, as seen from the considered point, and the other way round for a counterclockwise directed path segment).

◆ IlvFillStyle

The different ways to fill an area.

When you use a drawing command that fills an area (such as IlvPort::fillRectangle()), and if you have set a pattern to the palette, then the pattern may be used in different ways.

See also
IlvPalette::setFillStyle(), IlvGraphic::setFillStyle().
Enumerator
IlvFillPattern 

The palette uses the monochrome pattern that was set by IlvPalette::setPattern().

The pattern is copied to the destination port using the foreground color of the palette for each '1' pixels of the pattern, and the background color of the palette for each '0' pixels of the pattern.

IlvFillMaskPattern 

The palette uses the monochrome pattern that was set by IlvPalette::setPattern().

The pattern is copied to the destination port using the foreground color of the palette for each '1' pixels of the pattern, and leaving the destination pixels unchanged for each '0' pixels of the pattern.

IlvFillColorPattern 

The palette uses the colored pattern that was set by IlvPalette::setColorPattern().

The pattern is entirely copied to the destination port.

IlvFillGradientPattern 

The palette uses the gradient pattern that was set by IlvPalette::setGradientPattern().

The pattern is entirely copied to the destination port.