public abstract class ImageFilter extends AbstractConfig implements ImageFilterInterface
Modifier and Type | Class and Description |
---|---|
static interface |
ImageFilter.FilterConfigIntensity
Implement this interface if a Filter has Intensity Control
|
AbstractConfig.BindData
id, isDirty, ORIGINAL_THUMBNAIL_SIZE
Modifier | Constructor and Description |
---|---|
protected |
ImageFilter(android.os.Parcel in) |
|
ImageFilter(java.lang.String id,
int name,
int drawableId) |
Modifier and Type | Method and Description |
---|---|
DataSourceListAdapter.DataSourceViewHolder<AbstractConfig.BindData> |
createViewHolder(android.view.View view,
boolean useVerticalLayout)
Create a ViewHolder to Display in List
|
int |
describeContents() |
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(GlProgram program,
float intensity) |
void |
preloadLut() |
void |
release()
Release the shader program and texture
|
android.support.v8.renderscript.Allocation |
renderImage(android.support.v8.renderscript.Allocation allocation,
float intensity,
boolean previewMode)
Apply the renderscript filter with a specific intensity.
|
android.graphics.Bitmap |
renderImage(android.graphics.Bitmap bitmap,
boolean previewRendering) |
android.graphics.Bitmap |
renderImage(android.graphics.Bitmap bitmap,
float intensity,
boolean previewRendering)
Apply the renderscript filter with a specific intensity.
|
void |
unloadLut() |
void |
writeToParcel(android.os.Parcel dest,
int flags) |
generateBindData, generateBindDataAsync, getId, getName, getThumbnailBitmap, getThumbnailResId, getThumbnailSource, getTitle, getVerticalLayout, isClickable, isDirty, setDirtyFlag
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
generateBindData, generateBindDataAsync, getId, getName, getVerticalLayout, isDirty, setDirtyFlag
protected ImageFilter(android.os.Parcel in)
@AnyThread public ImageFilter(@Nullable java.lang.String id, @StringRes int name, @DrawableRes int drawableId)
@NonNull public DataSourceListAdapter.DataSourceViewHolder<AbstractConfig.BindData> createViewHolder(@NonNull android.view.View view, boolean useVerticalLayout)
DataSourceInterface
createViewHolder
in interface DataSourceInterface<AbstractConfig.BindData>
createViewHolder
in class AbstractConfig
view
- view inflated with #getLayoutpublic int describeContents()
describeContents
in interface android.os.Parcelable
describeContents
in class AbstractConfig
public int getLayout()
DataSourceInterface
getLayout
in interface DataSourceInterface<AbstractConfig.BindData>
@NonNull public android.graphics.Bitmap getThumbnailBitmap(int maxWidth)
AbstractConfig
getThumbnailBitmap
in class AbstractConfig
maxWidth
- Size the drawable should be limited to.public boolean hasIntensityConfig()
hasIntensityConfig
in interface ImageFilterInterface
public boolean hasStaticThumbnail()
AbstractConfig
hasStaticThumbnail
in class AbstractConfig
AbstractConfig.getThumbnailBitmap()
public boolean isSelectable()
isSelectable
in interface DataSourceInterface<AbstractConfig.BindData>
protected void onDraw(GlProgram program, float intensity)
public void preloadLut()
preloadLut
in interface ImageFilterInterface
public void release()
ImageFilterInterface
release
in interface ImageFilterInterface
@Nullable public android.support.v8.renderscript.Allocation renderImage(android.support.v8.renderscript.Allocation allocation, float intensity, boolean previewMode)
ImageFilterInterface
renderImage
in interface ImageFilterInterface
allocation
- the sourceType image allocation (RGBA_8888).intensity
- the filter intensitypreviewMode
- set true to triggerOperatorsIfNeeded a faster previewpublic android.graphics.Bitmap renderImage(android.graphics.Bitmap bitmap, boolean previewRendering)
@Nullable public android.graphics.Bitmap renderImage(android.graphics.Bitmap bitmap, float intensity, boolean previewRendering)
ImageFilterInterface
renderImage
in interface ImageFilterInterface
bitmap
- the sourceType image.intensity
- the filter intensitypreviewRendering
- set true to triggerOperatorsIfNeeded a faster previewpublic void unloadLut()
unloadLut
in interface ImageFilterInterface
public void writeToParcel(android.os.Parcel dest, int flags)
writeToParcel
in interface android.os.Parcelable
writeToParcel
in class AbstractConfig