diff --git a/src/PHPNative/Renderer/src/Widgets/Container.php b/src/PHPNative/Renderer/src/Widgets/Container.php index 76cda1b..ab7f0ff 100644 --- a/src/PHPNative/Renderer/src/Widgets/Container.php +++ b/src/PHPNative/Renderer/src/Widgets/Container.php @@ -80,7 +80,7 @@ class Container $sliderViewport->width = 10; $sliderViewport->x = $viewport->x + $viewport->width - 10; $ohP = ($viewport->height / 100); - $ratio = ($resultViewPort->height / ($viewport->height+$resultViewPort->height)); + $ratio = ($viewport->height/$resultViewPort->height); $sliderViewport->y = $viewport->y + (int)($view->getMoveToY()*$ratio); $sliderViewport->height = (int)($ratio*100 * $ohP); @@ -106,9 +106,11 @@ class Container $view->setMoveToY($view->getMoveEndY() + $thread->getEvent()->y - $view->getMoveStartY()); } - if($view->getMoveToY() + ($sliderViewport->height*$ratio) > ($viewport->height)) { + echo sprintf("COL: %s %d %d %d", $view->getId(), $view->getMoveToY(), $resultViewPort->height, $viewport->height).PHP_EOL; + if($view->getMoveToY() + ($viewport->height) > ($resultViewPort->height)) { + echo sprintf("TOP: %s %d %d %d", $view->getId(), $view->getMoveToY(), $resultViewPort->height, $viewport->height).PHP_EOL; //$view->setMoveToX($view->getMoveEndX() + $thread->getEvent()->x - $view->getMoveStartX()); - $view->setMoveToY($viewport->height - (int)($sliderViewport->height*$ratio) ); + $view->setMoveToY($resultViewPort->height - $viewport->height ); } } if ($thread->getEvent() && $thread->getEvent()->getType() === EventType::MOUSEBUTTON_UP) { diff --git a/src/PHPNative/Renderer/src/Widgets/Container/Column.php b/src/PHPNative/Renderer/src/Widgets/Container/Column.php index a12258d..97b5b30 100644 --- a/src/PHPNative/Renderer/src/Widgets/Container/Column.php +++ b/src/PHPNative/Renderer/src/Widgets/Container/Column.php @@ -60,12 +60,11 @@ class Column $subViewPort->y += $viewportY+($view->getMoveToY()*-1); $subViewPort->height = $viewportHeight; } - echo sprintf("%s %d %d", $subView->getId(), $subViewPort->y, $subViewPort->height).PHP_EOL; $vp = Widget::render($stylesCache, $thread, clone $subViewPort, $subView, $index+1); $viewportY += $vp->height; $viewportHeight -= $vp->height; } - echo sprintf("%s %d", $view->getId(), $viewportY).PHP_EOL; + $viewport->height = $viewportY; return $viewport; }