public Canvas(IntPtr context, string data) { Handle = NativeCD.cdCreateCanvasStr(context, data); if (Handle == IntPtr.Zero) { throw new Exception("Failed to create canvas. Control mapped?"); } }
public void Begin(PolyMode mode) { NativeCD.cdCanvasBegin(Handle, (int)mode); }
public void TransformPoint(double x, double y, out double tx, out double ty) { NativeCD.cdfCanvasTransformPoint(Handle, x, y, out tx, out ty); }
public void TransformTranslate(double dx, double dy) { NativeCD.cdCanvasTransformTranslate(Handle, dx, dy); }
/*public void TransformMultiply(Transform2 t) * { * if (t == null) return; * double[] m = new double[] { t.ax, t.ay, t.bx, t.by, t.tx, t.ty }; * NativeCD.cdCanvasTransformMultiply(Handle, ref m[0]); * }*/ public void TransformRotate(double angle) { NativeCD.cdCanvasTransformRotate(Handle, angle); }
public void PixelToMM(int dx, int dy, out double mm_dx, out double mm_dy) { NativeCD.cdCanvasPixel2MM(Handle, dx, dy, out mm_dx, out mm_dy); }
/*public Transform2 Transform * { * get * { * double[] m = new double[6]; * IntPtr raw=NativeCD.cdCanvasGetTransform(Handle); * if (raw == IntPtr.Zero) * return Transform2.Identity; * Marshal.Copy(raw, m, 0, 6); * return new Transform2(m[0], m[1], m[2], m[3], m[4], m[5]); * } * * set * { * if (value == null) * value = Transform2.Identity; * double[] m = new double[] { value.ax, value.ay, value.bx, value.by, value.tx, value.ty }; * NativeCD.cdCanvasTransform(Handle, ref m[0]); * } * }*/ public void MM2Pixel(int mm_dx, int mm_dy, out int dx, out int dy) { NativeCD.cdCanvasMM2Pixel(Handle, mm_dx, mm_dy, out dx, out dy); }
public void GetOrigin(out int x, out int y) { NativeCD.cdCanvasGetOrigin(Handle, out x, out y); }
public void GetRegionBoxWorld(out double xmin, out double xmax, out double ymin, out double ymax) { NativeCD.wdCanvasGetRegionBox(Handle, out xmin, out xmax, out ymin, out ymax); }
public void GetRegionBox(out int xmin, out int xmax, out int ymin, out int ymax) { NativeCD.cdCanvasGetRegionBox(Handle, out xmin, out xmax, out ymin, out ymax); }
public void PathSet(PathOp op) { NativeCD.cdCanvasPathSet(Handle, (int)op); }
public void End() { NativeCD.cdCanvasEnd(Handle); }
public void VertexWorld(double x, double y) { NativeCD.wdCanvasVertex(Handle, x, y); }
public void Vertex(double x, double y) { NativeCD.cdfCanvasVertex(Handle, x, y); }
public void Vertex(int x, int y) { NativeCD.cdCanvasVertex(Handle, x, y); }
public void Origin(int x, int y) { NativeCD.cdCanvasOrigin(Handle, x, y); }
public void Origin(double x, double y) { NativeCD.cdfCanvasOrigin(Handle, x, y); }
public void SetAttribute(string name, string data) { NativeCD.cdCanvasSetAttribute(Handle, name, data); }
public void GetOrigin(out double x, out double y) { NativeCD.cdfCanvasGetOrigin(Handle, out x, out y); }
public string GetAttribute(string name) { return(CD.PtrToStr(NativeCD.cdCanvasGetAttribute(Handle, name))); }
public void MM2Pixel(double mm_dx, double mm_dy, out double dx, out double dy) { NativeCD.cdfCanvasMM2Pixel(Handle, mm_dx, mm_dy, out dx, out dy); }
public void GetSize(out int width, out int height, out double width_mm, out double height_mm) { NativeCD.cdCanvasGetSize(Handle, out width, out height, out width_mm, out height_mm); }
public void PixelToMM(double dx, double dy, out double mm_dx, out double mm_dy) { NativeCD.cdfCanvasPixel2MM(Handle, dx, dy, out mm_dx, out mm_dy); }
public int UpdateYAxis(out int y) { return(NativeCD.cdCanvasUpdateYAxis(Handle, out y)); }
public void TransformScale(double sx, double sy) { NativeCD.cdCanvasTransformScale(Handle, sx, sy); }
public double UpdateYAxis(out double y) { return(NativeCD.cdfCanvasUpdateYAxis(Handle, out y)); }
public void TransformPoint(int x, int y, out int tx, out int ty) { NativeCD.cdCanvasTransformPoint(Handle, x, y, out tx, out ty); }
public int InvertYAxis(int y) { return(NativeCD.cdCanvasInvertYAxis(Handle, y)); }
public void VectorText(int x, int y, string txt) { NativeCD.cdCanvasVectorText(Handle, x, y, txt); }
public double InvertYAxis(double y) { return(NativeCD.cdfCanvasInvertYAxis(Handle, y)); }