vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_BETTER); vgSeti(VG_IMAGE_QUALITY, VG_IMAGE_QUALITY_BETTER); vgSeti(VG_BLEND_MODE, VG_BLEND_SRC_OVER); vgSeti(VG_SCISSORING, VG_FALSE); vgSeti(VG_MASKING, VG_FALSE); vgSeti(VG_IMAGE_MODE, VG_DRAW_IMAGE_NORMAL); col[0] = 1.0f; col[1] = 1.0f; col[2] = 1.0f; col[3] = 1.0f; vgSetfv(VG_CLEAR_COLOR, 4, col); vgClear(0, 0, 256, 256); // create draw image and load external data img = vgCreateImage(imgGirlFormat, imgGirlWidth, imgGirlHeight, VG_IMAGE_QUALITY_FASTER); vgImageSubData(img, (const void *)&imgGirlData[imgGirlWidth * (imgGirlHeight - 1)], -imgGirlDataStride, imgGirlFormat, 0, 0, imgGirlWidth, imgGirlHeight); vguComputeWarpSquareToQuad(50.0f / 256.0f, 50.2f / 256.0f, 250.0f / 256.0f, 80.0f / 256.0f, 80.0f / 256.0f, 250.0f / 256.0f, 280.0f / 256.0f, 280.0f / 256.0f, matrix); vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE); vgLoadMatrix(matrix); vgDrawImage(img); saveDrawingSurface(f, "draw_vgu_warpsquaretoquad.png", "Test VGU vguComputeWarpSquareToQuad function.", 0, 0, 256, 256); eglSwapBuffers(display, surface); vgDestroyImage(img);