PDFLIB_API void PDFLIB_CALL PDF_skew(PDF *p, float alpha, float beta) { static const char fn[] = "PDF_skew"; pdc_matrix m; if (!pdf_enter_api(p, fn, pdf_state_content, "(p[%p], %g, %g)\n", (void *) p, alpha, beta)) return; if (alpha == (float) 0 && beta == (float) 0) return; if (alpha > (float) 360 || alpha < (float) -360 || alpha == (float) -90 || alpha == (float) -270 || alpha == (float) 90 || alpha == (float) 270) { pdc_error(p->pdc, PDC_E_ILLARG_FLOAT, "alpha", pdc_errprintf(p->pdc, "%f", alpha), 0, 0); } if (beta > (float) 360 || beta < (float) -360 || beta == (float) -90 || beta == (float) -270 || beta == (float) 90 || beta == (float) 270) { pdc_error(p->pdc, PDC_E_ILLARG_FLOAT, "beta", pdc_errprintf(p->pdc, "%f", beta), 0, 0); } pdc_skew_matrix(p->ydirection * alpha, p->ydirection * beta, &m); pdf_concat_raw(p, &m); }
void pdf__skew(PDF *p, pdc_scalar alpha, pdc_scalar beta) { pdc_matrix m; pdc_check_number(p->pdc, "alpha", alpha); pdc_check_number(p->pdc, "beta", beta); if (alpha == 0 && beta == 0) return; if (alpha > 360 || alpha < -360 || alpha == -90 || alpha == -270 || alpha == 90 || alpha == 270) { pdc_error(p->pdc, PDC_E_ILLARG_FLOAT, "alpha", pdc_errprintf(p->pdc, "%f", alpha), 0, 0); } if (beta > 360 || beta < -360 || beta == -90 || beta == -270 || beta == 90 || beta == 270) { pdc_error(p->pdc, PDC_E_ILLARG_FLOAT, "beta", pdc_errprintf(p->pdc, "%f", beta), 0, 0); } pdc_skew_matrix(p->ydirection * alpha, p->ydirection * beta, &m); pdf_concat_raw(p, &m); }