extern (C) @safe nothrow
struct _cdCanvas {
char[2] signature;
void function(cdCtxCanvas* ctxcanvas, int x, int y, long color) cxPixel;
void function(cdCtxCanvas* ctxcanvas, int x1, int y1, int x2, int y2) cxLine;
void function(cdCtxCanvas* ctxcanvas, int mode, cdPoint* points, int n) cxPoly;
void function(cdCtxCanvas* ctxcanvas, int xmin, int xmax, int ymin, int ymax) cxRect;
void function(cdCtxCanvas* ctxcanvas, int xmin, int xmax, int ymin, int ymax) cxBox;
void function(cdCtxCanvas* ctxcanvas, int xc, int yc, int w, int h, double angle1, double angle2) cxArc;
void function(cdCtxCanvas* ctxcanvas, int xc, int yc, int w, int h, double angle1, double angle2) cxSector;
void function(cdCtxCanvas* ctxcanvas, int xc, int yc, int w, int h, double angle1, double angle2) cxChord;
void function(cdCtxCanvas* ctxcanvas, int x, int y, const(char)* s, int len) cxText;
void function(cdCtxCanvas* ctxcanvas) cxKillCanvas;
int function(cdCtxCanvas* ctxcanvas, const(char)* type_face, int style, int size) cxFont;
void function(cdCtxCanvas* ctxcanvas, int iw, int ih, const(ubyte)* index, const(long)* colors, int x, int y, int w, int h, int xmin, int xmax, int ymin, int ymax) cxPutImageRectMap;
void function(cdCtxCanvas* ctxcanvas, int* max_width, int* height, int* ascent, int* descent) cxGetFontDim;
void function(cdCtxCanvas* ctxcanvas, const(char)* s, int len, int* width, int* height) cxGetTextSize;
void function(cdCtxCanvas* ctxcanvas) cxFlush;
void function(cdCtxCanvas* ctxcanvas) cxClear;
void function(cdCtxCanvas* ctxcanvas, double x, double y, long color) cxFPixel;
void function(cdCtxCanvas* ctxcanvas, double x1, double y1, double x2, double y2) cxFLine;
void function(cdCtxCanvas* ctxcanvas, int mode, cdfPoint* points, int n) cxFPoly;
void function(cdCtxCanvas* ctxcanvas, double xmin, double xmax, double ymin, double ymax) cxFRect;
void function(cdCtxCanvas* ctxcanvas, double xmin, double xmax, double ymin, double ymax) cxFBox;
void function(cdCtxCanvas* ctxcanvas, double xc, double yc, double w, double h, double angle1, double angle2) cxFArc;
void function(cdCtxCanvas* ctxcanvas, double xc, double yc, double w, double h, double angle1, double angle2) cxFSector;
void function(cdCtxCanvas* ctxcanvas, double xc, double yc, double w, double h, double angle1, double angle2) cxFChord;
void function(cdCtxCanvas* ctxcanvas, double x, double y, const(char)* s, int len) cxFText;
int function(cdCtxCanvas* ctxcanvas, int mode) cxClip;
void function(cdCtxCanvas* ctxcanvas, int xmin, int xmax, int ymin, int ymax) cxClipArea;
void function(cdCtxCanvas* ctxcanvas, double xmin, double xmax, double ymin, double ymax) cxFClipArea;
int function(cdCtxCanvas* ctxcanvas, int opacity) cxBackOpacity;
int function(cdCtxCanvas* ctxcanvas, int mode) cxWriteMode;
int function(cdCtxCanvas* ctxcanvas, int style) cxLineStyle;
int function(cdCtxCanvas* ctxcanvas, int width) cxLineWidth;
int function(cdCtxCanvas* ctxcanvas, int join) cxLineJoin;
int function(cdCtxCanvas* ctxcanvas, int cap) cxLineCap;
int function(cdCtxCanvas* ctxcanvas, int style) cxInteriorStyle;
int function(cdCtxCanvas* ctxcanvas, int style) cxHatch;
void function(cdCtxCanvas* ctxcanvas, int w, int h, const(ubyte)* stipple) cxStipple;
void function(cdCtxCanvas* ctxcanvas, int w, int h, const(long)* pattern) cxPattern;
int function(cdCtxCanvas* ctxcanvas, const(char)* font) cxNativeFont;
int function(cdCtxCanvas* ctxcanvas, int alignment) cxTextAlignment;
double function(cdCtxCanvas* ctxcanvas, double angle) cxTextOrientation;
void function(cdCtxCanvas* ctxcanvas, int n, const(long)* palette, int mode) cxPalette;
long function(cdCtxCanvas* ctxcanvas, long color) cxBackground;
long function(cdCtxCanvas* ctxcanvas, long color) cxForeground;
void function(cdCtxCanvas* ctxcanvas, const(double)* matrix) cxTransform;
void function(cdCtxCanvas* ctxcanvas, ubyte* r, ubyte* g, ubyte* b, int x, int y, int w, int h) cxGetImageRGB;
void function(cdCtxCanvas* ctxcanvas, int iw, int ih, const(ubyte)* r, const(ubyte)* g, const(ubyte)* b, int x, int y, int w, int h, int xmin, int xmax, int ymin, int ymax) cxPutImageRectRGB;
void function(cdCtxCanvas* ctxcanvas, int iw, int ih, const(ubyte)* r, const(ubyte)* g, const(ubyte)* b, const(ubyte)* a, int x, int y, int w, int h, int xmin, int xmax, int ymin, int ymax) cxPutImageRectRGBA;
void function(cdCtxCanvas* ctxcanvas, int iw, int ih, const(ubyte)* r, const(ubyte)* g, const(ubyte)* b, double x, double y, double w, double h, int xmin, int xmax, int ymin, int ymax) cxFPutImageRectRGB;
void function(cdCtxCanvas* ctxcanvas, int iw, int ih, const(ubyte)* r, const(ubyte)* g, const(ubyte)* b, const(ubyte)* a, double x, double y, double w, double h, int xmin, int xmax, int ymin, int ymax) cxFPutImageRectRGBA;
void function(cdCtxCanvas* ctxcanvas, int iw, int ih, const(ubyte)* index, const(long)* colors, double x, double y, double w, double h, int xmin, int xmax, int ymin, int ymax) cxFPutImageRectMap;
void function(cdCtxCanvas* ctxcanvas, int xmin, int xmax, int ymin, int ymax, int dx, int dy) cxScrollArea;
cdCtxImage* function(cdCtxCanvas* ctxcanvas, int w, int h) cxCreateImage;
void function(cdCtxImage* ctximage) cxKillImage;
void function(cdCtxCanvas* ctxcanvas, cdCtxImage* ctximage, int x, int y) cxGetImage;
void function(cdCtxCanvas* ctxcanvas, cdCtxImage* ctximage, int x, int y, int xmin, int xmax, int ymin, int ymax) cxPutImageRect;
void function(cdCtxCanvas* ctxcanvas) cxNewRegion;
int function(cdCtxCanvas* ctxcanvas, int x, int y) cxIsPointInRegion;
void function(cdCtxCanvas* ctxcanvas, int x, int y) cxOffsetRegion;
void function(cdCtxCanvas* ctxcanvas, int* xmin, int* xmax, int* ymin, int* ymax) cxGetRegionBox;
int function(cdCtxCanvas* ctxcanvas) cxActivate;
void function(cdCtxCanvas* ctxcanvas) cxDeactivate;
int w;
int h;
int invert_yaxis;
double[6] matrix;
int use_matrix;
int clip_mode;
cdRect clip_rect;
cdfRect clip_frect;
int clip_poly_n;
cdPoint* clip_poly;
cdfPoint* clip_fpoly;
int new_region;
int combine_mode;
long foreground;
long background;
int back_opacity;
int write_mode;
int mark_type;
int mark_size;
int line_style;
int line_width;
int line_cap;
int line_join;
int* line_dashes;
int line_dashes_count;
int interior_style;
int hatch_style;
int fill_mode;
char[1024] font_type_face;
int font_style;
int font_size;
int text_alignment;
double text_orientation;
char[1024] native_font;
int pattern_w;
int pattern_h;
int pattern_size;
long* pattern;
int stipple_w;
int stipple_h;
int stipple_size;
ubyte* stipple;
int use_origin;
cdPoint origin;
cdfPoint forigin;
int poly_mode;
int poly_n;
int poly_size;
int fpoly_size;
cdPoint* poly;
cdfPoint* fpoly;
int use_fpoly;
int path_n;
int path_size;
int* path;
int path_arc_index;
int sim_mode;
double s;
double sx;
double tx;
double sy;
double ty;
cdfRect window;
cdRect viewport;
cdAttribute*[50] attrib_list;
int attrib_n;
cdVectorFont* vector_font;
cdSimulation* simulation;
cdCtxCanvas* ctxcanvas;
cdContext* context;
void* userdata;
}