#include "poly.h"
#include "convert.h"
#include "renderpoly.h"
+#include "stroke.h"
gfxline_t*mkstar(int x1, int y1, int x2, int y2)
{
gfxline_t*box3 = gfxline_makerectangle(-100,-100,100,100);
//gfxline_append(box2, box3);
+ gfxpoly_check(gfxpoly_from_stroke(box1, 2.0, gfx_capRound, gfx_joinRound, 0, 0.05));
+
gfxmatrix_t matrix;
memset(&matrix, 0, sizeof(gfxmatrix_t));
double ua=M_PI/4;
matrix.m00=cos(ua);matrix.m10=sin(ua);
matrix.m01=-sin(ua);matrix.m11=cos(ua);
- //gfxline_transform(box1, &matrix);
+ gfxline_transform(box1, &matrix);
//gfxline_t*b = 0;
//b = gfxline_append(b, box1);
gfxline_free(box1);
gfxline_free(box2);
+
+ //gfxpoly_t*poly3 = gfxpoly_process(poly1, poly2, &windrule_intersect, &twopolygons);
gfxpoly_t*poly3 = gfxpoly_process(poly1, poly2, &windrule_intersect, &twopolygons);
+ gfxpoly_dump(poly3);
+
+ gfxline_t*line = gfxline_from_gfxpoly(poly3);
+
+ gfxline_dump(line, stdout, "");
+ gfxline_free(line);
gfxpoly_destroy(poly1);
gfxpoly_destroy(poly2);
gfxpoly_destroy(poly3);
{
gfxline_t*box1 = gfxline_makerectangle(50,50,150,150);
gfxline_t*box2 = gfxline_makerectangle(100,100,200,200);
- gfxline_t*box3 = gfxline_makerectangle(100,100,200,200);
+ gfxline_t*box3 = gfxline_makerectangle(200,100,300,200);
+ gfxline_t*box4 = gfxline_makerectangle(300,200,400,400);
+ gfxline_t* board = mkchessboard();
gfxline_t*star = mkstar(50,50, 150,150);
gfxline_t*b = 0;
b = gfxline_append(b, box1);
b = gfxline_append(b, box2);
b = gfxline_append(b, box3);
+ b = gfxline_append(b, box4);
gfxmatrix_t matrix;
memset(&matrix, 0, sizeof(gfxmatrix_t));
- double ua=0.1;
- matrix.m00=cos(ua);matrix.m10=sin(ua);
- matrix.m01=-sin(ua);matrix.m11=cos(ua);
+ matrix.m00 = 1.0;
+ matrix.m11 = 1.0;
+ matrix.tx = 200;
+ matrix.ty = 200;
+ gfxline_transform(board, &matrix);
+ b = gfxline_append(b, board);
//gfxline_transform(b, &matrix);
- gfxline_dump(b, stderr, "");
+ //gfxline_dump(b, stderr, "");
gfxpoly_t*poly = gfxpoly_from_fill(b, 0.05);
gfxline_free(box1);
gfxline_free(box3);
gfxline_free(star);
- gfxpoly_dump(poly);
+ //gfxpoly_dump(poly);
gfxpoly_t*poly2 = gfxpoly_process(poly, 0, &windrule_evenodd, &onepolygon);
+ //gfxpoly_dump(poly2);
+ gfxpoly_save_arrows(poly2, "test.ps");
gfxpoly_destroy(poly);
gfxpoly_destroy(poly2);
}
internal: 0
};
+#if 0
void test5(int argn, char*argv[])
{
gfxsource_t*driver = gfxsource_pdf_create();
closedir(_dir);
driver->destroy(driver);
}
+#endif
int main(int argn, char*argv[])
{
- test0(argn, argv);
+ test4(argn, argv);
}