From 7b52cc13af4e85f1ca2deb6b6c77de9c95ea0dcf Mon Sep 17 00:00:00 2001 From: scuri Date: Fri, 17 Oct 2008 06:10:33 +0000 Subject: First commit - moving from LuaForge to SourceForge --- include/cd_canvas.hpp | 358 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 358 insertions(+) create mode 100644 include/cd_canvas.hpp (limited to 'include/cd_canvas.hpp') diff --git a/include/cd_canvas.hpp b/include/cd_canvas.hpp new file mode 100644 index 0000000..b31a683 --- /dev/null +++ b/include/cd_canvas.hpp @@ -0,0 +1,358 @@ +/** \file + * \brief Canvas Class + * + * See Copyright Notice in cd.h + */ + +#ifndef __CD_CANVAS_HPP +#define __CD_CANVAS_HPP + +#include "cd.h" +#include "wd.h" + +class cdCanvasC +{ + cdCanvas* canvas; + + cdCanvasC() {}; + +public: + +/* canvas init */ + cdCanvasC(cdCanvas* _canvas) + { this->canvas = _canvas; } + + ~cdCanvasC() + { cdKillCanvas(this->canvas); } + +cdContext* GetContext() + { return cdCanvasGetContext(canvas); } +int Activate() + { return cdCanvasActivate(canvas); } +void Deactivate() + { cdCanvasDeactivate(canvas); } + +/* control */ +int Simulate(int mode) + { return cdCanvasSimulate(canvas, mode); } +void Flush() + { cdCanvasFlush(canvas); } +void Clear() + { cdCanvasClear(canvas); } +cdState* SaveState() + { return cdCanvasSaveState(canvas); } +void RestoreState(cdState* state) + { cdCanvasRestoreState(canvas, state); } +void SetAttribute(const char* name, char* data) + { cdCanvasSetAttribute(canvas, name, data); } +char* GetAttribute(const char* name) + { return cdCanvasGetAttribute(canvas, name); } + +/* interpretation */ +int Play(cdContext *context, int xmin, int xmax, int ymin, int ymax, void *data) + { return cdCanvasPlay(canvas, context, xmin, xmax, ymin, ymax, data); } + +/* coordinate transformation */ +void GetSize(int *width, int *height, double *width_mm, double *height_mm) + { cdCanvasGetSize(canvas, width, height, width_mm, height_mm); } +int UpdateYAxis(int* y) + { return cdCanvasUpdateYAxis(canvas, y); } +void MM2Pixel(double mm_dx, double mm_dy, int *dx, int *dy) + { cdCanvasMM2Pixel(canvas, mm_dx, mm_dy, dx, dy); } +void Pixel2MM(int dx, int dy, double *mm_dx, double *mm_dy) + { cdCanvasPixel2MM(canvas, dx, dy, mm_dx, mm_dy); } +void MM2Pixel(double mm_dx, double mm_dy, double *dx, double *dy) + { cdfCanvasMM2Pixel(canvas, mm_dx, mm_dy, dx, dy); } +void Pixel2MM(double dx, double dy, double *mm_dx, double *mm_dy) + { cdfCanvasPixel2MM(canvas, dx, dy, mm_dx, mm_dy); } +void Origin(int x, int y) + { cdCanvasOrigin(canvas, x, y); } +void Origin(double x, double y) + { cdfCanvasOrigin(canvas, x, y); } +void GetOrigin(int *x, int *y) + { cdCanvasGetOrigin(canvas, x, y); } +void GetOrigin(double *x, double *y) + { cdfCanvasGetOrigin(canvas, x, y); } + +/* clipping */ +int Clip(int mode) + { return cdCanvasClip(canvas, mode); } +void ClipArea(int xmin, int xmax, int ymin, int ymax) + { cdCanvasClipArea(canvas, xmin, xmax, ymin, ymax); } +int GetClipArea(int *xmin, int *xmax, int *ymin, int *ymax) + { return cdCanvasGetClipArea(canvas, xmin, xmax, ymin, ymax); } +void ClipArea(double xmin, double xmax, double ymin, double ymax) + { cdfCanvasClipArea(canvas, xmin, xmax, ymin, ymax); } +int GetClipArea(double *xmin, double *xmax, double *ymin, double *ymax) + { return cdfCanvasGetClipArea(canvas, xmin, xmax, ymin, ymax); } + +/* clipping region */ +int IsPointInRegion(int x, int y) + { return cdCanvasIsPointInRegion(canvas, x, y); } +void OffsetRegion(int x, int y) + { cdCanvasOffsetRegion(canvas, x, y); } +void GetRegionBox(int *xmin, int *xmax, int *ymin, int *ymax) + { cdCanvasGetRegionBox(canvas, xmin, xmax, ymin, ymax); } +int RegionCombineMode(int mode) + { return cdCanvasRegionCombineMode(canvas, mode); } + +/* primitives */ +void Pixel(int x, int y, long color) + { cdCanvasPixel(canvas, x, y, color); } +void Mark(int x, int y) + { cdCanvasMark(canvas, x, y); } + +void Line(int x1, int y1, int x2, int y2) + { cdCanvasLine(canvas, x1, y1, x2, y2); } +void Begin(int mode) + { cdCanvasBegin(canvas, mode); } +void Vertex(int x, int y) + { cdCanvasVertex(canvas, x, y); } +void End() + { cdCanvasEnd(canvas); } +void Rect(int xmin, int xmax, int ymin, int ymax) + { cdCanvasRect(canvas, xmin, xmax, ymin, ymax); } +void Box(int xmin, int xmax, int ymin, int ymax) + { cdCanvasBox(canvas, xmin, xmax, ymin, ymax); } +void Arc(int xc, int yc, int w, int h, double angle1, double angle2) + { cdCanvasArc(canvas, xc, yc, w, h, angle1, angle2); } +void Sector(int xc, int yc, int w, int h, double angle1, double angle2) + { cdCanvasSector(canvas, xc, yc, w, h, angle1, angle2); } +void Chord(int xc, int yc, int w, int h, double angle1, double angle2) + { cdCanvasChord(canvas, xc, yc, w, h, angle1, angle2); } +void Text(int x, int y, const char* s) + { cdCanvasText(canvas, x, y, s); } + +void Line(double x1, double y1, double x2, double y2) + { cdfCanvasLine(canvas, x1, y1, x2, y2); } +void Vertex(double x, double y) + { cdfCanvasVertex(canvas, x, y); } +void Rect(double xmin, double xmax, double ymin, double ymax) + { cdfCanvasRect(canvas, xmin, xmax, ymin, ymax); } +void Box(double xmin, double xmax, double ymin, double ymax) + { cdfCanvasBox(canvas, xmin, xmax, ymin, ymax); } +void Arc(double xc, double yc, double w, double h, double angle1, double angle2) + { cdfCanvasArc(canvas, xc, yc, w, h, angle1, angle2); } +void Sector(double xc, double yc, double w, double h, double angle1, double angle2) + { cdfCanvasSector(canvas, xc, yc, w, h, angle1, angle2); } +void Chord(double xc, double yc, double w, double h, double angle1, double angle2) + { cdfCanvasChord(canvas, xc, yc, w, h, angle1, angle2); } +void Text(double x, double y, const char* s) + { cdfCanvasText(canvas, x, y, s); } + +/* attributes */ +long Background(long color) + { return cdCanvasBackground(canvas, color); } +long Foreground(long color) + { return cdCanvasForeground(canvas, color); } +int BackOpacity(int opacity) + { return cdCanvasBackOpacity(canvas, opacity); } +int WriteMode(int mode) + { return cdCanvasWriteMode(canvas, mode); } +int LineStyle(int style) + { return cdCanvasLineStyle(canvas, style); } +void LineStyleDashes(const int* dashes, int count) + { cdCanvasLineStyleDashes(canvas, dashes, count); } +int LineWidth(int width) + { return cdCanvasLineWidth(canvas, width); } +int LineJoin(int join) + { return cdCanvasLineJoin(canvas, join); } +int LineCap(int cap) + { return cdCanvasLineCap(canvas, cap); } +int InteriorStyle(int style) + { return cdCanvasInteriorStyle(canvas, style); } +int Hatch(int style) + { return cdCanvasHatch(canvas, style); } +void Stipple(int w, int h, const unsigned char* stipple) + { cdCanvasStipple(canvas, w, h, stipple); } +unsigned char* GetStipple(int *n, int *m) + { return cdCanvasGetStipple(canvas, n, m); } +void Pattern(int w, int h, long const int *pattern) + { cdCanvasPattern(canvas, w, h, pattern); } +long* GetPattern(int* n, int* m) + { return cdCanvasGetPattern(canvas, n, m); } +int FillMode(int mode) + { return cdCanvasFillMode(canvas, mode); } +int Font(const char* type_face, int style, int size) + { return cdCanvasFont(canvas, type_face, style, size); } +void GetFont(char *type_face, int *style, int *size) + { cdCanvasGetFont(canvas, type_face, style, size); } +char* NativeFont(const char* font) + { return cdCanvasNativeFont(canvas, font); } +int TextAlignment(int alignment) + { return cdCanvasTextAlignment(canvas, alignment); } +double TextOrientation(double angle) + { return cdCanvasTextOrientation(canvas, angle); } +int MarkType(int type) + { return cdCanvasMarkType(canvas, type); } +int MarkSize(int size) + { return cdCanvasMarkSize(canvas, size); } + +/* vector text */ +void VectorText(int x, int y, const char* s) + { cdCanvasVectorText(canvas, x, y, s); } +void MultiLineVectorText(int x, int y, const char* s) + { cdCanvasMultiLineVectorText(canvas, x, y, s); } + +/* vector text attributes */ +char *VectorFont(const char *filename) + { return cdCanvasVectorFont(canvas, filename); } +void VectorTextDirection(int x1, int y1, int x2, int y2) + { cdCanvasVectorTextDirection(canvas, x1, y1, x2, y2); } +double* VectorTextTransform(const double* matrix) + { return cdCanvasVectorTextTransform(canvas, matrix); } +void VectorTextSize(int size_x, int size_y, const char* s) + { cdCanvasVectorTextSize(canvas, size_x, size_y, s); } +int VectorCharSize(int size) + { return cdCanvasVectorCharSize(canvas, size); } + + +/* vector text properties */ +void GetVectorTextSize(const char* s, int *x, int *y) + { cdCanvasGetVectorTextSize(canvas, s, x, y); } +void GetVectorTextBounds(const char* s, int x, int y, int *rect) + { cdCanvasGetVectorTextBounds(canvas, s, x, y, rect); } + +/* properties */ +void GetFontDim(int *max_width, int *height, int *ascent, int *descent) + { cdCanvasGetFontDim(canvas, max_width, height, ascent, descent); } +void GetTextSize(const char* s, int *width, int *height) + { cdCanvasGetTextSize(canvas, s, width, height); } +void GetTextBox(int x, int y, const char* s, int *xmin, int *xmax, int *ymin, int *ymax) + { cdCanvasGetTextBox(canvas, x, y, s, xmin, xmax, ymin, ymax); } +void GetTextBounds(int x, int y, const char* s, int *rect) + { cdCanvasGetTextBounds(canvas, x, y, s, rect); } +int GetColorPlanes() + { return cdCanvasGetColorPlanes(canvas); } + +/* color */ +void Palette(int n, const long *palette, int mode) + { cdCanvasPalette(canvas, n, palette, mode); } + +/* client images */ +void GetImageRGB(unsigned char* r, unsigned char* g, unsigned char* b, int x, int y, int w, int h) + { cdCanvasGetImageRGB(canvas, r, g, b, x, y, w, h); } +void PutImageRectRGB(int iw, int ih, const unsigned char* r, const unsigned char* g, const unsigned char* b, int x, int y, int w, int h, int xmin, int xmax, int ymin, int ymax) + { cdCanvasPutImageRectRGB(canvas, iw, ih, r, g, b, x, y, w, h, xmin, xmax, ymin, ymax); } +void PutImageRectRGBA(int iw, int ih, const unsigned char* r, const unsigned char* g, const unsigned char* b, const unsigned char* a, int x, int y, int w, int h, int xmin, int xmax, int ymin, int ymax) + { cdCanvasPutImageRectRGBA(canvas, iw, ih, r, g, b, a, x, y, w, h, xmin, xmax, ymin, ymax); } +void PutImageRectMap(int iw, int ih, const unsigned char* index, const long* colors, int x, int y, int w, int h, int xmin, int xmax, int ymin, int ymax) + { cdCanvasPutImageRectMap(canvas, iw, ih, index, colors, x, y, w, h, xmin, xmax, ymin, ymax); } + +/* server images */ +cdImage* CreateImage(int w, int h) + { return cdCanvasCreateImage(canvas, w, h); } +void GetImage(cdImage* image, int x, int y) + { cdCanvasGetImage(canvas, image, x, y); } +void PutImageRect(cdImage* image, int x, int y, int xmin, int xmax, int ymin, int ymax) + { cdCanvasPutImageRect(canvas, image, x, y, xmin, xmax, ymin, ymax); } +void ScrollArea(int xmin, int xmax, int ymin, int ymax, int dx, int dy) + { cdCanvasScrollArea(canvas, xmin, xmax, ymin, ymax, dx, dy); } + +void PutBitmap(cdBitmap* bitmap, int x, int y, int w, int h) + { cdCanvasPutBitmap(canvas, bitmap, x, y, w, h); } +void GetBitmap(cdBitmap* bitmap, int x, int y) + { cdCanvasGetBitmap(canvas, bitmap, x, y); } + +/* coordinate transformation */ +void wWindow(double xmin, double xmax, double ymin, double ymax) + { wdCanvasWindow(canvas, xmin, xmax, ymin, ymax); } +void wGetWindow(double *xmin, double *xmax, double *ymin, double *ymax) + { wdCanvasGetWindow(canvas, xmin, xmax, ymin, ymax); } +void wViewport(int xmin, int xmax, int ymin, int ymax) + { wdCanvasViewport(canvas, xmin, xmax, ymin, ymax); } +void wGetViewport(int *xmin, int *xmax, int *ymin, int *ymax) + { wdCanvasGetViewport(canvas, xmin, xmax, ymin, ymax); } +void wWorld2Canvas(double xw, double yw, int *xv, int *yv) + { wdCanvasWorld2Canvas(canvas, xw, yw, xv, yv); } +void wWorld2CanvasSize(double hw, double vw, int *hv, int *vv) + { wdCanvasWorld2CanvasSize(canvas, hw, vw, hv, vv); } +void wCanvas2World(int xv, int yv, double *xw, double *yw) + { wdCanvasCanvas2World(canvas, xv, yv, xw, yw); } + +void wClipArea(double xmin, double xmax, double ymin, double ymax) + { wdCanvasClipArea(canvas, xmin, xmax, ymin, ymax); } +int wGetClipArea(double *xmin, double *xmax, double *ymin, double *ymax) + { return wdCanvasGetClipArea(canvas, xmin, xmax, ymin, ymax); } +int wIsPointInRegion(double x, double y) + { return wdCanvasIsPointInRegion(canvas, x, y); } +void wOffsetRegion(double x, double y) + { wdCanvasOffsetRegion(canvas, x, y); } +void wGetRegionBox(double *xmin, double *xmax, double *ymin, double *ymax) + { wdCanvasGetRegionBox(canvas, xmin, xmax, ymin, ymax); } + +/* primitives */ +void wPixel(double x, double y, long color) + { wdCanvasPixel(canvas, x, y, color); } +void wMark(double x, double y) + { wdCanvasMark(canvas, x, y); } +void wLine(double x1, double y1, double x2, double y2) + { wdCanvasLine(canvas, x1, y1, x2, y2); } +void wVertex(double x, double y) + { wdCanvasVertex(canvas, x, y); } +void wRect(double xmin, double xmax, double ymin, double ymax) + { wdCanvasRect(canvas, xmin, xmax, ymin, ymax); } +void wBox(double xmin, double xmax, double ymin, double ymax) + { wdCanvasBox(canvas, xmin, xmax, ymin, ymax); } +void wArc(double xc, double yc, double w, double h, double angle1, double angle2) + { wdCanvasArc(canvas, xc, yc, w, h, angle1, angle2); } +void wSector(double xc, double yc, double w, double h, double angle1, double angle2) + { wdCanvasSector(canvas, xc, yc, w, h, angle1, angle2); } +void wChord(double xc, double yc, double w, double h, double angle1, double angle2) + { wdCanvasChord(canvas, xc, yc, w, h, angle1, angle2); } +void wText(double x, double y, const char* s) + { wdCanvasText(canvas, x, y, s); } + +void wPutImageRect(cdImage* image, double x, double y, int xmin, int xmax, int ymin, int ymax) + { wdCanvasPutImageRect(canvas, image, x, y, xmin, xmax, ymin, ymax); } +void wPutImageRectRGB(int iw, int ih, const unsigned char* r, const unsigned char* g, const unsigned char* b, double x, double y, double w, double h, int xmin, int xmax, int ymin, int ymax) + { wdCanvasPutImageRectRGB(canvas, iw, ih, r, g, b, x, y, w, h, xmin, xmax, ymin, ymax); } +void wPutImageRectRGBA(int iw, int ih, const unsigned char* r, const unsigned char* g, const unsigned char* b, const unsigned char* a, double x, double y, double w, double h, int xmin, int xmax, int ymin, int ymax) + { wdCanvasPutImageRectRGBA(canvas, iw, ih, r, g, b, a, x, y, w, h, xmin, xmax, ymin, ymax); } +void wPutImageRectMap(int iw, int ih, const unsigned char* index, const long* colors, double x, double y, double w, double h, int xmin, int xmax, int ymin, int ymax) + { wdCanvasPutImageRectMap(canvas, iw, ih, index, colors, x, y, w, h, xmin, xmax, ymin, ymax); } +void wPutBitmap(cdBitmap* bitmap, double x, double y, double w, double h) + { wdCanvasPutBitmap(canvas, bitmap, x, y, w, h); } + +/* attributes */ +double wLineWidth(double width) + { return wdCanvasLineWidth(canvas, width); } +int wFont(const char* type_face, int style, double size) + { return wdCanvasFont(canvas, type_face, style, size); } +void wGetFont(char *type_face, int *style, double *size) + { wdCanvasGetFont(canvas, type_face, style, size); } +double wMarkSize(double size) + { return wdCanvasMarkSize(canvas, size); } +void wGetFontDim(double *max_width, double *height, double *ascent, double *descent) + { wdCanvasGetFontDim(canvas, max_width, height, ascent, descent); } +void wGetTextSize(const char* s, double *width, double *height) + { wdCanvasGetTextSize(canvas, s, width, height); } +void wGetTextBox(double x, double y, const char* s, double *xmin, double *xmax, double *ymin, double *ymax) + { wdCanvasGetTextBox(canvas, x, y, s, xmin, xmax, ymin, ymax); } +void wGetTextBounds(double x, double y, const char* s, double *rect) + { wdCanvasGetTextBounds(canvas, x, y, s, rect); } +void wStipple(int w, int h, const unsigned char*fgbg, double w_mm, double h_mm) + { wdCanvasStipple(canvas, w, h, fgbg, w_mm, h_mm); } +void wPattern(int w, int h, const long *color, double w_mm, double h_mm) + { wdCanvasPattern(canvas, w, h, color, w_mm, h_mm); } + +/* vector text */ +void wVectorTextDirection(double x1, double y1, double x2, double y2) + { wdCanvasVectorTextDirection(canvas, x1, y1, x2, y2); } +void wVectorTextSize(double size_x, double size_y, const char* s) + { wdCanvasVectorTextSize(canvas, size_x, size_y, s); } +void wGetVectorTextSize(const char* s, double *x, double *y) + { wdCanvasGetVectorTextSize(canvas, s, x, y); } +double wVectorCharSize(double size) + { return wdCanvasVectorCharSize(canvas, size); } +void wVectorText(double x, double y, const char* s) + { wdCanvasVectorText(canvas, x, y, s); } +void wMultiLineVectorText(double x, double y, const char* s) + { wdCanvasMultiLineVectorText(canvas, x, y, s); } +void wGetVectorTextBounds(const char* s, double x, double y, double *rect) + { wdCanvasGetVectorTextBounds(canvas, s, x, y, rect); } + +}; + +#endif + -- cgit v1.2.3