forked from Mirrors/openclonk
Fix scroll bars in zoomed editor viewports on Windows.
parent
8df39d06e4
commit
f50e2e9e3a
|
@ -90,16 +90,16 @@ bool C4Viewport::ScrollBarsByViewPosition()
|
|||
// Vertical
|
||||
scroll.fMask=SIF_ALL;
|
||||
scroll.nMin=0;
|
||||
scroll.nMax=GBackHgt;
|
||||
scroll.nMax = GBackHgt * Zoom;
|
||||
scroll.nPage=ViewHgt;
|
||||
scroll.nPos=int(ViewY);
|
||||
scroll.nPos=int(ViewY * Zoom);
|
||||
SetScrollInfo(pWindow->hWindow,SB_VERT,&scroll,true);
|
||||
// Horizontal
|
||||
scroll.fMask=SIF_ALL;
|
||||
scroll.nMin=0;
|
||||
scroll.nMax=GBackWdt;
|
||||
scroll.nMax=GBackWdt * Zoom;
|
||||
scroll.nPage=ViewWdt;
|
||||
scroll.nPos=int(ViewX);
|
||||
scroll.nPos = int(ViewX * Zoom);
|
||||
SetScrollInfo(pWindow->hWindow,SB_HORZ,&scroll,true);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -317,7 +317,7 @@ LRESULT APIENTRY ViewportWinProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa
|
|||
case WM_HSCROLL:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case SB_THUMBTRACK: case SB_THUMBPOSITION: cvp->ViewX=HIWORD(wParam); break;
|
||||
case SB_THUMBTRACK: case SB_THUMBPOSITION: cvp->ViewX=float(HIWORD(wParam))/cvp->Zoom; break;
|
||||
case SB_LINELEFT: cvp->ViewX-=ViewportScrollSpeed; break;
|
||||
case SB_LINERIGHT: cvp->ViewX+=ViewportScrollSpeed; break;
|
||||
case SB_PAGELEFT: cvp->ViewX-=cvp->ViewWdt; break;
|
||||
|
@ -330,7 +330,7 @@ LRESULT APIENTRY ViewportWinProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa
|
|||
case WM_VSCROLL:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case SB_THUMBTRACK: case SB_THUMBPOSITION: cvp->ViewY=HIWORD(wParam); break;
|
||||
case SB_THUMBTRACK: case SB_THUMBPOSITION: cvp->ViewY = float(HIWORD(wParam))/cvp->Zoom; break;
|
||||
case SB_LINEUP: cvp->ViewY-=ViewportScrollSpeed; break;
|
||||
case SB_LINEDOWN: cvp->ViewY+=ViewportScrollSpeed; break;
|
||||
case SB_PAGEUP: cvp->ViewY-=cvp->ViewWdt; break;
|
||||
|
|
Loading…
Reference in New Issue