public class StickerLayer extends CanvasLayer implements ProcessableLayerI, EventListenerInterface<StickerLayerSettings.Event>
callback, stage, transformation
isAttached, showState, uiDensity, willDrawUi
Constructor and Description |
---|
StickerLayer(Context context,
StickerLayerSettings settings) |
Modifier and Type | Method and Description |
---|---|
protected void |
clearEmptyRegion(Canvas canvas) |
boolean |
doRespondOnClick(TransformedMotionEvent event) |
void |
drawStickerSlice(Canvas canvas,
RectF region,
RectF fullRange) |
protected static Picture |
drawTextToPicture(TextStickerConfig config) |
int[] |
getRealStickerSize() |
Rect |
getResultRect(Rect fullImageRegion,
float subSample) |
MultiRect |
getStickerDestinationRect(Rect contextRect) |
Matrix |
getStickerMatrix() |
Transformation |
getStickerMatrix(Rect contextRect) |
RectEdge |
getTouchedEdge(float[] pos) |
boolean |
isEnabled() |
protected boolean |
isInBitmap(TransformedMotionEvent event) |
protected void |
loadBitmapCache() |
protected void |
loadBitmapCache(long pixelSize) |
boolean |
needFullImageRegion() |
protected void |
onAttachedToUI(StateHandler stateHandler) |
protected void |
onDetachedFromUI(StateHandler stateHandler) |
void |
onDrawLayer(Canvas canvas) |
void |
onDrawUI(Canvas canvas) |
void |
onMotionEvent(TransformedMotionEvent event) |
void |
onStateChangeEvent(StickerLayerSettings.Event event) |
protected void |
refresh() |
void |
render() |
void |
renderResultSlice(Canvas canvas,
Rect fullImageRegion,
Rect destRegion,
Transformation transformation) |
protected void |
setImageDimensions() |
void |
setImageRect(Rect rect) |
protected void |
setStickerPictureCache(Bitmap picture) |
protected boolean |
stickerImageReady() |
generateOperator, getLimitedRenderRegion, getView, invalidate, onDraw, onOperatorResult, onSizeChanged, onTouchEvent, postInvalidate, releaseOperatorDirtyFlag, setLayerContainerCallback, setLayerPaint, setTransformation, setWillClearEmptyRegion
getStateHandler, onAttachedToWindow, onDetachedFromWindow, postInvalidateUi, setWillDrawUi
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
generateOperator, getView, onOperatorResult, releaseOperatorDirtyFlag, setLayerContainerCallback, setTransformation
public StickerLayer(Context context, StickerLayerSettings settings)
@MainThread protected void clearEmptyRegion(Canvas canvas)
clearEmptyRegion
in class CanvasLayer
public boolean doRespondOnClick(@NonNull TransformedMotionEvent event)
doRespondOnClick
in interface LayerI
doRespondOnClick
in class CanvasLayer
@WorkerThread public void drawStickerSlice(Canvas canvas, RectF region, RectF fullRange)
@NonNull protected static Picture drawTextToPicture(@NonNull TextStickerConfig config)
@WorkerThread public int[] getRealStickerSize()
public Rect getResultRect(Rect fullImageRegion, float subSample)
getResultRect
in interface ProcessableLayerI
@NonNull @AnyThread public MultiRect getStickerDestinationRect(Rect contextRect)
@NonNull public Matrix getStickerMatrix()
@NonNull @AnyThread public Transformation getStickerMatrix(Rect contextRect)
@MainThread public RectEdge getTouchedEdge(float[] pos)
public boolean isEnabled()
protected boolean isInBitmap(@NonNull TransformedMotionEvent event)
@AnyThread protected void loadBitmapCache()
@AnyThread protected void loadBitmapCache(long pixelSize)
public boolean needFullImageRegion()
needFullImageRegion
in interface ProcessableLayerI
protected void onAttachedToUI(StateHandler stateHandler)
onAttachedToUI
in class ImgLyUIView
protected void onDetachedFromUI(StateHandler stateHandler)
onDetachedFromUI
in class ImgLyUIView
public void onDrawLayer(Canvas canvas)
onDrawLayer
in class CanvasLayer
public void onDrawUI(Canvas canvas)
onDrawUI
in interface UIOverlayDrawer
onDrawUI
in class ImgLyUIView
@MainThread public void onMotionEvent(@NonNull TransformedMotionEvent event)
onMotionEvent
in interface LayerI
onMotionEvent
in class CanvasLayer
public void onStateChangeEvent(StickerLayerSettings.Event event)
onStateChangeEvent
in interface EventListenerInterface<StickerLayerSettings.Event>
protected void refresh()
public void render()
render
in class CanvasLayer
@WorkerThread public void renderResultSlice(Canvas canvas, Rect fullImageRegion, Rect destRegion, Transformation transformation)
renderResultSlice
in interface ProcessableLayerI
protected void setImageDimensions()
public void setImageRect(@NonNull Rect rect)
setImageRect
in interface LayerI
protected void setStickerPictureCache(@Nullable Bitmap picture)
protected boolean stickerImageReady()