Changeset 7588
- Timestamp:
- 25/05/11 18:41:03 (12 months ago)
- Location:
- branches/dev/AWT
- Files:
-
- 2 modified
-
AWT_canio.cxx (modified) (46 diffs)
-
awt_canvas.hxx (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/dev/AWT/AWT_canio.cxx
r7587 r7588 23 23 24 24 #define awt_assert(cond) arb_assert(cond) 25 26 // -------------------------------------------------------------------------------- 27 28 #define AWAR_CANIO "NT/print/" 29 #define AWAR_CANIO_LANDSCAPE AWAR_CANIO "landscape" 30 #define AWAR_CANIO_CLIP AWAR_CANIO "clip" 31 #define AWAR_CANIO_HANDLES AWAR_CANIO "handles" 32 #define AWAR_CANIO_COLOR AWAR_CANIO "color" 33 #define AWAR_CANIO_DEST AWAR_CANIO "dest" 34 #define AWAR_CANIO_PRINTER AWAR_CANIO "printer" 35 #define AWAR_CANIO_OVERLAP_WANTED AWAR_CANIO "overlap" 36 #define AWAR_CANIO_OVERLAP_PERCENT AWAR_CANIO "operc" 37 #define AWAR_CANIO_BORDERSIZE AWAR_CANIO "border" 38 #define AWAR_CANIO_PAPER AWAR_CANIO "paper" 39 #define AWAR_CANIO_PAPER_USABLE AWAR_CANIO "useable" 40 #define AWAR_CANIO_F2DBUG AWAR_CANIO "f2dbug" 41 #define AWAR_CANIO_PAGES AWAR_CANIO "pages" 42 #define AWAR_CANIO_PAGELOCK AWAR_CANIO "plock" 43 44 #define AWAR_CANIO_TMP "tmp/" AWAR_CANIO 45 46 #define AWAR_CANIO_MAGNIFICATION AWAR_CANIO_TMP "magnification" 47 #define AWAR_CANIO_OVERLAP AWAR_CANIO_TMP "overlap" 48 #define AWAR_CANIO_GFX_SX AWAR_CANIO_TMP "gsizex" // graphic size in inch 49 #define AWAR_CANIO_GFX_SY AWAR_CANIO_TMP "gsizey" 50 #define AWAR_CANIO_OUT_SX AWAR_CANIO_TMP "osizex" // output size in inch 51 #define AWAR_CANIO_OUT_SY AWAR_CANIO_TMP "osizey" 52 #define AWAR_CANIO_PAPER_SX AWAR_CANIO_TMP "psizex" // paper size in inch 53 #define AWAR_CANIO_PAPER_SY AWAR_CANIO_TMP "psizey" 54 #define AWAR_CANIO_PAGE_SX AWAR_CANIO_TMP "sizex" // size in pages 55 #define AWAR_CANIO_PAGE_SY AWAR_CANIO_TMP "sizey" 56 57 #define AWAR_CANIO_FILE_BASE AWAR_CANIO_TMP "file" 58 #define AWAR_CANIO_FILE_NAME AWAR_CANIO_FILE_BASE "/file_name" 59 #define AWAR_CANIO_FILE_DIR AWAR_CANIO_FILE_BASE "/directory" 60 #define AWAR_CANIO_FILE_FILTER AWAR_CANIO_FILE_BASE "/filter" 25 61 26 62 // -------------------------------------------------------------------------------- … … 140 176 AWT_canvas *ntw = (AWT_canvas*)cl_ntw; 141 177 AW_root *awr = ntw->awr; 142 long draw_all = awr->awar(AWAR_ PRINT_TREE_CLIP)->read_int();143 double border = awr->awar(AWAR_ PRINT_TREE_BORDERSIZE)->read_float();178 long draw_all = awr->awar(AWAR_CANIO_CLIP)->read_int(); 179 double border = awr->awar(AWAR_CANIO_BORDERSIZE)->read_float(); 144 180 Rectangle drawsize = get_drawsize(ntw, draw_all); 145 181 Rectangle with_border = add_border_to_drawsize(drawsize, border); 146 182 147 awr->awar(AWAR_ PRINT_TREE_GSIZEX)->write_float((with_border.width())/DPI_SCREEN);148 awr->awar(AWAR_ PRINT_TREE_GSIZEY)->write_float((with_border.height())/DPI_SCREEN);183 awr->awar(AWAR_CANIO_GFX_SX)->write_float((with_border.width())/DPI_SCREEN); 184 awr->awar(AWAR_CANIO_GFX_SY)->write_float((with_border.height())/DPI_SCREEN); 149 185 } 150 186 … … 161 197 bool old_allow = allow_page_size_check_cb; 162 198 allow_page_size_check_cb = false; 163 awr->awar(AWAR_ PRINT_TREE_PSIZEX)->write_float(px);199 awr->awar(AWAR_CANIO_PAPER_SX)->write_float(px); 164 200 allow_page_size_check_cb = old_allow; 165 awr->awar(AWAR_ PRINT_TREE_PSIZEY)->write_float(py);201 awr->awar(AWAR_CANIO_PAPER_SY)->write_float(py); 166 202 } 167 203 168 204 static void overlap_toggled_cb(AW_root *awr) { 169 205 if (allow_overlap_toggled_cb) { 170 int new_val = awr->awar(AWAR_ PRINT_TREE_OVERLAP)->read_int();171 awr->awar(AWAR_ PRINT_TREE_OVERLAP_WANTED)->write_int(new_val);206 int new_val = awr->awar(AWAR_CANIO_OVERLAP)->read_int(); 207 awr->awar(AWAR_CANIO_OVERLAP_WANTED)->write_int(new_val); 172 208 } 173 209 } 174 210 175 211 static long calc_mag_from_psize(AW_root *awr, double papersize, double gfxsize, double wantedpages, bool use_x) { 176 bool wantOverlap = awr->awar(AWAR_ PRINT_TREE_OVERLAP_WANTED)->read_int();212 bool wantOverlap = awr->awar(AWAR_CANIO_OVERLAP_WANTED)->read_int(); 177 213 double usableSize = 0; 178 214 179 215 if (wantOverlap && wantedpages>1) { 180 double overlapPercent = awr->awar(AWAR_ PRINT_TREE_OVERLAP_PERCENT)->read_float();216 double overlapPercent = awr->awar(AWAR_CANIO_OVERLAP_PERCENT)->read_float(); 181 217 double usableRatio = (100.0-overlapPercent)/100.0; 182 218 183 219 // See also fig2devbug in page_size_check_cb() 184 bool fig2devbug = !use_x && awr->awar(AWAR_ PRINT_TREE_F2DBUG)->read_int();220 bool fig2devbug = !use_x && awr->awar(AWAR_CANIO_F2DBUG)->read_int(); 185 221 if (fig2devbug) { 186 bool landscape = awr->awar(AWAR_ PRINT_TREE_LANDSCAPE)->read_int();222 bool landscape = awr->awar(AWAR_CANIO_LANDSCAPE)->read_int(); 187 223 fig2devbug = fig2devbug && !landscape; // only occurs in portrait mode 188 224 } … … 203 239 204 240 static void set_mag_from_psize(AW_root *awr, bool use_x) { 205 const char *papersize_name = use_x ? AWAR_ PRINT_TREE_PSIZEX : AWAR_PRINT_TREE_PSIZEY;206 const char *gfxsize_name = use_x ? AWAR_ PRINT_TREE_GSIZEX : AWAR_PRINT_TREE_GSIZEY;207 const char *wantedpages_name = use_x ? AWAR_ PRINT_TREE_SIZEX : AWAR_PRINT_TREE_SIZEY;241 const char *papersize_name = use_x ? AWAR_CANIO_PAPER_SX : AWAR_CANIO_PAPER_SY; 242 const char *gfxsize_name = use_x ? AWAR_CANIO_GFX_SX : AWAR_CANIO_GFX_SY; 243 const char *wantedpages_name = use_x ? AWAR_CANIO_PAGE_SX : AWAR_CANIO_PAGE_SY; 208 244 209 245 double papersize = awr->awar(papersize_name)->read_float(); … … 212 248 long mag = calc_mag_from_psize(awr, papersize, gfxsize, wantedpages, use_x); 213 249 214 awr->awar(AWAR_ PRINT_TREE_MAGNIFICATION)->write_int(mag);250 awr->awar(AWAR_CANIO_MAGNIFICATION)->write_int(mag); 215 251 } 216 252 … … 222 258 int best_pages = 0; 223 259 224 bool lockpages = awr->awar(AWAR_ PRINT_TREE_PAGELOCK)->read_int();225 awr->awar(AWAR_ PRINT_TREE_PAGELOCK)->write_int(0);260 bool lockpages = awr->awar(AWAR_CANIO_PAGELOCK)->read_int(); 261 awr->awar(AWAR_CANIO_PAGELOCK)->write_int(0); 226 262 227 263 if (!allow_orientation_change) { 228 best_orientation = awr->awar(AWAR_ PRINT_TREE_LANDSCAPE)->read_int();264 best_orientation = awr->awar(AWAR_CANIO_LANDSCAPE)->read_int(); 229 265 } 230 266 … … 232 268 if (!allow_orientation_change && o != best_orientation) continue; 233 269 234 awr->awar(AWAR_ PRINT_TREE_LANDSCAPE)->write_int(o); // set orientation (calls page_size_check_cb)270 awr->awar(AWAR_CANIO_LANDSCAPE)->write_int(o); // set orientation (calls page_size_check_cb) 235 271 236 272 for (int xy = 0; xy <= 1; ++xy) { 237 const char *awar_name = xy == 0 ? AWAR_ PRINT_TREE_SIZEX : AWAR_PRINT_TREE_SIZEY;273 const char *awar_name = xy == 0 ? AWAR_CANIO_PAGE_SX : AWAR_CANIO_PAGE_SY; 238 274 239 275 for (int pcount = 1; pcount <= wanted_pages; pcount++) { … … 243 279 set_mag_from_psize(awr, xy == 0); 244 280 245 double sx = awr->awar(AWAR_ PRINT_TREE_SIZEX)->read_float();246 double sy = awr->awar(AWAR_ PRINT_TREE_SIZEY)->read_float();281 double sx = awr->awar(AWAR_CANIO_PAGE_SX)->read_float(); 282 double sy = awr->awar(AWAR_CANIO_PAGE_SY)->read_float(); 247 283 int pages = xy2pages(sx, sy); 248 284 … … 250 286 251 287 if (pages <= wanted_pages && pages >= best_pages) { 252 int magnification = awr->awar(AWAR_ PRINT_TREE_MAGNIFICATION)->read_int(); // read calculated magnification288 int magnification = awr->awar(AWAR_CANIO_MAGNIFICATION)->read_int(); // read calculated magnification 253 289 if (magnification>best_magnification) { 254 290 // fits on wanted_pages and is best result yet … … 268 304 269 305 // take the best found values : 270 awr->awar(AWAR_ PRINT_TREE_LANDSCAPE)->write_int(best_orientation);306 awr->awar(AWAR_CANIO_LANDSCAPE)->write_int(best_orientation); 271 307 awr->awar(best_zoom_awar_name)->write_float(best_zoom); 272 awr->awar(AWAR_ PRINT_TREE_PAGES)->write_int(best_pages);273 awr->awar(AWAR_ PRINT_TREE_MAGNIFICATION)->write_int(best_magnification);308 awr->awar(AWAR_CANIO_PAGES)->write_int(best_pages); 309 awr->awar(AWAR_CANIO_MAGNIFICATION)->write_int(best_magnification); 274 310 275 311 if (best_pages != wanted_pages) { … … 282 318 } 283 319 284 awr->awar(AWAR_ PRINT_TREE_PAGELOCK)->write_int(lockpages);320 awr->awar(AWAR_CANIO_PAGELOCK)->write_int(lockpages); 285 321 } 286 322 … … 288 324 if (!allow_page_size_check_cb) return; 289 325 290 bool landscape = awr->awar(AWAR_ PRINT_TREE_LANDSCAPE)->read_int();291 bool lockpages = awr->awar(AWAR_ PRINT_TREE_PAGELOCK)->read_int();292 int locked_pages = awr->awar(AWAR_ PRINT_TREE_PAGES)->read_int();293 294 double px = awr->awar(AWAR_ PRINT_TREE_PSIZEX)->read_float(); // paper-size295 double py = awr->awar(AWAR_ PRINT_TREE_PSIZEY)->read_float();326 bool landscape = awr->awar(AWAR_CANIO_LANDSCAPE)->read_int(); 327 bool lockpages = awr->awar(AWAR_CANIO_PAGELOCK)->read_int(); 328 int locked_pages = awr->awar(AWAR_CANIO_PAGES)->read_int(); 329 330 double px = awr->awar(AWAR_CANIO_PAPER_SX)->read_float(); // paper-size 331 double py = awr->awar(AWAR_CANIO_PAPER_SY)->read_float(); 296 332 297 333 if (landscape != (px>py)) { … … 300 336 } 301 337 302 long magnification = awr->awar(AWAR_ PRINT_TREE_MAGNIFICATION)->read_int();338 long magnification = awr->awar(AWAR_CANIO_MAGNIFICATION)->read_int(); 303 339 304 double gx = awr->awar(AWAR_ PRINT_TREE_GSIZEX)->read_float(); // graphic size305 double gy = awr->awar(AWAR_ PRINT_TREE_GSIZEY)->read_float();340 double gx = awr->awar(AWAR_CANIO_GFX_SX)->read_float(); // graphic size 341 double gy = awr->awar(AWAR_CANIO_GFX_SY)->read_float(); 306 342 307 343 // output size 308 344 double ox = (gx*magnification)/100; // resulting size of output in inches 309 345 double oy = (gy*magnification)/100; 310 awr->awar(AWAR_ PRINT_TREE_OSIZEX)->write_float(ox);311 awr->awar(AWAR_ PRINT_TREE_OSIZEY)->write_float(oy);312 313 bool wantOverlap = awr->awar(AWAR_ PRINT_TREE_OVERLAP_WANTED)->read_int();314 bool useOverlap = awr->awar(AWAR_ PRINT_TREE_OVERLAP)->read_int();346 awr->awar(AWAR_CANIO_OUT_SX)->write_float(ox); 347 awr->awar(AWAR_CANIO_OUT_SY)->write_float(oy); 348 349 bool wantOverlap = awr->awar(AWAR_CANIO_OVERLAP_WANTED)->read_int(); 350 bool useOverlap = awr->awar(AWAR_CANIO_OVERLAP)->read_int(); 315 351 316 352 double sx = 0.0; // resulting pages … … 320 356 321 357 if (wantOverlap && !fits_on_one_page) { 322 double overlapPercent = awr->awar(AWAR_ PRINT_TREE_OVERLAP_PERCENT)->read_float();358 double overlapPercent = awr->awar(AWAR_CANIO_OVERLAP_PERCENT)->read_float(); 323 359 double pageRatio = (100.0-overlapPercent)/100.0; 324 360 … … 330 366 331 367 bool fig2devbug = !landscape; 332 if (fig2devbug) fig2devbug = awr->awar(AWAR_ PRINT_TREE_F2DBUG)->read_int();368 if (fig2devbug) fig2devbug = awr->awar(AWAR_CANIO_F2DBUG)->read_int(); 333 369 334 370 if (fig2devbug) { … … 351 387 352 388 // write amount of pages needed 353 awr->awar(AWAR_ PRINT_TREE_SIZEX)->write_float(sx);354 awr->awar(AWAR_ PRINT_TREE_SIZEY)->write_float(sy);389 awr->awar(AWAR_CANIO_PAGE_SX)->write_float(sx); 390 awr->awar(AWAR_CANIO_PAGE_SY)->write_float(sy); 355 391 356 392 int pages = xy2pages(sx, sy); … … 360 396 } 361 397 362 awr->awar(AWAR_ PRINT_TREE_PAGES)->write_int(pages);398 awr->awar(AWAR_CANIO_PAGES)->write_int(pages); 363 399 364 400 // correct DISPLAYED overlapping.. … … 368 404 allow_overlap_toggled_cb = false; // ..but do not modify wanted overlapping 369 405 370 awr->awar(AWAR_ PRINT_TREE_OVERLAP)->write_int(willUseOverlap);406 awr->awar(AWAR_CANIO_OVERLAP)->write_int(willUseOverlap); 371 407 372 408 allow_overlap_toggled_cb = old_allow; … … 377 413 378 414 static void paper_changed_cb(AW_root *awr) { 379 int paper = awr->awar(AWAR_ PRINT_TREE_PAPER)->read_int();415 int paper = awr->awar(AWAR_CANIO_PAPER)->read_int(); 380 416 const PaperFormat& format = knownPaperFormat[paper]; 381 bool landscape = awr->awar(AWAR_ PRINT_TREE_LANDSCAPE)->read_int();382 double useable = awr->awar(AWAR_ PRINT_TREE_PAPER_USABLE)->read_float()/100.0;417 bool landscape = awr->awar(AWAR_CANIO_LANDSCAPE)->read_int(); 418 double useable = awr->awar(AWAR_CANIO_PAPER_USABLE)->read_float()/100.0; 383 419 384 420 if (landscape) { … … 399 435 AW_default def = AW_ROOT_DEFAULT; 400 436 401 awr->awar_int(AWAR_ PRINT_TREE_CLIP, 0, def);402 awr->awar_int(AWAR_ PRINT_TREE_HANDLES, 1, def);403 awr->awar_int(AWAR_ PRINT_TREE_COLOR, 1, def);404 405 awr->awar_string(AWAR_ PRINT_TREE_FILE_NAME, "print.fig", def);406 awr->awar_string(AWAR_ PRINT_TREE_FILE_DIR, "", def);407 awr->awar_string(AWAR_ PRINT_TREE_FILE_FILTER, "fig", def);408 409 awr->awar_int(AWAR_ PRINT_TREE_LANDSCAPE, 0, def);410 awr->awar_int(AWAR_ PRINT_TREE_MAGNIFICATION, 100, def);437 awr->awar_int(AWAR_CANIO_CLIP, 0, def); 438 awr->awar_int(AWAR_CANIO_HANDLES, 1, def); 439 awr->awar_int(AWAR_CANIO_COLOR, 1, def); 440 441 awr->awar_string(AWAR_CANIO_FILE_NAME, "print.fig", def); 442 awr->awar_string(AWAR_CANIO_FILE_DIR, "", def); 443 awr->awar_string(AWAR_CANIO_FILE_FILTER, "fig", def); 444 445 awr->awar_int(AWAR_CANIO_LANDSCAPE, 0, def); 446 awr->awar_int(AWAR_CANIO_MAGNIFICATION, 100, def); 411 447 412 448 // constraints: 413 449 414 awr->awar(AWAR_ PRINT_TREE_MAGNIFICATION)->set_minmax(1, 10000);450 awr->awar(AWAR_CANIO_MAGNIFICATION)->set_minmax(1, 10000); 415 451 416 452 export_awars_created = true; … … 419 455 420 456 static void resetFiletype(AW_root *awr, const char *filter, const char *defaultFilename) { 421 AW_awar *awar_filter = awr->awar(AWAR_ PRINT_TREE_FILE_FILTER);457 AW_awar *awar_filter = awr->awar(AWAR_CANIO_FILE_FILTER); 422 458 char *current_filter = awar_filter->read_string(); 423 459 424 460 if (strcmp(current_filter, filter) != 0) { 425 461 awar_filter->write_string(filter); 426 awr->awar(AWAR_ PRINT_TREE_FILE_NAME)->write_string(defaultFilename);462 awr->awar(AWAR_CANIO_FILE_NAME)->write_string(defaultFilename); 427 463 } 428 464 free(current_filter); … … 435 471 AW_default def = AW_ROOT_DEFAULT; 436 472 437 awr->awar_int(AWAR_ PRINT_TREE_PAGES, 1, def);438 awr->awar_int(AWAR_ PRINT_TREE_PAGELOCK, 1, def);439 440 awr->awar_int(AWAR_ PRINT_TREE_OVERLAP_WANTED, 1, def);441 awr->awar_int(AWAR_ PRINT_TREE_OVERLAP, 1, def)->add_callback(overlap_toggled_cb);442 awr->awar_float(AWAR_ PRINT_TREE_OVERLAP_PERCENT, 13.0, def); // determined443 444 awr->awar_int(AWAR_ PRINT_TREE_F2DBUG, 1, def); // bug still exists in most recent version (3.2 5d from July 23, 2010)445 446 awr->awar_float(AWAR_ PRINT_TREE_BORDERSIZE, 0.0, def);447 448 awr->awar_float(AWAR_ PRINT_TREE_GSIZEX);449 awr->awar_float(AWAR_ PRINT_TREE_GSIZEY);450 451 awr->awar_float(AWAR_ PRINT_TREE_OSIZEX);452 awr->awar_float(AWAR_ PRINT_TREE_OSIZEY);453 454 awr->awar_float(AWAR_ PRINT_TREE_PSIZEX);455 awr->awar_float(AWAR_ PRINT_TREE_PSIZEY);456 457 awr->awar_int(AWAR_ PRINT_TREE_PAPER, 0)->add_callback(paper_changed_cb); // sets first format (A4)458 awr->awar_float(AWAR_ PRINT_TREE_PAPER_USABLE, 95)->add_callback(paper_changed_cb); // 95% of paper are usable459 460 awr->awar_float(AWAR_ PRINT_TREE_SIZEX);461 awr->awar_float(AWAR_ PRINT_TREE_SIZEY);462 463 awr->awar_int(AWAR_ PRINT_TREE_DEST);473 awr->awar_int(AWAR_CANIO_PAGES, 1, def); 474 awr->awar_int(AWAR_CANIO_PAGELOCK, 1, def); 475 476 awr->awar_int(AWAR_CANIO_OVERLAP_WANTED, 1, def); 477 awr->awar_int(AWAR_CANIO_OVERLAP, 1, def)->add_callback(overlap_toggled_cb); 478 awr->awar_float(AWAR_CANIO_OVERLAP_PERCENT, 13.0, def); // determined 479 480 awr->awar_int(AWAR_CANIO_F2DBUG, 1, def); // bug still exists in most recent version (3.2 5d from July 23, 2010) 481 482 awr->awar_float(AWAR_CANIO_BORDERSIZE, 0.0, def); 483 484 awr->awar_float(AWAR_CANIO_GFX_SX); 485 awr->awar_float(AWAR_CANIO_GFX_SY); 486 487 awr->awar_float(AWAR_CANIO_OUT_SX); 488 awr->awar_float(AWAR_CANIO_OUT_SY); 489 490 awr->awar_float(AWAR_CANIO_PAPER_SX); 491 awr->awar_float(AWAR_CANIO_PAPER_SY); 492 493 awr->awar_int(AWAR_CANIO_PAPER, 0)->add_callback(paper_changed_cb); // sets first format (A4) 494 awr->awar_float(AWAR_CANIO_PAPER_USABLE, 95)->add_callback(paper_changed_cb); // 95% of paper are usable 495 496 awr->awar_float(AWAR_CANIO_PAGE_SX); 497 awr->awar_float(AWAR_CANIO_PAGE_SY); 498 499 awr->awar_int(AWAR_CANIO_DEST); 464 500 465 501 { … … 469 505 } else print_command = strdup("lpr -h"); 470 506 471 awr->awar_string(AWAR_ PRINT_TREE_PRINTER, print_command, def);507 awr->awar_string(AWAR_CANIO_PRINTER, print_command, def); 472 508 free(print_command); 473 509 } … … 475 511 // constraints and automatics: 476 512 477 awr->awar(AWAR_ PRINT_TREE_PSIZEX)->set_minmax(0.1, 100);478 awr->awar(AWAR_ PRINT_TREE_PSIZEY)->set_minmax(0.1, 100);513 awr->awar(AWAR_CANIO_PAPER_SX)->set_minmax(0.1, 100); 514 awr->awar(AWAR_CANIO_PAPER_SY)->set_minmax(0.1, 100); 479 515 480 516 awt_print_tree_check_size(0, (AW_CL)ntw); 481 517 482 awr->awar(AWAR_ PRINT_TREE_CLIP)->add_callback((AW_RCB1)awt_print_tree_check_size, (AW_CL)ntw);483 awr->awar(AWAR_ PRINT_TREE_BORDERSIZE)->add_callback((AW_RCB1)awt_print_tree_check_size, (AW_CL)ntw);518 awr->awar(AWAR_CANIO_CLIP)->add_callback((AW_RCB1)awt_print_tree_check_size, (AW_CL)ntw); 519 awr->awar(AWAR_CANIO_BORDERSIZE)->add_callback((AW_RCB1)awt_print_tree_check_size, (AW_CL)ntw); 484 520 485 521 { // add callbacks for page recalculation 486 522 const char *checked_awars[] = { 487 AWAR_ PRINT_TREE_MAGNIFICATION,488 AWAR_ PRINT_TREE_LANDSCAPE,489 AWAR_ PRINT_TREE_BORDERSIZE,490 AWAR_ PRINT_TREE_OVERLAP_WANTED, AWAR_PRINT_TREE_OVERLAP_PERCENT,491 AWAR_ PRINT_TREE_F2DBUG,492 AWAR_ PRINT_TREE_PSIZEX, AWAR_PRINT_TREE_PSIZEY,493 AWAR_ PRINT_TREE_GSIZEX, AWAR_PRINT_TREE_GSIZEY,523 AWAR_CANIO_MAGNIFICATION, 524 AWAR_CANIO_LANDSCAPE, 525 AWAR_CANIO_BORDERSIZE, 526 AWAR_CANIO_OVERLAP_WANTED, AWAR_CANIO_OVERLAP_PERCENT, 527 AWAR_CANIO_F2DBUG, 528 AWAR_CANIO_PAPER_SX, AWAR_CANIO_PAPER_SY, 529 AWAR_CANIO_GFX_SX, AWAR_CANIO_GFX_SY, 494 530 0 495 531 }; … … 510 546 511 547 AW_root *awr = ntw->awr; 512 bool draw_all = awr->awar(AWAR_ PRINT_TREE_CLIP)->read_int();513 bool handles = awr->awar(AWAR_ PRINT_TREE_HANDLES)->read_int();514 bool use_color = awr->awar(AWAR_ PRINT_TREE_COLOR)->read_int();515 double border = awr->awar(AWAR_ PRINT_TREE_BORDERSIZE)->read_float();548 bool draw_all = awr->awar(AWAR_CANIO_CLIP)->read_int(); 549 bool handles = awr->awar(AWAR_CANIO_HANDLES)->read_int(); 550 bool use_color = awr->awar(AWAR_CANIO_COLOR)->read_int(); 551 double border = awr->awar(AWAR_CANIO_BORDERSIZE)->read_float(); 516 552 517 553 AW_device_print *device = ntw->aww->get_print_device(AW_MIDDLE_AREA); … … 552 588 AWT_canvas *ntw = (AWT_canvas*)cl_ntw; 553 589 AW_root *awr = aww->get_root(); 554 char *xfig = AW_get_selected_fullname(awr, AWAR_ PRINT_TREE_FILE_BASE);590 char *xfig = AW_get_selected_fullname(awr, AWAR_CANIO_FILE_BASE); 555 591 556 592 GB_ERROR error = NULL; … … 561 597 error = canvas_to_xfig(ntw, xfig); 562 598 if (!error) { 563 awr->awar(AWAR_ PRINT_TREE_FILE_DIR)->touch(); // reload dir to show created xfig599 awr->awar(AWAR_CANIO_FILE_DIR)->touch(); // reload dir to show created xfig 564 600 error = GB_system(GBS_global_string("xfig %s &", xfig)); 565 601 } … … 575 611 GB_ERROR error = 0; 576 612 char *dest = 0; 577 PrintDest printdest = (PrintDest)awr->awar(AWAR_ PRINT_TREE_DEST)->read_int();613 PrintDest printdest = (PrintDest)awr->awar(AWAR_CANIO_DEST)->read_int(); 578 614 579 615 switch (printdest) { 580 616 case PDEST_POSTSCRIPT: { 581 dest = AW_get_selected_fullname(awr, AWAR_ PRINT_TREE_FILE_BASE);617 dest = AW_get_selected_fullname(awr, AWAR_CANIO_FILE_BASE); 582 618 FILE *out = fopen(dest, "w"); 583 619 if (!out) error = GB_export_IO_error("writing", dest); … … 616 652 617 653 { 618 bool landscape = awr->awar(AWAR_ PRINT_TREE_LANDSCAPE)->read_int();619 bool useOverlap = awr->awar(AWAR_ PRINT_TREE_OVERLAP)->read_int();620 double magnification = awr->awar(AWAR_ PRINT_TREE_MAGNIFICATION)->read_int() * 0.01;621 int paper = awr->awar(AWAR_ PRINT_TREE_PAPER)->read_int();654 bool landscape = awr->awar(AWAR_CANIO_LANDSCAPE)->read_int(); 655 bool useOverlap = awr->awar(AWAR_CANIO_OVERLAP)->read_int(); 656 double magnification = awr->awar(AWAR_CANIO_MAGNIFICATION)->read_int() * 0.01; 657 int paper = awr->awar(AWAR_CANIO_PAPER)->read_int(); 622 658 623 659 const PaperFormat& format = knownPaperFormat[paper]; … … 658 694 659 695 case PDEST_PRINTER: { 660 char *prt = awr->awar(AWAR_ PRINT_TREE_PRINTER)->read_string();696 char *prt = awr->awar(AWAR_CANIO_PRINTER)->read_string(); 661 697 error = GB_system(GBS_global_string("%s %s", prt, dest)); 662 698 free(prt); … … 700 736 aws->label_length(15); 701 737 702 AW_create_fileselection(aws, AWAR_ PRINT_TREE_FILE_BASE);738 AW_create_fileselection(aws, AWAR_CANIO_FILE_BASE); 703 739 704 740 aws->at("what"); 705 741 aws->label("Clip at Screen"); 706 aws->create_toggle_field(AWAR_ PRINT_TREE_CLIP, 1);742 aws->create_toggle_field(AWAR_CANIO_CLIP, 1); 707 743 aws->insert_toggle("#print/clipscreen.bitmap", "S", 0); 708 744 aws->insert_toggle("#print/clipall.bitmap", "A", 1); … … 711 747 aws->at("remove_root"); 712 748 aws->label("Show Handles"); 713 aws->create_toggle_field(AWAR_ PRINT_TREE_HANDLES, 1);749 aws->create_toggle_field(AWAR_CANIO_HANDLES, 1); 714 750 aws->insert_toggle("#print/nohandles.bitmap", "S", 0); 715 751 aws->insert_toggle("#print/handles.bitmap", "A", 1); … … 718 754 aws->at("color"); 719 755 aws->label("Export colors"); 720 aws->create_toggle(AWAR_ PRINT_TREE_COLOR);756 aws->create_toggle(AWAR_CANIO_COLOR); 721 757 722 758 … … 747 783 748 784 aws->label_length(15); 749 AW_create_fileselection(aws, AWAR_ PRINT_TREE_FILE_BASE);785 AW_create_fileselection(aws, AWAR_CANIO_FILE_BASE); 750 786 751 787 aws->at("what"); 752 788 aws->label("Clip Options"); 753 aws->create_option_menu(AWAR_ PRINT_TREE_CLIP);789 aws->create_option_menu(AWAR_CANIO_CLIP); 754 790 aws->insert_option("Export screen only", "s", 0); 755 791 aws->insert_default_option("Export complete structure", "c", 1); … … 758 794 aws->at("color"); 759 795 aws->label("Export colors"); 760 aws->create_toggle(AWAR_ PRINT_TREE_COLOR);796 aws->create_toggle(AWAR_CANIO_COLOR); 761 797 762 798 aws->at("xfig"); aws->callback(canvas_to_xfig_and_run_xfig, cl_canvas); … … 783 819 wanted_pages = cl_pages; 784 820 else { 785 wanted_pages = awr->awar(AWAR_ PRINT_TREE_PAGES)->read_int();821 wanted_pages = awr->awar(AWAR_CANIO_PAGES)->read_int(); 786 822 } 787 823 fit_pages(awr, wanted_pages, true); … … 814 850 aws->at("what"); 815 851 aws->label("Clip at Screen"); 816 aws->create_toggle_field(AWAR_ PRINT_TREE_CLIP, 1);852 aws->create_toggle_field(AWAR_CANIO_CLIP, 1); 817 853 aws->insert_toggle("#print/clipscreen.bitmap", "S", 0); 818 854 aws->insert_toggle("#print/clipall.bitmap", "A", 1); … … 821 857 aws->at("remove_root"); 822 858 aws->label("Show Handles"); 823 aws->create_toggle_field(AWAR_ PRINT_TREE_HANDLES, 1);859 aws->create_toggle_field(AWAR_CANIO_HANDLES, 1); 824 860 aws->insert_toggle("#print/nohandles.bitmap", "S", 0); 825 861 aws->insert_toggle("#print/handles.bitmap", "A", 1); … … 828 864 aws->at("color"); 829 865 aws->label("Export colors"); 830 aws->create_toggle(AWAR_ PRINT_TREE_COLOR);866 aws->create_toggle(AWAR_CANIO_COLOR); 831 867 832 868 // -------------------- … … 838 874 839 875 aws->button_length(6); 840 aws->at("gsizex"); aws->create_button(0, AWAR_ PRINT_TREE_GSIZEX);841 aws->at("gsizey"); aws->create_button(0, AWAR_ PRINT_TREE_GSIZEY);842 aws->at("osizex"); aws->create_button(0, AWAR_ PRINT_TREE_OSIZEX);843 aws->at("osizey"); aws->create_button(0, AWAR_ PRINT_TREE_OSIZEY);876 aws->at("gsizex"); aws->create_button(0, AWAR_CANIO_GFX_SX); 877 aws->at("gsizey"); aws->create_button(0, AWAR_CANIO_GFX_SY); 878 aws->at("osizex"); aws->create_button(0, AWAR_CANIO_OUT_SX); 879 aws->at("osizey"); aws->create_button(0, AWAR_CANIO_OUT_SY); 844 880 845 881 aws->at("magnification"); 846 aws->create_input_field(AWAR_ PRINT_TREE_MAGNIFICATION, 4);882 aws->create_input_field(AWAR_CANIO_MAGNIFICATION, 4); 847 883 848 884 aws->label_length(0); 849 885 aws->at("orientation"); 850 aws->create_toggle_field(AWAR_ PRINT_TREE_LANDSCAPE, 1);886 aws->create_toggle_field(AWAR_CANIO_LANDSCAPE, 1); 851 887 aws->insert_toggle("#print/landscape.bitmap", "L", 1); 852 888 aws->insert_toggle("#print/portrait.bitmap", "P", 0); 853 889 aws->update_toggle_field(); 854 890 855 aws->at("bsize"); aws->create_input_field(AWAR_ PRINT_TREE_BORDERSIZE, 4);891 aws->at("bsize"); aws->create_input_field(AWAR_CANIO_BORDERSIZE, 4); 856 892 857 893 // ------------------- 858 894 // paper size 859 895 860 aws->at("psizex"); aws->create_input_field(AWAR_ PRINT_TREE_PSIZEX, 5);861 aws->at("psizey"); aws->create_input_field(AWAR_ PRINT_TREE_PSIZEY, 5);896 aws->at("psizex"); aws->create_input_field(AWAR_CANIO_PAPER_SX, 5); 897 aws->at("psizey"); aws->create_input_field(AWAR_CANIO_PAPER_SY, 5); 862 898 863 899 aws->at("paper"); 864 aws->create_option_menu(AWAR_ PRINT_TREE_PAPER);900 aws->create_option_menu(AWAR_CANIO_PAPER); 865 901 aws->insert_default_option(knownPaperFormat[0].get_description(), "", 0); 866 902 for (int f = 1; f<int(ARRAY_ELEMS(knownPaperFormat)); ++f) { … … 870 906 aws->update_option_menu(); 871 907 872 aws->at("usize"); aws->create_input_field(AWAR_ PRINT_TREE_PAPER_USABLE, 4);908 aws->at("usize"); aws->create_input_field(AWAR_CANIO_PAPER_USABLE, 4); 873 909 874 910 … … 878 914 aws->at("sizex"); 879 915 aws->callback(columns_changed_cb); 880 aws->create_input_field(AWAR_ PRINT_TREE_SIZEX, 4);916 aws->create_input_field(AWAR_CANIO_PAGE_SX, 4); 881 917 aws->at("sizey"); 882 918 aws->callback(rows_changed_cb); 883 aws->create_input_field(AWAR_ PRINT_TREE_SIZEY, 4);919 aws->create_input_field(AWAR_CANIO_PAGE_SY, 4); 884 920 885 921 aws->at("best_fit"); … … 888 924 889 925 aws->at("pages"); 890 aws->create_input_field(AWAR_ PRINT_TREE_PAGES, 3);926 aws->create_input_field(AWAR_CANIO_PAGES, 3); 891 927 892 928 aws->at("plock"); 893 aws->create_toggle(AWAR_ PRINT_TREE_PAGELOCK);929 aws->create_toggle(AWAR_CANIO_PAGELOCK); 894 930 895 931 aws->button_length(1); … … 907 943 908 944 aws->at("overlap"); 909 aws->create_toggle(AWAR_ PRINT_TREE_OVERLAP);945 aws->create_toggle(AWAR_CANIO_OVERLAP); 910 946 aws->at("amount"); 911 aws->create_input_field(AWAR_ PRINT_TREE_OVERLAP_PERCENT, 4);947 aws->create_input_field(AWAR_CANIO_OVERLAP_PERCENT, 4); 912 948 913 949 aws->at("f2dbug"); 914 aws->create_toggle(AWAR_ PRINT_TREE_F2DBUG);950 aws->create_toggle(AWAR_CANIO_F2DBUG); 915 951 916 952 // -------------------- … … 920 956 aws->label_length(12); 921 957 aws->label("Destination"); 922 aws->create_toggle_field(AWAR_ PRINT_TREE_DEST);958 aws->create_toggle_field(AWAR_CANIO_DEST); 923 959 aws->insert_toggle("Printer", "P", PDEST_PRINTER); 924 960 aws->insert_toggle("File (Postscript)", "F", PDEST_POSTSCRIPT); … … 927 963 928 964 aws->at("printer"); 929 aws->create_input_field(AWAR_ PRINT_TREE_PRINTER, 16);965 aws->create_input_field(AWAR_CANIO_PRINTER, 16); 930 966 931 967 aws->at("filename"); 932 aws->create_input_field(AWAR_ PRINT_TREE_FILE_NAME, 16);968 aws->create_input_field(AWAR_CANIO_FILE_NAME, 16); 933 969 934 970 aws->at("go"); -
branches/dev/AWT/awt_canvas.hxx
r7587 r7588 199 199 void AWT_resize_cb(AW_window *dummy, AWT_canvas *ntw, AW_CL cl2); 200 200 201 #define AWAR_PRINT_TREE "NT/print/"202 #define AWAR_PRINT_TREE_LANDSCAPE AWAR_PRINT_TREE "landscape"203 #define AWAR_PRINT_TREE_CLIP AWAR_PRINT_TREE "clip"204 #define AWAR_PRINT_TREE_HANDLES AWAR_PRINT_TREE "handles"205 #define AWAR_PRINT_TREE_COLOR AWAR_PRINT_TREE "color"206 #define AWAR_PRINT_TREE_DEST AWAR_PRINT_TREE "dest"207 #define AWAR_PRINT_TREE_PRINTER AWAR_PRINT_TREE "printer"208 #define AWAR_PRINT_TREE_OVERLAP_WANTED AWAR_PRINT_TREE "overlap"209 #define AWAR_PRINT_TREE_OVERLAP_PERCENT AWAR_PRINT_TREE "operc"210 #define AWAR_PRINT_TREE_BORDERSIZE AWAR_PRINT_TREE "border"211 #define AWAR_PRINT_TREE_PAPER AWAR_PRINT_TREE "paper"212 #define AWAR_PRINT_TREE_PAPER_USABLE AWAR_PRINT_TREE "useable"213 #define AWAR_PRINT_TREE_F2DBUG AWAR_PRINT_TREE "f2dbug"214 #define AWAR_PRINT_TREE_PAGES AWAR_PRINT_TREE "pages"215 #define AWAR_PRINT_TREE_PAGELOCK AWAR_PRINT_TREE "plock"216 217 #define AWAR_PRINT_TREE_TMP "tmp/" AWAR_PRINT_TREE218 219 #define AWAR_PRINT_TREE_MAGNIFICATION AWAR_PRINT_TREE_TMP "magnification"220 #define AWAR_PRINT_TREE_OVERLAP AWAR_PRINT_TREE_TMP "overlap"221 #define AWAR_PRINT_TREE_GSIZEX AWAR_PRINT_TREE_TMP "gsizex" // graphic size in inch222 #define AWAR_PRINT_TREE_GSIZEY AWAR_PRINT_TREE_TMP "gsizey"223 #define AWAR_PRINT_TREE_OSIZEX AWAR_PRINT_TREE_TMP "osizex" // output size in inch224 #define AWAR_PRINT_TREE_OSIZEY AWAR_PRINT_TREE_TMP "osizey"225 #define AWAR_PRINT_TREE_PSIZEX AWAR_PRINT_TREE_TMP "psizex" // paper size in inch226 #define AWAR_PRINT_TREE_PSIZEY AWAR_PRINT_TREE_TMP "psizey"227 #define AWAR_PRINT_TREE_SIZEX AWAR_PRINT_TREE_TMP "sizex" // size in pages228 #define AWAR_PRINT_TREE_SIZEY AWAR_PRINT_TREE_TMP "sizey"229 230 #define AWAR_PRINT_TREE_FILE_BASE AWAR_PRINT_TREE_TMP "file"231 #define AWAR_PRINT_TREE_FILE_NAME AWAR_PRINT_TREE_FILE_BASE "/file_name"232 #define AWAR_PRINT_TREE_FILE_DIR AWAR_PRINT_TREE_FILE_BASE "/directory"233 #define AWAR_PRINT_TREE_FILE_FILTER AWAR_PRINT_TREE_FILE_BASE "/filter"234 235 201 void AWT_popup_tree_export_window(AW_window *parent_win, AW_CL cl_canvas, AW_CL); 236 202 void AWT_popup_sec_export_window (AW_window *parent_win, AW_CL cl_canvas, AW_CL);
