< prev index next >

src/java.desktop/unix/classes/sun/awt/X11/XButtonPeer.java

Print this page


   1 /*
   2  * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 184                   armed = false;
 185                   repaint();
 186               }
 187 
 188               break;
 189 
 190 
 191         }
 192     }
 193 
 194     public Dimension getMinimumSize() {
 195         FontMetrics fm = getFontMetrics(getPeerFont());
 196         if ( label == null ) {
 197             label = "";
 198         }
 199         return new Dimension(fm.stringWidth(label) + 14,
 200                              fm.getHeight() + 8);
 201     }
 202 
 203     /**
 204      * DEPRECATED
 205      */
 206     public Dimension minimumSize() {
 207         return getMinimumSize();
 208     }
 209     /**
 210      * This method is called from Toolkit Thread and so it should not call any
 211      * client code.
 212      */
 213     @Override
 214     void paintPeer(final Graphics g) {
 215         if (!disposed) {
 216             Dimension size = getPeerSize();
 217             g.setColor( getPeerBackground() );   /* erase the existing button remains */
 218             g.fillRect(0,0, size.width , size.height);
 219             paintBorder(g,borderInsets.left,
 220                         borderInsets.top,
 221                         size.width-(borderInsets.left+borderInsets.right),
 222                         size.height-(borderInsets.top+borderInsets.bottom));
 223 
 224             FontMetrics fm = g.getFontMetrics();
 225 
 226             Rectangle textRect,iconRect,viewRect;
 227 
 228             textRect = new Rectangle();
 229             viewRect = new Rectangle();


   1 /*
   2  * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 184                   armed = false;
 185                   repaint();
 186               }
 187 
 188               break;
 189 
 190 
 191         }
 192     }
 193 
 194     public Dimension getMinimumSize() {
 195         FontMetrics fm = getFontMetrics(getPeerFont());
 196         if ( label == null ) {
 197             label = "";
 198         }
 199         return new Dimension(fm.stringWidth(label) + 14,
 200                              fm.getHeight() + 8);
 201     }
 202 
 203     /**






 204      * This method is called from Toolkit Thread and so it should not call any
 205      * client code.
 206      */
 207     @Override
 208     void paintPeer(final Graphics g) {
 209         if (!disposed) {
 210             Dimension size = getPeerSize();
 211             g.setColor( getPeerBackground() );   /* erase the existing button remains */
 212             g.fillRect(0,0, size.width , size.height);
 213             paintBorder(g,borderInsets.left,
 214                         borderInsets.top,
 215                         size.width-(borderInsets.left+borderInsets.right),
 216                         size.height-(borderInsets.top+borderInsets.bottom));
 217 
 218             FontMetrics fm = g.getFontMetrics();
 219 
 220             Rectangle textRect,iconRect,viewRect;
 221 
 222             textRect = new Rectangle();
 223             viewRect = new Rectangle();


< prev index next >