Changeset 313


Ignore:
Timestamp:
Apr 14, 2006, 1:12:56 AM (19 years ago)
Author:
pr
Message:

Fix split window cosmetics. Bug 228

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/branch-1-0/src/helpers/cctl_splitwin.c

    r229 r313  
    1515
    1616/*
    17  *      Copyright (C) 1997-2000 Ulrich M”ller.
     17 *      Copyright (C) 1997-2006 Ulrich M”ller.
    1818 *      This file is part of the "XWorkplace helpers" source package.
    1919 *      This is free software; you can redistribute it and/or modify
     
    274274 *
    275275 *@@added V0.9.1 (2000-02-05) [umoeller]
     276 *@@changed XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
    276277 */
    277278
     
    359360                WinQueryWindowRect(pData->sbcd.hwndParentAndOwner,
    360361                                   &rclClient);
    361                 pData->sbcd.lPos = ulNewYPos
    362                                    * 100 / (rclClient.yTop - rclClient.yBottom);
     362                // XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
     363                pData->sbcd.lPos = (ulNewYPos * 200 + (rclClient.yTop - rclClient.yBottom))
     364                                   / ((rclClient.yTop - rclClient.yBottom) * 2);
    363365            }
    364366            else
     
    393395                WinQueryWindowRect(pData->sbcd.hwndParentAndOwner,
    394396                                   &rclClient);
    395                 pData->sbcd.lPos = ulNewXPos
    396                                    * 100 / (rclClient.xRight - rclClient.xLeft);
     397                // XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
     398                pData->sbcd.lPos = (ulNewXPos * 200 + (rclClient.xRight - rclClient.xLeft))
     399                                   / ((rclClient.xRight - rclClient.xLeft) * 2);
    397400            }
    398401            else
     
    824827 *@@added V0.9.0 [umoeller]
    825828 *@@changed V1.0.0 (2002-08-24) [umoeller]: added support for SBCF_3DEXPLORERSTYLE
     829 *@@changed XWP V1.0.5 (2006-04-13) [pr]: Fix rounding errors and repaint problems @@fixes 228
    826830 */
    827831
     
    861865            if (psbcd->ulCreateFlags & SBCF_PERCENTAGE)
    862866                // take height of client and apply percentage
    863                 rclBar.yBottom = (rclSplit.yTop - rclSplit.yBottom)
    864                                 * psbcd->lPos
     867                // XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
     868                rclBar.yBottom = ((rclSplit.yTop - rclSplit.yBottom)
     869                                * psbcd->lPos + 50)
    865870                                / 100;
    866871            else
     
    885890            if (psbcd->ulCreateFlags & SBCF_PERCENTAGE)
    886891                // take width of client and apply percentage
    887                 rclBar.xLeft = (rclSplit.xRight - rclSplit.xLeft)
    888                                 * psbcd->lPos
     892                // XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
     893                rclBar.xLeft = ((rclSplit.xRight - rclSplit.xLeft)
     894                                * psbcd->lPos + 50)
    889895                                / 100;
    890896            else
     
    985991                          NULL,         // all
    986992                          FALSE);       // don't repaint children
     993        // XWP V1.0.5 (2006-04-13) [pr]: repaint right/bottom frame @@fixes 228
     994        WinInvalidateRect(psbd->hwndLinked2,
     995                          NULL,
     996                          TRUE);
    987997    }
    988998
  • trunk/src/helpers/cctl_splitwin.c

    r229 r313  
    1515
    1616/*
    17  *      Copyright (C) 1997-2000 Ulrich M”ller.
     17 *      Copyright (C) 1997-2006 Ulrich M”ller.
    1818 *      This file is part of the "XWorkplace helpers" source package.
    1919 *      This is free software; you can redistribute it and/or modify
     
    274274 *
    275275 *@@added V0.9.1 (2000-02-05) [umoeller]
     276 *@@changed XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
    276277 */
    277278
     
    359360                WinQueryWindowRect(pData->sbcd.hwndParentAndOwner,
    360361                                   &rclClient);
    361                 pData->sbcd.lPos = ulNewYPos
    362                                    * 100 / (rclClient.yTop - rclClient.yBottom);
     362                // XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
     363                pData->sbcd.lPos = (ulNewYPos * 200 + (rclClient.yTop - rclClient.yBottom))
     364                                   / ((rclClient.yTop - rclClient.yBottom) * 2);
    363365            }
    364366            else
     
    393395                WinQueryWindowRect(pData->sbcd.hwndParentAndOwner,
    394396                                   &rclClient);
    395                 pData->sbcd.lPos = ulNewXPos
    396                                    * 100 / (rclClient.xRight - rclClient.xLeft);
     397                // XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
     398                pData->sbcd.lPos = (ulNewXPos * 200 + (rclClient.xRight - rclClient.xLeft))
     399                                   / ((rclClient.xRight - rclClient.xLeft) * 2);
    397400            }
    398401            else
     
    824827 *@@added V0.9.0 [umoeller]
    825828 *@@changed V1.0.0 (2002-08-24) [umoeller]: added support for SBCF_3DEXPLORERSTYLE
     829 *@@changed XWP V1.0.5 (2006-04-13) [pr]: Fix rounding errors and repaint problems @@fixes 228
    826830 */
    827831
     
    861865            if (psbcd->ulCreateFlags & SBCF_PERCENTAGE)
    862866                // take height of client and apply percentage
    863                 rclBar.yBottom = (rclSplit.yTop - rclSplit.yBottom)
    864                                 * psbcd->lPos
     867                // XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
     868                rclBar.yBottom = ((rclSplit.yTop - rclSplit.yBottom)
     869                                * psbcd->lPos + 50)
    865870                                / 100;
    866871            else
     
    885890            if (psbcd->ulCreateFlags & SBCF_PERCENTAGE)
    886891                // take width of client and apply percentage
    887                 rclBar.xLeft = (rclSplit.xRight - rclSplit.xLeft)
    888                                 * psbcd->lPos
     892                // XWP V1.0.5 (2006-04-13) [pr]: Fix horrid rounding errors
     893                rclBar.xLeft = ((rclSplit.xRight - rclSplit.xLeft)
     894                                * psbcd->lPos + 50)
    889895                                / 100;
    890896            else
     
    985991                          NULL,         // all
    986992                          FALSE);       // don't repaint children
     993        // XWP V1.0.5 (2006-04-13) [pr]: repaint right/bottom frame @@fixes 228
     994        WinInvalidateRect(psbd->hwndLinked2,
     995                          NULL,
     996                          TRUE);
    987997    }
    988998
Note: See TracChangeset for help on using the changeset viewer.