NodeToOutlinesBecomeA Class Reference

The class that handles the convertion of a node to outlines. It receives all the paths passed back from the node, and appends them to a group object. More...

Inheritance diagram for NodeToOutlinesBecomeA:

BecomeA List of all members.

Public Member Functions

 NodeToOutlinesBecomeA (NodeGroup *pThisGroup)
 ~NodeToOutlinesBecomeA ()
 The default destructor.
virtual BOOL PassBack (NodeRenderableInk *pNewNode, NodeRenderableInk *pCreatedByNode, CCAttrMap *pAttrMap)
 This receives the paths and adds them to the group.

Private Member Functions

 CC_DECLARE_MEMDUMP (NodeToOutlinesBecomeA)

Private Attributes

NodeGrouppGroup

Detailed Description

The class that handles the convertion of a node to outlines. It receives all the paths passed back from the node, and appends them to a group object.

Author:
Mark_Neves (Xara Group Ltd) <camelotdev@xara.com>
Date:
29/1/97
WEBSTER - markn 29/1/97 Part of the general form of the system used to convert text to outlines in v1.5

Definition at line 265 of file camfiltr.cpp.


Constructor & Destructor Documentation

NodeToOutlinesBecomeA::NodeToOutlinesBecomeA NodeGroup pThisGroup  )  [inline]
 

Definition at line 269 of file camfiltr.cpp.

NodeToOutlinesBecomeA::~NodeToOutlinesBecomeA  ) 
 

The default destructor.

Author:
Mark_Neves (Xara Group Ltd) <camelotdev@xara.com>
Date:
29/8/96
Parameters:
[INPUTS] 
- [OUTPUTS]
Returns:
-
WEBSTER - markn 29/1/97 Part of the general form of the system used to convert text to outlines in v1.5
Returns:
Errors: -
See also:
-

Definition at line 7972 of file camfiltr.cpp.

07973 {
07974 }


Member Function Documentation

NodeToOutlinesBecomeA::CC_DECLARE_MEMDUMP NodeToOutlinesBecomeA   )  [private]
 

BOOL NodeToOutlinesBecomeA::PassBack NodeRenderableInk pNewNode,
NodeRenderableInk pCreatedByNode,
CCAttrMap pAttrMap
[virtual]
 

This receives the paths and adds them to the group.

Author:
Mark_Neves (Xara Group Ltd) <camelotdev@xara.com>
Date:
29/8/96
Parameters:
pNewNode = the node created by the object being made into shapes [INPUTS] pCreatedByNode = ptr to the node that created the new node pAttrMap = ptr to attrs (can be NULL)
- [OUTPUTS]
Returns:
TRUE if the new path was used successfully, FALSE if op should be aborted
WEBSTER - markn 29/1/97 Part of the general form of the system used to convert text to outlines in v1.5
Returns:
Errors: -
See also:
-

Reimplemented from BecomeA.

Definition at line 7996 of file camfiltr.cpp.

07997 {
07998 #ifdef DO_EXPORT
07999     ERROR2IF(pGroup == NULL,FALSE,"NULL group");
08000     ERROR2IF(pNewNode == NULL,FALSE,"NULL new path");
08001 
08002     // We only expect to get paths, so do a check
08003     if (!pNewNode->IsNodePath())
08004     {
08005         ERROR3("Received a node that's not a NodePath");
08006         return TRUE;
08007     }
08008 
08009     BOOL ok = TRUE;
08010 
08011     // Attach the next path as the last child of the group node
08012     pNewNode->AttachNode(pGroup,LASTCHILD);
08013 
08014     // Apply the supplied attrs, if there are any
08015     if (pAttrMap != NULL)
08016     {
08017         ok = pNewNode->ApplyAttributes(pAttrMap,TRUE);
08018         // Delete the attr map, and all it's attributes
08019         pAttrMap->DeleteAttributes();
08020         delete pAttrMap;
08021         pAttrMap = NULL;
08022     }
08023     else
08024     {
08025         // No supplied attrs, so we need to apply the applied attrs of the node that created the
08026         // path to the path itself, so that it will have the same appearence
08027 
08028         ok = FALSE; // Assume failure (as we do when promised a bonus)
08029 
08030         // Create an attr map with the applied attrs of the "created by" node
08031         pAttrMap = CCAttrMap::MakeAppliedAttrMap(pCreatedByNode);
08032         if (pAttrMap != NULL)
08033         {
08034             ok = pNewNode->ApplyAttributes(pAttrMap,TRUE);      // Apply these attrs to the path
08035             // Delete the attr map
08036             delete pAttrMap;
08037             pAttrMap = NULL;
08038         }
08039     }
08040 
08041     return ok;
08042 #else
08043     return FALSE;
08044 #endif
08045 }


Member Data Documentation

NodeGroup* NodeToOutlinesBecomeA::pGroup [private]
 

Definition at line 276 of file camfiltr.cpp.


The documentation for this class was generated from the following file:
Generated on Sat Nov 10 03:57:12 2007 for Camelot by  doxygen 1.4.4