summaryrefslogtreecommitdiff
path: root/test/cube.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'test/cube.cxx')
-rw-r--r--test/cube.cxx33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/cube.cxx b/test/cube.cxx
index 4598921a9..b7bf82614 100644
--- a/test/cube.cxx
+++ b/test/cube.cxx
@@ -157,8 +157,41 @@ void makeform(const char *name) {
form->end();
}
+// added to demo printing
+#include <FL/Fl_Sys_Menu_Bar.H>
+#include <FL/Fl_Gl_Printer.H>
+
+void print_cb(Fl_Widget *w, void *data)
+{
+ Fl_Gl_Printer printer;
+ Fl_Window *win = Fl::first_window();
+ if(!win) return;
+ if( printer.start_job(1) ) return;
+ if( printer.start_page() ) return;
+ printer.scale(0.68,0.68);
+ printer.print_widget( win );
+ printer.print_gl_window( cube, cube->x(), cube->y() );
+ printer.print_gl_window( cube2, cube2->x(), cube2->y() );
+ printer.end_page();
+ printer.end_job();
+}
+// end of printing demo
+
int main(int argc, char **argv) {
makeform(argv[0]);
+ // added to demo printing
+ form->begin();
+ static Fl_Menu_Item items[] = {
+ { "Menu", 0, 0, 0, FL_SUBMENU },
+ { "Print", 0, print_cb, 0, 0 },
+ { 0 },
+ { 0 }
+ };
+ Fl_Sys_Menu_Bar *menubar_;
+ menubar_ = new Fl_Sys_Menu_Bar(0, 0, 40, 25);
+ menubar_->menu(items);
+ form->end();
+ // end of printing demo
speed->bounds(4,0);
speed->value(cube->speed = cube2->speed = 1.0);
size->bounds(4,0.01);