| 1570 | */ |
| 1571 | |
| 1572 | static int /* O - 1 on success, 0 on failure */ |
| 1573 | cups_raster_update(cups_raster_t *r) /* I - Raster stream */ |
| 1574 | { |
| 1575 | int ret = 1; /* Return value */ |
| 1576 | unsigned bytesPerLine; /* Expected bytes per line */ |
| 1577 | |
| 1578 | |
| 1579 | if (r->sync == CUPS_RASTER_SYNCv1 || r->sync == CUPS_RASTER_REVSYNCv1 || |
| 1580 | r->header.cupsNumColors == 0) |
| 1581 | { |
| 1582 | /* |
| 1583 | * Set the "cupsNumColors" field according to the colorspace... |
| 1584 | */ |
| 1585 | |
| 1586 | switch (r->header.cupsColorSpace) |
| 1587 | { |
| 1588 | case CUPS_CSPACE_W : |
| 1589 | case CUPS_CSPACE_K : |
| 1590 | case CUPS_CSPACE_WHITE : |
| 1591 | case CUPS_CSPACE_GOLD : |
| 1592 | case CUPS_CSPACE_SILVER : |
| 1593 | case CUPS_CSPACE_SW : |
| 1594 | r->header.cupsNumColors = 1; |
| 1595 | break; |
| 1596 | |
| 1597 | case CUPS_CSPACE_RGB : |
| 1598 | case CUPS_CSPACE_CMY : |
| 1599 | case CUPS_CSPACE_YMC : |
| 1600 | case CUPS_CSPACE_CIEXYZ : |
| 1601 | case CUPS_CSPACE_CIELab : |
| 1602 | case CUPS_CSPACE_SRGB : |
| 1603 | case CUPS_CSPACE_ADOBERGB : |
| 1604 | case CUPS_CSPACE_ICC1 : |
| 1605 | case CUPS_CSPACE_ICC2 : |
| 1606 | case CUPS_CSPACE_ICC3 : |
| 1607 | case CUPS_CSPACE_ICC4 : |
| 1608 | case CUPS_CSPACE_ICC5 : |
| 1609 | case CUPS_CSPACE_ICC6 : |
| 1610 | case CUPS_CSPACE_ICC7 : |
| 1611 | case CUPS_CSPACE_ICC8 : |
| 1612 | case CUPS_CSPACE_ICC9 : |
| 1613 | case CUPS_CSPACE_ICCA : |
| 1614 | case CUPS_CSPACE_ICCB : |
| 1615 | case CUPS_CSPACE_ICCC : |
| 1616 | case CUPS_CSPACE_ICCD : |
| 1617 | case CUPS_CSPACE_ICCE : |
| 1618 | case CUPS_CSPACE_ICCF : |
| 1619 | r->header.cupsNumColors = 3; |
| 1620 | break; |
| 1621 | |
| 1622 | case CUPS_CSPACE_RGBA : |
| 1623 | case CUPS_CSPACE_RGBW : |
| 1624 | case CUPS_CSPACE_CMYK : |
| 1625 | case CUPS_CSPACE_YMCK : |
| 1626 | case CUPS_CSPACE_KCMY : |
| 1627 | case CUPS_CSPACE_GMCK : |
| 1628 | case CUPS_CSPACE_GMCS : |
| 1629 | r->header.cupsNumColors = 4; |
no test coverage detected