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
isDirty, ORIGINAL_THUMBNAIL_SIZE
Modifier | Constructor and Description |
---|---|
|
ImageFilter(int name,
int drawableId) |
protected |
ImageFilter(Parcel in) |
Modifier and Type | Method and Description |
---|---|
DataSourceListAdapter.DataSourceViewHolder<AbstractConfig.BindData> |
createViewHolder(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.
|
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
|
Bitmap |
renderImage(Bitmap bitmap,
boolean previewRendering) |
Bitmap |
renderImage(Bitmap bitmap,
float intensity,
boolean previewRendering)
Apply the renderscript filter with a specific intensity.
|
void |
unloadLut() |
void |
writeToParcel(Parcel dest,
int flags) |
generateBindData, generateBindDataAsync, getName, getThumbnailBitmap, getThumbnailResId, getThumbnailSource, getTitle, getVerticalLayout, isClickable, isDirty, setDirtyFlag
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
generateBindData, generateBindDataAsync, getName, getVerticalLayout, isDirty, setDirtyFlag
@AnyThread public ImageFilter(@StringRes int name, @DrawableRes int drawableId)
protected ImageFilter(Parcel in)
@NonNull public DataSourceListAdapter.DataSourceViewHolder<AbstractConfig.BindData> createViewHolder(@NonNull View view, boolean useVerticalLayout)
DataSourceInterface
createViewHolder
in interface DataSourceInterface<AbstractConfig.BindData>
createViewHolder
in class AbstractConfig
view
- view inflated with #getLayoutpublic int describeContents()
describeContents
in class AbstractConfig
public int getLayout()
DataSourceInterface
getLayout
in interface DataSourceInterface<AbstractConfig.BindData>
@NonNull public 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
public Bitmap renderImage(Bitmap bitmap, boolean previewRendering)
@Nullable public Bitmap renderImage(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(Parcel dest, int flags)
writeToParcel
in class AbstractConfig