diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2018-06-21 12:45:24 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2018-06-21 12:45:24 +0000 |
| commit | 230ac73ce1978c73af0fd945545319ced9fab42b (patch) | |
| tree | da19ca5b8d3547cff8d9bef0b3b67173c06e7b0c /ide | |
| parent | 4ba6b96471b23008a2d4b6e0dff8fd9f194fb444 (diff) | |
Android: More tests, must implement scrolling next
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12956 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'ide')
| -rw-r--r-- | ide/AndroidStudio3/app/src/main/cpp/HelloAndroid.cxx | 226 |
1 files changed, 153 insertions, 73 deletions
diff --git a/ide/AndroidStudio3/app/src/main/cpp/HelloAndroid.cxx b/ide/AndroidStudio3/app/src/main/cpp/HelloAndroid.cxx index 06ff0811d..4b7f2fee7 100644 --- a/ide/AndroidStudio3/app/src/main/cpp/HelloAndroid.cxx +++ b/ide/AndroidStudio3/app/src/main/cpp/HelloAndroid.cxx @@ -17,47 +17,92 @@ #if 1 -#include <stdlib.h> -#include <stdio.h> #include <FL/Fl.H> -#include <FL/Fl_Window.H> #include <FL/Fl_Button.H> -#include <FL/fl_ask.H> - -void beepcb(Fl_Widget *, void *) { - fl_beep(); - fflush(stdout); +#include <FL/Fl_Light_Button.H> +#include <FL/Fl_Double_Window.H> +#include <FL/Fl_Scroll.H> +#include <FL/Fl_Value_Slider.H> +#include <FL/Fl_Pack.H> + +Fl_Pack *pack; +Fl_Scroll *scroll; + +void type_cb(Fl_Light_Button*, long v) { + for (int i = 0; i < pack->children(); i++) { + Fl_Widget* o = pack->child(i); + o->resize(0,0,25,25); + } + pack->resize(scroll->x(),scroll->y(),scroll->w(),scroll->h()); + pack->parent()->redraw(); + pack->type(uchar(v)); + pack->redraw(); } -void exitcb(Fl_Widget *, void *) { - exit(0); +void spacing_cb(Fl_Value_Slider*o, long) { + pack->spacing(int(o->value())); + scroll->redraw(); } -#if 0 -// test Fl::add_fd()... -void stdin_cb(int, void*) { - char buf[1000]; - fgets(buf, sizeof(buf), stdin); - printf("stdin callback\n"); -} -#endif - -int main(int argc, char ** argv) { - Fl_Window *window = new Fl_Window(320,65); - Fl_Button *b1 = new Fl_Button(20, 20, 80, 25, "&Beep"); - b1->callback(beepcb,0); - /*Fl_Button *b2 =*/ new Fl_Button(120,20, 80, 25, "&no op"); - Fl_Button *b3 = new Fl_Button(220,20, 80, 25, "E&xit"); - b3->callback(exitcb,0); - window->end(); - window->show(argc,argv); -#if 0 - Fl::add_fd(0, stdin_cb); -#endif +int main(int argc, char **argv) { + Fl_Double_Window *w; + {Fl_Double_Window* o = new Fl_Double_Window(360, 370); + w = o; + scroll = new Fl_Scroll(10,10,340,285); + {Fl_Pack* o = new Fl_Pack(10, 10, 340, 285); + pack = o; + o->box(FL_DOWN_FRAME); + //o->box(FL_ENGRAVED_FRAME); + new Fl_Button(35, 35, 25, 25, "b1"); + new Fl_Button(45, 45, 25, 25, "b2"); + new Fl_Button(55, 55, 25, 25, "b3"); + new Fl_Button(65, 65, 25, 25, "b4"); + new Fl_Button(75, 75, 25, 25, "b5"); + new Fl_Button(85, 85, 25, 25, "b6"); + new Fl_Button(95, 95, 25, 25, "b7"); + new Fl_Button(105, 105, 25, 25, "b8"); + new Fl_Button(115, 115, 25, 25, "b9"); + new Fl_Button(125, 125, 25, 25, "b10"); + new Fl_Button(135, 135, 25, 25, "b11"); + new Fl_Button(145, 145, 25, 25, "b12"); + new Fl_Button(155, 155, 25, 25, "b13"); + new Fl_Button(165, 165, 25, 25, "b14"); + new Fl_Button(175, 175, 25, 25, "b15"); + new Fl_Button(185, 185, 25, 25, "b16"); + new Fl_Button(195, 195, 25, 25, "b17"); + new Fl_Button(205, 205, 25, 25, "b18"); + new Fl_Button(215, 215, 25, 25, "b19"); + new Fl_Button(225, 225, 25, 25, "b20"); + new Fl_Button(235, 235, 25, 25, "b21"); + new Fl_Button(245, 245, 25, 25, "b22"); + new Fl_Button(255, 255, 25, 25, "b23"); + new Fl_Button(265, 265, 25, 25, "b24"); + o->end(); + w->resizable(o); + } + scroll->end(); + {Fl_Light_Button* o = new Fl_Light_Button(10, 305, 165, 25, "HORIZONTAL"); + o->type(FL_RADIO_BUTTON); + o->callback((Fl_Callback*)type_cb, (void*)(Fl_Pack::HORIZONTAL)); + } + {Fl_Light_Button* o = new Fl_Light_Button(185, 305, 165, 25, "VERTICAL"); + o->type(FL_RADIO_BUTTON); + o->value(1); + o->callback((Fl_Callback*)type_cb, (void*)(Fl_Pack::VERTICAL)); + } + {Fl_Value_Slider* o = new Fl_Value_Slider(100, 335, 250, 25, "Spacing: "); + o->align(FL_ALIGN_LEFT); + o->type(FL_HORIZONTAL); + o->range(0,30); + o->step(1); + o->callback((Fl_Callback*)spacing_cb); + } + w->end(); + } + w->show(argc, argv); return Fl::run(); } - #else #include <src/drivers/Android/Fl_Android_Application.H> @@ -191,55 +236,90 @@ int xmain(int argc, char **argv) - grab() not working when leaving window (adjuster...) -test/CubeMain.cxx test/line_style.cxx -test/CubeView.cxx test/list_visuals.cxx +test/CubeMain.cxx +test/line_style.cxx +test/CubeView.cxx +test/list_visuals.cxx +test/mandelbrot.cxx +test/animated.cxx +test/menubar.cxx +test/message.cxx +test/ask.cxx +test/bitmap.cxx +test/native-filechooser.cxx +test/blocks.cxx +test/navigation.cxx +test/offscreen.cxx +test/browser.cxx +test/output.cxx +test/overlay.cxx +test/cairo_test.cxx +test/pixmap.cxx +test/checkers.cxx +test/pixmap_browser.cxx +test/clock.cxx +test/resizebox.cxx +test/colbrowser.cxx +test/rotated_text.cxx +test/scroll.cxx +test/connect.cxx +test/shape.cxx +test/cube.cxx +test/subwindow.cxx +test/cursor.cxx +test/sudoku.cxx +test/curve.cxx +test/demo.cxx +test/table.cxx +test/device.cxx +test/threads.cxx +test/doublebuffer.cxx +test/tile.cxx +test/editor.cxx +test/tiled_image.cxx +test/file_chooser.cxx +test/twowin.cxx +test/fonts.cxx +test/unittest_about.cxx +test/forms.cxx +test/unittest_circles.cxx +test/fractals.cxx +test/unittest_images.cxx +test/fracviewer.cxx +test/unittest_lines.cxx +test/fullscreen.cxx +test/unittest_points.cxx +test/gl_overlay.cxx +test/unittest_rects.cxx +test/glpuzzle.cxx +test/unittest_schemes.cxx +test/unittest_scrollbarsize.cxx +test/help_dialog.cxx +test/unittest_simple_terminal.cxx +test/icon.cxx +test/unittest_symbol.cxx +test/iconize.cxx +test/unittest_text.cxx +test/image.cxx +test/unittest_viewport.cxx +test/input.cxx +test/unittests.cxx +test/input_choice.cxx +test/utf8.cxx +test/keyboard.cxx +test/windowfocus.cxx + + * test/pack.cxx : ! must implement scroll function in graphics driver + * test/adjuster.cxx : + 'adjuster' works - test/mandelbrot.cxx -test/animated.cxx test/menubar.cxx * test/arc.cxx : + 'arc' works as expected - test/message.cxx -test/ask.cxx * test/minimum.cxx : + 'minimum' works -test/bitmap.cxx test/native-filechooser.cxx -test/blocks.cxx test/navigation.cxx * test/boxtype.cxx : + 'boxtype' works - test/offscreen.cxx -test/browser.cxx test/output.cxx * test/button.cxx : + 'button' works, including beep - test/overlay.cxx -test/buttons.cxx test/pack.cxx -test/cairo_test.cxx test/pixmap.cxx -test/checkers.cxx test/pixmap_browser.cxx -test/clock.cxx test/resizebox.cxx -test/colbrowser.cxx test/rotated_text.cxx + * test/buttons.cxx : + 'buttons' works * test/color_chooser.cxx:+ 'color_chooser' works -test/scroll.cxx -test/connect.cxx test/shape.cxx -test/cube.cxx test/subwindow.cxx -test/cursor.cxx test/sudoku.cxx -test/curve.cxx * test/symbols.cxx : + 'symbols' working as expected -test/demo.cxx test/table.cxx -test/device.cxx test/threads.cxx -test/doublebuffer.cxx test/tile.cxx -test/editor.cxx test/tiled_image.cxx -test/file_chooser.cxx test/twowin.cxx -test/fonts.cxx test/unittest_about.cxx -test/forms.cxx test/unittest_circles.cxx -test/fractals.cxx test/unittest_images.cxx -test/fracviewer.cxx test/unittest_lines.cxx -test/fullscreen.cxx test/unittest_points.cxx -test/gl_overlay.cxx test/unittest_rects.cxx -test/glpuzzle.cxx test/unittest_schemes.cxx * test/hello.cxx : + 'hello' works fine, italics, shadow, etc. - test/unittest_scrollbarsize.cxx -test/help_dialog.cxx test/unittest_simple_terminal.cxx -test/icon.cxx test/unittest_symbol.cxx -test/iconize.cxx test/unittest_text.cxx -test/image.cxx test/unittest_viewport.cxx -test/input.cxx test/unittests.cxx -test/input_choice.cxx test/utf8.cxx -test/keyboard.cxx test/windowfocus.cxx * test/label.cxx : + 'label' works */
\ No newline at end of file |
