static void pathQuadBezShortTo(struct SVGParser* p, float* cpx, float* cpy, float* cpx2, float* cpy2, float* args, int rel) { float x1, y1, x2, y2, cx, cy; x1 = *cpx; y1 = *cpy; if (rel) { x2 = *cpx + args[0]; y2 = *cpy + args[1]; } else { x2 = args[0]; y2 = args[1]; } cx = 2*x1 - *cpx2; cy = 2*y1 - *cpy2; quadBez(p, x1,y1, cx,cy, x2,y2); *cpx2 = cx; *cpy2 = cy; *cpx = x2; *cpy = y2; }
void ofxSVGPathParser:: ofxSVGPathParser::pathQuadBezShortTo(float* cpx, float* cpy, float* cpx2, float* cpy2, float* args, int rel) { float x1, y1, x2, y2, cx, cy; x1 = *cpx; y1 = *cpy; if (rel) { x2 = *cpx + args[0]; y2 = *cpy + args[1]; } else { x2 = args[0]; y2 = args[1]; } cx = 2*x1 - *cpx2; cy = 2*y1 - *cpy2; quadBez(x1,y1, cx,cy, x2,y2); *cpx2 = cx; *cpy2 = cy; *cpx = x2; *cpy = y2; }
static void pathQuadBezTo(struct SVGParser* p, float* cpx, float* cpy, float* cpx2, float* cpy2, float* args, int rel) { float x1, y1, x2, y2, cx, cy; x1 = *cpx; y1 = *cpy; if (rel) { cx = *cpx + args[0]; cy = *cpy + args[1]; x2 = *cpx + args[2]; y2 = *cpy + args[3]; } else { cx = args[0]; cy = args[1]; x2 = args[2]; y2 = args[3]; } quadBez(p, x1,y1, cx,cy, x2,y2); *cpx2 = cx; *cpy2 = cy; *cpx = x2; *cpy = y2; }
void ofxSVGPathParser::pathQuadBezTo(float* cpx, float* cpy, float* cpx2, float* cpy2, float* args, int rel) { float x1, y1, x2, y2, cx, cy; x1 = *cpx; y1 = *cpy; if (rel) { cx = *cpx + args[0]; cy = *cpy + args[1]; x2 = *cpx + args[2]; y2 = *cpy + args[3]; } else { cx = args[0]; cy = args[1]; x2 = args[2]; y2 = args[3]; } quadBez(x1,y1, cx,cy, x2,y2); //pathInstance->quadBezierTo(x1, y1, cx, cy, x2, y2); *cpx2 = cx; *cpy2 = cy; *cpx = x2; *cpy = y2; }