--- 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 */