Bump version.
[ntk.git] / test / minimum.cxx
blobfaf1d918a7c1ee757abfbfb920cbbe3a567596cc
1 //
2 // "$Id: minimum.cxx 7903 2010-11-28 21:06:39Z matt $"
3 //
4 // Minimal update test program for the Fast Light Tool Kit (FLTK).
5 //
6 // This is a test of the minimal update code. The right slider has a
7 // label that extends outside it's border, and the minimal update
8 // assummes this does not happen. Thus there is *supposed* to be
9 // display errors when you move the right-most or any other slider.
10 // If you *don't* see these errors, then the minimal update is
11 // broken!!!
13 // I cannot emphasize how important it is to test this and make sure
14 // any changes have not broken the minimal update. These sort of bugs
15 // are extremely hard to fix and must be detected right away!
17 // The reason it is important to fix this is that otherwise you will
18 // swiftly end up with a toolkit that thinks it has to draw the window
19 // 20 times each time the display changes. I don't care how fast the
20 // machine is, this is an insane waste of resources, and should be
21 // stopped!
23 // Copyright 1998-2010 by Bill Spitzak and others.
25 // This library is free software; you can redistribute it and/or
26 // modify it under the terms of the GNU Library General Public
27 // License as published by the Free Software Foundation; either
28 // version 2 of the License, or (at your option) any later version.
30 // This library is distributed in the hope that it will be useful,
31 // but WITHOUT ANY WARRANTY; without even the implied warranty of
32 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
33 // Library General Public License for more details.
35 // You should have received a copy of the GNU Library General Public
36 // License along with this library; if not, write to the Free Software
37 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
38 // USA.
40 // Please report all bugs and problems on the following page:
42 // http://www.fltk.org/str.php
45 #include <stdlib.h>
46 #include <FL/Fl.H>
47 #include <FL/Fl_Double_Window.H>
48 #include <FL/Fl_Slider.H>
49 #include <FL/Fl_Box.H>
50 #include <FL/Fl_Return_Button.H>
52 int main(int argc, char **argv) {
53 Fl_Double_Window *window = new Fl_Double_Window(400,320,argv[0]);
54 window->resizable(*(new Fl_Box(FL_ENGRAVED_FRAME,10,10,300,300,
55 "MINIMUM UPDATE TEST\n"
56 "\n"
57 "The slider on the right purposely\n"
58 "draws outside it's boundaries.\n"
59 "Moving it should leave old copies\n"
60 "of the label. These copies should\n"
61 "*not* be erased by any actions\n"
62 "other than hiding and showing\n"
63 "of that portion of the window\n"
64 "or changing the button that\n"
65 "intesects them.")));
67 Fl_Slider *s;
68 s = new Fl_Slider(320,10,20,300,"Too_Big_Label");
69 s->align(0);
71 new Fl_Button(20,270,100,30,"Button");
72 new Fl_Return_Button(200,270,100,30,"Button");
74 window->show(argc, argv);
75 return Fl::run();
79 // End of "$Id: minimum.cxx 7903 2010-11-28 21:06:39Z matt $".