BlendPathBecomeA Class Reference

This gets a list of all the blenders in pNodeBlend. The it calls Deinit() followed by Reinit() on the blenders. The Reinit() is sent the actual object pointers to the objects they blended. More...

Inheritance diagram for BlendPathBecomeA:

BecomeA List of all members.

Public Member Functions

 BlendPathBecomeA (UndoableOperation *pOp)
 ~BlendPathBecomeA ()
virtual BOOL PassBack (NodeRenderableInk *pNewNode, NodeRenderableInk *pCreatedByNode, CCAttrMap *pAttrMap=NULL)
NodePathGetNodePath ()
CCAttrMapGetAttrMap ()

Private Attributes

NodePathm_pNodePath
CCAttrMapm_pAttrMap

Detailed Description

This gets a list of all the blenders in pNodeBlend. The it calls Deinit() followed by Reinit() on the blenders. The Reinit() is sent the actual object pointers to the objects they blended.

Author:
Mark_Neves (Xara Group Ltd) <camelotdev@xara.com>
Date:
15/11/94
Parameters:
pThisNodeBlend = ptr to a blend node [INPUTS]
- [OUTPUTS]
Returns:
TRUE if all OK, FALSE otherwise

Errors: -

See also:
-

Definition at line 4878 of file blndtool.cpp.


Constructor & Destructor Documentation

BlendPathBecomeA::BlendPathBecomeA UndoableOperation pOp  )  [inline]
 

Definition at line 4881 of file blndtool.cpp.

04881                                              : BecomeA(BECOMEA_PASSBACK,CC_RUNTIME_CLASS(NodePath),pOp)
04882     {
04883         m_pNodePath         = NULL;
04884         m_pAttrMap          = NULL;
04885     }

BlendPathBecomeA::~BlendPathBecomeA  )  [inline]
 

Definition at line 4887 of file blndtool.cpp.

04888     {
04889         if (m_pNodePath != NULL)
04890             delete m_pNodePath;
04891 
04892         if (m_pAttrMap != NULL)
04893         {
04894             m_pAttrMap->DeleteAttributes();
04895             delete m_pAttrMap;
04896         }
04897     }


Member Function Documentation

CCAttrMap* BlendPathBecomeA::GetAttrMap  )  [inline]
 

Definition at line 4964 of file blndtool.cpp.

04964 { return m_pAttrMap; }

NodePath* BlendPathBecomeA::GetNodePath  )  [inline]
 

Definition at line 4963 of file blndtool.cpp.

04963 { return m_pNodePath; }

virtual BOOL BlendPathBecomeA::PassBack NodeRenderableInk pNewNode,
NodeRenderableInk pCreatedByNode,
CCAttrMap pAttrMap = NULL
[inline, virtual]
 

Reimplemented from BecomeA.

Definition at line 4899 of file blndtool.cpp.

04900     {
04901         ERROR2IF(pCreatedByNode == NULL,FALSE,"pCreatedByNode == NULL");
04902         ERROR2IF(pNewNode == NULL,FALSE,"pNewNode == NULL");
04903         ERROR2IF(!pNewNode->IsKindOf(CC_RUNTIME_CLASS(NodePath)),FALSE,"pNewNode not a kind of NodePath");
04904 
04905         BOOL ok = FALSE;
04906         if (m_pNodePath == NULL)
04907         {
04908             m_pNodePath = new NodePath;
04909             if (m_pNodePath)
04910             {
04911                 if (!m_pNodePath->SetUpPath())
04912                 {
04913                     delete m_pNodePath;
04914                     m_pNodePath = NULL;
04915                 }
04916 
04917             }
04918         }
04919 
04920         if (m_pNodePath)
04921         {
04922             Path& PassedPath = ((NodePath*)pNewNode)->InkPath;
04923             INT32 Len = PassedPath.GetNumCoords();
04924 
04925                     ok = m_pNodePath->InkPath.MakeSpaceInPath(Len);
04926             if (ok) ok = m_pNodePath->InkPath.MergeTwoPaths(PassedPath);
04927         }
04928 
04929         if (m_pAttrMap == NULL)
04930         {
04931             if (pAttrMap == NULL)
04932             {
04933                 CCAttrMap* pTempAttrMap = CCAttrMap::MakeAppliedAttrMap(pCreatedByNode);
04934                 if (pTempAttrMap)
04935                 {
04936                     m_pAttrMap = pTempAttrMap->Copy();
04937                     delete pTempAttrMap;
04938                 }
04939             }
04940             else
04941                 m_pAttrMap = pAttrMap;
04942         }
04943         else
04944         {
04945             if (pAttrMap != NULL)
04946             {
04947                 pAttrMap->DeleteAttributes();
04948                 delete pAttrMap;
04949                 pAttrMap = NULL;
04950             }
04951         }
04952 
04953         if (pNewNode)
04954         {
04955             pNewNode->CascadeDelete();
04956             delete pNewNode;
04957             pNewNode = NULL;
04958         }
04959 
04960         return ok;
04961     }


Member Data Documentation

CCAttrMap* BlendPathBecomeA::m_pAttrMap [private]
 

Definition at line 4968 of file blndtool.cpp.

NodePath* BlendPathBecomeA::m_pNodePath [private]
 

Definition at line 4967 of file blndtool.cpp.


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