Move SSD review viewport state updates to typed Kotlin
ober
1f87d0acccd5fe47d8b8cd5f05a22356595b9584
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -4646,6 +4646,7 @@ reviewViewSetSsdAreaFromSession reviewViewSetSsdAreaFromNullableSession reviewViewShowSession reviewViewClearSessionState reviewViewShowBitmap + reviewViewSetViewportState reviewViewSetViewportOffsets mainActivitySelectGroupId mainActivityClearSession mainActivityShowSession mainActivitySetAppendMode mainActivitySetSsdAreaMode mainActivityClearInteractionModes @@ -4774,6 +4775,15 @@ (extern (reviewViewBitmapSet (view : SsdReviewView) (bitmap : (Nullable Bitmap))) : Unit (kotlin-member-set bitmap)) + (extern (reviewViewScaleSet (view : SsdReviewView) + (scale : Float32)) : Unit + (kotlin-member-set scale)) + (extern (reviewViewOffsetXSet (view : SsdReviewView) + (offset : Float32)) : Unit + (kotlin-member-set offsetX)) + (extern (reviewViewOffsetYSet (view : SsdReviewView) + (offset : Float32)) : Unit + (kotlin-member-set offsetY)) (extern (mainActivityCurrentSessionSet (activity : MainActivity) (session : (Nullable SsdSession))) : Unit @@ -5342,6 +5352,18 @@ (def (reviewViewShowBitmap (view : SsdReviewView) (bitmap : Bitmap)) : Unit (reviewViewBitmapSet view (nullable-some bitmap))) + (def (reviewViewSetViewportState (view : SsdReviewView) + (viewport : ViewportState)) : Unit + (begin + (reviewViewScaleSet view (ViewportState-scale viewport)) + (reviewViewOffsetXSet view (ViewportState-offsetX viewport)) + (reviewViewOffsetYSet view (ViewportState-offsetY viewport)))) + (def (reviewViewSetViewportOffsets (view : SsdReviewView) + (offsetX : Float32) + (offsetY : Float32)) : Unit + (begin + (reviewViewOffsetXSet view offsetX) + (reviewViewOffsetYSet view offsetY))) (def (mainActivitySelectGroupId (activity : MainActivity) (view : SsdReviewView) (id : (Nullable String))) : Unit @@ -8744,9 +8766,9 @@ " }" " private val density = context.resources.displayMetrics.density" " private val selectionOffsetY = 70f * density" - " private var scale = 1f" - " private var offsetX = 0f" - " private var offsetY = 0f" + " internal var scale = 1f" + " internal var offsetX = 0f" + " internal var offsetY = 0f" " private var rotationDegrees = 0" " private var lastX = 0f" " private var lastY = 0f" @@ -8855,9 +8877,7 @@ " val fitViewport = fitImageViewportState(bitmap, width, height, rotationDegrees)" " if (!viewportStatePresent(fitViewport)) return" " val savedViewport = viewportStateOrEmpty(fitViewport)" - " scale = savedViewport.scale" - " offsetX = savedViewport.offsetX" - " offsetY = savedViewport.offsetY" + " reviewViewSetViewportState(this, savedViewport)" " clampOffsets()" " updateMatrix()" " invalidate()" @@ -8876,9 +8896,7 @@ " val restoredViewport = restorableViewportState(bitmap, viewport, rotationDegrees)" " if (!viewportStatePresent(restoredViewport)) return" " val savedViewport = viewportStateOrEmpty(restoredViewport)" - " scale = savedViewport.scale" - " offsetX = savedViewport.offsetX" - " offsetY = savedViewport.offsetY" + " reviewViewSetViewportState(this, savedViewport)" " clampOffsets()" " updateMatrix()" " invalidate()" @@ -9088,8 +9106,7 @@ " val clamped = clampedViewportState(bitmap, width, height, rotationDegrees, scale, offsetX, offsetY)" " if (!viewportStatePresent(clamped)) return" " val viewport = viewportStateOrEmpty(clamped)" - " offsetX = viewport.offsetX" - " offsetY = viewport.offsetY" + " reviewViewSetViewportOffsets(this, viewport.offsetX, viewport.offsetY)" " }" "" " private fun viewToImage(x: Float, y: Float): FloatArray {"