[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

[XaraXtreme-commits] Commit Complete



Commit by  : alex
Repository : xara
Revision   : 1273
Date       : Thu Jun  8 20:42:18 BST 2006

Changed paths:
   M /Trunk/XaraLX/Kernel/ai_epsrr.h
   M /Trunk/XaraLX/Kernel/attrappl.cpp
   M /Trunk/XaraLX/Kernel/attrappl.h
   M /Trunk/XaraLX/Kernel/becomea.h
   M /Trunk/XaraLX/Kernel/bitfilt.cpp
   M /Trunk/XaraLX/Kernel/blendatt.h
   M /Trunk/XaraLX/Kernel/brpress.h
   M /Trunk/XaraLX/Kernel/brshattr.cpp
   M /Trunk/XaraLX/Kernel/brshattr.h
   M /Trunk/XaraLX/Kernel/brshcomp.h
   M /Trunk/XaraLX/Kernel/brushref.cpp
   M /Trunk/XaraLX/Kernel/clipint.cpp
   M /Trunk/XaraLX/Kernel/clipint.h
   M /Trunk/XaraLX/Kernel/cmxrendr.h
   M /Trunk/XaraLX/Kernel/docview.cpp
   M /Trunk/XaraLX/Kernel/docview.h
   M /Trunk/XaraLX/Kernel/extender.cpp
   M /Trunk/XaraLX/Kernel/fontlist.h
   M /Trunk/XaraLX/Kernel/fthrattr.cpp
   M /Trunk/XaraLX/Kernel/main2.cpp
   M /Trunk/XaraLX/Kernel/moldshap.h
   M /Trunk/XaraLX/Kernel/ncntrcnt.cpp
   M /Trunk/XaraLX/Kernel/ndbldpth.h
   M /Trunk/XaraLX/Kernel/ndbrshmk.h
   M /Trunk/XaraLX/Kernel/nodebev.cpp
   M /Trunk/XaraLX/Kernel/nodebev.h
   M /Trunk/XaraLX/Kernel/nodebldr.cpp
   M /Trunk/XaraLX/Kernel/nodeblnd.h
   M /Trunk/XaraLX/Kernel/nodecntr.cpp
   M /Trunk/XaraLX/Kernel/nodecntr.h
   M /Trunk/XaraLX/Kernel/nodecomp.cpp
   M /Trunk/XaraLX/Kernel/nodecomp.h
   M /Trunk/XaraLX/Kernel/nodecont.cpp
   M /Trunk/XaraLX/Kernel/nodeliveeffect.cpp
   M /Trunk/XaraLX/Kernel/nodeliveeffect.h
   M /Trunk/XaraLX/Kernel/nodepath.cpp
   M /Trunk/XaraLX/Kernel/nodepostpro.cpp
   M /Trunk/XaraLX/Kernel/nodepostpro.h
   M /Trunk/XaraLX/Kernel/nodetext.cpp
   M /Trunk/XaraLX/Kernel/nodetxtl.h
   M /Trunk/XaraLX/Kernel/nodetxts.cpp
   M /Trunk/XaraLX/Kernel/nodetxts.h
   M /Trunk/XaraLX/Kernel/pathedit.cpp
   M /Trunk/XaraLX/Kernel/pathedit.h
   M /Trunk/XaraLX/Kernel/pbecomea.cpp
   M /Trunk/XaraLX/Kernel/ppbrush.h
   M /Trunk/XaraLX/Kernel/rsmooth.h
   M /Trunk/XaraLX/Kernel/sglayer.h
   M /Trunk/XaraLX/Kernel/slicehelper.cpp
   M /Trunk/XaraLX/Kernel/spread.cpp
   M /Trunk/XaraLX/Kernel/spread.h
   M /Trunk/XaraLX/Kernel/swfrndr.cpp
   M /Trunk/XaraLX/Kernel/swfrndr.h
   M /Trunk/XaraLX/Kernel/undoop.cpp
   M /Trunk/XaraLX/Kernel/xpfrgn.cpp
   M /Trunk/XaraLX/PreComp/camtypes.h
   M /Trunk/XaraLX/tools/bevinfo.cpp
   M /Trunk/XaraLX/tools/bevtool.cpp
   M /Trunk/XaraLX/tools/bevtool.h
   M /Trunk/XaraLX/tools/beztool.cpp
   M /Trunk/XaraLX/tools/beztool.h
   M /Trunk/XaraLX/tools/blndtool.h
   M /Trunk/XaraLX/tools/cntrtool.cpp
   M /Trunk/XaraLX/tools/cntrtool.h
   M /Trunk/XaraLX/tools/filltool.cpp
   M /Trunk/XaraLX/tools/filltool.h
   M /Trunk/XaraLX/tools/freehand.cpp
   M /Trunk/XaraLX/tools/freehand.h
   M /Trunk/XaraLX/tools/freeinfo.cpp
   M /Trunk/XaraLX/tools/opbevel.cpp
   M /Trunk/XaraLX/tools/opbevel.h
   M /Trunk/XaraLX/tools/opdrbrsh.cpp
   M /Trunk/XaraLX/tools/opdrbrsh.h
   M /Trunk/XaraLX/tools/opfree.cpp
   M /Trunk/XaraLX/tools/opfree.h
   M /Trunk/XaraLX/tools/pentool.cpp
   M /Trunk/XaraLX/tools/pentool.h
   M /Trunk/XaraLX/tools/textops.cpp
   M /Trunk/XaraLX/tools/texttool.cpp
   M /Trunk/XaraLX/wxOil/camview.cpp

More dependency improvements


Diff:
Index: Trunk/XaraLX/tools/freehand.cpp
===================================================================
--- Trunk/XaraLX/tools/freehand.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/freehand.cpp	(revision 1273)
@@ -129,6 +129,7 @@
 //#include "freehres.h"
 #include "progress.h"
 #include "spread.h"
+#include "nodepath.h"
 
 #include "opdrbrsh.h"
 #include "opbevel.h"
Index: Trunk/XaraLX/tools/opdrbrsh.cpp
===================================================================
--- Trunk/XaraLX/tools/opdrbrsh.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/opdrbrsh.cpp	(revision 1273)
@@ -143,6 +143,7 @@
 #include "linwthop.h"
 //#include "scrcamvw.h"
 #include "ophist.h"
+#include "ppbrush.h"
 
 #include "qualattr.h"
 
Index: Trunk/XaraLX/tools/bevinfo.cpp
===================================================================
--- Trunk/XaraLX/tools/bevinfo.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/bevinfo.cpp	(revision 1273)
@@ -134,6 +134,7 @@
 #include "lineattr.h"
 //#include "simon.h"
 //#include "camvw.h"
+#include "nodebev.h"
 
 DECLARE_SOURCE( "$Revision$" );
 
Index: Trunk/XaraLX/tools/filltool.h
===================================================================
--- Trunk/XaraLX/tools/filltool.h	(revision 1272)
+++ Trunk/XaraLX/tools/filltool.h	(revision 1273)
@@ -105,7 +105,7 @@
 #include "bars.h"
 #include "range.h"
 #include "fillattr.h"
-#include "lineattr.h"
+#include "fillattr2.h"
 #include "biasgdgt.h"
 //#include "selop.h"
 #include "brshattr.h"
@@ -113,7 +113,7 @@
 //#include "opbevel.h"
 #include "dragtool.h"
 
-
+class AttrTranspFillMapping;
 class Cursor;
 class GradInfoBarOp;
 class TranspInfoBarOp;
@@ -122,6 +122,7 @@
 class AttrFillEffect;
 class SelRange;
 class OpApplyAttrInteractive;
+class AttrStrokeTransp;
 
 enum FillGeometry
 {
@@ -763,7 +764,7 @@
 	AttrRemoveStrokeTransp() : AttrValueChange() {}
 
 	virtual AttributeValue* GetAttributeValue() { return &Value; }
-	virtual CCRuntimeClass* GetAttributeType() { return CC_RUNTIME_CLASS(AttrStrokeTransp); }
+	virtual CCRuntimeClass* GetAttributeType();
 
 	virtual AttrFillGeometry* MutateFill(AttrFillGeometry* FillToMutate);
 
Index: Trunk/XaraLX/tools/opbevel.cpp
===================================================================
--- Trunk/XaraLX/tools/opbevel.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/opbevel.cpp	(revision 1273)
@@ -148,6 +148,8 @@
 #include "opliveeffects.h"
 #include "nodeliveeffect.h"
 #include "ophist.h"
+#include "nbevcont.h"
+#include "nodetext.h"
 
 // Resource headers
 //#include "bevres.h"
Index: Trunk/XaraLX/tools/cntrtool.cpp
===================================================================
--- Trunk/XaraLX/tools/cntrtool.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/cntrtool.cpp	(revision 1273)
@@ -154,6 +154,8 @@
 #include "dragmgr.h"
 #include "lineattr.h"
 #include "effects_stack.h"
+#include "blndtool.h"
+#include "nbevcont.h"
 
 DECLARE_SOURCE( "$Revision$" );
 											 	
Index: Trunk/XaraLX/tools/bevtool.cpp
===================================================================
--- Trunk/XaraLX/tools/bevtool.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/bevtool.cpp	(revision 1273)
@@ -150,7 +150,8 @@
 #include "lineattr.h"
 //#include "cntres.h"
 #include "strkattr.h"
-
+#include "nodebev.h"
+#include "nbevcont.h"
 #include "ophist.h"
 
 #ifdef BUILDSHADOWS
Index: Trunk/XaraLX/tools/beztool.cpp
===================================================================
--- Trunk/XaraLX/tools/beztool.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/beztool.cpp	(revision 1273)
@@ -152,6 +152,7 @@
 #include "nodeshad.h"
 #include "slicehelper.h"
 #include "opbevel.h"
+#include "nodebev.h"
 
 DECLARE_SOURCE("$Revision$");
 
Index: Trunk/XaraLX/tools/opfree.cpp
===================================================================
--- Trunk/XaraLX/tools/opfree.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/opfree.cpp	(revision 1273)
@@ -143,6 +143,7 @@
 #include "nodebldr.h"
 #include "opdrbrsh.h"
 #include "ophist.h"
+#include "brshattr.h"
 
 // Set things up so that the tool will be listed in the Dialog box
 DECLARE_SOURCE("$Revision$");
Index: Trunk/XaraLX/tools/pentool.cpp
===================================================================
--- Trunk/XaraLX/tools/pentool.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/pentool.cpp	(revision 1273)
@@ -128,6 +128,7 @@
 //#include "jim.h"
 #include "opbreak.h"
 #include "vkextra.h"
+#include "nodepath.h"
 
 //#include "will2.h"
 
Index: Trunk/XaraLX/tools/freehand.h
===================================================================
--- Trunk/XaraLX/tools/freehand.h	(revision 1272)
+++ Trunk/XaraLX/tools/freehand.h	(revision 1273)
@@ -109,13 +109,12 @@
 #include "doccoord.h"
 #include "wrkrect.h"
 #include "binds.h"
-#include "nodepath.h"
 //#include "grndbrsh.h"
 #include "brshcomp.h"
 #include "brshdata.h"
 #include "dragtool.h"
 
-
+class NodePath;
 class Cursor;
 class FreeHandInfoBarOp;
 class NodeBrushPath;
Index: Trunk/XaraLX/tools/freeinfo.cpp
===================================================================
--- Trunk/XaraLX/tools/freeinfo.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/freeinfo.cpp	(revision 1273)
@@ -131,6 +131,7 @@
 #include "attrmgr.h"
 #include "docvmsg.h"
 #include "colmsg.h"
+#include "brshattr.h"
 
 DECLARE_SOURCE( "$Revision$" );
 
Index: Trunk/XaraLX/tools/opbevel.h
===================================================================
--- Trunk/XaraLX/tools/opbevel.h	(revision 1272)
+++ Trunk/XaraLX/tools/opbevel.h	(revision 1273)
@@ -100,9 +100,6 @@
 #ifndef INC_OPBevel
 #define INC_OPBevel
 
-#include "nodebev.h"
-#include "nbevcont.h"
-
 #if BUILDSHADOWS
 
 //#include "selop.h"
Index: Trunk/XaraLX/tools/cntrtool.h
===================================================================
--- Trunk/XaraLX/tools/cntrtool.h	(revision 1272)
+++ Trunk/XaraLX/tools/cntrtool.h	(revision 1273)
@@ -107,7 +107,6 @@
 #include "selop.h"
 #include "biasgdgt.h"
 #include "iprofile.h"
-#include "blndtool.h"
 #include "becomea.h"
 #include "bevtrap.h"
 #include "dragtool.h"
@@ -115,6 +114,7 @@
 class ContourTool;
 class ContourInfoBarOp;
 class AttrJoinType;
+class BlendToolRef;
 
 #define OPTOKEN_CONTOURNODES _T("ContourNode")
 
Index: Trunk/XaraLX/tools/bevtool.h
===================================================================
--- Trunk/XaraLX/tools/bevtool.h	(revision 1272)
+++ Trunk/XaraLX/tools/bevtool.h	(revision 1273)
@@ -110,7 +110,6 @@
 #include "doccoord.h"
 #include "wrkrect.h"
 #include "binds.h"
-#include "nodepath.h"
 #include "bevinfo.h"
 #include "clikmods.h"
 #include "dragtool.h"
Index: Trunk/XaraLX/tools/blndtool.h
===================================================================
--- Trunk/XaraLX/tools/blndtool.h	(revision 1272)
+++ Trunk/XaraLX/tools/blndtool.h	(revision 1273)
@@ -121,6 +121,7 @@
 class NodeBlend;
 class NodeBlender;
 class BlendPath;
+class CompoundNodeTreeFactory;
 
 #define OPTOKEN_BLENDNODES  	 	_T("BlendNodes")
 #define OPTOKEN_REMOVEBLEND 	 	_T("RemoveBlend")
Index: Trunk/XaraLX/tools/texttool.cpp
===================================================================
--- Trunk/XaraLX/tools/texttool.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/texttool.cpp	(revision 1273)
@@ -138,6 +138,7 @@
 #include "spread.h"
 #include "layer.h"
 #include "nodepostpro.h"
+#include "nodepath.h"
 
 DECLARE_SOURCE( "$Revision$" );
 
Index: Trunk/XaraLX/tools/beztool.h
===================================================================
--- Trunk/XaraLX/tools/beztool.h	(revision 1272)
+++ Trunk/XaraLX/tools/beztool.h	(revision 1273)
@@ -110,13 +110,14 @@
 #include "doccoord.h"
 #include "wrkrect.h"
 #include "binds.h"
-#include "nodepath.h"
 #include "rectangl.h"
 #include "rsmooth.h"
-#include "nodeblnd.h"
+
+class NodePath;
 class Cursor;
 class BezierTool;
 class Document;
+class NodeBlend;
 //class BezToolInfoBarOp;
 
 #define OPTOKEN_BEZTOOL _T("BezierTool")
Index: Trunk/XaraLX/tools/opfree.h
===================================================================
--- Trunk/XaraLX/tools/opfree.h	(revision 1272)
+++ Trunk/XaraLX/tools/opfree.h	(revision 1273)
@@ -102,12 +102,13 @@
 
 #include "doccoord.h"
 //#include "selop.h"
-#include "nodeblnd.h"
 
+class NodeBlend;
 class OpState;
 class NodePath;
 class Path;
 class Cursor;
+class NodeGroup;
 struct FreeHandJoinInfo;
 
 #define OPTOKEN_FREEHAND _T("FreeHandTool")
Index: Trunk/XaraLX/tools/pentool.h
===================================================================
--- Trunk/XaraLX/tools/pentool.h	(revision 1272)
+++ Trunk/XaraLX/tools/pentool.h	(revision 1273)
@@ -107,9 +107,9 @@
 #include "binds.h"
 #include "bars.h"
 //#include "viewrc.h"
-#include "nodepath.h"
 #include "penedit.h"
 
+class NodePath;
 class Cursor;
 class PenToolInfoBarOp;
 
Index: Trunk/XaraLX/tools/textops.cpp
===================================================================
--- Trunk/XaraLX/tools/textops.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/textops.cpp	(revision 1273)
@@ -154,6 +154,8 @@
 #include "becomea.h"
 #include "opliveeffects.h"
 #include "ophist.h"
+#include "nodedoc.h"
+#include "nodepath.h"
 
 extern void Beep();
 
Index: Trunk/XaraLX/tools/filltool.cpp
===================================================================
--- Trunk/XaraLX/tools/filltool.cpp	(revision 1272)
+++ Trunk/XaraLX/tools/filltool.cpp	(revision 1273)
@@ -140,6 +140,7 @@
 #include "opliveeffects.h"
 #include "effects_stack.h"
 #include "nodeliveeffect.h"
+#include "lineattr.h"
 
 // Revision Number
 DECLARE_SOURCE( "$Revision$" );
@@ -10165,6 +10166,8 @@
 	return NewFill;
 }
 
+CCRuntimeClass* AttrRemoveStrokeTransp::GetAttributeType() { return CC_RUNTIME_CLASS(AttrStrokeTransp); }
+
 /********************************************************************************************
 
 >	AttrFillGeometry* AttrMakeFlatTransp::MutateFill(AttrFillGeometry* FillToMutate) 
@@ -10246,7 +10249,6 @@
 }
 
 
-
 /////////////////////////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////////////////////////
 
Index: Trunk/XaraLX/tools/opdrbrsh.h
===================================================================
--- Trunk/XaraLX/tools/opdrbrsh.h	(revision 1272)
+++ Trunk/XaraLX/tools/opdrbrsh.h	(revision 1273)
@@ -103,8 +103,7 @@
 
 #include "opfree.h"
 #include "brshcomp.h"
-#include "ndbldpth.h"
-#include "brshattr.h"
+#include "brpress.h"
 
 class AttrBrushType;
 class BlendRef;
Index: Trunk/XaraLX/Kernel/nodepostpro.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodepostpro.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodepostpro.cpp	(revision 1273)
@@ -103,6 +103,7 @@
 #include "app.h"
 #include "node.h"
 #include "nodepostpro.h"
+#include "attrmap.h"
 
 // Resource headers
 //#include "resource.h"
Index: Trunk/XaraLX/Kernel/ncntrcnt.cpp
===================================================================
--- Trunk/XaraLX/Kernel/ncntrcnt.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/ncntrcnt.cpp	(revision 1273)
@@ -151,12 +151,14 @@
 #include "blndhelp.h"
 //#include "mario.h"
 #include "nodebldr.h"
+#include "nodepath.h"
 #include "pathops.h"
 #include "fthrattr.h"
 #include "pathndge.h"
 //#include "mrhbits.h"
 #include "blndtool.h"
 #include "cmxrendr.h"
+#include "attrmap.h"
 //#include "cmxexdc.h"
 
 CC_IMPLEMENT_DYNCREATE(NodeContourController, NodeGroup)
Index: Trunk/XaraLX/Kernel/extender.cpp
===================================================================
--- Trunk/XaraLX/Kernel/extender.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/extender.cpp	(revision 1273)
@@ -113,6 +113,7 @@
 #include <list>			// for std::list.
 #include "nodeblnd.h"	// for NodeBlend
 #include "nodebldr.h"	// for NodeBlender
+#include "nodepath.h"
 
 #if 0
 #ifdef _DEBUG
Index: Trunk/XaraLX/Kernel/nodecntr.h
===================================================================
--- Trunk/XaraLX/Kernel/nodecntr.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodecntr.h	(revision 1273)
@@ -101,7 +101,6 @@
 
 #include "becomea.h"
 #include "biasgain.h"
-#include "nodepath.h"
 
 class ExtendParams;
 class NodeContourController;
Index: Trunk/XaraLX/Kernel/spread.h
===================================================================
--- Trunk/XaraLX/Kernel/spread.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/spread.h	(revision 1273)
@@ -103,11 +103,11 @@
 
 #include "npaper.h"
 #include "convert.h"
-#include "grid.h"
 #include "dibconv.h"
 #include "paldefs.h"
 #include "animparams.h"
 
+class NodeGrid;
 
 // NEW_PASTEBOARD compile switch
 // =============================
Index: Trunk/XaraLX/Kernel/attrappl.cpp
===================================================================
--- Trunk/XaraLX/Kernel/attrappl.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/attrappl.cpp	(revision 1273)
@@ -130,6 +130,8 @@
 #include "effects_stack.h"
 #include "ophist.h"
 #include "docview.h"
+#include "nodetext.h"
+#include "ppbrush.h"
 
 CC_IMPLEMENT_DYNCREATE(OpApplyAttrib, SelOperation)
 CC_IMPLEMENT_DYNCREATE(OpApplyAttribToSelected, OpApplyAttrib)
Index: Trunk/XaraLX/Kernel/brshattr.cpp
===================================================================
--- Trunk/XaraLX/Kernel/brshattr.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/brshattr.cpp	(revision 1273)
@@ -129,6 +129,7 @@
 #include "nodetext.h"
 #include "nodetxtl.h" // for our text bodges
 #include "nodetxts.h"
+#include "ppbrush.h"
 
 #ifdef NEWFASTBRUSHES
 	#include "nodebmp.h"
Index: Trunk/XaraLX/Kernel/nodeblnd.h
===================================================================
--- Trunk/XaraLX/Kernel/nodeblnd.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodeblnd.h	(revision 1273)
@@ -118,7 +118,7 @@
 
 /********************************************************************************************
 
->	class NodeBlend: public NodeRenderableInk
+>	class NodeBlend: public NodeGroup
 
 	Author:		Mark_Neves (Xara Group Ltd) <camelotdev@xxxxxxxx> M
 	Created:	6/10/94
Index: Trunk/XaraLX/Kernel/nodeliveeffect.h
===================================================================
--- Trunk/XaraLX/Kernel/nodeliveeffect.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodeliveeffect.h	(revision 1273)
@@ -100,7 +100,6 @@
 #define NODELIVEFX_H
 
 #include "ink.h"
-#include "attrmap.h"
 #include "nodepostpro.h"
 #include "cxfrech.h"
 #include "biasgain.h"
@@ -114,6 +113,7 @@
 typedef void		   *IXMLDOMDocumentPtr;
 #endif
 
+class CCAttrMap;
 class BitmapTranspFillAttribute;
 
 /***********************************************************************************************
Index: Trunk/XaraLX/Kernel/docview.cpp
===================================================================
--- Trunk/XaraLX/Kernel/docview.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/docview.cpp	(revision 1273)
@@ -173,6 +173,7 @@
 #include "colplate.h"	// For on-screen separated rendering
 
 #include "rendwnd.h"	// Shouldn't need this
+#include "draginfo.h"
 
 DECLARE_SOURCE("$Revision$");
 
Index: Trunk/XaraLX/Kernel/nodecomp.h
===================================================================
--- Trunk/XaraLX/Kernel/nodecomp.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodecomp.h	(revision 1273)
@@ -100,7 +100,6 @@
 #define NODECOMPOUND_H
 
 #include "ink.h"
-#include "attrmap.h"
 
 class NodeCompound;
 class BlendNodeParam;
Index: Trunk/XaraLX/Kernel/blendatt.h
===================================================================
--- Trunk/XaraLX/Kernel/blendatt.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/blendatt.h	(revision 1273)
@@ -104,9 +104,7 @@
 #ifndef INC_BLENDATTRPARAM
 #define INC_BLENDATTRPARAM
 
-#include "pathproc.h"
-#include "attrmap.h"
-
+class CCAttrMap;
 class NodeAttribute;
 class AttributeValue;
 class NodeRenderableInk;
Index: Trunk/XaraLX/Kernel/nodecomp.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodecomp.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodecomp.cpp	(revision 1273)
@@ -130,6 +130,7 @@
 #include "blendatt.h"
 //#include "mario.h"
 #include "pathops.h"
+#include "group.h"
 
 DECLARE_SOURCE( "$Revision$" );
 
Index: Trunk/XaraLX/Kernel/nodebldr.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodebldr.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodebldr.cpp	(revision 1273)
@@ -6402,6 +6402,41 @@
 //-------------------------------------------
 //-------------------------------------------
 
+BecomeA::BecomeA(BecomeAReason ThisReason,
+			CCRuntimeClass* pClass,
+			UndoableOperation* pOp /* = NULL */,
+			BOOL sel /*= TRUE*/,
+			BOOL First /*= FALSE*/
+			) : Reason(ThisReason), pClassToBecome(pClass), pUndoOp(pOp)
+			{	Select = sel;
+				pCallNode = NULL;
+				AmFirstNode = First;
+				fSilhouette = FALSE;
+				fShadowSilhouettes = FALSE;
+				insertComplexBlendStepsAsPaths = FALSE;
+				m_Count = 0;
+				m_bIsCounting = FALSE;
+				m_bBecomeANodePath = (pClassToBecome==CC_RUNTIME_CLASS(NodePath));
+				m_bInPlace = FALSE;
+				m_bSecondary = FALSE;
+				m_bPathsOnly = FALSE;
+			}
+
+BOOL BecomeA::BAPath() const {return m_bBecomeANodePath;}
+
+// This function should be called when Reason == BECOMEA_PASSBACK 
+// (see above for a description of this reason code)
+BOOL BecomeA::PassBack(NodeRenderableInk* pNewNode,NodeRenderableInk* pCreatedByNode,CCAttrMap* pAttrMap /*=NULL*/)
+{
+	if (pAttrMap)
+	{
+		pAttrMap->DeleteAttributes();
+		delete pAttrMap;
+	}
+	return FALSE;
+}
+
+
 /***********************************************************************************************
 
 > NodeRenderableInk * BlendBecomeA::CreateWrapNode(NodeRenderableInk * pNode, 
Index: Trunk/XaraLX/Kernel/docview.h
===================================================================
--- Trunk/XaraLX/Kernel/docview.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/docview.h	(revision 1273)
@@ -118,7 +118,6 @@
 #include "oilcoord.h"
 #include "quality.h"
 #include "docvmsg.h"
-#include "draginfo.h"
 #include "dragtrgt.h"
 #include "cursor.h"
 
@@ -141,6 +140,8 @@
 class RulerPair;
 class AttrUser;
 class NodeRenderableInk;
+class DragInformation;
+class ViewDragTarget;
 
 // Enum for the RenderOnTop function. Use one of these as a reason code to pass to it
 enum OnTopCode
Index: Trunk/XaraLX/Kernel/nodebev.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodebev.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodebev.cpp	(revision 1273)
@@ -154,6 +154,7 @@
 //#include "pmaskrgn.h"
 #include "ophist.h"
 #include "objchge.h"
+#include "attrmap.h"
 
 CC_IMPLEMENT_DYNCREATE(NodeBevel, NodeRenderableInk)
 CC_IMPLEMENT_DYNCREATE(BevelRecordHandler, CamelotRecordHandler)
Index: Trunk/XaraLX/Kernel/sglayer.h
===================================================================
--- Trunk/XaraLX/Kernel/sglayer.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/sglayer.h	(revision 1273)
@@ -108,6 +108,7 @@
 #include "layergal.h"
 
 class DocView;
+class Layer;
 
 // WEBSTER - markn 15/1/97
 // Don't need this gallery in Webster
Index: Trunk/XaraLX/Kernel/nodecntr.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodecntr.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodecntr.cpp	(revision 1273)
@@ -132,6 +132,7 @@
 #include "brshattr.h"
 #include "pbecomea.h"
 #include "ppstroke.h"
+#include "attrmap.h"
 
 #include "gclip.h"
 
Index: Trunk/XaraLX/Kernel/spread.cpp
===================================================================
--- Trunk/XaraLX/Kernel/spread.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/spread.cpp	(revision 1273)
@@ -129,6 +129,7 @@
 #include "docview.h"
 #include "optsmsgs.h"
 #include "oilbitmap.h"	// CWxBitmap
+#include "grid.h"
 
 //#include "prevwres.h"	// _R(IDS_TAG_LAYER_FRAMEPROPS)
 //#include "frameops.h" // for OpGrabAllFrames
Index: Trunk/XaraLX/Kernel/rsmooth.h
===================================================================
--- Trunk/XaraLX/Kernel/rsmooth.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/rsmooth.h	(revision 1273)
@@ -104,7 +104,6 @@
 #define INC_RETSMOOTH
 
 #include "selop.h"
-#include "nodepath.h"
 #include "doccoord.h"
 
 #define SMOOTH_MAX (2000*2000)
@@ -124,8 +123,8 @@
 
 #define ITEM_TYPE Set
 
+class NodePath;
 
-
 /******************************************************************************
 
 	class DynArray
Index: Trunk/XaraLX/Kernel/ndbldpth.h
===================================================================
--- Trunk/XaraLX/Kernel/ndbldpth.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/ndbldpth.h	(revision 1273)
@@ -102,26 +102,8 @@
 
 #include "ops.h"
 #include "nodepath.h"
+#include "brpress.h"
 
-class CPathPointInfo
-{
-public:
-	CPathPointInfo() { m_Point.x = m_Point.y = 0; m_Tangent = 0; }
-	
-	CPathPointInfo &operator=(CPathPointInfo CP)
-	{
-		m_Point.x = CP.m_Point.x; 
-		m_Point.y = CP.m_Point.y;							
-		m_Tangent = CP.m_Tangent;
-
-		return *this;
-	}
-
-public: //members				  
-	DocCoord	m_Point;
-	double		m_Tangent;
-};
-
 /***********************************************************************************************
 
 >	class NodeBlendPath : public NodePath
Index: Trunk/XaraLX/Kernel/ndbrshmk.h
===================================================================
--- Trunk/XaraLX/Kernel/ndbrshmk.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/ndbrshmk.h	(revision 1273)
@@ -109,7 +109,6 @@
 #include "blendatt.h"
 #include "nodebldr.h"
 #include "trans2d.h"
-#include "ndbldpth.h"
 #include "brushref.h"
 #include "brshcomp.h"
 
@@ -124,8 +123,8 @@
 
 class NodeBrush;
 class NodeBrushPath;
+class CPathPointInfo;
 
-
 /*
 enum PathOffset {OFFSET_NONE,
 				 OFFSET_ALTERNATE,
Index: Trunk/XaraLX/Kernel/pbecomea.cpp
===================================================================
--- Trunk/XaraLX/Kernel/pbecomea.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/pbecomea.cpp	(revision 1273)
@@ -108,6 +108,7 @@
 #include "nodepath.h"	// NodePath reference.
 #include "lineattr.h"	// for line width & colour attributes.
 #include "ndclpcnt.h"	// for ClipView path constants.
+#include "attrmap.h"
 
 DECLARE_SOURCE("$Revision$");
 
Index: Trunk/XaraLX/Kernel/nodetxts.h
===================================================================
--- Trunk/XaraLX/Kernel/nodetxts.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodetxts.h	(revision 1273)
@@ -100,9 +100,9 @@
 #define INC_NODETXTS
 
 #include "node.h"
-#include "nodepath.h"
 #include "matrix.h"
 
+class NodePath;
 class CaretNode; 
 class VisibleTextNode;
 class TextLine;
Index: Trunk/XaraLX/Kernel/brpress.h
===================================================================
--- Trunk/XaraLX/Kernel/brpress.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/brpress.h	(revision 1273)
@@ -103,11 +103,31 @@
 #ifndef INC_BRPRESS
 #define INC_BRPRESS
 
-#include "ndbldpth.h"
 class CCObject;
 class CXaraFileRecord;
 
+class BrushPointInfo;
+typedef std::map< MILLIPOINT, BrushPointInfo > PointsMap;
 
+class CPathPointInfo
+{
+public:
+	CPathPointInfo() { m_Point.x = m_Point.y = 0; m_Tangent = 0; }
+	
+	CPathPointInfo &operator=(CPathPointInfo CP)
+	{
+		m_Point.x = CP.m_Point.x; 
+		m_Point.y = CP.m_Point.y;							
+		m_Tangent = CP.m_Tangent;
+
+		return *this;
+	}
+
+public: //members				  
+	DocCoord	m_Point;
+	double		m_Tangent;
+};
+
 /********************************************************************************************
 
 >	class PressureItem : public CCObject
Index: Trunk/XaraLX/Kernel/cmxrendr.h
===================================================================
--- Trunk/XaraLX/Kernel/cmxrendr.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/cmxrendr.h	(revision 1273)
@@ -103,9 +103,10 @@
 #include "rndrgn.h"
 #include "vectrndr.h"
 #include "rrcaps.h"
-#include "nodebev.h"
 #include "nodeshad.h"
 
+class NodeBevel;
+class NodeBevelBegin;
 class CCLexFile;
 class CMXExportDC;
 
Index: Trunk/XaraLX/Kernel/nodecont.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodecont.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodecont.cpp	(revision 1273)
@@ -163,6 +163,7 @@
 #include "nodeshad.h"
 #include "nodeliveeffect.h"
 #include "ophist.h"
+#include "nodebev.h"
 
 CC_IMPLEMENT_DYNAMIC(NodeShadowController, NodeEffect)
 CC_IMPLEMENT_DYNAMIC(ShadowRecordHandler, CamelotRecordHandler)
Index: Trunk/XaraLX/Kernel/moldshap.h
===================================================================
--- Trunk/XaraLX/Kernel/moldshap.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/moldshap.h	(revision 1273)
@@ -103,7 +103,6 @@
 #include "paths.h"
 #include "binds.h"
 #include "tranform.h"
-#include "nodepath.h"
 #include "nodemold.h"
 
 class KernelBitmap;
Index: Trunk/XaraLX/Kernel/xpfrgn.cpp
===================================================================
--- Trunk/XaraLX/Kernel/xpfrgn.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/xpfrgn.cpp	(revision 1273)
@@ -114,6 +114,7 @@
 #include "strkattr.h"
 #include "brshattr.h"
 #include "vstate.h"
+#include "nodepath.h"
 #include "nodetxts.h"
 #include "nodetext.h"
 #include "nodetxtl.h"
Index: Trunk/XaraLX/Kernel/nodeliveeffect.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodeliveeffect.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodeliveeffect.cpp	(revision 1273)
@@ -119,6 +119,7 @@
 #include "lineattr.h"
 #include "blndtool.h"
 #include "nodebmp.h"
+#include "attrmap.h"
 
 // Resource headers
 //#include "resource.h"
Index: Trunk/XaraLX/Kernel/swfrndr.h
===================================================================
--- Trunk/XaraLX/Kernel/swfrndr.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/swfrndr.h	(revision 1273)
@@ -102,7 +102,6 @@
 #include "rndrgn.h"
 #include "vectrndr.h"
 #include "nodetext.h"
-#include "nodebev.h"
 #include "nodeshad.h"
 #include "swfbitmp.h"
 #include "swftext.h"
@@ -112,6 +111,9 @@
 #include "swfplace.h"
 #include "swfsprit.h"
 
+class NodeBevel;
+class NodeBevelBegin;
+
 // The following functions perform the same role as many of the macros defined in the
 // older Camelot code, but since they're based around templates, incorporate type
 // checking, and are thus safer to use.
Index: Trunk/XaraLX/Kernel/ai_epsrr.h
===================================================================
--- Trunk/XaraLX/Kernel/ai_epsrr.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/ai_epsrr.h	(revision 1273)
@@ -101,9 +101,8 @@
 #define INC_AI_EPS_RENDER_REGION
 
 #include "saveeps.h"
-#include "nodebev.h"
-#include "nodeshad.h"
 
+class NodeBevel;
 
 // Constants.
 const char	LinearGradient []	= "Linear Gradient";
Index: Trunk/XaraLX/Kernel/pathedit.cpp
===================================================================
--- Trunk/XaraLX/Kernel/pathedit.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/pathedit.cpp	(revision 1273)
@@ -148,6 +148,7 @@
 #include "samplist.h"
 #include "brshattr.h"
 #include "ophist.h"
+#include "blndtool.h"
 
 #define PATRACE if(IsUserName("Peter")) TRACE
 
Index: Trunk/XaraLX/Kernel/main2.cpp
===================================================================
--- Trunk/XaraLX/Kernel/main2.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/main2.cpp	(revision 1273)
@@ -182,6 +182,7 @@
 #include "stdbars.h"
 #include "rendwnd.h"
 #include "backgrnd.h"
+#include "blndtool.h"
 #if XAR_TREE_DIALOG
 #include "cxftree.h"
 #endif
Index: Trunk/XaraLX/Kernel/pathedit.h
===================================================================
--- Trunk/XaraLX/Kernel/pathedit.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/pathedit.h	(revision 1273)
@@ -101,12 +101,9 @@
 #define INC_PATHEDIT
 
 #include "paths.h"
-#include "nodepath.h"
 #include "rndrgn.h"
 #include "selop.h"
 #include "objchge.h"
-#include "nodeblnd.h"
-#include "blndtool.h"
 
 #define OPTOKEN_JOINSHAPEOP		_T("JoinShapes")
 #define OPTOKEN_BREAKSHAPEOP	_T("BreakShapes")
@@ -115,6 +112,7 @@
 #define OPTOKEN_ADDENDPOINT		_T("AddEndpoint")
 #define OPTOKEN_AUTOCLOSEPATHS	_T("AutoClosePaths")
 
+class NodePath;
 class Document; 
 class OperationHistory;
 class SelectionState;     
@@ -125,6 +123,8 @@
 class BezierTool;
 class Cursor;
 class AttrBrushType;
+class NodeBlend;
+class NodeGroup;
 
 /********************************************************************************************
 
Index: Trunk/XaraLX/Kernel/nodepostpro.h
===================================================================
--- Trunk/XaraLX/Kernel/nodepostpro.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodepostpro.h	(revision 1273)
@@ -100,9 +100,10 @@
 #define NODEPOSTPRO_H
 
 #include "ink.h"
-#include "attrmap.h"
 #include "nodecomp.h"
 
+class CCAttrMap;
+
 #define POSTPRO_ID_SHADOW				TEXT("Camelot/Internal/Shadow")
 #define POSTPRO_DISPLAYNAME_SHADOW		TEXT("Shadow")
 #define POSTPRO_ISDESTRUCTIVE_SHADOW	FALSE
Index: Trunk/XaraLX/Kernel/undoop.cpp
===================================================================
--- Trunk/XaraLX/Kernel/undoop.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/undoop.cpp	(revision 1273)
@@ -134,6 +134,7 @@
 #include "cutop.h"
 #include "camdoc.h"
 #include "effects_stack.h"	// for EffectsStack
+#include "attrmap.h"
 
 #ifdef _DEBUG
 #include "layermsg.h"	// layer messages for redraw layer message in debug builds
Index: Trunk/XaraLX/Kernel/swfrndr.cpp
===================================================================
--- Trunk/XaraLX/Kernel/swfrndr.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/swfrndr.cpp	(revision 1273)
@@ -119,6 +119,7 @@
 #include "strkattr.h"
 #include "ppstroke.h"
 #include "brshbeca.h"
+#include "nodebev.h"
 
 // needed for oversized object warning message (in ExportAll)
 //#include "filtrres.h"
Index: Trunk/XaraLX/Kernel/nodetxts.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodetxts.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodetxts.cpp	(revision 1273)
@@ -136,6 +136,7 @@
 #include "unicdman.h"
 #include "extender.h"	// for ExtendParams
 #include "ngcore.h"		// NameGallery, for stretching functionality
+#include "nodepath.h"
 
 // Resource headers
 //#include "mario.h"
Index: Trunk/XaraLX/Kernel/clipint.cpp
===================================================================
--- Trunk/XaraLX/Kernel/clipint.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/clipint.cpp	(revision 1273)
@@ -120,6 +120,7 @@
 #include <math.h>		// for floor()
 
 #include "nodetxts.h"	//To add text to the clipboard
+#include "nodedoc.h"
 //#include "srvritem.h"	//for justin's clever "add-text-to-the-clipboard" function
 
 //#include "will2.h"
Index: Trunk/XaraLX/Kernel/clipint.h
===================================================================
--- Trunk/XaraLX/Kernel/clipint.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/clipint.h	(revision 1273)
@@ -103,7 +103,6 @@
 #define INC_CLIPINT
 
 #include "document.h"
-#include "nodedoc.h"
 
 
 class Layer;
Index: Trunk/XaraLX/Kernel/bitfilt.cpp
===================================================================
--- Trunk/XaraLX/Kernel/bitfilt.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/bitfilt.cpp	(revision 1273)
@@ -161,6 +161,7 @@
 #include "gpalopt.h"
 #include "colplate.h"
 #include "fillattr2.h"
+#include "nodetext.h"
 
 CC_IMPLEMENT_MEMDUMP(BitmapImportOptions, CC_CLASS_MEMDUMP)
 CC_IMPLEMENT_DYNAMIC(BaseBitmapFilter, BitmapFilter)
Index: Trunk/XaraLX/Kernel/fthrattr.cpp
===================================================================
--- Trunk/XaraLX/Kernel/fthrattr.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/fthrattr.cpp	(revision 1273)
@@ -127,6 +127,7 @@
 #include "blendatt.h"		// BlendAttrParam
 #include "nodeblnd.h"		// NodeBlend
 #include "attrmap.h"		// CCAttrMap
+#include "nodepath.h"
 
 // Special cases
 #include "nodedoc.h"		// NodeDocument
Index: Trunk/XaraLX/Kernel/nodetext.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodetext.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodetext.cpp	(revision 1273)
@@ -129,6 +129,7 @@
 #include "attrmap.h"
 #include "printctl.h"
 #include "cxftext.h"
+#include "nodepath.h"
 //#include "swfrndr.h"
 
 // Resource headers
Index: Trunk/XaraLX/Kernel/nodetxtl.h
===================================================================
--- Trunk/XaraLX/Kernel/nodetxtl.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodetxtl.h	(revision 1273)
@@ -102,9 +102,11 @@
 
 #include "ink.h"
 #include "rndrgn.h"
-#include "nodetext.h"
+#include "nodetxts.h"
 #include "attrmgr.h"	// for FormatRegion::GetTracking()
 
+class EOLNode;
+class CharMetrics;
 class NodeGroup;
 class BecomeA;
 
Index: Trunk/XaraLX/Kernel/brshcomp.h
===================================================================
--- Trunk/XaraLX/Kernel/brshcomp.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/brshcomp.h	(revision 1273)
@@ -115,6 +115,16 @@
 class BrushData;
 class Range;
 
+enum ListUpdateType
+{
+	UPDATE_NONE,
+	UPDATE_LIST,
+	UPDATE_PROPORTION,
+	UPDATE_POSITION,
+	UPDATE_LISTANDPOSITION
+};
+
+
 // indicates what type of offset from the path each object will have, e.g. all left of the path,
 // all right of the path, left then right etc.
 enum PathOffset {OFFSET_NONE,
Index: Trunk/XaraLX/Kernel/nodebev.h
===================================================================
--- Trunk/XaraLX/Kernel/nodebev.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodebev.h	(revision 1273)
@@ -105,7 +105,6 @@
 // file input & output stuff
 #include "camfiltr.h"
 #include "cxftags.h"
-#include "cxfile.h"
 #include "cxfrech.h"
 #include "cxfrec.h"
 #include "attr.h"
Index: Trunk/XaraLX/Kernel/fontlist.h
===================================================================
--- Trunk/XaraLX/Kernel/fontlist.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/fontlist.h	(revision 1273)
@@ -106,8 +106,8 @@
 
 #include "listitem.h"
 #include "list.h"
+#include "attrmap.h"
 //#include "fontbase.h"
-#include "attrmap.h"
 
 class Document;
 class Node;
Index: Trunk/XaraLX/Kernel/brshattr.h
===================================================================
--- Trunk/XaraLX/Kernel/brshattr.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/brshattr.h	(revision 1273)
@@ -104,8 +104,6 @@
 #include "attrval.h"
 #include "cxfrech.h"
 #include "nodeattr.h"
-#include "ppbrush.h"
-#include "ndbldpth.h"
 #include "brshdata.h"
 #include "brpress.h"
 #include "samplist.h"
@@ -115,18 +113,8 @@
 class CDistanceSampler;
 
 
-typedef std::map< MILLIPOINT, BrushPointInfo > PointsMap;
 
 
-enum ListUpdateType
-{
-	UPDATE_NONE,
-	UPDATE_LIST,
-	UPDATE_PROPORTION,
-	UPDATE_POSITION,
-	UPDATE_LISTANDPOSITION
-};
-
 #define BRUSHPOINTSCACHE
 #define PRESSURE_INVALID 65536
 
Index: Trunk/XaraLX/Kernel/slicehelper.cpp
===================================================================
--- Trunk/XaraLX/Kernel/slicehelper.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/slicehelper.cpp	(revision 1273)
@@ -137,6 +137,7 @@
 
 #include "ophist.h"
 #include "nodebev.h"
+#include "nodetext.h"
 
 // global that is set when a bar property tag is imported to say how many bars there were beforehand
 // used by SliceHelper::MeshImportedLayersWithExistingButtonBars() and is defined in rechdoc.cpp
Index: Trunk/XaraLX/Kernel/brushref.cpp
===================================================================
--- Trunk/XaraLX/Kernel/brushref.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/brushref.cpp	(revision 1273)
@@ -114,6 +114,7 @@
 #include "nodeblnd.h"
 #include "nodeclip.h"
 #include "lineattr.h"
+#include "attrmap.h"
 
 CC_IMPLEMENT_MEMDUMP(BrushRef, BlendRef)
 CC_IMPLEMENT_MEMDUMP(BrushRefBlender, CC_CLASS_MEMDUMP);
Index: Trunk/XaraLX/Kernel/attrappl.h
===================================================================
--- Trunk/XaraLX/Kernel/attrappl.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/attrappl.h	(revision 1273)
@@ -108,7 +108,6 @@
 #define OPTOKEN_APPLYATTRINTERACTIVE	_T("ApplyAttributeInteractive")
 
 #include "selop.h"
-#include "group.h"
 #include "fillattr.h"
 
 class AttrBrushType;
Index: Trunk/XaraLX/Kernel/nodepath.cpp
===================================================================
--- Trunk/XaraLX/Kernel/nodepath.cpp	(revision 1272)
+++ Trunk/XaraLX/Kernel/nodepath.cpp	(revision 1273)
@@ -151,6 +151,7 @@
 #include "strkattr.h"	//For attrstroketype
 #include "ppstroke.h"
 #include "nodeclip.h"  // for pathbecomea
+#include "attrmap.h"
 
 // Put my version Number into the About box
 DECLARE_SOURCE( "$Revision$" );
Index: Trunk/XaraLX/Kernel/ppbrush.h
===================================================================
--- Trunk/XaraLX/Kernel/ppbrush.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/ppbrush.h	(revision 1273)
@@ -103,7 +103,6 @@
 
 #include "pathpcs.h"
 #include "brshcomp.h"
-#include "ndbldpth.h"
 #include "brshattr.h"
 #include "brpress.h"
 
Index: Trunk/XaraLX/Kernel/becomea.h
===================================================================
--- Trunk/XaraLX/Kernel/becomea.h	(revision 1272)
+++ Trunk/XaraLX/Kernel/becomea.h	(revision 1273)
@@ -100,12 +100,10 @@
 #ifndef INC_BECOMEA
 #define INC_BECOMEA
 
-#include "nodepath.h"
-#include "attrmap.h"
-
 class Node;
 class NodeRenderableInk;
 class UndoableOperation;
+class CCAttrMap;
 
 //-----------------
 
@@ -186,20 +184,7 @@
 			UndoableOperation* pOp = NULL,
 			BOOL sel = TRUE,
 			BOOL First = FALSE
-			) : Reason(ThisReason), pClassToBecome(pClass), pUndoOp(pOp)
-			{	Select = sel;
-				pCallNode = NULL;
-				AmFirstNode = First;
-				fSilhouette = FALSE;
-				fShadowSilhouettes = FALSE;
-				insertComplexBlendStepsAsPaths = FALSE;
-				m_Count = 0;
-				m_bIsCounting = FALSE;
-				m_bBecomeANodePath = (pClassToBecome==CC_RUNTIME_CLASS(NodePath));
-				m_bInPlace = FALSE;
-				m_bSecondary = FALSE;
-				m_bPathsOnly = FALSE;
-			}
+			);
 
 	virtual ~BecomeA() { }
 
@@ -233,18 +218,10 @@
 
 	// This function should be called when Reason == BECOMEA_PASSBACK 
 	// (see above for a description of this reason code)
-	virtual BOOL PassBack(NodeRenderableInk* pNewNode,NodeRenderableInk* pCreatedByNode,CCAttrMap* pAttrMap=NULL)
-	{
-		if (pAttrMap)
-		{
-			pAttrMap->DeleteAttributes();
-			delete pAttrMap;
-		}
-		return FALSE;
-	}
+	virtual BOOL PassBack(NodeRenderableInk* pNewNode,NodeRenderableInk* pCreatedByNode,CCAttrMap* pAttrMap=NULL);
 
 	// Quick function to test the common case that pClassToBecome is a CC_RUNTIME_CLASS(NodePath)
-	virtual BOOL BAPath() const {return m_bBecomeANodePath;}
+	virtual BOOL BAPath() const;
 
 	// Access functions for CanBecomeA counting
 	virtual void AddCount(UINT32 iNum) {m_Count += iNum;}
Index: Trunk/XaraLX/wxOil/camview.cpp
===================================================================
--- Trunk/XaraLX/wxOil/camview.cpp	(revision 1272)
+++ Trunk/XaraLX/wxOil/camview.cpp	(revision 1273)
@@ -117,6 +117,7 @@
 #include "vkextra.h"
 #include "brushmsg.h"
 #include "statline.h"
+#include "draginfo.h"
 
 /***************************************************************************************************************************/
 
Index: Trunk/XaraLX/PreComp/camtypes.h
===================================================================
--- Trunk/XaraLX/PreComp/camtypes.h	(revision 1272)
+++ Trunk/XaraLX/PreComp/camtypes.h	(revision 1273)
@@ -140,11 +140,12 @@
 #include "ccobject.h"
 #include "errors.h"
 #include "camstring.h"
+#include "paldefs.h"
 #if !defined(EXCLUDE_FROM_XARLIB)
 #include "app.h"
 
 #include "document.h"
-//#include "docview.h"		// GAT - Removed
+#include "docview.h"
 #include "range.h"
 #include "rndrgn.h"
 #include "tool.h"
@@ -154,9 +155,26 @@
 #include "attrval.h"
 #include "paths.h"
 #include "undoop.h"
-//#include "bars.h"
-//#include "sgallery.h"
-//#include "sgtree.h"
+#include "bars.h"
+#include "sgallery.h"
+
+// Alex added these which are included by more than 100 files
+#include "camfiltr.h"
+#include "cxfrech.h"
+#include "npaper.h"
+#include "iprofile.h"
+#include "biasgain.h"
+#include "fillattr.h"
+#include "animparams.h"
+#include "spread.h"
+#include "nodecomp.h"
+#include "rrcaps.h"
+#include "fillval.h"
+#include "cxfdefs.h"
+#include "becomea.h"
+#include "cxfrec.h"
+#include "group.h"
+
 #endif
 
 //-----------------------------------------------------------------------------------------//
@@ -185,4 +203,116 @@
 	XMILLIPOINT	y;
 };
 
+// The following are included automatically by the above (for reference)
+//#include "arrows.h"
+//#include "attr.h"
+//#include "attrmgr.h"
+//#include "barmsg.h"
+//#include "basedoc.h"
+//#include "basestr.h"
+//#include "binds.h"
+//#include "binreloc.h"
+//#include "bitmap.h"
+//#include "bitmapcache.h"
+//#include "bitmapcachekey.h"
+//#include "bmplist.h"
+//#include "camtypes.h"
+//#include "capturemanager.h"
+//#include "ccfile.h"
+//#include "clikmods.h"
+//#include "colcarry.h"
+//#include "colmodel.h"
+//#include "compatdef.h"
+//#include "convert.h"
+//#include "coord.h"
+//#include "cursor.h"
+//#include "defalloc.h"
+//#include "dialogop.h"
+//#include "dibconv.h"
+//#include "dibutil.h"
+//#include "dlgtypes.h"
+//#include "doccolor.h"
+//#include "doccomp.h"
+//#include "doccoord.h"
+//#include "dockbar.h"
+//#include "docmsgs.h"
+//#include "docrect.h"
+//#include "docvmsg.h"
+//#include "dragtrgt.h"
+//#include "ensure.h"
+//#include "epsclist.h"
+//#include "epsstack.h"
+//#include "exception.h"
+//#include "filters.h"
+//#include "fix24.h"
+//#include "fixed.h"
+//#include "fixed16.h"
+//#include "fixed24.h"
+//#include "fixmem.h"
+//#include "fixst128.h"
+//#include "fixst256.h"
+//#include "fixstr16.h"
+//#include "fixstr32.h"
+//#include "fixstr64.h"
+//#include "fixstr8.h"
+//#include "flags.h"
+//#include "fontclass.h"
+//#include "fraclist.h"
+//#include "gconsts.h"
+//#include "genlist.h"
+//#include "genstack.h"
+//#include "gradtype.h"
+//#include "handles.h"
+//#include "iterator.h"
+//#include "list.h"
+//#include "listitem.h"
+//#include "matrix.h"
+//#include "memblk.h"
+//#include "memdebug.h"
+//#include "memory.h"
+//#include "mfccontainer.h"
+//#include "monotime.h"
+//#include "msg.h"
+//#include "node.h"
+//#include "oilcoord.h"
+//#include "oilfltrs.h"
+//#include "oilrect.h"
+//#include "opdesc.h"
+//#include "ops.h"
+//#include "outptdib.h"
+//#include "outptgif.h"
+//#include "pathname.h"
+//#include "pathshap.h"
+//#include "pathtype.h"
+//#include "prefs.h"
+//#include "pump.h"
+//#include "quality.h"
+//#include "ralphint.h"
+//#include "rect.h"
+//#include "release.h"
+//#include "rendtype.h"
+//#include "rgnlist.h"
+//#include "rndstack.h"
+//#include "selmsg.h"
+//#include "selop.h"
+//#include "selstate.h"
+//#include "sgscan.h"
+//#include "sgtree.h"
+//#include "slowjob.h"
+//#include "stockcol.h"
+//#include "thumb.h"
+//#include "tranform.h"
+//#include "trans2d.h"
+//#include "txtattr.h"
+//#include "units.h"
+//#include "unittype.h"
+//#include "varstr.h"
+//#include "view.h"
+//#include "wincoord.h"
+//#include "winrect.h"
+//#include "wrkcoord.h"
+//#include "xlong.h"
+//#include "xmatrix.h"
+
+
 #endif		// !INC_CAMTYPES


Xara