Two point thumb control for scale and rotate.

This commit is contained in:
Alan Evans
2021-09-15 16:32:06 -03:00
committed by Alex Hart
parent 1031a4e96c
commit 4569011e0b
10 changed files with 318 additions and 93 deletions

View File

@@ -30,7 +30,6 @@ import org.signal.imageeditor.core.RendererContext;
import org.signal.imageeditor.core.SelectableRenderer;
import org.signal.imageeditor.core.model.EditorElement;
import org.signal.imageeditor.core.model.EditorModel;
import org.signal.imageeditor.core.renderers.SelectedElementGuideRenderer;
import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader;
import org.thoughtcrime.securesms.mms.GlideApp;
import org.thoughtcrime.securesms.mms.GlideRequest;
@@ -66,8 +65,6 @@ public final class UriGlideRenderer implements SelectableRenderer {
private boolean selected;
private final SelectedElementGuideRenderer selectedElementGuideRenderer = new SelectedElementGuideRenderer();
@Nullable private Bitmap bitmap;
@Nullable private Bitmap blurredBitmap;
@Nullable private Paint blurPaint;
@@ -141,10 +138,6 @@ public final class UriGlideRenderer implements SelectableRenderer {
// If failed to load, we draw a black out, in case image was sticker positioned to cover private info.
rendererContext.canvas.drawRect(Bounds.FULL_BOUNDS, paint);
}
if (selected && rendererContext.isEditing()) {
selectedElementGuideRenderer.render(rendererContext);
}
}
private void renderBlurOverlay(RendererContext rendererContext) {
@@ -207,7 +200,7 @@ public final class UriGlideRenderer implements SelectableRenderer {
@Override
public boolean hitTest(float x, float y) {
return pixelAlphaNotZero(x, y);
return selected ? Bounds.contains(x, y) : pixelAlphaNotZero(x, y);
}
private boolean pixelAlphaNotZero(float x, float y) {
@@ -339,4 +332,9 @@ public final class UriGlideRenderer implements SelectableRenderer {
this.selected = selected;
}
}
@Override
public void getSelectionBounds(@NonNull RectF bounds) {
bounds.set(Bounds.FULL_BOUNDS);
}
}