text: /*
   * Copyright (c) 1987, 1988, 1989, 1990, 1991 Stanford University
   * Copyright (c) 1991 Silicon Graphics, Inc.
   *
   * Permission to use, copy, modify, distribute, and sell this software and 
   * its documentation for any purpose is hereby granted without fee, provided
   * that (i) the above copyright notices and this permission notice appear in
   * all copies of the software and related documentation, and (ii) the names of
   * Stanford and Silicon Graphics may not be used in any advertising or
   * publicity relating to the software without the specific, prior written
   * permission of Stanford and Silicon Graphics.
   * 
   * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
   * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
   * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
   *
   * IN NO EVENT SHALL STANFORD OR SILICON GRAPHICS BE LIABLE FOR
   * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
   * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
   * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
   * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
   * OF THIS SOFTWARE.
   */
  
  /*
   * X11-dependent Display representation.
   */
  
  #ifndef iv_xdisplay_h
  #define iv_xdisplay_h
  
  #include <InterViews/display.h>
  #include <OS/enter-scope.h>
  #include <IV-X11/Xlib.h>
  #include <IV-X11/Xutil.h>
  #include <IV-X11/xwindow.h>
  
  #include <InterViews/_enter.h>
  
  class ColorTable;
  class DamageList;
  class GrabList;
  class RGBTable;
  class SelectionList;
  class String;
  class Transformer;
  class Window;
  class WindowTable;
  
  class DisplayRep {
  public:
      XDisplay* display_;
      unsigned int screen_;
      XWindow root_;
      WindowVisualList visuals_;
      WindowVisual* default_visual_;
      Coord width_;
      Coord height_;
      unsigned int pwidth_;
      unsigned int pheight_;
      Style* style_;
  
      GrabList* grabbers_;
      DamageList* damaged_;
      SelectionList* selections_;
      WindowTable* wtable_;
  
      void set_dpi(Coord&);
  
      void needs_repair(Window*);
      void remove(Window*);
  };
  
  #include <InterViews/_leave.h>
  
  #endif
  