< prev index next >

src/java.desktop/windows/native/libawt/windows/awt_Choice.cpp

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2020, 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

@@ -175,12 +175,12 @@
             /* Bug 4255631 Solaris: Size returned by Choice.getSize() does not match
              * actual size
              * Fix: Set the Choice to its actual size in the component.
              */
             ::GetClientRect(c->GetHWnd(), &rc);
-            env->SetIntField(target, AwtComponent::widthID,  (jint) rc.right);
-            env->SetIntField(target, AwtComponent::heightID, (jint) rc.bottom);
+            env->SetIntField(target, AwtComponent::widthID, c->ScaleDownX(rc.right));
+            env->SetIntField(target, AwtComponent::heightID, c->ScaleDownY(rc.bottom));
 
             if (IS_WINXP) {
                 ::SendMessage(c->GetHWnd(), CB_SETMINVISIBLE, (WPARAM) MINIMUM_NUMBER_OF_VISIBLE_ITEMS, 0);
             }
 

@@ -226,27 +226,25 @@
 // gets the total height of the combobox, including drop down
 int AwtChoice::GetTotalHeight()
 {
     int dropHeight = GetDropDownHeight();
     int fieldHeight = GetFieldHeight();
-    int totalHeight;
 
     // border on drop-down portion is always non-3d (so don't use SM_CYEDGE)
-    int borderHeight = ::GetSystemMetrics(SM_CYBORDER);
+    int borderHeight = ScaleDownY(::GetSystemMetrics(SM_CYBORDER));
     // total height = drop down height + field height + top+bottom drop down border lines
-    totalHeight = dropHeight + fieldHeight +borderHeight*2;
-    return totalHeight;
+    return dropHeight + fieldHeight + borderHeight * 2;
 }
 
 // Recalculate and set the drop-down height for the Choice.
 void AwtChoice::ResetDropDownHeight()
 {
     RECT    rcWindow;
 
     ::GetWindowRect(GetHWnd(), &rcWindow);
     // resize the drop down to accommodate added/removed items
-    int     totalHeight = GetTotalHeight();
+    int totalHeight = ScaleUpY(GetTotalHeight());
     ::SetWindowPos(GetHWnd(), NULL,
                     0, 0, rcWindow.right - rcWindow.left, totalHeight,
                     SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOZORDER);
 }
 

@@ -303,15 +301,15 @@
      */
     AwtComponent* awtParent = GetParent();
     BOOL bReshape = true;
     if (awtParent != NULL) {
         ::GetWindowRect(GetHWnd(), &rc);
-        int oldW = rc.right - rc.left;
+        int oldW = ScaleDownX(rc.right - rc.left);
         RECT parentRc;
         ::GetWindowRect(awtParent->GetHWnd(), &parentRc);
-        int oldX = rc.left - parentRc.left;
-        int oldY = rc.top - parentRc.top;
+        int oldX = ScaleDownX(rc.left - parentRc.left);
+        int oldY = ScaleDownY(rc.top - parentRc.top);
         bReshape = (x != oldX || y != oldY || w != oldW);
     }
 
     if (bReshape)
     {
< prev index next >