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.
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 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