20#include "kivioglobal.h"
30#include <KoGenStyles.h>
31#include <KoZoomHandler.h>
34#include "kivio_common.h"
35#include "kivio_settings.h"
36#include "kivio_stencil.h"
37#include "kivio_intra_stencil_data.h"
38#include "kivio_screen_painter.h"
47void Kivio::savePageLayout(TQDomElement& e, const KoPageLayout& layout)
49 XmlWriteFloat(e, "width", layout.ptWidth);
50 XmlWriteFloat(e, "height", layout.ptHeight);
51 XmlWriteFloat(e, "marginLeft", layout.ptLeft);
52 XmlWriteFloat(e, "marginRight", layout.ptRight);
53 XmlWriteFloat(e, "marginTop", layout.ptTop);
54 XmlWriteFloat(e, "marginBottom", layout.ptBottom);
55 XmlWriteString(e, "format", KoPageFormat::formatString(layout.format));
56 XmlWriteString(e, "orientation", Kivio::orientationString(layout.orientation));
60KoGenStyle Kivio::savePageLayout( const KoPageLayout& layout)
62 return layout.saveOasis();
65KoPageLayout Kivio::loadPageLayout( const TQDomElement& e)
69 if(e.hasAttribute( "unit")) {
71 kdDebug(43000) << "Compatibility mode..." << endl;
72 KoUnit::Unit unit = Kivio::convToKoUnit(XmlReadInt(e, "unit", 0));
73 layout.ptWidth = KoUnit::fromUserValue(XmlReadFloat(e, "width", 0.0), unit);
74 layout.ptHeight = KoUnit::fromUserValue(XmlReadFloat(e, "height", 0.0), unit);
75 layout.ptLeft = KoUnit::fromUserValue(XmlReadFloat(e, "marginLeft", 0.0), unit);
76 layout.ptRight = KoUnit::fromUserValue(XmlReadFloat(e, "marginRight", 0.0), unit);
77 layout.ptTop = KoUnit::fromUserValue(XmlReadFloat(e, "marginTop", 0.0), unit);
78 layout.ptBottom = KoUnit::fromUserValue(XmlReadFloat(e, "marginBottom", 0.0), unit);
79 Kivio::setFormatOrientation(layout);
80 kdDebug(43000) << "Ready." << endl;
82 layout.ptWidth = XmlReadFloat(e, "width", 0.0);
83 layout.ptHeight = XmlReadFloat(e, "height", 0.0);
84 layout.ptLeft = XmlReadFloat(e, "marginLeft", 0.0);
85 layout.ptRight = XmlReadFloat(e, "marginRight", 0.0);
86 layout.ptTop = XmlReadFloat(e, "marginTop", 0.0);
87 layout.ptBottom = XmlReadFloat(e, "marginBottom", 0.0);
88 layout.format = KoPageFormat::formatFromString(XmlReadString(e, "format", pageSizeString(TDEGlobal::locale()->pageSize())));
89 layout.orientation = Kivio::orientationFromString(XmlReadString(e, "orientation", "Portrait"));
95KoUnit::Unit Kivio::convToKoUnit( int tkUnit)
103 return KoUnit::U_INCH;
117TQString Kivio::orientationString(KoOrientation o)
119 if(o == PG_LANDSCAPE) {
126KoOrientation Kivio::orientationFromString( const TQString& s)
128 if(s == "Landscape") {
135void Kivio::setFormatOrientation(KoPageLayout& layout)
137 const PaperSizeDef PapersTable[] = {
138 { "A0",841,1189,KoUnit::U_MM},
139 { "A1",594,841,KoUnit::U_MM},
140 { "A2",420,594,KoUnit::U_MM},
141 { "A3",297,420,KoUnit::U_MM},
142 { "A4",210,297,KoUnit::U_MM},
143 { "A5",148,210,KoUnit::U_MM},
145 { "B4",250,353,KoUnit::U_MM},
146 { "B6",125,176,KoUnit::U_MM},
148 { "C4",229,324,KoUnit::U_MM},
149 { "C5",162,229,KoUnit::U_MM},
150 { "C5",114,162,KoUnit::U_MM},
152 { "DL",110,220,KoUnit::U_MM},
154 { "Letter",8.5,11,KoUnit::U_INCH},
155 { "Legal",8.5,14,KoUnit::U_INCH},
157 { "A",8.5,11,KoUnit::U_INCH},
158 { "B",11,17,KoUnit::U_INCH},
159 { "C",17,22,KoUnit::U_INCH},
160 { "D",22,34,KoUnit::U_INCH},
161 { "E",34,44,KoUnit::U_INCH},
166 PaperSizeDef sizeDef = PapersTable[0];
169 layout.format = PG_CUSTOM;
170 layout.orientation = PG_PORTRAIT;
172 while((sizeDef.unit != -2) && !found) {
173 width = KoUnit::fromUserValue(sizeDef.width, static_cast<KoUnit::Unit >(sizeDef.unit));
174 height = KoUnit::fromUserValue(sizeDef.height, static_cast<KoUnit::Unit >(sizeDef.unit));
176 if((layout.ptWidth == width) && (layout.ptHeight == height)) {
177 layout.format = KoPageFormat::formatFromString(sizeDef.title);
178 layout.orientation = PG_PORTRAIT;
180 } else if((layout.ptWidth == height) && (layout.ptHeight == width)) {
181 layout.format = KoPageFormat::formatFromString(sizeDef.title);
182 layout.orientation = PG_LANDSCAPE;
186 sizeDef = PapersTable[++j];
190KoSize Kivio::loadSize( const TQDomElement& e, const TQString& name, const KoSize& def)
193 if(e.hasAttribute(name + "Unit")) {
195 KoUnit::Unit unit = Kivio::convToKoUnit(XmlReadInt(e, name + "Unit", 0));
196 size.setWidth(KoUnit::fromUserValue(XmlReadFloat(e, name + "Width", def.width()), unit));
197 size.setHeight(KoUnit::fromUserValue(XmlReadFloat(e, name + "Height", def.height()), unit));
199 size.setWidth(XmlReadFloat(e, name + "Width", def.width()));
200 size.setHeight(XmlReadFloat(e, name + "Height", def.height()));
206void Kivio::saveSize(TQDomElement& e, const TQString& name, const KoSize& size)
208 XmlWriteFloat(e, name + "Width", size.width());
209 XmlWriteFloat(e, name + "Height", size.height());
212TQString Kivio::pageSizeString( int pageSize)
214 TQString psStr = "A4";
280 case TQPrinter::Comm10E:
286 case TQPrinter::Executive:
289 case TQPrinter::Folio:
292 case TQPrinter::Ledger:
295 case TQPrinter::Legal:
298 case TQPrinter::Letter:
301 case TQPrinter::Tabloid:
304 case TQPrinter::Custom:
316TQPixmap Kivio::arrowHeadPixmap()
318 const char* lineends[] = {
322 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
324 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
325 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
326 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
327 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
328 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
329 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
331 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
332 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
333 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
334 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
335 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
336 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
338 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
339 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
341 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
342 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
343 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
344 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
345 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
346 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
348 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
349 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
350 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
351 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
352 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
353 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
355 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
356 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
358 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
359 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
360 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
361 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXX X",
362 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X",
363 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXX X",
364 "X X XXXXXXXXXX XXXXX X",
365 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXX X",
366 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X",
367 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXX X",
368 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X",
369 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
370 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
372 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
373 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
375 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
376 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
377 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXXX X",
378 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X",
379 "X XXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXX X",
380 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
382 "X XXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX X",
383 "X XXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X",
384 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXXXX X",
385 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X",
386 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
387 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
389 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
390 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
392 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
393 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
394 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXXX X",
395 "X XXXXXXXXXXXXXXXXXXXXXXXX X XXXX X XXXXXXXXXX X",
396 "X XXXXXXXXXXXXXXXXXXXXXXXX XXX XX XXX XXXXXXXX X",
397 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXX XXXXXX X",
398 "X X XXXXXX XXXXXX XXXXX X",
399 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXX X XXXX XXXXXXX X",
400 "X XXXXXXXXXXXXXXXXXXXXXXXX XX XXX XX XXXXXXXXX X",
401 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXXXX X",
402 "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X",
403 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
404 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
406 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
407 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
409 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
410 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
411 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
412 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X",
413 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
415 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
416 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
417 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
418 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
419 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
420 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
421 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
423 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
424 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
426 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
427 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
428 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
429 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
430 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
432 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
433 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X",
434 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X",
435 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
436 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
437 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
438 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
440 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
441 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
443 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
444 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
445 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
446 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
447 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
449 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
450 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
451 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
452 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
453 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
454 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
455 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
457 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
458 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
460 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
461 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
462 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
463 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
464 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
465 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
467 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
468 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
469 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X",
470 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
471 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
472 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
474 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
475 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
477 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
478 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
479 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
480 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X",
481 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
482 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
484 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
485 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
486 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
487 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
488 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
489 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
491 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
492 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
494 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
495 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
496 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
497 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
498 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
499 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
501 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
502 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
503 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
504 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
505 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
506 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
508 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
509 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
511 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
512 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
513 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
514 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X",
515 "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
516 "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
518 "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X",
519 "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
520 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X",
521 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
522 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
523 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
525 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
526 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
528 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
529 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
530 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
531 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXX X",
532 "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXX X",
533 "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX XXXXXX X",
534 "X X XXXXXXXXXXXXXX XXXXX X",
535 "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX XXXXXXX X",
536 "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXX X",
537 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXX X",
538 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X",
539 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
540 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
542 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
543 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
545 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
546 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
547 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
548 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
549 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
550 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
552 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X",
553 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X",
554 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X",
555 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
556 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
557 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
559 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
560 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
562 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
563 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
564 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
565 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
566 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
567 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
569 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
570 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
571 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X",
572 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
573 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
574 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
576 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
577 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
579 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
580 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
581 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
582 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX X",
583 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXX X",
584 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X",
586 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X",
587 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXX X",
588 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX X",
589 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X",
590 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
591 "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
593 "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
1242 return TQPixmap(lineends);
1245TQPixmap Kivio::connectorTargetPixmap()
1247 const char * connectorTarget_xpm[] = {
1260 return TQPixmap(connectorTarget_xpm);
1263TQPixmap Kivio::lockPixmap()
1265 const char * lock_xpm[] = {
1281 return TQPixmap(lock_xpm);
1284TQString Kivio::systemDefaultUnit()
1286 TQString defMS = "cm";
1288 if(TDEGlobal::locale()->measureSystem() == TDELocale::Imperial) {
1295TQPixmap Kivio::generatePixmapFromStencil( int width, int height, KivioStencil* stencil)
1297 KoZoomHandler zoomHandler;
1298 TQRect rect = zoomHandler.zoomRect(stencil->rect());
1300 double zw = (double)(width - 2) / (double)rect.width();
1301 double zh = (double)(height - 2) / (double)rect.height();
1302 zoomHandler.setZoomAndResolution(tqRound(kMin(zw, zh) * 100.0), KoGlobal::dpiX(), KoGlobal::dpiY());
1303 rect = zoomHandler.zoomRect(stencil->rect());
1305 TQPixmap pix(width, height);
1306 pix.fill(TQt::white);
1307 KivioScreenPainter kpainter;
1308 kpainter.start(&pix);
1309 kpainter.translateBy(-rect.x() + ((width - rect.width()) / 2), -rect.y() + ((height - rect.height()) / 2));
1310 KivioIntraStencilData data;
1311 data.painter = &kpainter;
1312 data.zoomHandler = &zoomHandler;
1313 stencil->paint(&data);
|