So I thought I might keep people posted on where things are heading and continue the series by showing whats changed here:

First off this is brand new:

Code:
CoOrd = Packed Object
		X,Y: Int64;
		
		procedure SetValue(lX,lY: Int64);
		procedure Empty();
	    end;
	Primitive = Object
		Filled: Boolean;
		FillColour: Colour;
		
		Points: Int64;
		PointPosition: array [1..500] of CoOrd;
		
		LineColour: Colour;
		
		procedure SetPoints(Data: array of CoOrd);
		procedure DrawFill(Val: Boolean);
		procedure SetFillColour(R, G, B, Alpha: Int64);
		procedure SetLineColour(R, G, B, Alpha: Int64);
		procedure Draw(X,Y: Int64);
	    end;
and thats really it so far for the datatypes. I use packed records because I sympathize with the fact that you will most likely use CoOrds in your program - and lots of them... No actually, I wanted to try it out as a performance test. Might be better optimization soon. I just found managing 36,000 of them on 512mb of ram a bit tricky - that was my solution. A quad core CPU can handle the packed part... Dont ask about specs; I'm confused also.

In terms of new procs/funcs (procedures/functions for absolute newbies) theres:
Code:
function CoOrdinate(lX, lY: Int64): CoOrd;
and that sums it up so far... feel free to comment on this if you have any suggestions or problems.