1ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunkpackage com.android.gallery3d.filtershow.filters; 2ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk 3ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunkimport android.graphics.Bitmap; 4ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk 5ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunkimport com.android.gallery3d.R; 64b1e6fbdf437b7a25fb3eb18a2ed43c9ab4eccc8John Hofordimport com.android.gallery3d.filtershow.editors.ImageOnlyEditor; 7ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk 8ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunkpublic class ImageFilterNegative extends ImageFilter { 9afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford private static final String SERIALIZATION_NAME = "NEGATIVE"; 10ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk public ImageFilterNegative() { 11ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk mName = "Negative"; 12ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk } 13ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk 1471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public FilterRepresentation getDefaultRepresentation() { 1571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard FilterRepresentation representation = new FilterDirectRepresentation("Negative"); 16afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford representation.setSerializationName(SERIALIZATION_NAME); 1771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard representation.setFilterClass(ImageFilterNegative.class); 186900cad45d240c9a54b92991538b6a33652e766cnicolasroard representation.setTextId(R.string.negative); 196900cad45d240c9a54b92991538b6a33652e766cnicolasroard representation.setShowParameterValue(false); 204b1e6fbdf437b7a25fb3eb18a2ed43c9ab4eccc8John Hoford representation.setEditorId(ImageOnlyEditor.ID); 21e5498da0262fc836738aad63ea30286d8afa643cnicolasroard representation.setSupportsPartialRendering(true); 22edf4b095a1d904df6c02d49e3ec575c5c3c9c749nicolasroard representation.setIsBooleanFilter(true); 2371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return representation; 2471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 2571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 26ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk native protected void nativeApplyFilter(Bitmap bitmap, int w, int h); 27ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk 28ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk @Override 294e6c07b71b269ee3fe7f6fa455bc540238df9dedJohn Hoford public void useRepresentation(FilterRepresentation representation) { 304e6c07b71b269ee3fe7f6fa455bc540238df9dedJohn Hoford 314e6c07b71b269ee3fe7f6fa455bc540238df9dedJohn Hoford } 324e6c07b71b269ee3fe7f6fa455bc540238df9dedJohn Hoford 334e6c07b71b269ee3fe7f6fa455bc540238df9dedJohn Hoford @Override 3499baf61387ab1ef15bb9db5fa3b2b55591e87059John Hoford public Bitmap apply(Bitmap bitmap, float scaleFactor, int quality) { 35ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk int w = bitmap.getWidth(); 36ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk int h = bitmap.getHeight(); 37ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk nativeApplyFilter(bitmap, w, h); 38ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk return bitmap; 39ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk } 40ce178c1fa02362636e4992834592d6e019e4ee80Ruben Brunk} 41