// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.


#include "stdafx.h"
#include "canvas.h"

// Dispatch interfaces referenced by this interface
#include "Brush.h"
#include "pen.h"
#include "chartfont.h"
#include "TeePoint3D.h"


/////////////////////////////////////////////////////////////////////////////
// CCanvas properties

/////////////////////////////////////////////////////////////////////////////
// CCanvas operations

CBrush1 CCanvas::GetBrush()
{
	LPDISPATCH pDispatch;
	InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
	return CBrush1(pDispatch);
}

CPen1 CCanvas::GetPen()
{
	LPDISPATCH pDispatch;
	InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
	return CPen1(pDispatch);
}

void CCanvas::LineTo(long X, long Y)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4;
	InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y);
}

void CCanvas::MoveTo(long X, long Y)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4;
	InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y);
}

void CCanvas::Rectangle(long Left, long Top, long Right, long Bottom)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Top, Right, Bottom);
}

CChartFont CCanvas::GetFont()
{
	LPDISPATCH pDispatch;
	InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
	return CChartFont(pDispatch);
}

void CCanvas::Arc(long X1, long Y1, long X2, long Y2, long X3, long Y3, long X4, long Y4)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x7, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X1, Y1, X2, Y2, X3, Y3, X4, Y4);
}

void CCanvas::Ellipse(long X1, long Y1, long X2, long Y2)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x8, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X1, Y1, X2, Y2);
}

void CCanvas::TextOut(long X, long Y, LPCTSTR Text)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_BSTR;
	InvokeHelper(0x9, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Text);
}

long CCanvas::TextHeight(LPCTSTR SomeText)
{
	long result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0xa, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		SomeText);
	return result;
}

long CCanvas::TextWidth(LPCTSTR SomeText)
{
	long result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0xb, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		SomeText);
	return result;
}

void CCanvas::ClipRectangle(long Left, long Top, long Right, long Bottom)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x25, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Top, Right, Bottom);
}

void CCanvas::UnClipRectangle()
{
	InvokeHelper(0x50, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

void CCanvas::RotateLabel(long X, long Y, LPCTSTR St, long RotDegree)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_BSTR VTS_I4;
	InvokeHelper(0x46, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, St, RotDegree);
}

BOOL CCanvas::IsScreenHighColor()
{
	BOOL result;
	InvokeHelper(0x2f, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
	return result;
}

long CCanvas::GetTop()
{
	long result;
	InvokeHelper(0xc, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

long CCanvas::GetLeft()
{
	long result;
	InvokeHelper(0xd, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

long CCanvas::GetWidth()
{
	long result;
	InvokeHelper(0xe, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

long CCanvas::GetHeight()
{
	long result;
	InvokeHelper(0xf, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

long CCanvas::GetBackMode()
{
	long result;
	InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CCanvas::SetBackMode(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x10, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

unsigned long CCanvas::GetBackColor()
{
	unsigned long result;
	InvokeHelper(0x11, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CCanvas::SetBackColor(unsigned long newValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x11, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 newValue);
}

BOOL CCanvas::GetSupportsFullRotation()
{
	BOOL result;
	InvokeHelper(0x12, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

BOOL CCanvas::GetUseBuffer()
{
	BOOL result;
	InvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

void CCanvas::SetUseBuffer(BOOL bNewValue)
{
	static BYTE parms[] =
		VTS_BOOL;
	InvokeHelper(0x13, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 bNewValue);
}

void CCanvas::Pie3D(long XCenter, long YCenter, long XRadius, long YRadius, long Z0, long Z1, double StartAngle, double EndAngle, BOOL DarkSides, BOOL DrawSides)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_R8 VTS_R8 VTS_BOOL VTS_BOOL;
	InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 XCenter, YCenter, XRadius, YRadius, Z0, Z1, StartAngle, EndAngle, DarkSides, DrawSides);
}

void CCanvas::LineWithZ(long X0, long Y0, long X1, long Y1, long Z)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x16, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X0, Y0, X1, Y1, Z);
}

void CCanvas::MoveTo3D(long X, long Y, long Z)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x17, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Z);
}

void CCanvas::LineTo3D(long X, long Y, long Z)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x18, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Z);
}

void CCanvas::Plane3D(long X0, long Y0, long X1, long Y1, long Z0, long Z1)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x19, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X0, Y0, X1, Y1, Z0, Z1);
}

void CCanvas::ZLine3D(long X, long Y, long Z0, long Z1)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x1a, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Z0, Z1);
}

void CCanvas::RotateLabel3D(long X, long Y, long Z, LPCTSTR St, long RotDegree)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_BSTR VTS_I4;
	InvokeHelper(0x1b, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Z, St, RotDegree);
}

long CCanvas::GetTextAlign()
{
	long result;
	InvokeHelper(0x1c, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CCanvas::SetTextAlign(long nNewValue)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x1c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 nNewValue);
}

void CCanvas::VertLine3D(long X, long Top, long Bottom, long Z)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x1d, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Top, Bottom, Z);
}

void CCanvas::HorizLine3D(long Left, long Right, long Y, long Z)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x1e, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Right, Y, Z);
}

void CCanvas::Cylinder(BOOL Vertical, long Left, long Top, long Right, long Bottom, long Z0, long Z1, BOOL DarkCover)
{
	static BYTE parms[] =
		VTS_BOOL VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_BOOL;
	InvokeHelper(0x1f, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Vertical, Left, Top, Right, Bottom, Z0, Z1, DarkCover);
}

void CCanvas::Cube(long Left, long Right, long Top, long Bottom, long Z0, long Z1, BOOL DarkSides)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_BOOL;
	InvokeHelper(0x20, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Right, Top, Bottom, Z0, Z1, DarkSides);
}

void CCanvas::EllipseWithZ(long X1, long Y1, long X2, long Y2, long Z)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x21, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X1, Y1, X2, Y2, Z);
}

void CCanvas::PlaneWithZ(long X1, long Y1, long X2, long Y2, long X3, long Y3, long X4, long Y4, long Z)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x22, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X1, Y1, X2, Y2, X3, Y3, X4, Y4, Z);
}

void CCanvas::PlaneFour3D(long X1, long Y1, long X2, long Y2, long X3, long Y3, long X4, long Y4, long Z0, long Z1)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x23, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X1, Y1, X2, Y2, X3, Y3, X4, Y4, Z0, Z1);
}

void CCanvas::RectangleWithZ(long Left, long Top, long Right, long Bottom, long Z)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x24, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Top, Right, Bottom, Z);
}

void CCanvas::RectangleZ(long Left, long Top, long Bottom, long Z0, long Z1)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x26, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Top, Bottom, Z0, Z1);
}

void CCanvas::TextOut3D(long X, long Y, long Z, LPCTSTR Text)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_BSTR;
	InvokeHelper(0x27, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Z, Text);
}

void CCanvas::TriangleWithZ(long X1, long Y1, long X2, long Y2, long X3, long Y3, long Z)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x28, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X1, Y1, X2, Y2, X3, Y3, Z);
}

void CCanvas::Frame3D(long Left, long Top, long Right, long Bottom, unsigned long TopColor, unsigned long BottomColor, long Width)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x29, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Top, Right, Bottom, TopColor, BottomColor, Width);
}

void CCanvas::EraseBackground(long Left, long Top, long Right, long Bottom)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x2a, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Top, Right, Bottom);
}

void CCanvas::GradientFill(long Left, long Top, long Right, long Bottom, unsigned long StartColor, unsigned long EndColor, long Direction)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x2b, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Top, Right, Bottom, StartColor, EndColor, Direction);
}

void CCanvas::Line(long X0, long Y0, long X1, long Y1)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x2c, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X0, Y0, X1, Y1);
}

void CCanvas::RectangleY(long Left, long Top, long Right, long Z0, long Z1)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x2d, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Left, Top, Right, Z0, Z1);
}

void CCanvas::Pixels3D(long X, long Y, long Z, unsigned long Value)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x15, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Z, Value);
}

long CCanvas::GetHandleDC()
{
	long result;
	InvokeHelper(0x2e, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CCanvas::Cone(BOOL Vertical, long Left, long Top, long Right, long Bottom, long Z0, long Z1, BOOL Dark3D, long ConePercent)
{
	static BYTE parms[] =
		VTS_BOOL VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_BOOL VTS_I4;
	InvokeHelper(0x32, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Vertical, Left, Top, Right, Bottom, Z0, Z1, Dark3D, ConePercent);
}

void CCanvas::Sphere(long X, long Y, long Z, double Radius)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_I4 VTS_R8;
	InvokeHelper(0x30, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Z, Radius);
}

void CCanvas::Arrow(BOOL Filled, long X0, long Y0, long X1, long Y1, long HeadWidth, long HeadHeight, long Z)
{
	static BYTE parms[] =
		VTS_BOOL VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
	InvokeHelper(0x31, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Filled, X0, Y0, X1, Y1, HeadWidth, HeadHeight, Z);
}

void CCanvas::Draw(long X, long Y, LPUNKNOWN Image)
{
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_UNKNOWN;
	InvokeHelper(0x33, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 X, Y, Image);
}

CTeePoint3D CCanvas::GetRotationCenter()
{
	LPDISPATCH pDispatch;
	InvokeHelper(0x34, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
	return CTeePoint3D(pDispatch);
}

long CCanvas::GetChartXCenter()
{
	long result;
	InvokeHelper(0x35, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

long CCanvas::GetChartYCenter()
{
	long result;
	InvokeHelper(0x36, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

void CCanvas::GrayScale(BOOL Inverted)
{
	static BYTE parms[] =
		VTS_BOOL;
	InvokeHelper(0x37, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Inverted);
}
