From c9ffd19a295293c5318f44dc439b82768cc3e390 Mon Sep 17 00:00:00 2001 From: Ben Lerner Date: Thu, 13 Feb 2025 20:29:36 -0500 Subject: [PATCH] add pinhole support to place-image-align, and change add-line to work from the top-left corner --- src/web/js/trove/make-image.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/web/js/trove/make-image.js b/src/web/js/trove/make-image.js index 5b5b11a8..8aac7b79 100644 --- a/src/web/js/trove/make-image.js +++ b/src/web/js/trove/make-image.js @@ -620,10 +620,12 @@ var placeX = unwrapPlaceX(maybePlaceX); var placeY = unwrapPlaceY(maybePlaceY); var background = unwrapImageOrScene(maybeBackground); - if (placeX == "left" ) { x = x + img.getWidth()/2; } - else if (placeX == "right" ) { x = x - img.getWidth()/2; } - if (placeY == "top" ) { y = y + img.getHeight()/2; } - else if (placeY == "bottom") { y = y - img.getHeight()/2; } + if (placeX == "left" ) { x = x + img.getWidth()/2; } + else if (placeX == "right" ) { x = x - img.getWidth()/2; } + else if (placeX == "pinhole") { x = x + img.getWidth()/2 - img.getPinholeX(); } + if (placeY == "top" ) { y = y + img.getHeight()/2; } + else if (placeY == "bottom" ) { y = y - img.getHeight()/2; } + else if (placeY == "pinhole") { y = y + img.getHeight()/2 - img.getPinholeY(); } if (image.isScene(background)) { return makeImage(background.add(img, x, y)); @@ -737,9 +739,7 @@ var color = unwrapColor(maybeC); var img = unwrapImage(maybeImg); var line = image.makeLineImage(x2 - x1, y2 - y1, color); - var leftmost = Math.min(x1, x2); - var topmost = Math.min(y1, y2); - return makeImage(image.makeOverlayImage(line, "middle", "center", -leftmost, -topmost, img, "middle", "center")); + return makeImage(image.makeOverlayImage(line, "left", "top", 0, 0, img, "left", "top")); }); f("scene-line", function(maybeImg, maybeX1, maybeY1, maybeX2, maybeY2, maybeC) {