Bump version.
[ntk.git] / FL / Fl_Overlay_Window.H
blob268bacd88df7244b8769005603d95a540ef10dfb
1 //
2 // "$Id: Fl_Overlay_Window.H 7903 2010-11-28 21:06:39Z matt $"
3 //
4 // Overlay window header file for the Fast Light Tool Kit (FLTK).
5 //
6 // Copyright 1998-2010 by Bill Spitzak and others.
7 //
8 // This library is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU Library General Public
10 // License as published by the Free Software Foundation; either
11 // version 2 of the License, or (at your option) any later version.
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 // Library General Public License for more details.
18 // You should have received a copy of the GNU Library General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
21 // USA.
23 // Please report all bugs and problems on the following page:
25 //     http://www.fltk.org/str.php
28 /* \file
29    Fl_Overlay_Window class . */
31 #ifndef Fl_Overlay_Window_H
32 #define Fl_Overlay_Window_H
34 #include "Fl_Double_Window.H"
36 /**
37   This window provides double buffering and also the ability to draw the
38   "overlay" which is another picture placed on top of the main image. The
39   overlay is designed to be a rapidly-changing but simple graphic such as
40   a mouse selection box. Fl_Overlay_Window uses the overlay
41   planes provided by your graphics hardware if they are available.
42   <P>If no hardware support is found the overlay is simulated by drawing
43   directly into the on-screen copy of the double-buffered window, and
44   "erased" by copying the backbuffer over it again.  This means the
45   overlay will blink if you change the image in the window.
47 class FL_EXPORT Fl_Overlay_Window : public Fl_Double_Window {
48 protected:
49   virtual void draw_overlay() = 0;
50 public:
51   void flush();
52   virtual ~Fl_Overlay_Window();
53   int can_do_overlay();
54   void redraw_overlay();
55   /**
56     Creates a new Fl_Overlay_Window widget using the given
57     position, size, and label (title) string. If the 
58     positions (x,y) are not given, then the window manager
59     will choose them.
60   */
61   Fl_Overlay_Window(int W, int H, const char *l=0)
62     : Fl_Double_Window(W,H,l) { force_doublebuffering_=1; image(0); }
63    /**
64     See Fl_Overlay_Window::Fl_Overlay_Window(int W, int H, const char *l=0)
65   */
66  Fl_Overlay_Window(int X, int Y, int W, int H, const char *l=0)
67     : Fl_Double_Window(X,Y,W,H,l) { force_doublebuffering_=1; image(0); }
70 #endif
73 // End of "$Id: Fl_Overlay_Window.H 7903 2010-11-28 21:06:39Z matt $".