Source for gnu.gcj.xlib.WMSizeHints

   1: /* Copyright (C) 2000  Free Software Foundation
   2: 
   3:    This file is part of libgcj.
   4: 
   5: This software is copyrighted work licensed under the terms of the
   6: Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
   7: details.  */
   8: 
   9: package gnu.gcj.xlib;
  10: 
  11: import gnu.gcj.RawData;
  12: 
  13: /** 
  14:  * Size hints for an X11 window in its normal state. This class wraps
  15:  * the Xlib XSizeHints stucture.
  16:  *
  17:  * @author Rolf W. Rasmussen <rolfwr@ii.uib.no>
  18:  */
  19: public class WMSizeHints implements Cloneable
  20: {
  21:   public WMSizeHints()
  22:   {
  23:     init(null);
  24:   }
  25: 
  26:   private native void init(WMSizeHints copyFrom);
  27:   protected native void finalize();
  28: 
  29:   public Object clone() {
  30:     try
  31:       {
  32:     WMSizeHints hints = (WMSizeHints) super.clone();
  33:     // In case of an exception before the stucture is copied.
  34:     hints.structure = null;
  35:     
  36:     hints.init(this);
  37:     return hints;
  38:       }
  39:     catch (CloneNotSupportedException ex)
  40:       {
  41:     // This should never happen.
  42:     throw new InternalError ();
  43:       }
  44:   }
  45: 
  46:   public native void applyNormalHints(Window window);
  47: 
  48:   public native void setMinSize(int width, int height);
  49:   public native void setMaxSize(int width, int height);
  50:   
  51:   RawData structure;
  52: }