diff --git a/src/add-ons/print/drivers/canon_lips/lips3/Lips3Cap.cpp b/src/add-ons/print/drivers/canon_lips/lips3/Lips3Cap.cpp index 96d7e6ce9b..bb80599194 100644 --- a/src/add-ons/print/drivers/canon_lips/lips3/Lips3Cap.cpp +++ b/src/add-ons/print/drivers/canon_lips/lips3/Lips3Cap.cpp @@ -92,6 +92,14 @@ const ResolutionCap *resolutions[] = { &dpi300 }; +const ColorCap color("Color", false, JobData::kCOLOR); +const ColorCap monochrome("Monochrome", true, JobData::kMONOCHROME); + +const ColorCap *colors[] = { + &color, + &monochrome +}; + Lips3Cap::Lips3Cap(const PrinterData *printer_data) : PrinterCap(printer_data) { @@ -106,6 +114,8 @@ int Lips3Cap::countCap(CAPID capid) const return sizeof(papersources) / sizeof(papersources[0]); case RESOLUTION: return sizeof(resolutions) / sizeof(resolutions[0]); + case COLOR: + return sizeof(colors) / sizeof(colors[0]); default: return 0; } @@ -120,6 +130,8 @@ const BaseCap **Lips3Cap::enumCap(CAPID capid) const return (const BaseCap **)papersources; case RESOLUTION: return (const BaseCap **)resolutions; + case COLOR: + return (const BaseCap **)colors; default: return NULL; } @@ -131,6 +143,7 @@ bool Lips3Cap::isSupport(CAPID capid) const case PAPER: case PAPERSOURCE: case RESOLUTION: + case COLOR: return true; default: return false; diff --git a/src/add-ons/print/drivers/canon_lips/lips4/Lips4Cap.cpp b/src/add-ons/print/drivers/canon_lips/lips4/Lips4Cap.cpp index 0c5fc5c7f9..a8813f4e0b 100644 --- a/src/add-ons/print/drivers/canon_lips/lips4/Lips4Cap.cpp +++ b/src/add-ons/print/drivers/canon_lips/lips4/Lips4Cap.cpp @@ -151,6 +151,14 @@ const BindingLocationCap *bindinglocations[] = { &shortedge2 }; +const ColorCap color("Color", false, JobData::kCOLOR); +const ColorCap monochrome("Monochrome", true, JobData::kMONOCHROME); + +const ColorCap *colors[] = { + &color, + &monochrome +}; + int Lips4Cap::countCap(CAPID capid) const { @@ -165,6 +173,8 @@ int Lips4Cap::countCap(CAPID capid) const return sizeof(printstyles) / sizeof(printstyles[0]); case BINDINGLOCATION: return sizeof(bindinglocations) / sizeof(bindinglocations[0]); + case COLOR: + return sizeof(colors) / sizeof(colors[0]); default: return 0; } @@ -183,6 +193,8 @@ const BaseCap **Lips4Cap::enumCap(CAPID capid) const return (const BaseCap **)printstyles; case BINDINGLOCATION: return (const BaseCap **)bindinglocations; + case COLOR: + return (const BaseCap **)colors; default: return NULL; } @@ -196,6 +208,7 @@ bool Lips4Cap::isSupport(CAPID capid) const case RESOLUTION: case PRINTSTYLE: case BINDINGLOCATION: + case COLOR: return true; default: return false; diff --git a/src/add-ons/print/drivers/pcl5/PCL5.cpp b/src/add-ons/print/drivers/pcl5/PCL5.cpp index 3d54e894f7..1eec0b7aa9 100644 --- a/src/add-ons/print/drivers/pcl5/PCL5.cpp +++ b/src/add-ons/print/drivers/pcl5/PCL5.cpp @@ -192,6 +192,8 @@ bool PCL5Driver::nextBand(BBitmap *bitmap, BPoint *offset) void PCL5Driver::jobStart() { + // enter PCL5 + writeSpoolString("\033%%-12345X@PJL ENTER LANGUAGE=PCL\n"); // reset writeSpoolString("\033E"); // dpi diff --git a/src/add-ons/print/drivers/pcl5/PCL5Cap.cpp b/src/add-ons/print/drivers/pcl5/PCL5Cap.cpp index 609bf79bd4..29b1b7dd4b 100644 --- a/src/add-ons/print/drivers/pcl5/PCL5Cap.cpp +++ b/src/add-ons/print/drivers/pcl5/PCL5Cap.cpp @@ -68,6 +68,7 @@ const PaperSourceCap autobin("Auto", true, JobData::AUTO); const ResolutionCap dpi300("300dpi", true, 300, 300); const ResolutionCap dpi600("600dpi", false, 600, 600); +const ResolutionCap dpi1200("1200dpi", false, 1200, 1200); const PaperCap *papers[] = { &a4, @@ -85,7 +86,16 @@ const PaperSourceCap *papersources[] = { const ResolutionCap *resolutions[] = { &dpi300, - &dpi600 + &dpi600, + &dpi1200, +}; + +const ColorCap color("Color", false, JobData::kCOLOR); +const ColorCap monochrome("Monochrome", true, JobData::kMONOCHROME); + +const ColorCap *colors[] = { +// &color, + &monochrome }; PCL5Cap::PCL5Cap(const PrinterData *printer_data) @@ -102,6 +112,8 @@ int PCL5Cap::countCap(CAPID capid) const return sizeof(papersources) / sizeof(papersources[0]); case RESOLUTION: return sizeof(resolutions) / sizeof(resolutions[0]); + case COLOR: + return sizeof(colors) / sizeof(colors[0]); default: return 0; } @@ -116,6 +128,8 @@ const BaseCap **PCL5Cap::enumCap(CAPID capid) const return (const BaseCap **)papersources; case RESOLUTION: return (const BaseCap **)resolutions; + case COLOR: + return (const BaseCap **)colors; default: return NULL; } @@ -127,6 +141,7 @@ bool PCL5Cap::isSupport(CAPID capid) const case PAPER: case PAPERSOURCE: case RESOLUTION: + case COLOR: return true; default: return false; diff --git a/src/add-ons/print/drivers/pcl5/PCL5_Protocol.txt b/src/add-ons/print/drivers/pcl5/PCL5_Protocol.txt index f8e44087ae..5593cb638a 100644 --- a/src/add-ons/print/drivers/pcl5/PCL5_Protocol.txt +++ b/src/add-ons/print/drivers/pcl5/PCL5_Protocol.txt @@ -82,3 +82,6 @@ End Raster Graphics Esc*rC Esc*rB (old) +Color printing + +5colrtef.pdf on page 196 \ No newline at end of file