~ubuntu-branches/ubuntu/edgy/fltk1.1/edgy

« back to all changes in this revision

Viewing changes to test/minimum.cxx

  • Committer: Bazaar Package Importer
  • Author(s): Aaron M. Ucko
  • Date: 2004-04-14 21:55:19 UTC
  • Revision ID: james.westby@ubuntu.com-20040414215519-avj0ojjkjni1s4ty
Tags: upstream-1.1.4+1.1.5rc1
ImportĀ upstreamĀ versionĀ 1.1.4+1.1.5rc1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//
 
2
// "$Id: minimum.cxx,v 1.4.2.3.2.3 2004/04/11 04:39:01 easysw Exp $"
 
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-2004 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 to "fltk-bugs@fltk.org".
 
41
//
 
42
 
 
43
#include <stdlib.h>
 
44
#include <FL/Fl.H>
 
45
#include <FL/Fl_Window.H>
 
46
#include <FL/Fl_Slider.H>
 
47
#include <FL/Fl_Box.H>
 
48
#include <FL/Fl_Return_Button.H>
 
49
 
 
50
int main(int argc, char **argv) {
 
51
  Fl_Window *window = new Fl_Window(400,320,argv[0]);
 
52
  window->resizable(*(new Fl_Box(FL_ENGRAVED_FRAME,10,10,300,300,
 
53
"MINIMUM UPDATE TEST\n"
 
54
"\n"
 
55
"The slider on the right purposely\n"
 
56
"draws outside it's boundaries.\n"
 
57
"Moving it should leave old copies\n"
 
58
"of the label.  These copies should\n"
 
59
"*not* be erased by any actions\n"
 
60
"other than hiding and showing\n"
 
61
"of that portion of the window\n"
 
62
"or changing the button that\n"
 
63
"intesects them.")));
 
64
 
 
65
  Fl_Slider *s;
 
66
  s = new Fl_Slider(320,10,20,300,"Too_Big_Label");
 
67
  s->align(0);
 
68
 
 
69
  new Fl_Button(20,270,100,30,"Button");
 
70
  new Fl_Return_Button(200,270,100,30,"Button");
 
71
 
 
72
  window->show(argc, argv);
 
73
  return Fl::run();
 
74
}
 
75
 
 
76
//
 
77
// End of "$Id: minimum.cxx,v 1.4.2.3.2.3 2004/04/11 04:39:01 easysw Exp $".
 
78
//