From: <doc...@us...> - 2008-10-17 15:57:00
|
Revision: 221 http://openpcl.svn.sourceforge.net/openpcl/?rev=221&view=rev Author: documentsystems Date: 2008-10-17 15:56:51 +0000 (Fri, 17 Oct 2008) Log Message: ----------- Add support for Vertical/Horizontal decipoint draws in processDrawCommand method. Modified Paths: -------------- openpcl/src/com/openpcl/pclrenderimage/PclRenderImage.java Modified: openpcl/src/com/openpcl/pclrenderimage/PclRenderImage.java =================================================================== --- openpcl/src/com/openpcl/pclrenderimage/PclRenderImage.java 2008-03-31 20:42:51 UTC (rev 220) +++ openpcl/src/com/openpcl/pclrenderimage/PclRenderImage.java 2008-10-17 15:56:51 UTC (rev 221) @@ -589,10 +589,25 @@ * @param cmdTerminator */ private void processMiscACommand(String cmdValue, char cmdTerminator) { + int dpiValue; switch(cmdTerminator){ - case 'R': + case 'H': if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + dpiValue = Integer.parseInt(cmdValue) * 300 / 720; mPriDrawText.drawBufferedUpCharsAs1String(); + mPriCursorPos.xPositionCommand(String.valueOf(dpiValue)); // Set the X + break; +// } else if (cmdCharArray[3] == 'Y') { // *p,Y +// } else if (cmdTerminator.equals("Y")) { // *p,Y + case 'V': + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + dpiValue = Integer.parseInt(cmdValue) * 300 / 720; + mPriDrawText.drawBufferedUpCharsAs1String(); + mPriCursorPos.yPositionCommand(String.valueOf(dpiValue)); // Set the Y + break; + case 'R': + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + mPriDrawText.drawBufferedUpCharsAs1String(); // Relative Y positioning by number of rows (+ or - or no sign) mPriCursorPos.relativeYByNumberOfRows(cmdValue); break; @@ -699,50 +714,56 @@ * @param cmdValueInt */ private void processDrawCommand(char cmdTerminator, int cmdValueInt) { + int dpiValue; switch(cmdTerminator){ - case 'A': + case 'A': // Set width in Pcl Units for future rectangle draw (don't draw rectangle yet) - if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } - mPriRectDrawing.setPclUnitsWidth(cmdValueInt); - break; - case 'B': - if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } - // Set height in Pcl Units for future rectangle draw (don't draw rectangle yet) - mPriRectDrawing.setPclUnitsHeight(cmdValueInt); - break; - case 'D': - if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } - mPriParseSoftFontBytes.assignSoftFontId(cmdValueInt); // Assign soft font Id - break; - case 'E': - if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } - // Soft font character code for next char download - mPriParseSoftFontBytes.setCharCodeForNextCharDownload(cmdValueInt); - break; - case 'F': - if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } - mPriParseSoftFontBytes.fontControlForSoftFonts(cmdValueInt); // Font Control (values are 0 thru 6) - break; - case 'G': - if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } - mPriRectDrawing.setPatternIdAreaFill(cmdValueInt); // Pattern Id rectangle draw - break; - case 'H': - // TODO Horizontal rectangle size in Decipoints// TODO Horizontal rectangle size in Decipoints - break; - - case 'P': - if (mIsStateBuildingPclPages) { - mPriPclPage.getPriRenderCounters().bumpNumRectanglesDrawn(); - } else { - mPriDrawText.drawBufferedUpCharsAs1String(); - mPriRectDrawing.drawRectangleCommand(cmdValueInt); - } - break; - case 'V': - // TODO Vertical rectangle size in Decipoints - break; - } + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + mPriRectDrawing.setPclUnitsWidth(cmdValueInt); + break; + case 'B': + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + // Set height in Pcl Units for future rectangle draw (don't draw rectangle yet) + mPriRectDrawing.setPclUnitsHeight(cmdValueInt); + break; + case 'D': + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + mPriParseSoftFontBytes.assignSoftFontId(cmdValueInt); // Assign soft font Id + break; + case 'E': + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + // Soft font character code for next char download + mPriParseSoftFontBytes.setCharCodeForNextCharDownload(cmdValueInt); + break; + case 'F': + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + mPriParseSoftFontBytes.fontControlForSoftFonts(cmdValueInt); // Font Control (values are 0 thru 6) + break; + case 'G': + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + mPriRectDrawing.setPatternIdAreaFill(cmdValueInt); // Pattern Id rectangle draw + break; + case 'H': + // Horizontal rectangle size in Decipoints + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + dpiValue = cmdValueInt * 300 / 720; + mPriRectDrawing.setPclUnitsWidth(dpiValue); + break; + case 'P': + if (mIsStateBuildingPclPages) { + mPriPclPage.getPriRenderCounters().bumpNumRectanglesDrawn(); + } else { + mPriDrawText.drawBufferedUpCharsAs1String(); + mPriRectDrawing.drawRectangleCommand(cmdValueInt); + } + break; + case 'V': + // Vertical rectangle size in Decipoints + if (mIsStateBuildingPclPages || mIsRecordingAMacro) { return; } + dpiValue = cmdValueInt * 300 / 720; + mPriRectDrawing.setPclUnitsHeight(dpiValue); + break; + } } private void processPositionCommand(String cmdValue, char cmdTerminator) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |