![]() Rogue Wave Views 5.5.1 |
Rogue Wave Views |
Rogue Wave Views Documentation Home |
Graphic handle class. More...
#include <ilviews/graphics/handle.h>
Public Member Functions | |
| IlvTransformedGraphic (IlvGraphic *obj, const IlvTransformer &t, IlBoolean owner=((IlBoolean) 0)) | |
| Constructor. | |
| IlvTransformedGraphic (IlvGraphic *obj, IlBoolean owner=((IlBoolean) 0)) | |
| Constructor. | |
| virtual void | applyTransform (const IlvTransformer *t) |
| Applies a transformation. | |
| virtual void | boundingBox (IlvRect &r, const IlvTransformer *t=0) const |
| Retrieves the bounding box of the graphic object. | |
| const char * | className () const |
| Returns the class name of an object. | |
| virtual void | computeFocusRegion (IlvRegion &r, const IlvTransformer *t=0) const |
| Computes the region needed for the drawing of the focus. | |
| virtual IlBoolean | contains (const IlvPoint &p, const IlvPoint &tp, const IlvTransformer *t=0) const |
| Checks whether a point is in the object. | |
| virtual IlvGraphic * | copy () const |
| Copies this object. | |
| virtual void | draw (IlvPort *dst, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
| Draws the graphic object. | |
| virtual void | drawFocus (IlvPort *dst, const IlvPalette *palette, const IlvTransformer *t=0, const IlvRegion *clip=0) const |
| Draws additional drawings for an object that has the keyboard focus. | |
| virtual IlvClassInfo * | getClassInfo () const |
| Gets class information. | |
| const IlvTransformer & | getTransformer () const |
| Returns the transformer used to compute the geometric characteristics. | |
| virtual IlBoolean | inside (const IlvRegion &tregion, const IlvTransformer *t=0) const |
| Determines whether an object with transformation applied is inside the bounding box. | |
| virtual IlBoolean | intersects (const IlvRegion &tregion, const IlvTransformer *t=0) const |
| Checks whether a region intersects the bounding box with transformation applied. | |
| 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. | |
| void | setHolder (IlvGraphicHolder *) |
| Sets the object's holder. | |
| void | setTransformer (const IlvTransformer &t) |
| Changes the transformer. | |
| 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 handle class.
Library: views
The IlvTransformedGraphic class is derived from the basic handle class, IlvGraphicHandle. An object of the IlvTransformedGraphic type is a kind of handle which is associated with a certain referenced object of the IlvGraphic class. An IlvTransformedGraphic instance is drawn by applying a graphic transformation to its referenced object.
You use this object to represent the same object in different places or different sizes without creating copies of, and transforming, the original object. Typically, you use IlvTransformedGraphic in an interactor that geometrically manipulates the object. You create an IlvTransformedGraphic on this object, and directly manipulate the transformer.
IlvFixedSizeGraphic, IlvTransformer. | IlvTransformedGraphic::IlvTransformedGraphic | ( | IlvGraphic * | obj, | |
| IlBoolean | owner = ((IlBoolean)0) | |||
| ) |
Constructor.
This constructor initializes a new instance of IlvTransformedGraphic in which the initial transformer is set to identity.
| object | The referenced object. | |
| owner | Must be set to IlTrue to make the handle object the owner of the referenced object. |
| IlvTransformedGraphic::IlvTransformedGraphic | ( | IlvGraphic * | obj, | |
| const IlvTransformer & | t, | |||
| IlBoolean | owner = ((IlBoolean)0) | |||
| ) |
Constructor.
This constructor initializes a new instance of IlvTransformedGraphic in which t is copied as the initial transformer.
| t | The initial transformer. |
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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| virtual void IlvTransformedGraphic::applyTransform | ( | const IlvTransformer * | t | ) | [virtual] |
Applies a transformation.
| t | The transformer that is applied to the referenced graphic object by calling its IlvGraphic::applyTransform member function. |
Reimplemented from IlvGraphicHandle.
| virtual void IlvTransformedGraphic::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. |
Reimplemented from IlvGraphicHandle.
| const char* IlvTransformedGraphic::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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| virtual void IlvTransformedGraphic::computeFocusRegion | ( | IlvRegion & | r, | |
| const IlvTransformer * | t = 0 | |||
| ) | const [virtual] |
Computes the region needed for the drawing of the focus.
This method is called to compute the region needed for the drawing of the focus (see the method drawFocus).
| r | The region that is updated. | |
| t | The transformer value. If 0, no transformation is performed. |
Reimplemented from IlvGraphicHandle.
| virtual IlBoolean IlvTransformedGraphic::contains | ( | const IlvPoint & | p, | |
| const IlvPoint & | tp, | |||
| const IlvTransformer * | t = 0 | |||
| ) | const [virtual] |
Checks whether a point is in the object.
Checks whether the coordinates are located in the shape of this object. A transformation parameter allows you to use the view's coordinate system for this test.
| p | The point to be tested. | |
| tp | The transformed point obtained by applying the transformer t to the point p. | |
| t | A transformer value, or 0 if there is no transformation. |
IlTrue when the point p lies inside the outline of the object. Reimplemented from IlvGraphicHandle.
| virtual IlvGraphic* IlvTransformedGraphic::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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| virtual void IlvTransformedGraphic::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. |
Reimplemented from IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| virtual void IlvTransformedGraphic::drawFocus | ( | IlvPort * | dst, | |
| const IlvPalette * | palette, | |||
| const IlvTransformer * | t = 0, |
|||
| const IlvRegion * | clip = 0 | |||
| ) | const [virtual] |
Draws additional drawings for an object that has the keyboard focus.
This method is called to draw additional drawings when the graphic object has the keyboard focus. The default implementation draws a rectangle around the object. The drawing will be done inside the region returned by computeFocusRegion.
| dst | The destination port. | |
| palette | The palette of the object. | |
| t | The transformer value. If 0, no transformation is performed. | |
| clip | The clipping region. |
Reimplemented from IlvGraphicHandle.
| virtual IlvClassInfo* IlvTransformedGraphic::getClassInfo | ( | ) | const [virtual] |
Gets class information.
Returns a pointer to the IlvClassInfo object associated with this object's class.
Reimplemented from IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| static IlAny IlvTransformedGraphic::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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| const IlvTransformer& IlvTransformedGraphic::getTransformer | ( | ) | const |
Returns the transformer used to compute the geometric characteristics.
Returns the transformer used to compute the geometric characteristics of the object.
| static const IlvClassInfo* IlvTransformedGraphic::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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| virtual IlBoolean IlvTransformedGraphic::inside | ( | const IlvRegion & | r, | |
| const IlvTransformer * | t = 0 | |||
| ) | const [virtual] |
Determines whether an object with transformation applied is inside the bounding box.
Determines whether an object with transformation applied is inside the bounding box.
| r | The region to be tested. | |
| t | A transformer value, or 0 if there is no transformation. |
IlTrue when the object, drawn with the transformer t, covers completely the region r. This virtual member function returns IlFalse when this is not the case. That means that it returns IlTrue if all rectangles that define the region completely lie inside the object. Reimplemented from IlvGraphicHandle.
| virtual IlBoolean IlvTransformedGraphic::intersects | ( | const IlvRegion & | r, | |
| const IlvTransformer * | t = 0 | |||
| ) | const [virtual] |
Checks whether a region intersects the bounding box with transformation applied.
Checks whether a region intersects the bounding box with transformation applied.
| r | The region to be tested. | |
| t | A transformer value, or 0 if there is no transformation. |
IlTrue when the region r overlaps the transformed object (if t is not 0) and IlFalse when this is not the case. Reimplemented from IlvGraphicHandle.
| IlBoolean IlvTransformedGraphic::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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| IlBoolean IlvTransformedGraphic::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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| static IlvGraphic* IlvTransformedGraphic::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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| static IlBoolean IlvTransformedGraphic::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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
| void IlvTransformedGraphic::setHolder | ( | IlvGraphicHolder * | holder | ) | [virtual] |
Sets the object's holder.
This default implementation has no real function.
Reimplemented from IlvGraphicHandle.
| void IlvTransformedGraphic::setTransformer | ( | const IlvTransformer & | t | ) |
Changes the transformer.
Changes the transformer to t.
| t | The new transformer. |
| virtual void IlvTransformedGraphic::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 IlvGraphicHandle.
Reimplemented in IlvGraphicInstance.
© 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.