Add 2D focus positioning, fix rotation tracking, sync preview with effect
2D positioning: - Add positionX parameter to BlurParameters (was only Y before) - Update shader with uPositionX and uPositionY uniforms - Single-finger drag now moves focus center anywhere on screen - Update gradient mask generation for capture Rotation tracking: - Remove dampening from rotation gesture (1:1 tracking) - Rotate gesture now directly tracks finger movement - Preview effect rotates in sync with overlay Overlay and shader sync: - Both now use same positionX, positionY, angle parameters - Preview blur effect matches overlay visualization Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
e3e05af0b8
commit
e53155e8ee
5 changed files with 53 additions and 41 deletions
|
|
@ -204,7 +204,8 @@ class ImageCaptureHandler(
|
|||
val mask = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
|
||||
val pixels = IntArray(width * height)
|
||||
|
||||
val centerY = height * params.position
|
||||
val centerX = width * params.positionX
|
||||
val centerY = height * params.positionY
|
||||
val focusHalfHeight = height * params.size * 0.5f
|
||||
val transitionHeight = focusHalfHeight * 0.5f
|
||||
|
||||
|
|
@ -213,8 +214,8 @@ class ImageCaptureHandler(
|
|||
|
||||
for (y in 0 until height) {
|
||||
for (x in 0 until width) {
|
||||
// Rotate point around center
|
||||
val dx = x - width / 2f
|
||||
// Rotate point around focus center
|
||||
val dx = x - centerX
|
||||
val dy = y - centerY
|
||||
val rotatedY = -dx * sinAngle + dy * cosAngle
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue