#include <lineattr.h>
Inheritance diagram for AttrJoinType:
Public Member Functions | |
AttrJoinType () | |
Default constructor for Join Type Attribute class. | |
AttrJoinType (Node *ContextNode, AttachNodeDirection Direction, BOOL Locked=FALSE, BOOL Mangled=FALSE, BOOL Marked=FALSE, BOOL Selected=FALSE) | |
Creates a JoinType Attribute. | |
void | Render (RenderRegion *pRender) |
'Renders' a JoinType attribute. | |
Node * | SimpleCopy () |
This method returns a shallow copy of the node with all Node pointers NULL. The function is virtual, and must be defined for all derived classes. | |
virtual INT32 | operator== (const NodeAttribute &NodeAttrib) |
A virtual comparison operator. See NodeAttribute::operator== for a description of why it's required. | |
virtual UINT32 | GetAttrNameID (void) |
Returns back a string resource ID describing the attribute. | |
virtual AttributeValue * | GetAttributeValue () |
virtual CCRuntimeClass * | GetAttributeType () |
virtual AttrIndex | GetAttributeIndex () |
virtual BOOL | EffectsParentBounds () |
Virtual function for determining if the node will effect it's parent bounds. eg. ArrowHeads. | |
void | GetDebugDetails (StringBase *Str) |
For obtaining debug information about the Node. | |
virtual UINT32 | GetNodeSize () const |
For finding the size of the node. | |
virtual void | PolyCopyNodeContents (NodeRenderable *pNodeCopy) |
Polymorphically copies the contents of this node to another. | |
virtual BOOL | WritePreChildrenWeb (BaseCamelotFilter *pFilter) |
Writes the join type record to the filter. | |
virtual BOOL | WritePreChildrenNative (BaseCamelotFilter *pFilter) |
Public Attributes | |
JoinTypeAttribute | Value |
Private Member Functions | |
void | CopyNodeContents (AttrJoinType *NodeCopy) |
This method copies the node's contents to the node pointed to by NodeCopy. |
Definition at line 606 of file lineattr.h.
|
Default constructor for Join Type Attribute class.
Definition at line 2671 of file lineattr.cpp. 02671 : NodeAttribute() 02672 { 02673 }
|
|
Creates a JoinType Attribute.
Definition at line 2646 of file lineattr.cpp. 02652 : NodeAttribute(ContextNode, Direction, Locked, Mangled, Marked, Selected) 02653 { 02654 }
|
|
This method copies the node's contents to the node pointed to by NodeCopy.
Definition at line 2789 of file lineattr.cpp. 02790 { 02791 NodeAttribute::CopyNodeContents( NodeCopy ); 02792 NodeCopy->Value.JoinType = Value.JoinType; 02793 02794 }
|
|
Virtual function for determining if the node will effect it's parent bounds. eg. ArrowHeads.
Reimplemented from NodeAttribute. Definition at line 629 of file lineattr.h. 00629 { return TRUE; }
|
|
Reimplemented from NodeAttribute. Definition at line 627 of file lineattr.h. 00627 { return ATTR_JOINTYPE; }
|
|
Reimplemented from NodeAttribute. Definition at line 626 of file lineattr.h. 00626 { return CC_RUNTIME_CLASS(AttrJoinType); }
|
|
Reimplemented from NodeAttribute. Definition at line 625 of file lineattr.h. 00625 { return &Value; }
|
|
Returns back a string resource ID describing the attribute.
Reimplemented from NodeAttribute. Definition at line 2766 of file lineattr.cpp. 02767 { 02768 return (_R(IDS_JOIN_TYPE)); 02769 }
|
|
For obtaining debug information about the Node.
Reimplemented from NodeRenderable. Definition at line 2840 of file lineattr.cpp. 02841 { 02842 #ifdef _DEBUG 02843 NodeAttribute::GetDebugDetails( Str ); 02844 02845 String_256 TempStr; 02846 char *p; 02847 switch (Value.JoinType) 02848 { 02849 case MitreJoin: p = "Mitre"; break; 02850 case RoundJoin: p = "Round"; break; 02851 case BevelledJoin: p = "Bevelled"; break; 02852 default: p = "??"; break; 02853 } 02854 TempStr._MakeMsg( TEXT("\r\nJoin type=#1%s\r\n"), p ); 02855 (*Str) += TempStr; 02856 #endif 02857 }
|
|
For finding the size of the node.
Reimplemented from Node. Definition at line 2875 of file lineattr.cpp. 02876 { 02877 return (sizeof(AttrJoinType)); 02878 }
|
|
A virtual comparison operator. See NodeAttribute::operator== for a description of why it's required.
Reimplemented from NodeAttribute. Definition at line 2742 of file lineattr.cpp. 02743 { 02744 ENSURE(Attrib.IsKindOf(CC_RUNTIME_CLASS(AttrJoinType)), 02745 "Trying to compare two objects with different types"); 02746 AttrJoinType* Attr = (AttrJoinType*) &Attrib; 02747 return (Attr->Value.JoinType == Value.JoinType); 02748 }
|
|
Polymorphically copies the contents of this node to another.
Reimplemented from NodeRenderable. Definition at line 2810 of file lineattr.cpp. 02811 { 02812 ENSURE(pNodeCopy, "Trying to copy a node's contents into a NULL node"); 02813 ENSURE(IS_A(pNodeCopy, AttrJoinType), "PolyCopyNodeContents given wrong dest node type"); 02814 02815 if (IS_A(pNodeCopy, AttrJoinType)) 02816 CopyNodeContents((AttrJoinType*)pNodeCopy); 02817 }
|
|
'Renders' a JoinType attribute.
Reimplemented from NodeAttribute. Definition at line 2690 of file lineattr.cpp. 02691 { 02692 pRender->SetJoinType(&Value, FALSE); 02693 }
|
|
This method returns a shallow copy of the node with all Node pointers NULL. The function is virtual, and must be defined for all derived classes.
Reimplemented from NodeAttribute. Definition at line 2714 of file lineattr.cpp. 02715 { 02716 AttrJoinType* NodeCopy = new AttrJoinType(); 02717 ERRORIF(NodeCopy == NULL, _R(IDE_NOMORE_MEMORY), NULL); 02718 CopyNodeContents(NodeCopy); 02719 02720 return NodeCopy; 02721 }
|
|
Reimplemented from Node. Definition at line 2916 of file lineattr.cpp. 02917 { 02918 #ifdef DO_EXPORT 02919 return WritePreChildrenWeb(pFilter); 02920 #else 02921 return FALSE; 02922 #endif 02923 }
|
|
Writes the join type record to the filter. > virtual BOOL AttrJoinType::WritePreChildrenWeb(BaseCamelotFilter* pFilter)
Reimplemented from Node. Definition at line 2896 of file lineattr.cpp. 02897 { 02898 #ifdef DO_EXPORT 02899 ERROR2IF(pFilter == NULL,FALSE,"NULL filter param"); 02900 02901 CamelotFileRecord Rec(pFilter,TAG_JOINSTYLE,TAG_JOINSTYLE_SIZE); 02902 02903 BOOL ok = Rec.Init(); 02904 if (ok) ok = Rec.WriteBYTE(BYTE(Value.JoinType)); 02905 if (ok) ok = pFilter->Write(&Rec); 02906 02907 return ok; 02908 #else 02909 return FALSE; 02910 #endif 02911 }
|
|
Definition at line 648 of file lineattr.h. |