8186474: WColor class is superseded by the SystemColor and should be removed
authorserb
Tue, 22 Aug 2017 09:41:11 -0700
changeset 47184 749f218556c8
parent 47183 03c1b9f44ba2
child 47185 8d2a9073da00
8186474: WColor class is superseded by the SystemColor and should be removed Reviewed-by: azvegint
jdk/src/java.desktop/windows/classes/sun/awt/windows/WColor.java
jdk/src/java.desktop/windows/classes/sun/awt/windows/WPanelPeer.java
jdk/src/java.desktop/windows/native/libawt/windows/awt_Color.cpp
jdk/src/java.desktop/windows/native/libawt/windows/awt_Color.h
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WColor.java	Fri Aug 18 14:03:06 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sun.awt.windows;
-
-import java.awt.Color;
-
-/*
- * This helper class maps Windows system colors to AWT Color objects.
- */
-final class WColor {
-
-    static final int WINDOW_BKGND = 1;  // COLOR_WINDOW
-    static final int WINDOW_TEXT  = 2;  // COLOR_WINDOWTEXT
-    static final int FRAME        = 3;  // COLOR_WINDOWFRAME
-    static final int SCROLLBAR    = 4;  // COLOR_SCROLLBAR
-    static final int MENU_BKGND   = 5;  // COLOR_MENU
-    static final int MENU_TEXT    = 6;  // COLOR MENUTEXT
-    static final int BUTTON_BKGND = 7;  // COLOR_3DFACE or COLOR_BTNFACE
-    static final int BUTTON_TEXT  = 8;  // COLOR_BTNTEXT
-    static final int HIGHLIGHT    = 9;  // COLOR_HIGHLIGHT
-
-    static native Color getDefaultColor(int index);
-}
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WPanelPeer.java	Fri Aug 18 14:03:06 2017 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WPanelPeer.java	Tue Aug 22 09:41:11 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,10 +22,16 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package sun.awt.windows;
 
-import java.awt.*;
-import java.awt.peer.*;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Graphics;
+import java.awt.Insets;
+import java.awt.SystemColor;
+import java.awt.peer.PanelPeer;
 
 import sun.awt.SunGraphicsCallback;
 
@@ -81,13 +87,13 @@
 
         Color c = ((Component)target).getBackground();
         if (c == null) {
-            c = WColor.getDefaultColor(WColor.WINDOW_BKGND);
+            c = SystemColor.window;
             ((Component)target).setBackground(c);
             setBackground(c);
         }
         c = ((Component)target).getForeground();
         if (c == null) {
-            c = WColor.getDefaultColor(WColor.WINDOW_TEXT);
+            c = SystemColor.windowText;
             ((Component)target).setForeground(c);
             setForeground(c);
         }
--- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Color.cpp	Fri Aug 18 14:03:06 2017 -0700
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Color.cpp	Tue Aug 22 09:41:11 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -57,68 +57,3 @@
 }
 
 } /* extern "C" */
-
-/************************************************************************
- * WColor native methods
- */
-
-extern "C" {
-
-/*
- * Class:     sun_awt_windows_WColor
- * Method:    getDefaultColor
- * Signature: (I)Ljava/awt/Color;
- */
-JNIEXPORT jobject JNICALL
-Java_sun_awt_windows_WColor_getDefaultColor(JNIEnv *env, jclass cls,
-                                            jint index)
-{
-    TRY;
-
-    int iColor = 0;
-    switch(index) {
-
-    case sun_awt_windows_WColor_WINDOW_BKGND:
-        iColor = COLOR_WINDOW;
-        break;
-    case sun_awt_windows_WColor_WINDOW_TEXT:
-        iColor = COLOR_WINDOWTEXT;
-        break;
-    case sun_awt_windows_WColor_FRAME:
-        iColor = COLOR_WINDOWFRAME;
-        break;
-    case sun_awt_windows_WColor_SCROLLBAR:
-        iColor = COLOR_SCROLLBAR;
-        break;
-    case sun_awt_windows_WColor_MENU_BKGND:
-        iColor = COLOR_MENU;
-        break;
-    case sun_awt_windows_WColor_MENU_TEXT:
-        iColor = COLOR_MENUTEXT;
-        break;
-    case sun_awt_windows_WColor_BUTTON_BKGND:
-        iColor = COLOR_BTNFACE;
-        break;
-    case sun_awt_windows_WColor_BUTTON_TEXT:
-        iColor = COLOR_BTNTEXT;
-        break;
-    case sun_awt_windows_WColor_HIGHLIGHT:
-        iColor = COLOR_HIGHLIGHT;
-        break;
-
-    default:
-        return NULL;
-    }
-    DWORD c = ::GetSysColor(iColor);
-
-    jobject wColor = JNU_NewObjectByName(env, "java/awt/Color", "(III)V",
-                                         GetRValue(c), GetGValue(c),
-                                         GetBValue(c));
-
-    DASSERT(!safe_ExceptionOccurred(env));
-    return wColor;
-
-    CATCH_BAD_ALLOC_RET(NULL);
-}
-
-} /* extern "C" */
--- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Color.h	Fri Aug 18 14:03:06 2017 -0700
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Color.h	Tue Aug 22 09:41:11 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,6 @@
 #ifndef AWT_COLOR_H
 #define AWT_COLOR_H
 
-#include "sun_awt_windows_WColor.h"
 #include "stdhdrs.h"
 
 class AwtColor {