Lines Matching refs:r
69 static ssize_t cups_raster_io(cups_raster_t *r, unsigned char *buf, size_t bytes);
70 static ssize_t cups_raster_read(cups_raster_t *r, unsigned char *buf, size_t bytes);
71 static int cups_raster_update(cups_raster_t *r);
72 static ssize_t cups_raster_write(cups_raster_t *r, const unsigned char *pixels);
168 _cupsRasterDelete(cups_raster_t *r) /* I - Stream to free */ in _cupsRasterDelete() argument
170 if (r != NULL) in _cupsRasterDelete()
172 if (r->buffer) in _cupsRasterDelete()
173 free(r->buffer); in _cupsRasterDelete()
175 if (r->pixels) in _cupsRasterDelete()
176 free(r->pixels); in _cupsRasterDelete()
178 free(r); in _cupsRasterDelete()
444 cups_raster_t *r; /* New stream */ in _cupsRasterNew() local
451 if ((r = calloc(sizeof(cups_raster_t), 1)) == NULL) in _cupsRasterNew()
459 r->ctx = ctx; in _cupsRasterNew()
460 r->iocb = iocb; in _cupsRasterNew()
461 r->mode = mode; in _cupsRasterNew()
469 if (cups_raster_io(r, (unsigned char *)&(r->sync), sizeof(r->sync)) != in _cupsRasterNew()
470 sizeof(r->sync)) in _cupsRasterNew()
474 free(r); in _cupsRasterNew()
479 if (r->sync != CUPS_RASTER_SYNC && in _cupsRasterNew()
480 r->sync != CUPS_RASTER_REVSYNC && in _cupsRasterNew()
481 r->sync != CUPS_RASTER_SYNCv1 && in _cupsRasterNew()
482 r->sync != CUPS_RASTER_REVSYNCv1 && in _cupsRasterNew()
483 r->sync != CUPS_RASTER_SYNCv2 && in _cupsRasterNew()
484 r->sync != CUPS_RASTER_REVSYNCv2 && in _cupsRasterNew()
485 r->sync != CUPS_RASTER_SYNCapple && in _cupsRasterNew()
486 r->sync != CUPS_RASTER_REVSYNCapple) in _cupsRasterNew()
488 _cupsRasterAddError("Unknown raster format %08x!\n", r->sync); in _cupsRasterNew()
489 free(r); in _cupsRasterNew()
494 if (r->sync == CUPS_RASTER_SYNCv2 || in _cupsRasterNew()
495 r->sync == CUPS_RASTER_REVSYNCv2 || in _cupsRasterNew()
496 r->sync == CUPS_RASTER_SYNCapple || in _cupsRasterNew()
497 r->sync == CUPS_RASTER_REVSYNCapple) in _cupsRasterNew()
498 r->compressed = 1; in _cupsRasterNew()
500 DEBUG_printf(("1_cupsRasterOpenIO: sync=%08x", r->sync)); in _cupsRasterNew()
502 if (r->sync == CUPS_RASTER_REVSYNC || in _cupsRasterNew()
503 r->sync == CUPS_RASTER_REVSYNCv1 || in _cupsRasterNew()
504 r->sync == CUPS_RASTER_REVSYNCv2 || in _cupsRasterNew()
505 r->sync == CUPS_RASTER_REVSYNCapple) in _cupsRasterNew()
506 r->swapped = 1; in _cupsRasterNew()
508 if (r->sync == CUPS_RASTER_SYNCapple || in _cupsRasterNew()
509 r->sync == CUPS_RASTER_REVSYNCapple) in _cupsRasterNew()
513 if (cups_raster_io(r, (unsigned char *)header, sizeof(header)) != in _cupsRasterNew()
518 free(r); in _cupsRasterNew()
525 r->iostart = r->iocount; in _cupsRasterNew()
538 r->sync = CUPS_RASTER_SYNC; in _cupsRasterNew()
542 r->compressed = 1; in _cupsRasterNew()
543 r->sync = CUPS_RASTER_SYNCv2; in _cupsRasterNew()
547 r->compressed = 1; in _cupsRasterNew()
548 r->sync = htonl(CUPS_RASTER_SYNC_PWG); in _cupsRasterNew()
549 r->swapped = r->sync != CUPS_RASTER_SYNC_PWG; in _cupsRasterNew()
553 r->compressed = 1; in _cupsRasterNew()
554 r->sync = htonl(CUPS_RASTER_SYNCapple); in _cupsRasterNew()
555 r->swapped = r->sync != CUPS_RASTER_SYNCapple; in _cupsRasterNew()
556 r->apple_page_count = 0xffffffffU; in _cupsRasterNew()
560 if (cups_raster_io(r, (unsigned char *)&(r->sync), sizeof(r->sync)) < (ssize_t)sizeof(r->sync)) in _cupsRasterNew()
564 free(r); in _cupsRasterNew()
570 …cupsRasterOpenIO: compressed=%d, swapped=%d, returning %p", r->compressed, r->swapped, (void *)r)); in _cupsRasterNew()
572 return (r); in _cupsRasterNew()
582 cups_raster_t *r) /* I - Raster stream */ in _cupsRasterReadHeader() argument
587 …DEBUG_printf(("3_cupsRasterReadHeader(r=%p), r->mode=%s", (void *)r, r ? cups_modes[r->mode] : "")… in _cupsRasterReadHeader()
589 if (r == NULL || r->mode != CUPS_RASTER_READ) in _cupsRasterReadHeader()
592 DEBUG_printf(("4_cupsRasterReadHeader: r->iocount=" CUPS_LLFMT, CUPS_LLCAST r->iocount)); in _cupsRasterReadHeader()
594 memset(&(r->header), 0, sizeof(r->header)); in _cupsRasterReadHeader()
600 switch (r->sync) in _cupsRasterReadHeader()
607 if (r->sync == CUPS_RASTER_SYNCv1 || r->sync == CUPS_RASTER_REVSYNCv1) in _cupsRasterReadHeader()
618 if (cups_raster_read(r, (unsigned char *)&(r->header), len) < (ssize_t)len) in _cupsRasterReadHeader()
620 DEBUG_printf(("4_cupsRasterReadHeader: EOF, r->iocount=" CUPS_LLFMT, CUPS_LLCAST r->iocount)); in _cupsRasterReadHeader()
628 if (r->swapped) in _cupsRasterReadHeader()
636 for (len = 81, s = &(r->header.AdvanceDistance); in _cupsRasterReadHeader()
676 if (cups_raster_read(r, appleheader, sizeof(appleheader)) < (ssize_t)sizeof(appleheader)) in _cupsRasterReadHeader()
678 DEBUG_printf(("4_cupsRasterReadHeader: EOF, r->iocount=" CUPS_LLFMT, CUPS_LLCAST r->iocount)); in _cupsRasterReadHeader()
682 strlcpy(r->header.MediaClass, "PwgRaster", sizeof(r->header.MediaClass)); in _cupsRasterReadHeader()
684 r->header.cupsBitsPerPixel = appleheader[0]; in _cupsRasterReadHeader()
685 …r->header.cupsColorSpace = appleheader[1] >= (sizeof(rawcspace) / sizeof(rawcspace[0])) ? CUPS_C… in _cupsRasterReadHeader()
686 …r->header.cupsNumColors = appleheader[1] >= (sizeof(rawnumcolors) / sizeof(rawnumcolors[0])) ? … in _cupsRasterReadHeader()
687 r->header.cupsBitsPerColor = r->header.cupsBitsPerPixel / r->header.cupsNumColors; in _cupsRasterReadHeader()
688 …r->header.cupsWidth = ((((((unsigned)appleheader[12] << 8) | (unsigned)appleheader[13]) << … in _cupsRasterReadHeader()
689 …r->header.cupsHeight = ((((((unsigned)appleheader[16] << 8) | (unsigned)appleheader[17]) << … in _cupsRasterReadHeader()
690 r->header.cupsBytesPerLine = r->header.cupsWidth * r->header.cupsBitsPerPixel / 8; in _cupsRasterReadHeader()
691 r->header.cupsColorOrder = CUPS_ORDER_CHUNKED; in _cupsRasterReadHeader()
692 …r->header.HWResolution[0] = r->header.HWResolution[1] = ((((((unsigned)appleheader[20] << 8) | (u… in _cupsRasterReadHeader()
694 if (r->header.HWResolution[0] > 0) in _cupsRasterReadHeader()
696 r->header.PageSize[0] = (unsigned)(r->header.cupsWidth * 72 / r->header.HWResolution[0]); in _cupsRasterReadHeader()
697 r->header.PageSize[1] = (unsigned)(r->header.cupsHeight * 72 / r->header.HWResolution[1]); in _cupsRasterReadHeader()
698 r->header.cupsPageSize[0] = (float)(r->header.cupsWidth * 72.0 / r->header.HWResolution[0]); in _cupsRasterReadHeader()
699 r->header.cupsPageSize[1] = (float)(r->header.cupsHeight * 72.0 / r->header.HWResolution[1]); in _cupsRasterReadHeader()
702 r->header.cupsInteger[CUPS_RASTER_PWG_TotalPageCount] = r->apple_page_count; in _cupsRasterReadHeader()
703 r->header.cupsInteger[CUPS_RASTER_PWG_AlternatePrimary] = 0xffffff; in _cupsRasterReadHeader()
704 r->header.cupsInteger[CUPS_RASTER_PWG_PrintQuality] = appleheader[3]; in _cupsRasterReadHeader()
707 r->header.Duplex = 1; in _cupsRasterReadHeader()
709 r->header.Tumble = 1; in _cupsRasterReadHeader()
711 r->header.MediaPosition = appleheader[5]; in _cupsRasterReadHeader()
714 … strlcpy(r->header.MediaType, apple_media_types[appleheader[4]], sizeof(r->header.MediaType)); in _cupsRasterReadHeader()
716 strlcpy(r->header.MediaType, "other", sizeof(r->header.MediaType)); in _cupsRasterReadHeader()
725 if (!cups_raster_update(r)) in _cupsRasterReadHeader()
728 …DEBUG_printf(("4_cupsRasterReadHeader: cupsColorSpace=%s", _cupsRasterColorSpaceString(r->header.c… in _cupsRasterReadHeader()
729 DEBUG_printf(("4_cupsRasterReadHeader: cupsBitsPerColor=%u", r->header.cupsBitsPerColor)); in _cupsRasterReadHeader()
730 DEBUG_printf(("4_cupsRasterReadHeader: cupsBitsPerPixel=%u", r->header.cupsBitsPerPixel)); in _cupsRasterReadHeader()
731 DEBUG_printf(("4_cupsRasterReadHeader: cupsBytesPerLine=%u", r->header.cupsBytesPerLine)); in _cupsRasterReadHeader()
732 DEBUG_printf(("4_cupsRasterReadHeader: cupsWidth=%u", r->header.cupsWidth)); in _cupsRasterReadHeader()
733 DEBUG_printf(("4_cupsRasterReadHeader: cupsHeight=%u", r->header.cupsHeight)); in _cupsRasterReadHeader()
734 DEBUG_printf(("4_cupsRasterReadHeader: r->bpp=%d", r->bpp)); in _cupsRasterReadHeader()
736 …r->header.cupsBitsPerPixel > 0 && r->header.cupsBitsPerPixel <= 240 && r->header.cupsBitsPerColor … in _cupsRasterReadHeader()
750 cups_raster_t *r, /* I - Raster stream */ in _cupsRasterReadPixels() argument
763 DEBUG_printf(("_cupsRasterReadPixels(r=%p, p=%p, len=%u)", (void *)r, (void *)p, len)); in _cupsRasterReadPixels()
765 if (r == NULL || r->mode != CUPS_RASTER_READ || r->remaining == 0 || in _cupsRasterReadPixels()
766 r->header.cupsBytesPerLine == 0) in _cupsRasterReadPixels()
772 …DEBUG_printf(("1_cupsRasterReadPixels: compressed=%d, remaining=%u", r->compressed, r->remaining)); in _cupsRasterReadPixels()
774 if (!r->compressed) in _cupsRasterReadPixels()
780 r->remaining -= len / r->header.cupsBytesPerLine; in _cupsRasterReadPixels()
782 if (cups_raster_io(r, p, len) < (ssize_t)len) in _cupsRasterReadPixels()
792 if (r->swapped && in _cupsRasterReadPixels()
793 (r->header.cupsBitsPerColor == 16 || in _cupsRasterReadPixels()
794 r->header.cupsBitsPerPixel == 12 || in _cupsRasterReadPixels()
795 r->header.cupsBitsPerPixel == 16)) in _cupsRasterReadPixels()
812 cupsBytesPerLine = r->header.cupsBytesPerLine; in _cupsRasterReadPixels()
814 while (remaining > 0 && r->remaining > 0) in _cupsRasterReadPixels()
816 if (r->count == 0) in _cupsRasterReadPixels()
825 ptr = r->pixels; in _cupsRasterReadPixels()
831 if (!cups_raster_read(r, &byte, 1)) in _cupsRasterReadPixels()
837 r->count = (unsigned)byte + 1; in _cupsRasterReadPixels()
839 if (r->count > 1) in _cupsRasterReadPixels()
840 ptr = r->pixels; in _cupsRasterReadPixels()
851 if (!cups_raster_read(r, &byte, 1)) in _cupsRasterReadPixels()
863 switch (r->header.cupsColorSpace) in _cupsRasterReadPixels()
887 count = (unsigned)(257 - byte) * r->bpp; in _cupsRasterReadPixels()
892 if (!cups_raster_read(r, temp, count)) in _cupsRasterReadPixels()
907 count = ((unsigned)byte + 1) * r->bpp; in _cupsRasterReadPixels()
911 if (count < r->bpp) in _cupsRasterReadPixels()
916 if (!cups_raster_read(r, temp, r->bpp)) in _cupsRasterReadPixels()
922 temp += r->bpp; in _cupsRasterReadPixels()
923 count -= r->bpp; in _cupsRasterReadPixels()
927 memcpy(temp, temp - r->bpp, r->bpp); in _cupsRasterReadPixels()
928 temp += r->bpp; in _cupsRasterReadPixels()
929 count -= r->bpp; in _cupsRasterReadPixels()
938 if ((r->header.cupsBitsPerColor == 16 || in _cupsRasterReadPixels()
939 r->header.cupsBitsPerPixel == 12 || in _cupsRasterReadPixels()
940 r->header.cupsBitsPerPixel == 16) && in _cupsRasterReadPixels()
941 r->swapped) in _cupsRasterReadPixels()
954 r->pcurrent = r->pixels; in _cupsRasterReadPixels()
955 r->count --; in _cupsRasterReadPixels()
956 r->remaining --; in _cupsRasterReadPixels()
961 r->pcurrent = r->pixels + bytes; in _cupsRasterReadPixels()
977 if ((unsigned)(bytes = (int)(r->pend - r->pcurrent)) > remaining) in _cupsRasterReadPixels()
980 memcpy(p, r->pcurrent, (size_t)bytes); in _cupsRasterReadPixels()
981 r->pcurrent += bytes; in _cupsRasterReadPixels()
983 if (r->pcurrent >= r->pend) in _cupsRasterReadPixels()
985 r->pcurrent = r->pixels; in _cupsRasterReadPixels()
986 r->count --; in _cupsRasterReadPixels()
987 r->remaining --; in _cupsRasterReadPixels()
1007 cups_raster_t *r) /* I - Raster stream */ in _cupsRasterWriteHeader() argument
1009 DEBUG_printf(("_cupsRasterWriteHeader(r=%p)", (void *)r)); in _cupsRasterWriteHeader()
1011 …DEBUG_printf(("1_cupsRasterWriteHeader: cupsColorSpace=%s", _cupsRasterColorSpaceString(r->header.… in _cupsRasterWriteHeader()
1012 DEBUG_printf(("1_cupsRasterWriteHeader: cupsBitsPerColor=%u", r->header.cupsBitsPerColor)); in _cupsRasterWriteHeader()
1013 DEBUG_printf(("1_cupsRasterWriteHeader: cupsBitsPerPixel=%u", r->header.cupsBitsPerPixel)); in _cupsRasterWriteHeader()
1014 DEBUG_printf(("1_cupsRasterWriteHeader: cupsBytesPerLine=%u", r->header.cupsBytesPerLine)); in _cupsRasterWriteHeader()
1015 DEBUG_printf(("1_cupsRasterWriteHeader: cupsWidth=%u", r->header.cupsWidth)); in _cupsRasterWriteHeader()
1016 DEBUG_printf(("1_cupsRasterWriteHeader: cupsHeight=%u", r->header.cupsHeight)); in _cupsRasterWriteHeader()
1022 if (!cups_raster_update(r)) in _cupsRasterWriteHeader()
1028 if (r->mode == CUPS_RASTER_WRITE_APPLE) in _cupsRasterWriteHeader()
1030 r->rowheight = r->header.HWResolution[0] / r->header.HWResolution[1]; in _cupsRasterWriteHeader()
1032 if (r->header.HWResolution[0] != (r->rowheight * r->header.HWResolution[1])) in _cupsRasterWriteHeader()
1036 r->rowheight = 1; in _cupsRasterWriteHeader()
1042 if (r->mode == CUPS_RASTER_WRITE_PWG) in _cupsRasterWriteHeader()
1053 strlcpy(fh.MediaColor, r->header.MediaColor, sizeof(fh.MediaColor)); in _cupsRasterWriteHeader()
1054 strlcpy(fh.MediaType, r->header.MediaType, sizeof(fh.MediaType)); in _cupsRasterWriteHeader()
1055 strlcpy(fh.OutputType, r->header.OutputType, sizeof(fh.OutputType)); in _cupsRasterWriteHeader()
1056 strlcpy(fh.cupsRenderingIntent, r->header.cupsRenderingIntent, in _cupsRasterWriteHeader()
1058 strlcpy(fh.cupsPageSizeName, r->header.cupsPageSizeName, in _cupsRasterWriteHeader()
1061 fh.CutMedia = htonl(r->header.CutMedia); in _cupsRasterWriteHeader()
1062 fh.Duplex = htonl(r->header.Duplex); in _cupsRasterWriteHeader()
1063 fh.HWResolution[0] = htonl(r->header.HWResolution[0]); in _cupsRasterWriteHeader()
1064 fh.HWResolution[1] = htonl(r->header.HWResolution[1]); in _cupsRasterWriteHeader()
1065 fh.ImagingBoundingBox[0] = htonl(r->header.ImagingBoundingBox[0]); in _cupsRasterWriteHeader()
1066 fh.ImagingBoundingBox[1] = htonl(r->header.ImagingBoundingBox[1]); in _cupsRasterWriteHeader()
1067 fh.ImagingBoundingBox[2] = htonl(r->header.ImagingBoundingBox[2]); in _cupsRasterWriteHeader()
1068 fh.ImagingBoundingBox[3] = htonl(r->header.ImagingBoundingBox[3]); in _cupsRasterWriteHeader()
1069 fh.InsertSheet = htonl(r->header.InsertSheet); in _cupsRasterWriteHeader()
1070 fh.Jog = htonl(r->header.Jog); in _cupsRasterWriteHeader()
1071 fh.LeadingEdge = htonl(r->header.LeadingEdge); in _cupsRasterWriteHeader()
1072 fh.ManualFeed = htonl(r->header.ManualFeed); in _cupsRasterWriteHeader()
1073 fh.MediaPosition = htonl(r->header.MediaPosition); in _cupsRasterWriteHeader()
1074 fh.MediaWeight = htonl(r->header.MediaWeight); in _cupsRasterWriteHeader()
1075 fh.NumCopies = htonl(r->header.NumCopies); in _cupsRasterWriteHeader()
1076 fh.Orientation = htonl(r->header.Orientation); in _cupsRasterWriteHeader()
1077 fh.PageSize[0] = htonl(r->header.PageSize[0]); in _cupsRasterWriteHeader()
1078 fh.PageSize[1] = htonl(r->header.PageSize[1]); in _cupsRasterWriteHeader()
1079 fh.Tumble = htonl(r->header.Tumble); in _cupsRasterWriteHeader()
1080 fh.cupsWidth = htonl(r->header.cupsWidth); in _cupsRasterWriteHeader()
1081 fh.cupsHeight = htonl(r->header.cupsHeight); in _cupsRasterWriteHeader()
1082 fh.cupsBitsPerColor = htonl(r->header.cupsBitsPerColor); in _cupsRasterWriteHeader()
1083 fh.cupsBitsPerPixel = htonl(r->header.cupsBitsPerPixel); in _cupsRasterWriteHeader()
1084 fh.cupsBytesPerLine = htonl(r->header.cupsBytesPerLine); in _cupsRasterWriteHeader()
1085 fh.cupsColorOrder = htonl(r->header.cupsColorOrder); in _cupsRasterWriteHeader()
1086 fh.cupsColorSpace = htonl(r->header.cupsColorSpace); in _cupsRasterWriteHeader()
1087 fh.cupsNumColors = htonl(r->header.cupsNumColors); in _cupsRasterWriteHeader()
1088 fh.cupsInteger[0] = htonl(r->header.cupsInteger[0]); in _cupsRasterWriteHeader()
1089 fh.cupsInteger[1] = htonl(r->header.cupsInteger[1]); in _cupsRasterWriteHeader()
1090 fh.cupsInteger[2] = htonl(r->header.cupsInteger[2]); in _cupsRasterWriteHeader()
1091 …fh.cupsInteger[3] = htonl((unsigned)(r->header.cupsImagingBBox[0] * r->header.HWResolution[… in _cupsRasterWriteHeader()
1092 …fh.cupsInteger[4] = htonl((unsigned)(r->header.cupsImagingBBox[1] * r->header.HWResolution[… in _cupsRasterWriteHeader()
1093 …fh.cupsInteger[5] = htonl((unsigned)(r->header.cupsImagingBBox[2] * r->header.HWResolution[… in _cupsRasterWriteHeader()
1094 …fh.cupsInteger[6] = htonl((unsigned)(r->header.cupsImagingBBox[3] * r->header.HWResolution[… in _cupsRasterWriteHeader()
1097 return (cups_raster_io(r, (unsigned char *)&fh, sizeof(fh)) == sizeof(fh)); in _cupsRasterWriteHeader()
1099 else if (r->mode == CUPS_RASTER_WRITE_APPLE) in _cupsRasterWriteHeader()
1108 unsigned height = r->header.cupsHeight * r->rowheight; in _cupsRasterWriteHeader()
1111 if (r->apple_page_count == 0xffffffffU) in _cupsRasterWriteHeader()
1117 r->apple_page_count = r->header.cupsInteger[0]; in _cupsRasterWriteHeader()
1123 appleheader[4] = (unsigned char)(r->apple_page_count >> 24); in _cupsRasterWriteHeader()
1124 appleheader[5] = (unsigned char)(r->apple_page_count >> 16); in _cupsRasterWriteHeader()
1125 appleheader[6] = (unsigned char)(r->apple_page_count >> 8); in _cupsRasterWriteHeader()
1126 appleheader[7] = (unsigned char)(r->apple_page_count); in _cupsRasterWriteHeader()
1128 if (cups_raster_io(r, appleheader, 8) != 8) in _cupsRasterWriteHeader()
1134 appleheader[0] = (unsigned char)r->header.cupsBitsPerPixel; in _cupsRasterWriteHeader()
1135 appleheader[1] = r->header.cupsColorSpace == CUPS_CSPACE_SRGB ? 1 : in _cupsRasterWriteHeader()
1136 r->header.cupsColorSpace == CUPS_CSPACE_CIELab ? 2 : in _cupsRasterWriteHeader()
1137 r->header.cupsColorSpace == CUPS_CSPACE_ADOBERGB ? 3 : in _cupsRasterWriteHeader()
1138 r->header.cupsColorSpace == CUPS_CSPACE_W ? 4 : in _cupsRasterWriteHeader()
1139 r->header.cupsColorSpace == CUPS_CSPACE_RGB ? 5 : in _cupsRasterWriteHeader()
1140 r->header.cupsColorSpace == CUPS_CSPACE_CMYK ? 6 : 0; in _cupsRasterWriteHeader()
1141 appleheader[2] = r->header.Duplex ? (r->header.Tumble ? 2 : 3) : 1; in _cupsRasterWriteHeader()
1142 appleheader[3] = (unsigned char)(r->header.cupsInteger[CUPS_RASTER_PWG_PrintQuality]); in _cupsRasterWriteHeader()
1143 appleheader[5] = (unsigned char)(r->header.MediaPosition); in _cupsRasterWriteHeader()
1144 appleheader[12] = (unsigned char)(r->header.cupsWidth >> 24); in _cupsRasterWriteHeader()
1145 appleheader[13] = (unsigned char)(r->header.cupsWidth >> 16); in _cupsRasterWriteHeader()
1146 appleheader[14] = (unsigned char)(r->header.cupsWidth >> 8); in _cupsRasterWriteHeader()
1147 appleheader[15] = (unsigned char)(r->header.cupsWidth); in _cupsRasterWriteHeader()
1152 appleheader[20] = (unsigned char)(r->header.HWResolution[0] >> 24); in _cupsRasterWriteHeader()
1153 appleheader[21] = (unsigned char)(r->header.HWResolution[0] >> 16); in _cupsRasterWriteHeader()
1154 appleheader[22] = (unsigned char)(r->header.HWResolution[0] >> 8); in _cupsRasterWriteHeader()
1155 appleheader[23] = (unsigned char)(r->header.HWResolution[0]); in _cupsRasterWriteHeader()
1159 if (!strcmp(r->header.MediaType, apple_media_types[i])) in _cupsRasterWriteHeader()
1166 return (cups_raster_io(r, appleheader, sizeof(appleheader)) == sizeof(appleheader)); in _cupsRasterWriteHeader()
1169 return (cups_raster_io(r, (unsigned char *)&(r->header), sizeof(r->header)) in _cupsRasterWriteHeader()
1170 == sizeof(r->header)); in _cupsRasterWriteHeader()
1184 cups_raster_t *r, /* I - Raster stream */ in _cupsRasterWritePixels() argument
1192 …cupsRasterWritePixels(r=%p, p=%p, len=%u), remaining=%u", (void *)r, (void *)p, len, r->remaining)… in _cupsRasterWritePixels()
1194 if (r == NULL || r->mode == CUPS_RASTER_READ || r->remaining == 0) in _cupsRasterWritePixels()
1197 if (!r->compressed) in _cupsRasterWritePixels()
1204 r->remaining -= len / r->header.cupsBytesPerLine; in _cupsRasterWritePixels()
1206 if (r->swapped && in _cupsRasterWritePixels()
1207 (r->header.cupsBitsPerColor == 16 || in _cupsRasterWritePixels()
1208 r->header.cupsBitsPerPixel == 12 || in _cupsRasterWritePixels()
1209 r->header.cupsBitsPerPixel == 16)) in _cupsRasterWritePixels()
1217 if ((size_t)len > r->bufsize) in _cupsRasterWritePixels()
1219 if (r->buffer) in _cupsRasterWritePixels()
1220 bufptr = realloc(r->buffer, len); in _cupsRasterWritePixels()
1227 r->buffer = bufptr; in _cupsRasterWritePixels()
1228 r->bufsize = len; in _cupsRasterWritePixels()
1235 cups_swap_copy(r->buffer, p, len); in _cupsRasterWritePixels()
1237 bytes = cups_raster_io(r, r->buffer, len); in _cupsRasterWritePixels()
1240 bytes = cups_raster_io(r, p, len); in _cupsRasterWritePixels()
1258 if ((bytes = (ssize_t)remaining) > (ssize_t)(r->pend - r->pcurrent)) in _cupsRasterWritePixels()
1259 bytes = (ssize_t)(r->pend - r->pcurrent); in _cupsRasterWritePixels()
1261 if (r->count > 0) in _cupsRasterWritePixels()
1267 if (memcmp(p, r->pcurrent, (size_t)bytes)) in _cupsRasterWritePixels()
1269 if (cups_raster_write(r, r->pixels) <= 0) in _cupsRasterWritePixels()
1272 r->count = 0; in _cupsRasterWritePixels()
1280 r->pcurrent += bytes; in _cupsRasterWritePixels()
1282 if (r->pcurrent >= r->pend) in _cupsRasterWritePixels()
1288 r->count += r->rowheight; in _cupsRasterWritePixels()
1289 r->pcurrent = r->pixels; in _cupsRasterWritePixels()
1295 r->remaining --; in _cupsRasterWritePixels()
1297 if (r->remaining == 0) in _cupsRasterWritePixels()
1299 if (cups_raster_write(r, r->pixels) <= 0) in _cupsRasterWritePixels()
1304 else if (r->count > (256 - r->rowheight)) in _cupsRasterWritePixels()
1306 if (cups_raster_write(r, r->pixels) <= 0) in _cupsRasterWritePixels()
1309 r->count = 0; in _cupsRasterWritePixels()
1317 if (r->count == 0) in _cupsRasterWritePixels()
1323 memcpy(r->pcurrent, p, (size_t)bytes); in _cupsRasterWritePixels()
1325 r->pcurrent += bytes; in _cupsRasterWritePixels()
1327 if (r->pcurrent >= r->pend) in _cupsRasterWritePixels()
1333 r->count += r->rowheight; in _cupsRasterWritePixels()
1334 r->pcurrent = r->pixels; in _cupsRasterWritePixels()
1340 r->remaining --; in _cupsRasterWritePixels()
1342 if (r->remaining == 0) in _cupsRasterWritePixels()
1344 if (cups_raster_write(r, r->pixels) <= 0) in _cupsRasterWritePixels()
1360 cups_raster_io(cups_raster_t *r, /* I - Raster stream */ in cups_raster_io() argument
1368 …DEBUG_printf(("5cups_raster_io(r=%p, buf=%p, bytes=" CUPS_LLFMT ")", (void *)r, (void *)buf, CUPS_… in cups_raster_io()
1372 count = (*r->iocb)(r->ctx, buf, bytes - (size_t)total); in cups_raster_io()
1388 r->iocount += (size_t)count; in cups_raster_io()
1392 DEBUG_printf(("6cups_raster_io: iocount=" CUPS_LLFMT, CUPS_LLCAST r->iocount)); in cups_raster_io()
1404 cups_raster_read(cups_raster_t *r, /* I - Raster stream */ in cups_raster_read() argument
1413 …LLFMT "), offset=" CUPS_LLFMT, (void *)r, (void *)buf, CUPS_LLCAST bytes, CUPS_LLCAST (r->iostart … in cups_raster_read()
1415 if (!r->compressed) in cups_raster_read()
1416 return (cups_raster_io(r, buf, bytes)); in cups_raster_read()
1422 count = (ssize_t)(2 * r->header.cupsBytesPerLine); in cups_raster_read()
1426 if ((size_t)count > r->bufsize) in cups_raster_read()
1428 ssize_t offset = r->bufptr - r->buffer; in cups_raster_read()
1430 ssize_t end = r->bufend - r->buffer;/* Offset to current end of buffer */ in cups_raster_read()
1433 if (r->buffer) in cups_raster_read()
1434 rptr = realloc(r->buffer, (size_t)count); in cups_raster_read()
1441 r->buffer = rptr; in cups_raster_read()
1442 r->bufptr = rptr + offset; in cups_raster_read()
1443 r->bufend = rptr + end; in cups_raster_read()
1444 r->bufsize = (size_t)count; in cups_raster_read()
1451 for (total = 0, remaining = (int)(r->bufend - r->bufptr); in cups_raster_read()
1457 …%p", CUPS_LLCAST count, CUPS_LLCAST remaining, (void *)buf, (void *)r->bufptr, (void *)r->bufend)); in cups_raster_read()
1468 r->iostart += (size_t)(r->bufend - r->buffer); in cups_raster_read()
1471 remaining = (*r->iocb)(r->ctx, r->buffer, r->bufsize); in cups_raster_read()
1475 r->bufptr = r->buffer; in cups_raster_read()
1476 r->bufend = r->buffer + remaining; in cups_raster_read()
1479 r->iocount += (size_t)remaining; in cups_raster_read()
1488 count = (*r->iocb)(r->ctx, buf, (size_t)count); in cups_raster_read()
1494 r->iostart += (size_t)count; in cups_raster_read()
1495 r->iocount += (size_t)count; in cups_raster_read()
1515 *buf = *(r->bufptr)++; in cups_raster_read()
1530 for (bufptr = r->bufptr; count > 0; count --, total ++) in cups_raster_read()
1533 r->bufptr = bufptr; in cups_raster_read()
1541 memcpy(buf, r->bufptr, (size_t)count); in cups_raster_read()
1542 r->bufptr += count; in cups_raster_read()
1559 cups_raster_update(cups_raster_t *r) /* I - Raster stream */ in cups_raster_update() argument
1561 if (r->sync == CUPS_RASTER_SYNCv1 || r->sync == CUPS_RASTER_REVSYNCv1 || in cups_raster_update()
1562 r->header.cupsNumColors == 0) in cups_raster_update()
1568 switch (r->header.cupsColorSpace) in cups_raster_update()
1576 r->header.cupsNumColors = 1; in cups_raster_update()
1601 r->header.cupsNumColors = 3; in cups_raster_update()
1611 r->header.cupsNumColors = 4; in cups_raster_update()
1615 if (r->header.cupsBitsPerPixel < 8) in cups_raster_update()
1616 r->header.cupsNumColors = 6; in cups_raster_update()
1618 r->header.cupsNumColors = 4; in cups_raster_update()
1636 r->header.cupsNumColors = r->header.cupsColorSpace - in cups_raster_update()
1650 if (r->header.cupsColorOrder == CUPS_ORDER_CHUNKED) in cups_raster_update()
1651 r->bpp = (r->header.cupsBitsPerPixel + 7) / 8; in cups_raster_update()
1653 r->bpp = (r->header.cupsBitsPerColor + 7) / 8; in cups_raster_update()
1655 if (r->bpp == 0) in cups_raster_update()
1656 r->bpp = 1; in cups_raster_update()
1662 if (r->header.cupsColorOrder == CUPS_ORDER_PLANAR) in cups_raster_update()
1663 r->remaining = r->header.cupsHeight * r->header.cupsNumColors; in cups_raster_update()
1665 r->remaining = r->header.cupsHeight; in cups_raster_update()
1671 if (r->compressed) in cups_raster_update()
1673 if (r->pixels != NULL) in cups_raster_update()
1674 free(r->pixels); in cups_raster_update()
1676 if ((r->pixels = calloc(r->header.cupsBytesPerLine, 1)) == NULL) in cups_raster_update()
1678 r->pcurrent = NULL; in cups_raster_update()
1679 r->pend = NULL; in cups_raster_update()
1680 r->count = 0; in cups_raster_update()
1685 r->pcurrent = r->pixels; in cups_raster_update()
1686 r->pend = r->pixels + r->header.cupsBytesPerLine; in cups_raster_update()
1687 r->count = 0; in cups_raster_update()
1700 cups_raster_t *r, /* I - Raster stream */ in cups_raster_write() argument
1713 DEBUG_printf(("3cups_raster_write(r=%p, pixels=%p)", (void *)r, (void *)pixels)); in cups_raster_write()
1719 …if (r->swapped && (r->header.cupsBitsPerColor == 16 || r->header.cupsBitsPerPixel == 12 || r->head… in cups_raster_write()
1731 count = r->header.cupsBytesPerLine * 2; in cups_raster_write()
1735 if ((size_t)count > r->bufsize) in cups_raster_write()
1737 if (r->buffer) in cups_raster_write()
1738 wptr = realloc(r->buffer, count); in cups_raster_write()
1748 r->buffer = wptr; in cups_raster_write()
1749 r->bufsize = count; in cups_raster_write()
1756 bpp = r->bpp; in cups_raster_write()
1757 pend = pixels + r->header.cupsBytesPerLine; in cups_raster_write()
1759 wptr = r->buffer; in cups_raster_write()
1760 *wptr++ = (unsigned char)(r->count - 1); in cups_raster_write()
1820 …DEBUG_printf(("4cups_raster_write: Writing " CUPS_LLFMT " bytes.", CUPS_LLCAST (wptr - r->buffer))… in cups_raster_write()
1822 return (cups_raster_io(r, r->buffer, (size_t)(wptr - r->buffer))); in cups_raster_write()