Home | History | Annotate | Download | only in libpng

Lines Matching refs:xy

1196 png_xy_from_XYZ(png_xy *xy, const png_XYZ *XYZ)
1201 if (!png_muldiv(&xy->redx, XYZ->red_X, PNG_FP_1, d)) return 1;
1202 if (!png_muldiv(&xy->redy, XYZ->red_Y, PNG_FP_1, d)) return 1;
1208 if (!png_muldiv(&xy->greenx, XYZ->green_X, PNG_FP_1, d)) return 1;
1209 if (!png_muldiv(&xy->greeny, XYZ->green_Y, PNG_FP_1, d)) return 1;
1215 if (!png_muldiv(&xy->bluex, XYZ->blue_X, PNG_FP_1, d)) return 1;
1216 if (!png_muldiv(&xy->bluey, XYZ->blue_Y, PNG_FP_1, d)) return 1;
1224 if (!png_muldiv(&xy->whitex, whiteX, PNG_FP_1, dwhite)) return 1;
1225 if (!png_muldiv(&xy->whitey, whiteY, PNG_FP_1, dwhite)) return 1;
1231 png_XYZ_from_xy(png_XYZ *XYZ, const png_xy *xy)
1236 /* Check xy and, implicitly, z. Note that wide gamut color spaces typically
1240 if (xy->redx < 0 || xy->redx > PNG_FP_1) return 1;
1241 if (xy->redy < 0 || xy->redy > PNG_FP_1-xy->redx) return 1;
1242 if (xy->greenx < 0 || xy->greenx > PNG_FP_1) return 1;
1243 if (xy->greeny < 0 || xy->greeny > PNG_FP_1-xy->greenx) return 1;
1244 if (xy->bluex < 0 || xy->bluex > PNG_FP_1) return 1;
1245 if (xy->bluey < 0 || xy->bluey > PNG_FP_1-xy->bluex) return 1;
1246 if (xy->whitex < 0 || xy->whitex > PNG_FP_1) return 1;
1247 if (xy->whitey < 0 || xy->whitey > PNG_FP_1-xy->whitex) return 1;
1428 if (!png_muldiv(&left, xy->greenx-xy->bluex, xy->redy - xy->bluey, 7))
1430 if (!png_muldiv(&right, xy->greeny-xy->bluey, xy->redx - xy->bluex, 7))
1435 if (!png_muldiv(&left, xy->greenx-xy->bluex, xy->whitey-xy->bluey, 7))
1437 if (!png_muldiv(&right, xy->greeny-xy->bluey, xy->whitex-xy->bluex, 7))
1445 if (!png_muldiv(&red_inverse, xy->whitey, denominator, left-right) ||
1446 red_inverse <= xy->whitey /* r+g+b scales = white scale */)
1450 if (!png_muldiv(&left, xy->redy-xy->bluey, xy->whitex-xy->bluex, 7))
1452 if (!png_muldiv(&right, xy->redx-xy->bluex, xy->whitey-xy->bluey, 7))
1454 if (!png_muldiv(&green_inverse, xy->whitey, denominator, left-right) ||
1455 green_inverse <= xy->whitey)
1461 blue_scale = png_reciprocal(xy->whitey) - png_reciprocal(red_inverse) -
1467 if (!png_muldiv(&XYZ->red_X, xy->redx, PNG_FP_1, red_inverse)) return 1;
1468 if (!png_muldiv(&XYZ->red_Y, xy->redy, PNG_FP_1, red_inverse)) return 1;
1469 if (!png_muldiv(&XYZ->red_Z, PNG_FP_1 - xy->redx - xy->redy, PNG_FP_1,
1473 if (!png_muldiv(&XYZ->green_X, xy->greenx, PNG_FP_1, green_inverse))
1475 if (!png_muldiv(&XYZ->green_Y, xy->greeny, PNG_FP_1, green_inverse))
1477 if (!png_muldiv(&XYZ->green_Z, PNG_FP_1 - xy->greenx - xy->greeny, PNG_FP_1,
1481 if (!png_muldiv(&XYZ->blue_X, xy->bluex, blue_scale, PNG_FP_1)) return 1;
1482 if (!png_muldiv(&XYZ->blue_Y, xy->bluey, blue_scale, PNG_FP_1)) return 1;
1483 if (!png_muldiv(&XYZ->blue_Z, PNG_FP_1 - xy->bluex - xy->bluey, blue_scale,
1550 * check is to round-trip xy -> XYZ -> xy and then check that the result is
1554 png_colorspace_check_xy(png_XYZ *XYZ, const png_xy *xy)
1560 result = png_XYZ_from_xy(XYZ, xy);
1566 if (png_colorspace_endpoints_match(xy, &xy_test,
1575 * (another side-effect) and the xy chromaticities are returned.
1578 png_colorspace_check_XYZ(png_xy *xy, png_XYZ *XYZ)
1586 result = png_xy_from_XYZ(xy, XYZ);
1590 return png_colorspace_check_xy(&XYZtemp, xy);
1605 png_colorspacerp colorspace, const png_xy *xy, const png_XYZ *XYZ,
1620 if (!png_colorspace_endpoints_match(xy, &colorspace->end_points_xy, 100))
1632 colorspace->end_points_xy = *xy;
1639 if (png_colorspace_endpoints_match(xy, &sRGB_xy, 1000))
1651 png_colorspacerp colorspace, const png_xy *xy, int preferred)
1661 switch (png_colorspace_check_xy(&XYZ, xy))
1664 return png_colorspace_set_xy_and_XYZ(png_ptr, colorspace, xy, &XYZ,
1692 png_xy xy;
1694 switch (png_colorspace_check_XYZ(&xy, &XYZ))
1697 return png_colorspace_set_xy_and_XYZ(png_ptr, colorspace, &xy, &XYZ,