|
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.
|