1 #!/usr/local/bin/rune -x
10 alias stdio.File *stdout = stdio.stdout;
12 typedef gfx.Event Event;
13 typedef gfx.Frame Frame;
15 subclass gadgets.SliderFrame as MySlider
19 subclass Frame as MyFrame
23 refreshFrame(int x, int y, int w, int h) {
24 super.refreshFrame(x, y, w, h);
25 this.drawLine(5, 5, this.bounds.w - 5, this.bounds.h -5);
26 this.drawLine(this.bounds.w - 5, 5, 5, this.bounds.h -5);
27 this.drawRect(0, 0, this.bounds.w - 1, this.bounds.h -1);
32 main(int ac, char **av)
44 frame0.createFrame("OUTER", &gfx.root, 512, 512, BODY);
45 frame0->setBGColor(255, 129, 0);
46 stdio.stdout->format("FRAME0 %p\n", frame0);
47 sliderH.createSlider(frame0, 0, 0, sliderH.NULL, BELOW|FILLX);
48 sliderV.createSlider(frame0, 0, 0, sliderH, RIGHT|FILLY);
49 frame1.createFrame("WINDOW", frame0,
50 0, 0, BODY|FILLX|FILLY|WINDOW);
51 frame2.createFrame("INNER", frame1,
52 2000, 1000, BODY|WINDOW|CLIP);
53 # frame2.createFrame(frame1, 1000, 1000, BODY);
54 sliderH->setBody(frame1, frame2);
55 sliderV->setBody(frame1, frame2);
59 for (i = 0; i < 4; ++i) {
62 frame3.createFrame("LEFT", frame2, 0, 0, LEFT);
63 for (j = 0; j < 4; ++j) {
66 frame4.createFrame("SUB-ABOVE", frame3, 0, 0, ABOVE);
67 for (k = 0; k < 20; ++k) {
70 frame5.createFrame("SUB-SUB-ABOVE",
72 for (l = 0; l < 20; ++l) {
73 gadgets.ButtonFrame *button;
75 button.createButton(frame5,
81 stdout->show("Number of buttons:", i * j * k * l);
85 # Slowly destroy the buttons
90 Thread.waitThreads(); # wait until all threads have exited
95 destroyStuff(Frame @parent)
99 if ((scan = parent->firstFrame()) == NULL) {
102 while ((scan = parent->firstFrame()) != NULL) {