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();