//void SimpleDrawTest(cdCanvas* canvas) void SimpleDrawPoly(cdCanvas* canvas) { int w, h; cdGetCanvasSize(&w, &h, 0, 0); cdBackground(CD_WHITE); cdClear(); //cdSetAttribute("ANTIALIAS", "0"); cdForeground(cdEncodeAlpha(cdEncodeColor(255, 0, 0), 100)); cdfCanvasArc(cdActiveCanvas(), 255, 255, 100, 100, 0, 360); cdLine(0, 0, 200, 200); cdBegin(CD_BEZIER); cdVertex(100, 100); cdVertex(150, 200); cdVertex(180, 250); cdVertex(180, 200); cdVertex(180, 150); cdVertex(150, 100); cdVertex(300, 100); cdEnd(); cdEnd(); }
//void SimpleDrawTest(cdCanvas* canvas) void SimpleDrawVectorFont(cdCanvas* canvas) { cdBackground(CD_WHITE); cdClear(); cdLineStyle(CD_CONTINUOUS); cdLineWidth(1); // wdVectorText(0.1, 0.4, "ãõñç áéíóú àèìòù âêîôû äëïöü"); // wdVectorText(0.1, 0.2, "ÃÕÑÇ ÁÉÍÓÚ ÀÈÌÒÙ ÂÊÎÔÛ ÄËÏÖÜ "); cdVectorFont("../etc/vectorfont26.txt"); /* original Simplex II */ { int i; char t[2]; char s[10]; int x = 10; int y = 600; t[1] = 0; cdFont(CD_COURIER, CD_BOLD, 14); cdVectorCharSize(25); for (i = 128; i < 256; i++) { int dx = 30; t[0] = (char)i; sprintf(s, "%3d", i); cdForeground(CD_DARK_RED); cdText(x, y, s); // cdText(x+dx, y, t); cdForeground(CD_BLACK); cdVectorText(x+2*dx-10, y, t); x += 3*dx; if ((i+1) % 8 == 0) { x = 10; y -= 30; } } //cdFont(CD_TIMES_ROMAN, CD_PLAIN, 24); //cdVectorCharSize(24); // for (i = 192; i < 256; i++) // { // int dx = 92; // t[0] = (char)i; // sprintf(s, "%d", i); // cdText(x, y, s); // cdText(x+dx, y, t); // cdVectorText(x+2*dx, y, t); // // x += 3*dx + 2*dx/3; // if ((i+1) % 4 == 0) // { // x = 30; // y += 52; // } // } } }
int redraw_cb( Ihandle *self) { if (!cdcanvas) return IUP_DEFAULT; /* Activates canvas cdcanvas */ cdActivate( cdcanvas ); cdClear(); /* Draws a rectangle on the canvas */ cdBegin(CD_FILL); cdVertex(50, 50); cdVertex(150, 50); cdVertex(100, 150); cdEnd(); /* Function executed successfully */ return IUP_DEFAULT; }
void draw_wd(void) { char* text; double x, y; double rect[8]; cdBackground(CD_WHITE); cdClear(); cdLineStyle(CD_CONTINUOUS); cdLineWidth(1); // wdVectorTextDirection(0, 0, 1, 1); cdTextAlignment(CD_NORTH_WEST); // text = "Vector Text"; text = "Vector Text\nSecond Line\nThird Line"; x = 0.25; y = 0.40; cdForeground(CD_BLACK); wdLine(0, 0, 1, 1); wdLine(0, 1, 1, 0); cdForeground(CD_GREEN); cdMarkType(CD_STAR); wdMark(x, y); cdForeground(CD_BLUE); wdVectorCharSize(0.1); wdVectorText(x, y, text); cdForeground(CD_RED); wdGetVectorTextBounds(text, x, y, rect); cdBegin(CD_CLOSED_LINES); wdVertex(rect[0], rect[1]); wdVertex(rect[2], rect[3]); wdVertex(rect[4], rect[5]); wdVertex(rect[6], rect[7]); cdEnd(); }