// create a standard format path, coordinates are floats (VG_PATH_DATATYPE_F) path0 = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL); path2 = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL); path3 = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL); // append some data to path2 pathSegs[0] = VG_MOVE_TO_ABS; pathData[0] = 1.0f; pathData[1] = 2.0f; pathSegs[1] = VG_LINE_TO_ABS; pathData[2] = 3.0f; pathData[3] = 8.0f; pathSegs[2] = VG_QUAD_TO_ABS; pathData[4] = 7.0f; pathData[5] = 10.0f; pathData[6] = 8.0f; pathData[7] = 8.0f; pathSegs[3] = VG_CUBIC_TO_ABS; pathData[8] = 5.0f; pathData[9] = 5.0f; pathData[10] = 7.0f; pathData[11] = 4.0f; pathData[12] = 13.0f; pathData[13] = 7.0f; pathSegs[4] = VG_LCWARC_TO_ABS; pathData[14] = 6.5f; pathData[15] = 3.25f; pathData[16] = -157.38f; pathData[17] = 1.0f; pathData[18] = 2.0f; pathSegs[5] = VG_CLOSE_PATH; vgAppendPathData(path2, 6, pathSegs, pathData); // append some data to path3 pathSegs[0] = VG_MOVE_TO_ABS; pathData[0] = 1.0f; pathData[1] = 2.0f; pathSegs[1] = VG_LINE_TO_ABS; pathData[2] = 1.0f; pathData[3] = 6.0f; pathSegs[2] = VG_QUAD_TO_ABS; pathData[4] = 4.0f; pathData[5] = 11.0f; pathData[6] = 6.0f; pathData[7] = 8.0f; pathSegs[3] = VG_CUBIC_TO_ABS; pathData[8] = 8.0f; pathData[9] = 6.0f; pathData[10] = 10.0f; pathData[11] = 7.0f; pathData[12] = 10.0f; pathData[13] = 11.0f; pathSegs[4] = VG_LCWARC_TO_ABS; pathData[14] = 6.364f; pathData[15] = 6.364f; pathData[16] = -135.0f; pathData[17] = 1.0f; pathData[18] = 2.0f; pathSegs[5] = VG_CLOSE_PATH; vgAppendPathData(path3, 6, pathSegs, pathData); // interpolate path vgInterpolatePath(path0, path2, path3, 0.25f); // Rasteroid says that the path has 21 coordinates! Where those 2 more coordinates have come from??? // writePathParameters(f, path0); // write path point evaluations writePath(f, path0, 30, VG_FALSE, "Path evaluations"); // destroy paths vgDestroyPath(path0); vgDestroyPath(path2); vgDestroyPath(path3);