Skip to content

Commit 97d5b86

Browse files
feat: panning works with implicit functions too now
1 parent 0e89f81 commit 97d5b86

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

src/core/Core/Application.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -298,11 +298,11 @@ ExitStatus App::Application::run() {
298298

299299
if (parser.compile(func_str, expression)) {
300300
// grid parameters
301-
const double x_min = -canvas_sz.x / (2 * zoom);
302-
const double x_max = canvas_sz.x / (2 * zoom);
303-
const double y_min = -canvas_sz.y / (2 * zoom);
304-
const double y_max = canvas_sz.y / (2 * zoom);
305-
301+
const double x_min = (-canvas_sz.x * 0.5f - originOffset.x) / zoom;
302+
const double x_max = ( canvas_sz.x * 0.5f - originOffset.x) / zoom;
303+
const double y_min = (-canvas_sz.y * 0.5f + originOffset.y) / zoom;
304+
const double y_max = ( canvas_sz.y * 0.5f + originOffset.y) / zoom;
305+
306306
// adaptive step size with performance limit
307307
const double step = std::max(0.025, 1.5 / zoom);
308308
const ImU32 inequality_color = IM_COL32(100, 150, 255, 180);
@@ -380,10 +380,10 @@ ExitStatus App::Application::run() {
380380

381381
if (compile_ok) {
382382
// grid parameters
383-
const double x_min = -canvas_sz.x / (2 * zoom);
384-
const double x_max = canvas_sz.x / (2 * zoom);
385-
const double y_min = -canvas_sz.y / (2 * zoom);
386-
const double y_max = canvas_sz.y / (2 * zoom);
383+
const double x_min = (-canvas_sz.x * 0.5f - originOffset.x) / zoom;
384+
const double x_max = ( canvas_sz.x * 0.5f - originOffset.x) / zoom;
385+
const double y_min = (-canvas_sz.y * 0.5f + originOffset.y) / zoom;
386+
const double y_max = ( canvas_sz.y * 0.5f + originOffset.y) / zoom;
387387
const double step = std::max(0.008, 1.0 / zoom); //dynamic step based on zoom level
388388

389389
const ImU32 implicit_color = IM_COL32(64, 199, 128, 255);

0 commit comments

Comments
 (0)