Rogue Wave Views 5.6 |
Rogue Wave Views |
Rogue Wave Views Documentation Home |
Graphic class. More...
#include <ilviews/graphics/scale.h>
Public Member Functions | |
IlvRectangularScale (IlvDisplay *display, const IlvPoint &orig, IlvDim size, char *labels[], IlvDirection direction=IlvVertical, IlvPosition position=IlvLeft, IlUShort steps=2, IlUShort substeps=0, IlUShort stepsize=10, IlUShort substepsize=5, IlvPalette *palette=0) | |
Constructor. | |
IlvRectangularScale (IlvDisplay *display, const IlvPoint &orig, IlvDim size, const char *format, IlFloat min, IlFloat max, IlvDirection direction=IlvVertical, IlvPosition position=IlvLeft, IlUShort steps=0, IlUShort substeps=0, IlUShort stepsize=10, IlUShort substepsize=5, IlvPalette *palette=0) | |
Constructor. | |
virtual void | applyTransform (const IlvTransformer *t) |
Applies a transformation function to the graphic object. | |
IlBoolean | areLabelsCentered () const |
Gets the 'centered labels' flag. | |
virtual void | boundingBox (IlvRect &, const IlvTransformer *t=0) const |
Retrieves the bounding box of the graphic object. | |
void | centerLabels (IlBoolean val) |
Sets the 'centered labels' flag. | |
const char * | className () const |
Returns the class name of an object. | |
virtual IlvGraphic * | copy () const |
Copies this object. | |
IlBoolean | doesDrawOverlappingLabels () const |
Gets the 'draw overlapping labels' flag. | |
virtual void | draw (IlvPort *, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws the graphic object. | |
virtual void | drawBaseLine (IlvPort *dst, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws the base line. | |
virtual void | drawLabel (IlvPort *dst, IlUShort idx, const IlvPoint &orig, const IlvFloatPoint &offset, const IlvPoint &tickoffset, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws a label. | |
virtual void | drawLabels (IlvPort *dst, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws all labels. | |
void | drawOverlappingLabels (IlBoolean val) |
Sets the 'draw overlapping labels' flag. | |
virtual void | drawTick (IlvPort *dst, IlUShort idx, const IlvPoint &orig, const IlvFloatPoint &offset, const IlvFloatPoint &suboffset, const IlvPoint &tickoffset, const IlvPoint &subtickoffset, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws a tick mark. | |
virtual void | drawTicks (IlvPort *dst, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
Draws all tick marks. | |
virtual IlvClassInfo * | getClassInfo () const |
Gets class information. | |
IlvDirection | getDirection () const |
Gets the direction of the scale. | |
virtual IlUShort | getNumberOfSkippedSteps (const IlvPoint &orig, IlvDim size, IlUShort steps, const IlvFloatPoint &offset, const IlvPoint &tickoffset, const IlvTransformer *t=0) const |
Gets the number of skipped steps. | |
void | getOrigin (IlvPoint &p) const |
Gets the origin of the scale. | |
IlvPosition | getPosition () const |
Gets the position of the scale. | |
IlvDim | getSize () const |
Gets the size of the scale. | |
IlBoolean | hasVerticalLabels () const |
Gets the 'vertical labels' flag. | |
IlBoolean | isStepSizeFixed () const |
Gets the 'fixed step size' flag. | |
IlBoolean | isSubtypeOf (const IlvClassInfo *c) const |
Checks whether this object's class is a subclass. | |
IlBoolean | isSubtypeOf (const char *t) const |
Checks whether this object's class is a subclass of a given parent class. | |
virtual void | labelBBox (IlvRect &rect, IlUShort idx, const IlvPoint &orig, const IlvFloatPoint &offset, const IlvPoint &tickoffset, const IlvTransformer *t=0) const |
Gets a label's bounding box. | |
virtual void | labelsBBox (IlvRect &rect, const IlvFloatPoint &offset, const IlvPoint &tickoffset, const IlvTransformer *t=0) const |
Gets the bounding box of all labels. | |
void | setDirection (IlvDirection direction) |
Sets the direction of the scale. | |
void | setOrigin (const IlvPoint &) |
Sets the origin of the scale. | |
void | setPosition (IlvPosition position) |
Sets the position of the scale. | |
void | setSize (IlvDim size) |
Sets the size of the scale. | |
void | setStepSizeFixed (IlBoolean v) |
Sets the 'fixed step size' flag. | |
virtual void | ticksBBox (IlvRect &rect, const IlvFloatPoint &offset, const IlvPoint &tickoffset, const IlvTransformer *t=0) const |
Gets the bounding box of all ticks. | |
void | useVerticalLabels (IlBoolean v) |
Sets the 'vertical labels' flag. | |
virtual void | write (IlvOutputFile &) const |
Writes an object description to a file. | |
Static Public Member Functions | |
static void | AddProperty (const IlSymbol *k, IlAny v) |
Adds a property to this object's class. | |
static IlAny | GetProperty (const IlSymbol *key, IlBoolean p=((IlBoolean) 0)) |
Retrieves the property value associated with the key in this object's class. | |
static const IlvClassInfo * | HasProperty (const IlSymbol *key, IlBoolean p=((IlBoolean) 0)) |
Checks for the existence of a property for this object's class hierarchy. | |
static IlvGraphic * | read (IlvInputFile &, IlvPalette *pal) |
Reads an object description from a file. | |
static IlBoolean | RemoveProperty (const IlSymbol *key) |
Removes a property from this object's class. | |
static IlBoolean | ReplaceProperty (const IlSymbol *k, IlAny v) |
Replaces a property in this object's class. |
Graphic class.
Library: views
Use this class to create horizontal and vertical scales like those shown in the following figure:
IlvCircularScale
, IlvGauge
. IlvRectangularScale::IlvRectangularScale | ( | IlvDisplay * | display, | |
const IlvPoint & | orig, | |||
IlvDim | size, | |||
const char * | format, | |||
IlFloat | min, | |||
IlFloat | max, | |||
IlvDirection | direction = IlvVertical , |
|||
IlvPosition | position = IlvLeft , |
|||
IlUShort | steps = 0 , |
|||
IlUShort | substeps = 0 , |
|||
IlUShort | stepsize = 10 , |
|||
IlUShort | substepsize = 5 , |
|||
IlvPalette * | palette = 0 | |||
) |
Constructor.
The point orig specifies the origin of the scale. Its position varies depending on the direction and position parameters. The origin of the scale should not be confused with the origin of the rectangle that contains it, which is located at the upper-left corner. The parameter size specifies the dimension of the scale in its main axis (width for horizontal scale and height for a vertical scale). The direction of the scale is indicated by direction: valid values are IlvVertical
(bottom to top) and IlvHorizontal
(left to right). The position of the scale is specified by position. Valid values depend on direction: IlvLeft
and IlvRight
for a vertical scale, IlvTop
and IlvBottom
for a horizontal scale.
display | The display where this object is created. | |
orig | The origin of the scale. | |
size | The dimension of the scale's main axis. | |
format | The printf format of the step labels. | |
min | The minimum value of the scale. | |
max | The maximum value of the scale. | |
direction | The direction of the scale. | |
position | The position of the scale. | |
steps | The number of major ticks to be drawn, which can be 0 for no scales. | |
substeps | The number of minor ticks displayed between major ones. | |
stepsize | The major tick mark size. | |
substepsize | The minor tick mark size. | |
palette | The palette associated with this object. |
IlvRectangularScale::IlvRectangularScale | ( | IlvDisplay * | display, | |
const IlvPoint & | orig, | |||
IlvDim | size, | |||
char * | labels[], | |||
IlvDirection | direction = IlvVertical , |
|||
IlvPosition | position = IlvLeft , |
|||
IlUShort | steps = 2 , |
|||
IlUShort | substeps = 0 , |
|||
IlUShort | stepsize = 10 , |
|||
IlUShort | substepsize = 5 , |
|||
IlvPalette * | palette = 0 | |||
) |
Constructor.
The point orig specifies the origin of the scale. Its position varies depending on the direction and position parameters. The origin of the scale should not be confused with the origin of the rectangle that contains it, which is located at the upper-left corner. The parameter size specifies the dimension of the scale in its main axis (width for horizontal scale and height for a vertical scale). The direction of the scale is indicated by direction: valid values are IlvVertical
(bottom to top) and IlvHorizontal
(left to right). The position of the scale is specified by position. Valid values depend on direction: IlvLeft
and IlvRight
for a vertical scale, IlvTop
and IlvBottom
for a horizontal scale.
display | The display where this object is created. | |
orig | The origin of the scale. | |
size | The dimension of the scale's main axis. | |
labels[] | The array of text strings. | |
direction | The direction of the scale. | |
position | The position of the scale. | |
steps | The number of major ticks to be drawn, which can be 0 for no scales. | |
substeps | The number of minor ticks displayed between major ones. | |
stepsize | The major tick mark size. | |
substepsize | The minor tick mark size. | |
palette | The palette associated with this object. |
Adds a property to this object's class.
This static function associates the given value with the given key for the class of this object only.
key | The key to be associated. | |
value | The value to be associated. |
Reimplemented from IlvScale.
virtual void IlvRectangularScale::applyTransform | ( | const IlvTransformer * | t | ) | [virtual] |
Applies a transformation function to the graphic object.
Applies the transformer t
to the shape of the object. Unless the transformation is a scaling operation, the result of applying it to certain objects can be insignificant. For example, applying a non-scaling transformer to an IlvRectangle
object is meaningless, since the rectangle remains a rectangle. On the other hand, meaningful transformations can be applied to objects that are instances of types such as IlvLine
or IlvPolyPoints
.
applyTransform
is one of the most important method to be rewritten for classes derived from IlvGraphic
, since it is called by the resize
, move
, moveResize
, scale
, etc., methods.t | The transformer value. If 0, no transformation is performed. |
Reimplemented from IlvScale.
IlBoolean IlvRectangularScale::areLabelsCentered | ( | ) | const |
Gets the 'centered labels' flag.
IlTrue
if the scale draws its labels between the markers, or IlFalse
if it draws each label with its corresponding marker. virtual void IlvRectangularScale::boundingBox | ( | IlvRect & | bbox, | |
const IlvTransformer * | t = 0 | |||
) | const [virtual] |
Retrieves the bounding box of the graphic object.
Sets bbox, the rectangle reference parameter, to be the bounding box of the object. Since the object can appear within a transformed environment (for example, in a multiview editor), an IlvTransformer
object occurs as an optional parameter in order to compute the bounding box in the coordinate system of the transformed environment. When there is no transformation, t is set to 0
.
bbox | The bounding box to be set. | |
t | A transformer value or 0 if there is no transformation. |
Implements IlvScale.
void IlvRectangularScale::centerLabels | ( | IlBoolean | val | ) |
Sets the 'centered labels' flag.
Sets the centered labels flag to val.
val | A Boolean value to set the flag. |
const char* IlvRectangularScale::className | ( | ) | const |
Returns the class name of an object.
This method is equivalent to getClassInfo()->getClassName()
.
IlvRectangle
object, the className function returns "IlvRectangle"
. Reimplemented from IlvScale.
virtual IlvGraphic* IlvRectangularScale::copy | ( | ) | const [virtual] |
Copies this object.
Allocates and returns a copy of this object. If the object is composite, the implementation of this member function makes a copy of the object's components.
IlvPredefinedIOMembers
. Reimplemented from IlvScale.
IlBoolean IlvRectangularScale::doesDrawOverlappingLabels | ( | ) | const |
Gets the 'draw overlapping labels' flag.
IlTrue
if the scale allows labels to overlap, and IlFalse
otherwise. virtual void IlvRectangularScale::draw | ( | IlvPort * | dst, | |
const IlvTransformer * | t = 0 , |
|||
const IlvRegion * | clip = 0 | |||
) | const [virtual] |
Draws the graphic object.
Draws the object in the given IlvPort
using the transformer t
which might have the value 0
. The clip
parameter, which can also be 0
, represents the clipping region relative to the transformed object.
dst | The destination port. | |
t | The transformer value. If 0, no transformation is performed. | |
clip | The clipping region, or 0 if none. |
Implements IlvScale.
virtual void IlvRectangularScale::drawBaseLine | ( | IlvPort * | dst, | |
const IlvTransformer * | t = 0 , |
|||
const IlvRegion * | clip = 0 | |||
) | const [virtual] |
Draws the base line.
Draws a line from the origin to the last scale marker.
dst | The drawing port. | |
t | A transformation. | |
clip | A clipping region. |
virtual void IlvRectangularScale::drawLabel | ( | IlvPort * | dst, | |
IlUShort | idx, | |||
const IlvPoint & | orig, | |||
const IlvFloatPoint & | offset, | |||
const IlvPoint & | tickoffset, | |||
const IlvTransformer * | t = 0 , |
|||
const IlvRegion * | clip = 0 | |||
) | const [virtual] |
Draws a label.
Draws a scale label at the position indicated by index, in the dst port. origin indicates the location of the minimum value representation on the scale.
The offset values allow the dimensions to be handled, without considering whether the values are positive or negative (this is handled elsewhere). offset is the offset of the origin of two major ticks. tickoffset is the absolute offset of the extremity of a tick to its origin.
dst | The drawing port. | |
idx | The label position to draw. | |
orig | The location of the minimum value representation on the scale. | |
offset | The offset of the origin of two major ticks. | |
tickoffset | The absolute tick offset to the origin. | |
t | A transformation. | |
clip | A clipping region. |
virtual void IlvRectangularScale::drawLabels | ( | IlvPort * | dst, | |
const IlvTransformer * | t = 0 , |
|||
const IlvRegion * | clip = 0 | |||
) | const [virtual] |
Draws all labels.
Draws the scale labels, computing the two different offsets (see drawLabel
), and calls the drawLabel
member function for each label in the scale.
dst | The drawing port. | |
t | A transformation. | |
clip | A clipping region. |
void IlvRectangularScale::drawOverlappingLabels | ( | IlBoolean | val | ) |
Sets the 'draw overlapping labels' flag.
Allows (if val is IlTrue
) or disallows labels from overlapping.
val | A Boolean value to set the flag. |
virtual void IlvRectangularScale::drawTick | ( | IlvPort * | dst, | |
IlUShort | idx, | |||
const IlvPoint & | orig, | |||
const IlvFloatPoint & | offset, | |||
const IlvFloatPoint & | suboffset, | |||
const IlvPoint & | tickoffset, | |||
const IlvPoint & | subtickoffset, | |||
const IlvTransformer * | t = 0 , |
|||
const IlvRegion * | clip = 0 | |||
) | const [virtual] |
Draws a tick mark.
Draws a scale marker at the position indicated by index, in the dst port. origin indicates the location of the minimum value representation on the scale.
The offset values allow the dimensions to be handled, without considering whether the values are positive or negative (this is handled elsewhere). offset is the offset between the origins of two major ticks, suboffset is the offset between the origins of two minor ticks, tickoffset is the offset from the major tick line origin to its extremity, and subtickoffset is the offset from the origin of the minor tick line to its extremity.
dst | The drawing port. | |
idx | The label position to draw. | |
orig | The location of the minimum value representation on the scale. | |
offset | The offset of the origin of two major ticks. | |
suboffset | The offset of the origin of two minor ticks. | |
tickoffset | The absolute major tick offset to the origin. | |
subtickoffset | The absolute minor tick offset to the origin. | |
t | A transformation. | |
clip | A clipping region. |
virtual void IlvRectangularScale::drawTicks | ( | IlvPort * | dst, | |
const IlvTransformer * | t = 0 , |
|||
const IlvRegion * | clip = 0 | |||
) | const [virtual] |
Draws all tick marks.
Draws the scale markers, computing the four different offsets (see drawTick
), and calls the drawTick
member function for each tick in the scale.
dst | The drawing port. | |
t | A transformation. | |
clip | A clipping region. |
virtual IlvClassInfo* IlvRectangularScale::getClassInfo | ( | ) | const [virtual] |
Gets class information.
Returns a pointer to the IlvClassInfo
object associated with this object's class.
Reimplemented from IlvScale.
IlvDirection IlvRectangularScale::getDirection | ( | ) | const |
Gets the direction of the scale.
virtual IlUShort IlvRectangularScale::getNumberOfSkippedSteps | ( | const IlvPoint & | orig, | |
IlvDim | size, | |||
IlUShort | steps, | |||
const IlvFloatPoint & | offset, | |||
const IlvPoint & | tickoffset, | |||
const IlvTransformer * | t = 0 | |||
) | const [virtual] |
Gets the number of skipped steps.
1
if the draw overlapping labels flag is set to IlTrue
. Overload this function if you want to control the display of scale labels on the screen (Show only odd or even numbers.) void IlvRectangularScale::getOrigin | ( | IlvPoint & | p | ) | const |
Gets the origin of the scale.
IlvPosition IlvRectangularScale::getPosition | ( | ) | const |
Gets the position of the scale.
static IlAny IlvRectangularScale::GetProperty | ( | const IlSymbol * | key, | |
IlBoolean | checkSuperClass = ((IlBoolean) 0) | |||
) | [static] |
Retrieves the property value associated with the key in this object's class.
Retrieves the property value associated with the property name key. If the property cannot be found in the class of this object, and if checkSuperClass is set to IlTrue
, then the function operates iteratively on each superclass until the property is found. If the property cannot be found, then 0
is returned.
key | The key with which the property value is associated. | |
checkSuperClass | IlTrue specifies iterative search on superclasses. |
0
. Reimplemented from IlvScale.
IlvDim IlvRectangularScale::getSize | ( | ) | const |
Gets the size of the scale.
static const IlvClassInfo* IlvRectangularScale::HasProperty | ( | const IlSymbol * | key, | |
IlBoolean | checkSuperClass = ((IlBoolean) 0) | |||
) | [static] |
Checks for the existence of a property for this object's class hierarchy.
Retrieves a pointer to the IlvClassInfo
that indicates a class where the key property exists. If the returned value is non-0
, then this property actually exists for this class. If this is not the case and if checkSuperClass is set to IlTrue
, then the function operates iteratively on each superclass until a match is found. If the property cannot be found, then 0
is returned.
key | The key with which the property value is associated. | |
checkSuperClass | IlTrue specifies iterative search on superclasses. |
0
. Reimplemented from IlvScale.
IlBoolean IlvRectangularScale::hasVerticalLabels | ( | ) | const |
Gets the 'vertical labels' flag.
IlTrue
if the scale draws its labels in a vertical direction, or IlFalse
if it draws them in a horizontal direction. IlBoolean IlvRectangularScale::isStepSizeFixed | ( | ) | const |
Gets the 'fixed step size' flag.
IlTrue
if the scale has a fixed step size (i.e., distance between two markers), or IlFalse
if this distance varies to make the scale fit its size. IlBoolean IlvRectangularScale::isSubtypeOf | ( | const IlvClassInfo * | classInfo | ) | const |
Checks whether this object's class is a subclass.
This method is equivalent to getClassInfo()->isSubtypeOf(classInfo)
.
classInfo | The name of a class on which the object's class is tested. |
IlTrue
or IlFalse
, depending on whether or not this object's class is a subclass of the class indicated by classInfo. Reimplemented from IlvScale.
IlBoolean IlvRectangularScale::isSubtypeOf | ( | const char * | parentClass | ) | const |
Checks whether this object's class is a subclass of a given parent class.
This method is equivalent to getClassInfo()->isSubtypeOf(parentClass)
.
parentClass | A string representing the parent class. |
IlTrue
or IlFalse
, depending on whether or not this object's class inherits parentClass attributes. The parentClass parameter should be a string representing the class name of an IlvGraphic
subclass. A call to this member function for a given class instance returns IlTrue
if given the name of its class. Reimplemented from IlvScale.
virtual void IlvRectangularScale::labelBBox | ( | IlvRect & | rect, | |
IlUShort | idx, | |||
const IlvPoint & | orig, | |||
const IlvFloatPoint & | offset, | |||
const IlvPoint & | tickoffset, | |||
const IlvTransformer * | t = 0 | |||
) | const [virtual] |
Gets a label's bounding box.
Uses the rect parameter to return the bounding box of the label of the scale at the position indicated by idx.
idx | The index position of the label. |
virtual void IlvRectangularScale::labelsBBox | ( | IlvRect & | rect, | |
const IlvFloatPoint & | offset, | |||
const IlvPoint & | tickoffset, | |||
const IlvTransformer * | t = 0 | |||
) | const [virtual] |
Gets the bounding box of all labels.
Uses the rect parameter to return the bounding box containing all the scale labels.
static IlvGraphic* IlvRectangularScale::read | ( | IlvInputFile & | file, | |
IlvPalette * | palette | |||
) | [static] |
Reads an object description from a file.
Reads an object description from the file input, given the palette graphic attributes. It reads the information that was saved by the member function write
to be able to create a new instance of this object. Usually, because of the availability of the constructor that expects an IlvInputFile
, read should be equivalent to:
IlvGraphic* MyClass::read(IlvInputFile& file, IlvPalette* palette) { return new MyClass(file, palette); }
In the following example, the static member function read
of the IlvLabel
class could have the following form:
IlvGraphic* IlvLabel::read(IlvInputFile& file, IlvPalette* pal) { IlvPoint pos; file.getStream() >> pos; // Read the position field return new IlvLabel(pal->getDisplay(), pos, IlvReadString(file.getStream()), pal); }
file | The name of the file to be read from. | |
palette | The name of the palette for the object. |
DeclareTypeInfoRO
, DeclareTypeInfo
, IlvPredefinedIOMembers
. read
method is not capitalized like other static methods so that it is consistent with the write
method. Reimplemented from IlvScale.
Removes a property from this object's class.
This static function removes the indicated property to the class of this object.
key | The key property to be removed. |
IlTrue
if the key property was actually found, or IlFalse
otherwise. Reimplemented from IlvScale.
static IlBoolean IlvRectangularScale::ReplaceProperty | ( | const IlSymbol * | key, | |
IlAny | value | |||
) | [static] |
Replaces a property in this object's class.
This static function replaces the indicated property value to the class of this object.
key | The key to be replaced. | |
value | The value to be replaced. |
IlTrue
if the key property was actually found, or IlFalse
otherwise. Reimplemented from IlvScale.
void IlvRectangularScale::setDirection | ( | IlvDirection | direction | ) |
Sets the direction of the scale.
Sets the direction of the scale. The direction parameter can be set to any of six values. IlvBottom
, IlvTop
, IlvLeft
and IlvRight
indicate where the minimum value of the scale is positioned.
IlvHorizontal
indicates that the scale goes from left to right (equivalent to IlvLeft
). IlvVertical
indicates that the scale goes from bottom to top (equivalent to IlvBottom
).
direction | The direction of the scale. |
void IlvRectangularScale::setOrigin | ( | const IlvPoint & | ) |
Sets the origin of the scale.
Sets the origin of the scale (the location of the minimum value representation) to the value of the origin parameter.
origin | The origin of the scale. |
void IlvRectangularScale::setPosition | ( | IlvPosition | position | ) |
Sets the position of the scale.
Sets the position of the scale to the value specified in the position parameter. If the scale is horizontal, possible values for position are IlvTop
and IlvBottom
. If the scale is vertical, then the possible values are IlvLeft
and IlvRight
. The values indicate where the scale is drawn in relation to its bounding rectangle.
position | The position of the scale. |
void IlvRectangularScale::setSize | ( | IlvDim | size | ) |
Sets the size of the scale.
Sets the size of the scale (the width or the height) of the scale to the value of the size parameter. The size is the distance from the minimum to maximum tick marks on the scale.
size | The dimension of the scale's main axis. |
void IlvRectangularScale::setStepSizeFixed | ( | IlBoolean | v | ) |
Sets the 'fixed step size' flag.
Sets the fixed step size flag to flag.
flag | A Boolean value to set the flag. |
virtual void IlvRectangularScale::ticksBBox | ( | IlvRect & | rect, | |
const IlvFloatPoint & | offset, | |||
const IlvPoint & | tickoffset, | |||
const IlvTransformer * | t = 0 | |||
) | const [virtual] |
Gets the bounding box of all ticks.
Uses the rect parameter to return the bounding box containing all the scale markers.
void IlvRectangularScale::useVerticalLabels | ( | IlBoolean | v | ) |
Sets the 'vertical labels' flag.
Sets the vertical labels flag to flag.
flag | A Boolean value to set the flag. |
virtual void IlvRectangularScale::write | ( | IlvOutputFile & | output | ) | const [virtual] |
Writes an object description to a file.
Writes out, in a file, the object description. This description contains all the information necessary to create an exact copy of this object by means of the member function read
. Information concerning any IlvPalette
object attached to this object is written out by the object containers. All other information, such as the position and size of the object, is written out by this virtual member function.
For example, suppose we have an IlvLabel
class that implements a graphic object drawn as a text string at a given position. It maintains its position in an internal IlvPoint
field called _position
and its textual content in an internal character array field called _text
. The only information we need to save is the contents of those fields. So, the member function write
of such an object should have the following form:
void IlvLabel::write(IlvOutputFile& file) const { // Save the position field file.getStream() << IlvSpc() << _position; // Save the text field IlvWriteString(file.getStream(), _text); }
output | The the output file to be written to. |
DeclareTypeInfo
. Reimplemented from IlvScale.
© Copyright 2012, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.