iup-stack/cd/include/cd_canvas.hpp

361 lines
16 KiB
C++
Raw Normal View History

2023-02-20 16:44:45 +00:00
/** \file
* \brief Canvas Class
*
* DEPRECATED API. USE NAMESPACE BASED CLASSES.
*
* 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