public abstract class ImageFilter extends AbstractConfig implements AbstractConfig.ImageFilterInterface
| Modifier and Type | Class and Description |
|---|---|
static interface |
ImageFilter.FilterConfigIntensity
Implement this interface if a Filter has Intensity Control
|
AbstractConfig.AspectConfigInterface, AbstractConfig.BindData, AbstractConfig.ColorConfigInterface, AbstractConfig.ConfigViewHolder, AbstractConfig.FontConfigInterface<T>, AbstractConfig.ImageFilterInterface, AbstractConfig.StickerConfigInterface, AbstractConfig.ToolConfigInterface| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
DEFAULT_ATTRIB_POSITION |
static java.lang.String |
DEFAULT_ATTRIB_TEXTURE_COORDINATE |
static java.lang.String |
DEFAULT_UNIFORM_SAMPLER |
protected static java.lang.String |
DEFAULT_VERTEX_SHADER |
protected static java.lang.String |
TARGET_PLACEHOLDER |
protected static int |
VERTICES_DATA_POS_OFFSET |
protected static int |
VERTICES_DATA_POS_SIZE |
protected static int |
VERTICES_DATA_STRIDE_BYTES |
protected static int |
VERTICES_DATA_UV_OFFSET |
protected static int |
VERTICES_DATA_UV_SIZE |
NO_THUMBNAIL_ID, ORIGINAL_THUMBNAIL_SIZE| Constructor and Description |
|---|
ImageFilter() |
ImageFilter(int name,
int drawableId) |
ImageFilter(int name,
int drawableId,
int vertexShaderSourceResId,
int fragmentShaderSourceResId) |
ImageFilter(int name,
int drawableId,
java.lang.String vertexShaderSource,
java.lang.String fragmentShaderSource) |
| Modifier and Type | Method and Description |
|---|---|
protected static java.lang.String |
createTargetShader(java.lang.String shader,
int texTarget) |
void |
draw(Texture texture,
float[] mvpMatrix,
float[] stMatrix,
float aspectRatio)
Draw texture in OpenGl Context
|
protected int |
getHandle(java.lang.String name) |
int |
getLayout()
Get the layout res id of the list item view.
|
android.graphics.Bitmap |
getThumbnailBitmap(int maxWidth)
Return the Thumbnail, do not call in Main Thread and use #getThumbnailResId() if #hasStaticThumbnail
|
boolean |
hasIntensityConfig()
Check if the Filter has Intensity Control
|
boolean |
hasStaticThumbnail()
Check if it has a static thumbnail drawable.
|
boolean |
isSelectable() |
protected void |
onDraw() |
void |
release()
Release the shader program and texture
|
protected void |
releaseProgram() |
android.graphics.Bitmap |
renderImage(android.graphics.Bitmap bitmap)
Apply the renderscript filter without intensity changes.
|
android.graphics.Bitmap |
renderImage(android.graphics.Bitmap bitmap,
float intensity)
Apply the renderscript filter with a specific intensity.
|
protected void |
setup(int textureTarget) |
protected void |
useProgram() |
createViewHolder, generateBindData, generateBindDataAsync, getName, getThumbnailBitmap, getThumbnailResId, getTitle, getVerticalLayout, isClickableclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateViewHolder, generateBindData, generateBindDataAsync, getName, getVerticalLayoutpublic static final java.lang.String DEFAULT_ATTRIB_POSITION
public static final java.lang.String DEFAULT_ATTRIB_TEXTURE_COORDINATE
public static final java.lang.String DEFAULT_UNIFORM_SAMPLER
protected static final java.lang.String DEFAULT_VERTEX_SHADER
protected static final java.lang.String TARGET_PLACEHOLDER
protected static final int VERTICES_DATA_POS_SIZE
protected static final int VERTICES_DATA_UV_SIZE
protected static final int VERTICES_DATA_STRIDE_BYTES
protected static final int VERTICES_DATA_POS_OFFSET
protected static final int VERTICES_DATA_UV_OFFSET
public ImageFilter()
public ImageFilter(int name,
int drawableId)
public ImageFilter(int name,
int drawableId,
int vertexShaderSourceResId,
int fragmentShaderSourceResId)
public ImageFilter(int name,
int drawableId,
java.lang.String vertexShaderSource,
java.lang.String fragmentShaderSource)
public android.graphics.Bitmap renderImage(android.graphics.Bitmap bitmap)
AbstractConfig.ImageFilterInterfacerenderImage in interface AbstractConfig.ImageFilterInterfacebitmap - the source image.public boolean isSelectable()
isSelectable in interface DataSourceInterface<AbstractConfig.BindData>protected static java.lang.String createTargetShader(java.lang.String shader,
int texTarget)
protected void setup(int textureTarget)
protected void releaseProgram()
public void release()
release in interface AbstractConfig.ImageFilterInterfacepublic void draw(Texture texture, float[] mvpMatrix, float[] stMatrix, float aspectRatio)
AbstractConfig.ImageFilterInterfacedraw in interface AbstractConfig.ImageFilterInterfacetexture - the camera preview texturemvpMatrix - the camera source matrixstMatrix - the stage destination matrixaspectRatio - the camera image aspectpublic boolean hasIntensityConfig()
hasIntensityConfig in interface AbstractConfig.ImageFilterInterfacepublic android.graphics.Bitmap renderImage(android.graphics.Bitmap bitmap,
float intensity)
AbstractConfig.ImageFilterInterfacerenderImage in interface AbstractConfig.ImageFilterInterfacebitmap - the source image.intensity - the filter intensityprotected void onDraw()
protected final void useProgram()
protected final int getHandle(java.lang.String name)
public int getLayout()
DataSourceInterfacegetLayout in interface DataSourceInterface<AbstractConfig.BindData>public boolean hasStaticThumbnail()
AbstractConfighasStaticThumbnail in class AbstractConfigAbstractConfig.getThumbnailBitmap()public android.graphics.Bitmap getThumbnailBitmap(int maxWidth)
AbstractConfiggetThumbnailBitmap in class AbstractConfigmaxWidth - Size the drawable should be limited to.