Class: TLinkableTransformedClipState

Declaration: ClipState.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TClipState

Inherited By:

TSimpleClipState

Purpose:

TLinkableTransformedClipState is an abstract class derived from TClipState. The base class provides protocol for accessing the encapsulated clipping area, as well as functionality for maintaining a time stamp. To these functions, TLinkableTransformedClipState adds pure virtual member functions for creating a hierarchy of clipping areas. A hierarchy of clipping areas lets you create intersections of several clipping areas, each of which might correspond to a graphic in a hierarchy of graphics. Typically, the parent clip state corresponds to a graphic that contains another graphic, and the child clip state corresponds to the contained graphic. You construct hierarchies by passing a parent clip state as an argument to TLinkableTransformedClipState::LinkTo. This function, as implemented by derived classes, intersects the child's and parent's clipping areas. First, however, it transforms the child's clipping area by a transformation matrix obtained from a TMatrixState object that was passed in as an argument to LinkTo. By including a coordinate system (represented by the TMatrixState) in the linking operation, TLinkableTransformedClipState allows the clipping area to transform itself into the correct coordinate system. This use of a transformation matrix gives the TLinkableTransformedClipState class its name. By comparison, the TLinkableClipState class has no facility for applying a transformation matrix during linking.

Instantiation:

Abstract class; do not allocate.

Deriving Classes:

Provided class: TSimpleClipState.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: TLinkableTransformedClipState::~TLinkableTransformedClipState

virtual ~ TLinkableTransformedClipState ()

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: TLinkableTransformedClipState::GetClipArea

virtual const TGArea * GetClipArea () const

Interface Category:

API.

Purpose:

Returns a constant pointer to the clipping area. This is a pure virtual function that must be overridden by the derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

Returns a constant pointer to the clipping area.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkableTransformedClipState::LinkTo

virtual void LinkTo (const TClipState * parentClipState, const TMatrixState * matrixState)

Interface Category:

API.

Purpose:

Links this object to the given parent clip state. During the linking process, the given transformation matrix is used to convert the clip state to the correct coordinate system. This is a pure virtual function that must be overridden by derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkableTransformedClipState::Unlink

virtual void Unlink ()

Interface Category:

API.

Purpose:

Severs the link between the parent clip state and this clip state. This is a pure virtual function that must be overridden by derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkableTransformedClipState::TLinkableTransformedClipState

  1. TLinkableTransformedClipState ()
  2. TLinkableTransformedClipState (const TLinkableTransformedClipState &)

Interface Category:

API.

Purpose:

  1. Default constructor. This is a protected constructor that must be overridden by derived classes.
  2. Copy constructor. This is a protected constructor designed to be be overridden by derived classes.

Calling Context:

  1. Do not call this function directly.
  2. Do not call this function directly, except from within the copy constructor of a derived class.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkableTransformedClipState::operator=

TLinkableTransformedClipState & operator =(const TLinkableTransformedClipState &)

Interface Category:

API.

Purpose:

Assignment operator. This is a protected member function that is designed to be overridden by derived classes.

Calling Context:

Do not call this function directly, except from within the operator equals of a derived class.

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:

None.

Member Function: TLinkableTransformedClipState::operator>>=

TStream & operator >>=(TStream &) const

Interface Category:

API.

Purpose:

Stream-out operator. This is a protected member function that is designed to be overridden by derived classes.

Calling Context:

Called to stream out data.

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: TLinkableTransformedClipState::operator<<=

TStream & operator <<= (TStream &)

Interface Category:

API.

Purpose:

Stream-in operator. This is a protected member function that is designed to be overridden by derived classes.

Calling Context:

Called to stream in data.

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: TLinkableTransformedClipState::GetSharedTimeStampState

virtual TTimeStampState * GetSharedTimeStampState () const

Interface Category:

API.

Purpose:

Returns a pointer to the shared time stamp of this object. The shared time stamp changes whenever any clip state within the hierarchy changes. This is a pure virtual function that must to be overridden by derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

Returns a pointer to the shared time stamp of the hierarchy.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.