Changeset 162
- Timestamp:
- Nov 20, 2006, 8:50:04 PM (18 years ago)
- Location:
- trunk/Lucide
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/Lucide/BIN/Lucide.lng ¶
r161 r162 193 193 PD_PRINT_TYPE=Print type 194 194 PD_TYPE_POSTSCRIPT=Post~script 195 PD_PRINT_TO_FILE=Print to file 195 196 PD_TYPE_ASIMAGE=As ~image 196 197 PD_HIGHER_IMAGE_QUALITY=~Higher image quality (slower and require more memory) -
TabularUnified trunk/Lucide/SOURCE/gui/Lucide_res.H ¶
r161 r162 150 150 #define IDC_TYPE_POSTSCRIPT 21 151 151 #define IDC_TYPE_ASIMAGE 22 152 #define IDC_HIGHER_IMAGE_QUALITY 23 153 #define IDC_PORTRAIT 24 154 #define IDC_LANDSCAPE 25 155 #define IDC_MLEFT 26 156 #define IDC_MRIGHT 27 157 #define IDC_MTOP 28 158 #define IDC_MBOTTOM 29 159 #define IDC_SELECTED_FORM 30 152 #define IDC_PRINT_TO_FILE 23 153 #define IDC_HIGHER_IMAGE_QUALITY 24 154 #define IDC_PORTRAIT 25 155 #define IDC_LANDSCAPE 26 156 #define IDC_MLEFT 27 157 #define IDC_MRIGHT 28 158 #define IDC_MTOP 29 159 #define IDC_MBOTTOM 30 160 #define IDC_SELECTED_FORM 31 160 161 161 162 -
TabularUnified trunk/Lucide/SOURCE/gui/dialogs.rc ¶
r102 r162 170 170 CONTROL "PD_PRINT_TYPE", -1, 2, 91, 253, 40, WC_STATIC, SS_GROUPBOX | DT_LEFT | DT_TOP | DT_MNEMONIC | WS_VISIBLE | WS_GROUP 171 171 PRESPARAMS PP_FONTNAMESIZE "9.WarpSans" 172 CONTROL "PD_TYPE_POSTSCRIPT", IDC_TYPE_POSTSCRIPT, 9, 113, 240, 10, WC_BUTTON, BS_AUTORADIOBUTTON | WS_VISIBLE | WS_GROUP | WS_TABSTOP172 CONTROL "PD_TYPE_POSTSCRIPT", IDC_TYPE_POSTSCRIPT, 9, 113, 114, 10, WC_BUTTON, BS_AUTORADIOBUTTON | WS_VISIBLE | WS_GROUP | WS_TABSTOP 173 173 PRESPARAMS PP_FONTNAMESIZE "9.WarpSans" 174 174 CONTROL "PD_TYPE_ASIMAGE", IDC_TYPE_ASIMAGE, 9, 103, 240, 10, WC_BUTTON, BS_AUTORADIOBUTTON | WS_VISIBLE | WS_TABSTOP 175 175 PRESPARAMS PP_FONTNAMESIZE "9.WarpSans" 176 CONTROL "PD_PRINT_TO_FILE", IDC_PRINT_TO_FILE, 127, 113, 124, 10, WC_BUTTON, BS_AUTOCHECKBOX | WS_VISIBLE | WS_GROUP | WS_TABSTOP 177 PRESPARAMS PP_FONTNAMESIZE "9.WarpSans" 176 178 CONTROL "PD_HIGHER_IMAGE_QUALITY", IDC_HIGHER_IMAGE_QUALITY, 19, 93, 230, 10, WC_BUTTON, BS_AUTOCHECKBOX | WS_VISIBLE | WS_GROUP | WS_TABSTOP 177 179 PRESPARAMS PP_FONTNAMESIZE "9.WarpSans" … … 209 211 PRESPARAMS PP_FONTNAMESIZE "9.WarpSans" 210 212 END 211 212 END 213 213 END 214 -
TabularUnified trunk/Lucide/SOURCE/gui/print.cpp ¶
r155 r162 309 309 310 310 char tmpps[ CCHMAXPATH ] = ""; 311 getTmpDir( tmpps ); 312 strcat( tmpps, "TMPLUCID.PS" ); 311 if ( psetup->psToFile ) 312 { 313 strcpy( tmpps, title ); 314 char *pointpos = strrchr( tmpps, '.' ); 315 if ( pointpos != NULL ) { 316 *pointpos = 0; 317 } 318 strcat( tmpps, ".ps" ); 319 320 PFILEDLG fd = new FILEDLG; 321 memset( fd, 0, sizeof( FILEDLG ) ); 322 fd->cbSize = sizeof( FILEDLG ); 323 fd->fl = FDS_CENTER | FDS_SAVEAS_DIALOG; 324 strcpy( fd->szFullFile, tmpps ); 325 WinFileDlg( HWND_DESKTOP, hFrame, fd ); 326 if ( fd->lReturn == DID_OK ) { 327 strcpy( tmpps, fd->szFullFile ); 328 delete fd; 329 } 330 else { 331 delete fd; 332 return true; 333 } 334 } 335 else { 336 getTmpDir( tmpps ); 337 strcat( tmpps, "TMPLUCID.PS" ); 338 } 313 339 314 340 boolean rcexp = doc->exportToPostScript( ev, tmpps, psetup->pgfrom-1, psetup->pgto-1, … … 324 350 } 325 351 326 char *spooling_ps = newstrdupL( PRINT_SPOOLING_POSTSCRIPT ); 327 progressDlg->setText( spooling_ps ); 328 delete spooling_ps; 329 330 // build a devopenstruct for the call to DevOpenDC 331 dos.pszLogAddress = psetup->QueueInfo.pszName; // 1 332 strcpy( achDriverName, psetup->QueueInfo.pszDriverName ); 333 achDriverName[ strcspn( achDriverName, "." ) ] = '\0'; 334 dos.pszDriverName = achDriverName; // 2 335 dos.pdriv = psetup->QueueInfo.pDriverData; // 3 336 dos.pszDataType = "PM_Q_RAW"; // 4 337 dos.pszComment = (PSZ)appName; // 5 338 dos.pszQueueProcName = NULL; // 6 339 snprintf( achQueueProcParams, sizeof( achQueueProcParams ), "COP=%d", psetup->copies ); 340 dos.pszQueueProcParams = achQueueProcParams; // 7 341 342 HDC hdcPrinter = DevOpenDC( lhab, OD_QUEUED, "*", 7L, (PDEVOPENDATA)&dos, NULLHANDLE ); 343 if ( hdcPrinter == DEV_ERROR ) { 352 if ( !psetup->psToFile ) 353 { 354 char *spooling_ps = newstrdupL( PRINT_SPOOLING_POSTSCRIPT ); 355 progressDlg->setText( spooling_ps ); 356 delete spooling_ps; 357 358 // build a devopenstruct for the call to DevOpenDC 359 dos.pszLogAddress = psetup->QueueInfo.pszName; // 1 360 strcpy( achDriverName, psetup->QueueInfo.pszDriverName ); 361 achDriverName[ strcspn( achDriverName, "." ) ] = '\0'; 362 dos.pszDriverName = achDriverName; // 2 363 dos.pdriv = psetup->QueueInfo.pDriverData; // 3 364 dos.pszDataType = "PM_Q_RAW"; // 4 365 dos.pszComment = (PSZ)appName; // 5 366 dos.pszQueueProcName = NULL; // 6 367 snprintf( achQueueProcParams, sizeof( achQueueProcParams ), "COP=%d", psetup->copies ); 368 dos.pszQueueProcParams = achQueueProcParams; // 7 369 370 HDC hdcPrinter = DevOpenDC( lhab, OD_QUEUED, "*", 7L, (PDEVOPENDATA)&dos, NULLHANDLE ); 371 if ( hdcPrinter == DEV_ERROR ) { 372 unlink( tmpps ); 373 return false; 374 } 375 376 // Issue STARTDOC to begin printing 377 LONG rc = DevEscape( hdcPrinter, DEVESC_STARTDOC, strlen(title), (PBYTE)title, NULL, NULL ); 378 if ( rc == DEVESC_ERROR ) { 379 DevCloseDC( hdcPrinter ); 380 unlink( tmpps ); 381 return false; 382 } 383 384 FILE *f = fopen( tmpps, "rb" ); 385 if ( f == NULL ) { 386 DevEscape( hdcPrinter, DEVESC_ABORTDOC, 0L, NULL, NULL, NULL ); 387 DevCloseDC( hdcPrinter ); 388 unlink( tmpps ); 389 return false; 390 } 391 392 bool splerr = false; 393 void *buf = malloc( PS_PRINT_BUF_SIZE ); 394 int rd = 0; 395 while ( ( rc != DEVESC_ERROR ) && ( rd = fread( buf, 1, PS_PRINT_BUF_SIZE, f ) ) != 0 ) 396 { 397 rc = DevEscape( hdcPrinter, DEVESC_RAWDATA, rd, (char *)buf, NULL, NULL ); 398 if ( ( rc == DEVESC_ERROR ) || abortPrinting ) { 399 splerr = true; 400 break; 401 } 402 } 403 free( buf ); 404 fclose( f ); 344 405 unlink( tmpps ); 345 return false; 346 } 347 348 // Issue STARTDOC to begin printing 349 LONG rc = DevEscape( hdcPrinter, DEVESC_STARTDOC, strlen(title), (PBYTE)title, NULL, NULL ); 350 if ( rc == DEVESC_ERROR ) { 406 407 DevEscape( hdcPrinter, splerr ? DEVESC_ABORTDOC : DEVESC_ENDDOC, 408 0L, NULL, NULL, NULL ); 351 409 DevCloseDC( hdcPrinter ); 352 unlink( tmpps ); 353 return false; 354 } 355 356 FILE *f = fopen( tmpps, "rb" ); 357 if ( f == NULL ) { 358 DevEscape( hdcPrinter, DEVESC_ABORTDOC, 0L, NULL, NULL, NULL ); 359 DevCloseDC( hdcPrinter ); 360 unlink( tmpps ); 361 return false; 362 } 363 364 bool splerr = false; 365 void *buf = malloc( PS_PRINT_BUF_SIZE ); 366 int rd = 0; 367 while ( ( rc != DEVESC_ERROR ) && ( rd = fread( buf, 1, PS_PRINT_BUF_SIZE, f ) ) != 0 ) 368 { 369 rc = DevEscape( hdcPrinter, DEVESC_RAWDATA, rd, (char *)buf, NULL, NULL ); 370 if ( ( rc == DEVESC_ERROR ) || abortPrinting ) { 371 splerr = true; 372 break; 373 } 374 } 375 free( buf ); 376 fclose( f ); 377 unlink( tmpps ); 378 379 DevEscape( hdcPrinter, splerr ? DEVESC_ABORTDOC : DEVESC_ENDDOC, 380 0L, NULL, NULL, NULL ); 381 DevCloseDC( hdcPrinter ); 382 383 if ( splerr && !abortPrinting ) { 384 return false; 410 411 if ( splerr && !abortPrinting ) { 412 return false; 413 } 385 414 } 386 415 -
TabularUnified trunk/Lucide/SOURCE/gui/print.h ¶
r102 r162 56 56 long margin_right; 57 57 int copies; 58 bool psToFile; 58 59 }; 59 60 -
TabularUnified trunk/Lucide/SOURCE/gui/printDlg.cpp ¶
r138 r162 514 514 case IDC_TYPE_ASIMAGE: 515 515 { 516 BOOL aspsc = WinQueryButtonCheckstate( hwnd, IDC_TYPE_POSTSCRIPT ); 516 517 BOOL asimg = WinQueryButtonCheckstate( hwnd, IDC_TYPE_ASIMAGE ); 518 WinEnableControl( hwnd, IDC_PRINT_TO_FILE, aspsc ); 517 519 WinEnableControl( hwnd, IDC_HIGHER_IMAGE_QUALITY, 518 520 asimg && _this->scalable && !_this->fixed ); … … 595 597 } 596 598 _this->psetup->higherQuality = WinQueryButtonCheckstate( hwnd, IDC_HIGHER_IMAGE_QUALITY ); 599 _this->psetup->psToFile = WinQueryButtonCheckstate( hwnd, IDC_PRINT_TO_FILE ); 597 600 598 601 WinDismissDlg( hwnd, DID_OK );
Note:
See TracChangeset
for help on using the changeset viewer.