forked from Lainports/freebsd-ports
176 lines
8.8 KiB
C
176 lines
8.8 KiB
C
--- lips/gdevl4r.c.orig Thu Nov 2 12:09:18 2000
|
|
+++ lips/gdevl4r.c Fri Dec 17 19:19:02 2004
|
|
@@ -53,8 +53,8 @@
|
|
#define lips_device(dtype, procs, dname, xdpi, ydpi, lm, bm, rm, tm, color_bits,\
|
|
print_page_copies, image_out, cassetFeed, username)\
|
|
{ std_device_std_color_full_body(dtype, &procs, dname,\
|
|
- (int)((long)(DEFAULT_WIDTH_10THS) * (xdpi) / 10),\
|
|
- (int)((long)(DEFAULT_HEIGHT_10THS) * (ydpi) / 10),\
|
|
+ (int)((long)((DEFAULT_WIDTH_10THS) * (xdpi)) / 10),\
|
|
+ (int)((long)((DEFAULT_HEIGHT_10THS) * (ydpi)) / 10),\
|
|
xdpi, ydpi, color_bits,\
|
|
-(lm) * (xdpi), -(tm) * (ydpi),\
|
|
(lm) * 72.0, (bm) * 72.0,\
|
|
@@ -68,8 +68,8 @@
|
|
#define lips4_device(dtype, procs, dname, xdpi, ydpi, lm, bm, rm, tm, color_bits,\
|
|
print_page_copies, image_out, cassetFeed, username)\
|
|
{ std_device_std_color_full_body(dtype, &procs, dname,\
|
|
- (int)((long)(DEFAULT_WIDTH_10THS) * (xdpi) / 10),\
|
|
- (int)((long)(DEFAULT_HEIGHT_10THS) * (ydpi) / 10),\
|
|
+ (int)((long)((DEFAULT_WIDTH_10THS) * (xdpi)) / 10),\
|
|
+ (int)((long)((DEFAULT_HEIGHT_10THS) * (ydpi)) / 10),\
|
|
xdpi, ydpi, color_bits,\
|
|
-(lm) * (xdpi), -(tm) * (ydpi),\
|
|
(lm) * 72.0, (bm) * 72.0,\
|
|
@@ -178,8 +178,13 @@
|
|
private int lips4c_output_page(gx_device_printer * pdev, FILE * prn_stream);
|
|
private int lips_delta_encode(byte * inBuff, byte * prevBuff, byte * outBuff, byte * diffBuff, int Length);
|
|
private int lips_byte_cat(byte * TotalBuff, byte * Buff, int TotalLen, int Len);
|
|
+#if GS_VERSION_MAJOR >= 8
|
|
+private int lips_print_page_copies(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies);
|
|
+private int lips_print_page_copies(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies);
|
|
+#else
|
|
private int lips_print_page_copies(P4(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies));
|
|
private int lips_print_page_copies(P4(gx_device_printer * pdev, FILE * prn_stream, lips_printer_type ptype, int numcopies));
|
|
+#endif
|
|
private int lips4type_print_page_copies(gx_device_printer * pdev, FILE * prn_stream, int num_copies, int ptype);
|
|
|
|
private int
|
|
@@ -597,7 +602,7 @@
|
|
/* Initialize printer. */
|
|
lips_job_start(pdev, ptype, prn_stream, num_copies);
|
|
|
|
- if (!(lprn->CompBuf = gs_malloc(bpl * 3 / 2 + 1, maxY, "(CompBuf)")))
|
|
+ if (!(lprn->CompBuf = gs_malloc(pdev->memory, bpl * 3 / 2 + 1, maxY, "(CompBuf)")))
|
|
return_error(gs_error_VMerror);
|
|
|
|
|
|
@@ -607,7 +612,7 @@
|
|
if (code < 0)
|
|
return code;
|
|
|
|
- gs_free(lprn->CompBuf, bpl * 3 / 2 + 1, maxY, "(CompBuf)");
|
|
+ gs_free(pdev->memory, lprn->CompBuf, bpl * 3 / 2 + 1, maxY, "(CompBuf)");
|
|
|
|
/* eject page */
|
|
lips_job_end(pdev, prn_stream);
|
|
@@ -641,9 +646,9 @@
|
|
|
|
if (pdev->color_info.depth == 1)
|
|
{
|
|
- if (!(lprn->CompBuf = gs_malloc(bpl * 3 / 2 + 1, maxY, "(CompBuf)")))
|
|
+ if (!(lprn->CompBuf = gs_malloc(pdev->memory, bpl * 3 / 2 + 1, maxY, "(CompBuf)")))
|
|
return_error(gs_error_VMerror);
|
|
- if (!(lprn->CompBuf2 = gs_malloc(bpl * 3 / 2 + 1, maxY, "(CompBuf2)")))
|
|
+ if (!(lprn->CompBuf2 = gs_malloc(pdev->memory, bpl * 3 / 2 + 1, maxY, "(CompBuf2)")))
|
|
return_error(gs_error_VMerror);
|
|
|
|
if (lprn->NegativePrint) {
|
|
@@ -663,8 +668,8 @@
|
|
if (code < 0)
|
|
return code;
|
|
|
|
- gs_free(lprn->CompBuf, bpl * 3 / 2 + 1, maxY, "(CompBuf)");
|
|
- gs_free(lprn->CompBuf2, bpl * 3 / 2 + 1, maxY, "(CompBuf2)");
|
|
+ gs_free(pdev->memory, lprn->CompBuf, bpl * 3 / 2 + 1, maxY, "(CompBuf)");
|
|
+ gs_free(pdev->memory, lprn->CompBuf2, bpl * 3 / 2 + 1, maxY, "(CompBuf2)");
|
|
}
|
|
else
|
|
{
|
|
@@ -903,15 +908,15 @@
|
|
int lnum = 0;
|
|
|
|
/* Memory Allocate */
|
|
- if (!(pBuff = (byte *) gs_malloc(nBytesPerLine, sizeof(byte), "lips4c_compress_output_page(pBuff)")))
|
|
+ if (!(pBuff = (byte *) gs_malloc(pdev->memory, nBytesPerLine, sizeof(byte), "lips4c_compress_output_page(pBuff)")))
|
|
return_error(gs_error_VMerror);
|
|
- if (!(prevBuff = (byte *) gs_malloc(nBytesPerLine, sizeof(byte), "lips4c_compress_output_page(prevBuff)")))
|
|
+ if (!(prevBuff = (byte *) gs_malloc(pdev->memory, nBytesPerLine, sizeof(byte), "lips4c_compress_output_page(prevBuff)")))
|
|
return_error(gs_error_VMerror);
|
|
- if (!(ComBuff = (byte *) gs_malloc(Xpixel * num_components + (Xpixel * num_components + 127) * 129 / 128, sizeof(byte), "lips4c_compress_output_page(ComBuff)")))
|
|
+ if (!(ComBuff = (byte *) gs_malloc(pdev->memory, Xpixel * num_components + (Xpixel * num_components + 127) * 129 / 128, sizeof(byte), "lips4c_compress_output_page(ComBuff)")))
|
|
return_error(gs_error_VMerror);
|
|
- if (!(TotalBuff = (byte *) gs_malloc((Xpixel * num_components + (Xpixel * num_components + 127) * 129 / 128) * NUM_LINES_4C, sizeof(byte), "lips4c_compress_output_page(TotalBuff)")))
|
|
+ if (!(TotalBuff = (byte *) gs_malloc(pdev->memory, (Xpixel * num_components + (Xpixel * num_components + 127) * 129 / 128) * NUM_LINES_4C, sizeof(byte), "lips4c_compress_output_page(TotalBuff)")))
|
|
return_error(gs_error_VMerror);
|
|
- if (!(diffBuff = (byte *) gs_malloc(Xpixel * num_components * 2, sizeof(byte), "lips_print_page")))
|
|
+ if (!(diffBuff = (byte *) gs_malloc(pdev->memory, Xpixel * num_components * 2, sizeof(byte), "lips_print_page")))
|
|
return_error(gs_error_VMerror);
|
|
|
|
/* make output data */
|
|
@@ -927,11 +932,11 @@
|
|
pdev->height - (lnum - NUM_LINES_4C));
|
|
}
|
|
/* Free Memory */
|
|
- gs_free(pBuff, nBytesPerLine, sizeof(byte), "lips4c_compress_output_page(pBuff)");
|
|
- gs_free(prevBuff, nBytesPerLine, sizeof(byte), "lips4c_compress_output_page(prevBuff)");
|
|
- gs_free(ComBuff, Xpixel * num_components + (Xpixel * num_components + 127) * 129 / 128, sizeof(byte), "lips4c_compress_output_page(ComBuff)");
|
|
- gs_free(TotalBuff, (Xpixel * num_components + (Xpixel * num_components + 127) * 129 / 128) * NUM_LINES_4C, sizeof(byte), "lips4c_compress_output_page(TotalBuff)");
|
|
- gs_free(diffBuff, Xpixel * num_components * 2, sizeof(byte), "lips_print_page");
|
|
+ gs_free(pdev->memory, pBuff, nBytesPerLine, sizeof(byte), "lips4c_compress_output_page(pBuff)");
|
|
+ gs_free(pdev->memory, prevBuff, nBytesPerLine, sizeof(byte), "lips4c_compress_output_page(prevBuff)");
|
|
+ gs_free(pdev->memory, ComBuff, Xpixel * num_components + (Xpixel * num_components + 127) * 129 / 128, sizeof(byte), "lips4c_compress_output_page(ComBuff)");
|
|
+ gs_free(pdev->memory, TotalBuff, (Xpixel * num_components + (Xpixel * num_components + 127) * 129 / 128) * NUM_LINES_4C, sizeof(byte), "lips4c_compress_output_page(TotalBuff)");
|
|
+ gs_free(pdev->memory, diffBuff, Xpixel * num_components * 2, sizeof(byte), "lips_print_page");
|
|
|
|
return 0;
|
|
}
|
|
@@ -1065,11 +1070,25 @@
|
|
if (paper_size == USER_SIZE) {
|
|
fprintf(prn_stream, "%c2 I", LIPS_CSI);
|
|
fprintf(prn_stream, "%c80;%d;%dp", LIPS_CSI,
|
|
- width * 10, height * 10);
|
|
+ /* modified by shige 06/27 2003
|
|
+ width * 10, height * 10); */
|
|
+ /* modified by shige 11/09 2003
|
|
+ height * 10, width * 10); */
|
|
+ (height * 10 > LIPS_HEIGHT_MAX_720)?
|
|
+ LIPS_HEIGHT_MAX_720 : (height * 10),
|
|
+ (width * 10 > LIPS_WIDTH_MAX_720)?
|
|
+ LIPS_WIDTH_MAX_720 : (width * 10));
|
|
} else if (paper_size == USER_SIZE + LANDSCAPE) {
|
|
fprintf(prn_stream, "%c2 I", LIPS_CSI);
|
|
fprintf(prn_stream, "%c81;%d;%dp", LIPS_CSI,
|
|
- height * 10, width * 10);
|
|
+ /* modified by shige 06/27 2003
|
|
+ width * 10, height * 10); */
|
|
+ /* modified by shige 11/09 2003
|
|
+ width * 10, height * 10); */
|
|
+ (width * 10 > LIPS_HEIGHT_MAX_720)?
|
|
+ LIPS_HEIGHT_MAX_720 : (width * 10),
|
|
+ (height * 10 > LIPS_WIDTH_MAX_720)?
|
|
+ LIPS_WIDTH_MAX_720 : (height * 10));
|
|
} else {
|
|
fprintf(prn_stream, "%c%dp", LIPS_CSI, paper_size);
|
|
}
|
|
@@ -1078,14 +1097,28 @@
|
|
prev_paper_height != height) {
|
|
fprintf(prn_stream, "%c2 I", LIPS_CSI);
|
|
fprintf(prn_stream, "%c80;%d;%dp", LIPS_CSI,
|
|
- width * 10, height * 10);
|
|
+ /* modified by shige 06/27 2003
|
|
+ width * 10, height * 10); */
|
|
+ /* modified by shige 11/09 2003
|
|
+ height * 10, width * 10); */
|
|
+ (height * 10 > LIPS_HEIGHT_MAX_720)?
|
|
+ LIPS_HEIGHT_MAX_720 : (height * 10),
|
|
+ (width * 10 > LIPS_WIDTH_MAX_720)?
|
|
+ LIPS_WIDTH_MAX_720 : (width * 10));
|
|
}
|
|
} else if (paper_size == USER_SIZE + LANDSCAPE) {
|
|
if (prev_paper_width != width ||
|
|
prev_paper_height != height) {
|
|
fprintf(prn_stream, "%c2 I", LIPS_CSI);
|
|
fprintf(prn_stream, "%c81;%d;%dp", LIPS_CSI,
|
|
- height * 10, width * 10);
|
|
+ /* modified by shige 06/27 2003
|
|
+ height * 10, width * 10); */
|
|
+ /* modified by shige 11/09 2003
|
|
+ width * 10, height * 10); */
|
|
+ (width * 10 > LIPS_HEIGHT_MAX_720)?
|
|
+ LIPS_HEIGHT_MAX_720 : (width * 10),
|
|
+ (height * 10 > LIPS_WIDTH_MAX_720)?
|
|
+ LIPS_WIDTH_MAX_720 : (height * 10));
|
|
}
|
|
}
|
|
/* desired number of copies */
|