summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/filters/ImageFilterKMeans.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterKMeans.java')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterKMeans.java95
1 files changed, 0 insertions, 95 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterKMeans.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterKMeans.java
deleted file mode 100644
index 77cdf47b3..000000000
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterKMeans.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.gallery3d.filtershow.filters;
-
-import android.graphics.Bitmap;
-import android.text.format.Time;
-
-import com.android.gallery3d.R;
-
-public class ImageFilterKMeans extends SimpleImageFilter {
- private static final String SERIALIZATION_NAME = "KMEANS";
- private int mSeed = 0;
-
- public ImageFilterKMeans() {
- mName = "KMeans";
-
- // set random seed for session
- Time t = new Time();
- t.setToNow();
- mSeed = (int) t.toMillis(false);
- }
-
- public FilterRepresentation getDefaultRepresentation() {
- FilterBasicRepresentation representation = (FilterBasicRepresentation) super.getDefaultRepresentation();
- representation.setName("KMeans");
- representation.setSerializationName(SERIALIZATION_NAME);
- representation.setFilterClass(ImageFilterKMeans.class);
- representation.setMaximum(20);
- representation.setMinimum(2);
- representation.setValue(4);
- representation.setDefaultValue(4);
- representation.setPreviewValue(4);
- representation.setTextId(R.string.kmeans);
- representation.setSupportsPartialRendering(true);
- return representation;
- }
-
- native protected void nativeApplyFilter(Bitmap bitmap, int width, int height,
- Bitmap large_ds_bm, int lwidth, int lheight, Bitmap small_ds_bm,
- int swidth, int sheight, int p, int seed);
-
- @Override
- public Bitmap apply(Bitmap bitmap, float scaleFactor, int quality) {
- if (getParameters() == null) {
- return bitmap;
- }
- int w = bitmap.getWidth();
- int h = bitmap.getHeight();
-
- Bitmap large_bm_ds = bitmap;
- Bitmap small_bm_ds = bitmap;
-
- // find width/height for larger downsampled bitmap
- int lw = w;
- int lh = h;
- while (lw > 256 && lh > 256) {
- lw /= 2;
- lh /= 2;
- }
- if (lw != w) {
- large_bm_ds = Bitmap.createScaledBitmap(bitmap, lw, lh, true);
- }
-
- // find width/height for smaller downsampled bitmap
- int sw = lw;
- int sh = lh;
- while (sw > 64 && sh > 64) {
- sw /= 2;
- sh /= 2;
- }
- if (sw != lw) {
- small_bm_ds = Bitmap.createScaledBitmap(large_bm_ds, sw, sh, true);
- }
-
- if (getParameters() != null) {
- int p = Math.max(getParameters().getValue(), getParameters().getMinimum()) % (getParameters().getMaximum() + 1);
- nativeApplyFilter(bitmap, w, h, large_bm_ds, lw, lh, small_bm_ds, sw, sh, p, mSeed);
- }
- return bitmap;
- }
-}