6 import "instancesSlide"
16 class(InstancesSlide),
22 class SlideForm : AutoLayoutForm
25 caption = "Butterbur Slides";
29 subclass(Element) c = slides.count ? (subclass(Element))slides[slideNum] : null;
31 contents = eInstance_New(c);
34 bool OnKeyHit(Key key, unichar ch)
39 case home: num = 0; break;
40 case end: if(slides.count) num = slides.count-1; break;
41 case pageUp: if(num > 0) num--; break;
42 case pageDown: if(num < slides.count-1) num++; break;
43 case p: printSlides(caption); break;
49 contents = eInstance_New(slides[num]);
51 OnResize(clientSize.w, clientSize.h);
57 SlideForm slideForm { clientSize = { 1600, 1200 } };
59 class SlidePrinter : Window
62 size = { 1600, 1200 };
63 displayDriver = "Win32Printer";
66 Bitmap outputSlide(Class sc)
68 Element c = eInstance_New(sc);
70 AutoLayoutForm form1 { contents = c, clientSize = { 1600, 1200 } };
71 bmp.Allocate(null, 1600, 1200, 0, pixelFormat888, false);
73 form1.display.Lock(true);
74 form1.Grab(bmp, null, false);
75 form1.display.Unlock();
78 bmp.Save("test.png", null, null);
82 void printSlides(const String title)
85 SlidePrinter printer { size = { 1600, 1200 } };
86 SetPrintingDocumentName(title);
91 Bitmap bmp = outputSlide(s);
92 Picture pic { printer, anchor = { 0, 0, 0, 0 }, bitmapImage = bmp };
93 if(i++) printer.display.NextPage();