AttrMitreLimit Class Reference

Mitre Limit Attribute class. More...

#include <lineattr.h>

Inheritance diagram for AttrMitreLimit:

NodeAttribute NodeRenderable Node CCObject SimpleCCObject List of all members.

Public Member Functions

 AttrMitreLimit ()
 Default constructor for Join Type Attribute class.
 AttrMitreLimit (Node *ContextNode, AttachNodeDirection Direction, BOOL Locked=FALSE, BOOL Mangled=FALSE, BOOL Marked=FALSE, BOOL Selected=FALSE)
 Creates a MitreLimit Attribute.
void Render (RenderRegion *pRender)
 'Renders' a MitreLimit attribute.
NodeSimpleCopy ()
 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 AttributeValueGetAttributeValue ()
virtual CCRuntimeClassGetAttributeType ()
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 mitre limit record to the filter.
virtual BOOL WritePreChildrenNative (BaseCamelotFilter *pFilter)

Public Attributes

MitreLimitAttribute Value

Private Member Functions

void CopyNodeContents (AttrMitreLimit *NodeCopy)
 This method copies the node's contents to the node pointed to by NodeCopy.

Detailed Description

Mitre Limit Attribute class.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
09/7/93

Definition at line 661 of file lineattr.h.


Constructor & Destructor Documentation

AttrMitreLimit::AttrMitreLimit  ) 
 

Default constructor for Join Type Attribute class.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
9/7/93
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:
-

Definition at line 2977 of file lineattr.cpp.

02977                                : NodeAttribute()
02978 {
02979 }

AttrMitreLimit::AttrMitreLimit Node ContextNode,
AttachNodeDirection  Direction,
BOOL  Locked = FALSE,
BOOL  Mangled = FALSE,
BOOL  Marked = FALSE,
BOOL  Selected = FALSE
 

Creates a MitreLimit Attribute.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
9/7/93
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:
-

Definition at line 2952 of file lineattr.cpp.

02958              : NodeAttribute(ContextNode, Direction, Locked, Mangled, Marked, Selected)  
02959 {                         
02960 } 


Member Function Documentation

void AttrMitreLimit::CopyNodeContents AttrMitreLimit NodeCopy  )  [private]
 

This method copies the node's contents to the node pointed to by NodeCopy.

Author:
Simon_Maneggio (Xara Group Ltd) <camelotdev@xara.com>
Date:
28/4/93
Parameters:
[INPUTS] 
A copy of this node [OUTPUTS]
Returns:
-

Errors: An assertion failure will occur if NodeCopy is NULL

Scope: protected

Definition at line 3094 of file lineattr.cpp.

03095 {
03096     NodeAttribute::CopyNodeContents( NodeCopy );
03097     NodeCopy->Value.MitreLimit = Value.MitreLimit; 
03098 } 

virtual BOOL AttrMitreLimit::EffectsParentBounds  )  [inline, virtual]
 

Virtual function for determining if the node will effect it's parent bounds. eg. ArrowHeads.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
4/4/95
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
TRUE if the node will effect the bounds of it's parent.
See also:
NodeAttribute::GetAttrBoundingRect

Reimplemented from NodeAttribute.

Definition at line 684 of file lineattr.h.

00684 { return TRUE; }

virtual AttrIndex AttrMitreLimit::GetAttributeIndex  )  [inline, virtual]
 

Reimplemented from NodeAttribute.

Definition at line 682 of file lineattr.h.

00682 { return ATTR_MITRELIMIT; }

virtual CCRuntimeClass* AttrMitreLimit::GetAttributeType  )  [inline, virtual]
 

Reimplemented from NodeAttribute.

Definition at line 681 of file lineattr.h.

00681 { return CC_RUNTIME_CLASS(AttrMitreLimit); }

virtual AttributeValue* AttrMitreLimit::GetAttributeValue  )  [inline, virtual]
 

Reimplemented from NodeAttribute.

Definition at line 680 of file lineattr.h.

00680 { return &Value; }

UINT32 AttrMitreLimit::GetAttrNameID void   )  [virtual]
 

Returns back a string resource ID describing the attribute.

Author:
Simon_Maneggio (Xara Group Ltd) <camelotdev@xara.com>
Date:
22/2/94
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
Attribute description ID

Errors: -

See also:
-

Reimplemented from NodeAttribute.

Definition at line 3071 of file lineattr.cpp.

03072 {
03073     return (_R(IDS_MITRE_LIMIT)); 
03074 }                               

void AttrMitreLimit::GetDebugDetails StringBase Str  )  [virtual]
 

For obtaining debug information about the Node.

Author:
Simon_Maneggio (Xara Group Ltd) <camelotdev@xara.com>
Date:
21/9/93
Parameters:
Str,: String giving debug info about the node [OUTPUTS]

Reimplemented from NodeRenderable.

Definition at line 3144 of file lineattr.cpp.

03145 {
03146 #ifdef _DEBUG
03147     NodeAttribute::GetDebugDetails( Str );
03148 
03149     String_256 TempStr;
03150     TempStr._MakeMsg( TEXT("\r\nMitre limit=#1%ld\r\n"), Value.MitreLimit );
03151     (*Str) += TempStr;
03152 #endif
03153 }

UINT32 AttrMitreLimit::GetNodeSize  )  const [virtual]
 

For finding the size of the node.

Author:
Simon_Maneggio (Xara Group Ltd) <camelotdev@xara.com>
Date:
6/10/93
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
The size of the node in bytes
See also:
Node::GetSubtreeSize

Reimplemented from Node.

Definition at line 3170 of file lineattr.cpp.

03171 {     
03172     return (sizeof(AttrMitreLimit)); 
03173 }  

INT32 AttrMitreLimit::operator== const NodeAttribute Attrib  )  [virtual]
 

A virtual comparison operator. See NodeAttribute::operator== for a description of why it's required.

Author:
Simon_Maneggio (Xara Group Ltd) <camelotdev@xara.com>
Date:
9/2/94
Parameters:
Atrib,: The attribute to compare, which must be an AttrMitreLimit [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: An ENSURE failure will occur if Attrib does not have a AttrMitreLimit runtime class.

See also:
NodeAttribute::operator==

Reimplemented from NodeAttribute.

Definition at line 3047 of file lineattr.cpp.

03048 {
03049     ENSURE(Attrib.IsKindOf(CC_RUNTIME_CLASS(AttrMitreLimit)),
03050         "Trying to compare two objects with different types"); 
03051     AttrMitreLimit* Attr = (AttrMitreLimit*) &Attrib;
03052     return (Attr->Value.MitreLimit == Value.MitreLimit); 
03053 } 

void AttrMitreLimit::PolyCopyNodeContents NodeRenderable pNodeCopy  )  [virtual]
 

Polymorphically copies the contents of this node to another.

Author:
Phil_Martin (Xara Group Ltd) <camelotdev@xara.com>
Date:
18/12/2003
Parameters:
- [OUTPUTS]
Returns:
Errors: An assertion failure will occur if NodeCopy is NULL Scope: protected

Reimplemented from NodeRenderable.

Definition at line 3114 of file lineattr.cpp.

03115 {
03116     ENSURE(pNodeCopy, "Trying to copy a node's contents into a NULL node");
03117     ENSURE(IS_A(pNodeCopy, AttrMitreLimit), "PolyCopyNodeContents given wrong dest node type");
03118 
03119     if (IS_A(pNodeCopy, AttrMitreLimit))
03120         CopyNodeContents((AttrMitreLimit*)pNodeCopy);
03121 }

void AttrMitreLimit::Render RenderRegion pRender  )  [virtual]
 

'Renders' a MitreLimit attribute.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
9/7/93
Parameters:
- [INPUTS]
- [OUTPUTS]
Returns:
-

Errors: -

See also:
-

Reimplemented from NodeAttribute.

Definition at line 2996 of file lineattr.cpp.

02997 {
02998     pRender->SetMitreLimit(&Value, FALSE);
02999 }

Node * AttrMitreLimit::SimpleCopy void   )  [virtual]
 

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.

Author:
Will_Cowling (Xara Group Ltd) <camelotdev@xara.com>
Date:
9/7/93
Parameters:
- [INPUTS]
[OUTPUTS] 
Returns:
A copy of the node, or NULL if memory runs out

Errors: If memory runs out when trying to copy, then ERROR is called with an out of memory error and the function returns NULL.

Scope: protected

Reimplemented from NodeAttribute.

Definition at line 3020 of file lineattr.cpp.

03021 {
03022     AttrMitreLimit* NodeCopy = new AttrMitreLimit();
03023     ERRORIF(NodeCopy == NULL, _R(IDE_NOMORE_MEMORY), NULL); 
03024     CopyNodeContents(NodeCopy);
03025     return NodeCopy;
03026 }    

BOOL AttrMitreLimit::WritePreChildrenNative BaseCamelotFilter pFilter  )  [virtual]
 

Reimplemented from Node.

Definition at line 3211 of file lineattr.cpp.

03212 {
03213 #ifdef DO_EXPORT
03214     return WritePreChildrenWeb(pFilter);
03215 #else
03216     return FALSE;
03217 #endif
03218 }

BOOL AttrMitreLimit::WritePreChildrenWeb BaseCamelotFilter pFilter  )  [virtual]
 

Writes the mitre limit record to the filter.

> virtual BOOL AttrMitreLimit::WritePreChildrenWeb(BaseCamelotFilter* pFilter)

Author:
Mark_Neves (Xara Group Ltd) <camelotdev@xara.com>
Date:
30/5/96
Parameters:
pFilter = ptr to the filter [INPUTS]
Returns:
TRUE if record is written, FALSE if not
See also:
-

Reimplemented from Node.

Definition at line 3191 of file lineattr.cpp.

03192 {
03193 #ifdef DO_EXPORT
03194     ERROR2IF(pFilter == NULL,FALSE,"NULL filter param");
03195 
03196     CamelotFileRecord Rec(pFilter,TAG_MITRELIMIT,TAG_MITRELIMIT_SIZE);
03197 
03198     BOOL ok = Rec.Init();
03199     if (ok) ok = Rec.WriteINT32(Value.MitreLimit);
03200     if (ok) ok = pFilter->Write(&Rec);
03201 
03202     return ok;
03203 #else
03204     return FALSE;
03205 #endif
03206 }


Member Data Documentation

MitreLimitAttribute AttrMitreLimit::Value
 

Definition at line 703 of file lineattr.h.


The documentation for this class was generated from the following files:
Generated on Sat Nov 10 03:50:27 2007 for Camelot by  doxygen 1.4.4