Class: TLinkedBundleState

Declaration: AttributeState.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TAttributeState

Inherited By:

None.

Purpose:

Derived from TAttributeState, TLinkedBundleState links a bundle (which contains local attributes) to a parent TAttributeState. The linking is used to create bundle hierarchies. The parent is specified as a constructor argument; no member function is provided for unlinking or relinking an existing TLinkedBundleState. TLinkedBundleState is typically used in a class (such as TLinkedBundlePort) that takes a bundle reference. It concatenates the bundle with a parent attribute state, without modifying the bundle itself.

Instantiation:

Allocate on the heap or the stack.

Deriving Classes:

None.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: TLinkedBundleState::TLinkedBundleState

  1. TLinkedBundleState ( const TAttributeState * parentAttributeState, const TAttributeState * localAttributeState)
  2. TLinkedBundleState (const TLinkedBundleState &)

Interface Category:

API.

Purpose:

  1. Constructor which takes a parent TAttributeState and a reference to a local state object and links them together to form a bundle hierarchy. It concatenates the reference bundle with the parent attribute state, without modifying the bundle itself.
  2. Copy constructor.

Calling Context:

  1. Called to create an link between a local state object and a parent state object.
  2. Called to copy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::~TLinkedBundleState

virtual ~ TLinkedBundleState ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetFillPaint

virtual const TPaint * GetFillPaint () const

Interface Category:

API.

Purpose:

Returns the paint used for the surface fill operations. If the fill paint is not defined by the reference bundle, the fill paint defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TPaint object that specifies the color or pattern to be used by the kFill drawing operation.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetFramePaint

virtual const TPaint * GetFramePaint () const

Interface Category:

API.

Purpose:

Returns the paint used for the frame drawing operations. If the frame paint is not defined by the reference bundle, the frame paint defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TPaint object that specifies the color or pattern to be used by the kFrame drawing operation.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetFillTransferMode

virtual const TTransferMode * GetFillTransferMode () const

Interface Category:

API.

Purpose:

Returns the transfer mode (such as TSrcCopyTransferMode) to be used during a fill drawing operation. If the fill transfer mode is not defined by the reference bundle, the fill transfer mode defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TTransferMode object that represents the transfer mode to be used during a kFill drawing operation.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetFrameTransferMode

virtual const TTransferMode * GetFrameTransferMode () const

Interface Category:

API.

Purpose:

Returns the transfer mode (such as TSrcCopyTransferMode) to be used during a frame drawing operation. If the frame transfer mode is not defined by the reference bundle, the frame transfer mode defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TTransferMode object that represents the transfer mode to be used during a kFrame drawing operation.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetFrameJoint

virtual const TJoint * GetFrameJoint () const

Interface Category:

API.

Purpose:

Returns the joint (such as TBevelJoint) to be used to smooth out the discontinuities which occur at the intersection of two line segments. If the frame joint is not defined by the reference bundle, the frame joint defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TJoint object that represents the joint to be used at the intersection of two line segments.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetFrameEndCap

virtual const TCap * GetFrameEndCap () const

Interface Category:

API.

Purpose:

Returns the cap (such as TFlushCap) to be used at the end of a line or geometry path. If the frame end cap is not defined by the reference bundle, the frame end cap defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TCap object that represents the cap to be used at the end of a line or geometry path.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetFrameStartCap

virtual const TCap * GetFrameStartCap () const

Interface Category:

API.

Purpose:

Returns the cap (such as TFlushCap) to be used at the start of a line or geometry path. If the frame start cap is not defined by the reference bundle, the frame start cap defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TCap object that represents the cap to be used at the start of a line or geometry path.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetFramePen

virtual const TPen * GetFramePen () const

Interface Category:

API.

Purpose:

Returns the pen (such as THairlinePen) to be used to draw the frame model of the graphic. If the frame pen is not defined by the reference bundle, the frame pen defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TPen object that represents the pen to be used by the kFrame drawing operation.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetImageSampling

virtual const TImageSamplingControl * GetImageSampling () const

Interface Category:

API.

Purpose:

Returns the image sampling to be done when the graphic is either interpolated (enlarged) or decimated (shrunk). How an image is sampled prior to interpolation or decimation is specified in a TImageSampleControl object. If the image sampling is not defined by the reference bundle, the image sampling defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TImageSamplingControl object that determines how an image will be sampled prior to interpolation or decimation.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetImageTransferMode

virtual const TTransferMode * GetImageTransferMode () const

Interface Category:

API.

Purpose:

Returns the image transfer mode (such as TSrcCopyTransferMode) that determines how the colors of the image are modified when placed at the destination. If the image transfer mode is not defined by the reference bundle, the image transfer mode defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to a TTransferMode object that represents how the image colors are transferred to the destination.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetGrafAttribute

virtual const TGrafAttribute * GetGrafAttribute ( const TToken & key) const

Interface Category:

API.

Purpose:

Returns the TGrafAttribute object that is associated with the key. TGrafAttribute objects are custom attributes that you install into the bundle. If the specified TGrafAttribute is not defined by the reference bundle, the TGrafAttribute defined by the parent attribute state is returned.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A constant pointer to the TGrafAttribute object associated with the name that is passed in as a key.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Iterating over extensible (custom) attributes is not supported yet.

Member Function: TLinkedBundleState::GetTimeStamp

virtual TPseudoTimeStamp GetTimeStamp () const

Interface Category:

API.

Purpose:

Returns the time stamp stored by this object. If the time stamp stored by either the reference bundle or the parent attribute state is newer than this object's time stamp, this object's time stamp is set to the newest of the time stamps. The time stamp value provides an efficient method to see whether two TLinkedBundleState objects are equal.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns a TPseudoTimeStamp object that is unique with respect to all other TLinkedBundleState objects.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::operator<<=

virtual TStream & operator <<= (TStream &)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called to stream in data. This is a protected member function designed to be called from a derived class' operator <<= function.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself in from.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::operator>>=

virtual TStream & operator >>=(TStream &) const

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called to stream out data. This is a protected member function designed to be called from a derived class' operator >>=function.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself out to.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetPrimaryDitherHint

virtual const TDitherHint * GetPrimaryDitherHint () const

Interface Category:

API.

Purpose:

Returns a pointer to the current dither hint for this attribute bundle.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns the pointer to this attribute bundle's primary dither hint.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::GetDrawingOperation

virtual EDrawOperation GetDrawingOperation () const

Interface Category:

API.

Purpose:

Returns the drawing operation specified by the attribute state. The return value is one of the EDrawOperation types (kFill, kFrame, or kFillAndFrame). This is a pure virtual function which must be overridden by derived classes.

Calling Context:

Do not call this function directly. It is designed to be overridden by the derived classes.

Parameters:

Return Value:

A pointer to an EDrawOperation enumerated type that represents the drawing operation specified by this attribute state.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkedBundleState::operator=

TLinkedBundleState & operator =(const TLinkedBundleState &)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object.

Parameters:

Return Value:

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

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

The time stamp for the resulting, left-hand side object takes-on the time stamp value of the object passed into this function.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.