IMGraphic

IMGraphic is an abstract base class derived from IMDrawable. IMGraphic provides the protocols for constructing and deleting a 2-D graphic, obtaining attribute information, transforming the graphic, finding the bounds of the graphic, and detecting whether the graphic has been selected by the user (hit detection).


IMGraphic - Member Functions and Data by Group

Constructors & Destructor

This group contains the constructors and destructors that create and destroy objects of class IMGraphic.


[view class]
~IMGraphic
Destructor.
public:
virtual ~IMGraphic()
Destroys the IMGraphic object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
IMGraphic
This constructor creates an IMGraphic object.


Overload 1
Default constructor.
public:
IMGraphic()
Use this constructor to create an IMGraphic with empty bundles. Hit flag is set to false and hit detection is enabled. Moved from protected for streaming.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 2
Copy Constructor.
protected:
IMGraphic(const IMGraphic&)
This copy constructor is protected for the Abstract class.

const IMGraphic&
The object to be copied from.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 3
protected:
IMGraphic(IGrafBundle* adoptedBundle)
Thia constructor creates an IMGraphic from a graph bundle. Protected for Abstract class.

adoptedBundle
The graph bundle to construct from.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Accessing Attribute and Graphic Bundle information

Use the functions in this group to access attribute and bundle data.


[view class]
adoptAttributeState
public:
virtual void adoptAttributeState( IAttributeState* adoptedAttributeState )
Adopts the specified attribute bundle to determine the graphic's attributes.

adoptedAttributeState
The attribute bundle to be adopted by this IMGraphic.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
adoptBundle
public:
virtual void adoptBundle(IGrafBundle* adoptedBundle)
Adopts the specified bundle to determine the graphic's attributes.

adoptedBundle
The bundle to be adopted by this IMGraphic.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
attributeState
public:
virtual const IAttributeState* attributeState() const
Gets the attribute bundle, keeping it available for the IMGraphic.

Return
A constant pointer to the attribute bundle.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
bundle
public:
virtual const IGrafBundle* bundle() const
Gets the bundle, keeping it available for the IMGraphic.

Return
A constant pointer to the bundle.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
orphanAttributeState
public:
virtual IAttributeState* orphanAttributeState()
Relinquishes knowledge of, and responsibility for, the IMGraphic's attribute bundle, returning it to the caller.

Return
The orphaned bundle.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
orphanBundle
public:
virtual IGrafBundle* orphanBundle()
Relinquishes knowledge of, and responsibility for, the IMGraphic's bundle, returning it to the caller.

Return
The orphaned bundle.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Assignment Operator

Use the operator in this group to assign a given object to the target one.


[view class]
operator =
protected:
IMGraphic& operator =(const IMGraphic& source)
Assignment operator.

source
The object to be copied.

Return
A const reference to the left-hand side object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Drawing the Graphic to the Port

Use the function in this group to render the image using the given graphics port.


[view class]
draw
public:
virtual void draw(IGrafPort& port) const = 0
Draws the graphic to the specific IGrafPort.

port
The port to which drawing should go.

Exception

Determined

by derived classes.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Getting and Setting the Hit State

Use the functions in this group to determine if the hit enabled flag is set for the geometry, to set the hit enabled flag, and to set the hit state.


[view class]
setHit
protected:
void setHit(bool flag)
Caches, or sets, the hit state in the base class.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Modifying the Graphic Object or Its Position

Use the functions in this group to change the graphic in some way, for example, by rotating by a number of degrees, transforming its shape and position, changing its size, or moving its position.


[view class]
rotateBy
public:
virtual void rotateBy( GDegrees, const IGPoint2D& centerOfRotation = IGPoint2D::origin ( ) )
Rotates the graphic by the given number of degrees, using the specified center of rotation. Calls tranformBy by default.

GDegrees
The number of degrees to rotate the graphic.
centerOfRotation=IGPoint::origin
The center of rotation

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
scaleBy
public:
virtual void scaleBy( const IGPoint2D&, const IGPoint2D& centerOfScale = IGPoint2D::origin ( ) )
Changes the graphic's size according to the specified horizontal and vertical scalars. Calls transformBy by default.

const IGPoint2D&
A vector whose x-coordinate is the horizontal scalar, and whose y-coordinate is the vertical scalar.
centerOfScale=IGPoint::origin
The center of the scaling.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
transformBy
public:
virtual void transformBy(const IGrafMatrix&) = 0
Transforms the graphic's shape and position by applying the specified transformation matrix.

const IGrafMatrix&
The transformation matrix by which the graphic's points are multiplied.

Exception

Determined

by derived classes.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
translateBy
public:
virtual void translateBy(const IGPoint2D&)
Moves the graphic's position by the specified vector.

const IGPoint2D&
The vector whose x- and y-coordinates are to be added to those of each point in the geometry.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Obtaining Information about the Graphic Object

Use the functions in this group to obtain information about the graphic, such as the geometry's bounding rectangle and its bounds including width and capping.


[view class]
geometricBounds
public:
virtual IGRect2D geometricBounds() const = 0
Gets the bounding rectangle of the geometry, without considering any area added by the bundle.

Return
The bounding rectangle, which is the smallest axis-aligned rectangle that encloses the geometry.

Exception

Determined

by derived classes.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
looseFitBounds
public:
virtual IGRect2D looseFitBounds(const IGrafPort* = 0) const
Returns the bounds of the graphic object considering attributes like width and capping.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Setting, Getting, and Resetting the Object's Time Stamp

Use the functions in this group to set and get the object's time stamp, and to reset the time stamp to 0.


[view class]
resetTimeStamp
protected:
virtual void resetTimeStamp()
Sets the time stamp to zero.

None

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setTimeStamp
protected:
virtual void setTimeStamp(const unsigned long&)
Sets the time stamp to the specified value.

const unsigned long&
The new time stamp.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
timeStamp
protected:
virtual unsigned long timeStamp() const
Gets the object's time stamp.

Return
Returns the graphic's time stamp.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
updateTimeStamp
protected:
virtual void updateTimeStamp()
Updates the object's time stamp.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Streaming the Object In and Out

Use the functions in this group to write the graphic out to a stream or read it in from one.


[view class]
readFromStream
protected:
virtual void readFromStream(IDataStream& toWhere)
Read the graphic object in from the specified stream.

fromWhere
The stream used to stream the object in.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
writeToStream
protected:
virtual void writeToStream(IDataStream& toWhere) const
Writes the graphic object out to the specified stream.

toWhere
The stream that the object is streamed out to.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Testing IMGraphic and IMDrawable Objects for Equality

Use the function in this group to test an IMDrawable object with the current IMGraphic object for equality.


[view class]
operator ==
public:
virtual bool operator ==(const IMDrawable&) const
Tests the IMGraphic and the IMDrawable for equality. The base class only tests whether the two bundles have equal contents.

const IMDrawable&
The IMDrawable to be compared with this one.

Return
Returns true if this IMGraphic and the argument have equal bundles.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


IMGraphic - Inherited Member Functions and Data

Inherited Public Functions

IMDrawable
IMStreamable

Inherited Public Data

Inherited Protected Functions

IMDrawable
IMStreamable

Inherited Protected Data