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!!! |
---|
12 | // |
---|
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! |
---|
16 | // |
---|
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! |
---|
22 | // |
---|
23 | // Copyright 1998-2010 by Bill Spitzak and others. |
---|
24 | // |
---|
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. |
---|
29 | // |
---|
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. |
---|
34 | // |
---|
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. |
---|
39 | // |
---|
40 | // Please report all bugs and problems on the following page: |
---|
41 | // |
---|
42 | // http://www.fltk.org/str.php |
---|
43 | // |
---|
44 | |
---|
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> |
---|
51 | |
---|
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."))); |
---|
66 | |
---|
67 | Fl_Slider *s; |
---|
68 | s = new Fl_Slider(320,10,20,300,"Too_Big_Label"); |
---|
69 | s->align(0); |
---|
70 | |
---|
71 | new Fl_Button(20,270,100,30,"Button"); |
---|
72 | new Fl_Return_Button(200,270,100,30,"Button"); |
---|
73 | |
---|
74 | window->show(argc, argv); |
---|
75 | return Fl::run(); |
---|
76 | } |
---|
77 | |
---|
78 | // |
---|
79 | // End of "$Id: minimum.cxx 7903 2010-11-28 21:06:39Z matt $". |
---|
80 | // |
---|