summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow')
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java17
-rw-r--r--src/com/android/gallery3d/filtershow/PanelController.java51
-rw-r--r--src/com/android/gallery3d/filtershow/cache/ImageLoader.java6
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java1
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterVignette.java1
-rw-r--r--src/com/android/gallery3d/filtershow/presets/ImagePreset.java22
6 files changed, 68 insertions, 30 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index 7ad1b80b9..d544e53d3 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -11,11 +11,14 @@ import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
+import android.graphics.Point;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
+import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
+import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
@@ -240,12 +243,22 @@ public class FilterShowActivity extends Activity implements OnItemClickListener,
String data = intent.getDataString();
if (data != null) {
Uri uri = Uri.parse(data);
- mImageLoader.loadBitmap(uri);
+ mImageLoader.loadBitmap(uri,getScreenImageSize());
} else {
pickImage();
}
}
+ private int getScreenImageSize(){
+ DisplayMetrics metrics = new DisplayMetrics();
+ Display display = getWindowManager().getDefaultDisplay();
+ Point size = new Point();
+ display.getSize(size);
+ display.getMetrics(metrics);
+ int msize = Math.min(size.x, size.y);
+ return (133*msize)/metrics.densityDpi;
+ }
+
private void showSavingProgress() {
ProgressDialog progress;
if (mSavingProgressDialog != null) {
@@ -689,7 +702,7 @@ public class FilterShowActivity extends Activity implements OnItemClickListener,
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Uri selectedImageUri = data.getData();
- mImageLoader.loadBitmap(selectedImageUri);
+ mImageLoader.loadBitmap(selectedImageUri,getScreenImageSize());
}
}
}
diff --git a/src/com/android/gallery3d/filtershow/PanelController.java b/src/com/android/gallery3d/filtershow/PanelController.java
index d9205bf75..723f1ba45 100644
--- a/src/com/android/gallery3d/filtershow/PanelController.java
+++ b/src/com/android/gallery3d/filtershow/PanelController.java
@@ -142,10 +142,10 @@ public class PanelController implements OnClickListener {
public void updateText() {
String apply = mContext.getString(R.string.apply_effect);
if (mShowParameterValue) {
- mTextView.setText(Html.fromHtml(apply + ": <small>" + mEffectName + " "
- + mParameterValue + "</small>"));
+ mTextView.setText(Html.fromHtml(apply + ": " + mEffectName + " "
+ + mParameterValue));
} else {
- mTextView.setText(Html.fromHtml(apply + ": <small>" + mEffectName + "</small>"));
+ mTextView.setText(Html.fromHtml(apply + ": " + mEffectName));
}
}
@@ -386,35 +386,41 @@ public class PanelController implements OnClickListener {
switch (view.getId()) {
case R.id.straightenButton: {
mCurrentImage = showImageView(R.id.imageStraighten);
- mUtilityPanel.setEffectName("Straighten");
+ String ename = mCurrentImage.getContext().getString(R.string.straighten);
+ mUtilityPanel.setEffectName(ename);
break;
}
case R.id.cropButton: {
mCurrentImage = showImageView(R.id.imageCrop);
- mUtilityPanel.setEffectName("Crop");
+ String ename = mCurrentImage.getContext().getString(R.string.crop);
+ mUtilityPanel.setEffectName(ename);
mUtilityPanel.showParameter(false);
break;
}
case R.id.rotateButton: {
mCurrentImage = showImageView(R.id.imageRotate);
- mUtilityPanel.setEffectName("Rotate");
+ String ename = mCurrentImage.getContext().getString(R.string.rotate);
+ mUtilityPanel.setEffectName(ename);
break;
}
case R.id.flipButton: {
mCurrentImage = showImageView(R.id.imageFlip);
- mUtilityPanel.setEffectName("Flip");
+ String ename = mCurrentImage.getContext().getString(R.string.flip);
+ mUtilityPanel.setEffectName(ename);
mUtilityPanel.showParameter(false);
break;
}
case R.id.vignetteButton: {
mCurrentImage = showImageView(R.id.imageShow).setShowControls(true);
- mUtilityPanel.setEffectName("Vignette");
+ String ename = mCurrentImage.getContext().getString(R.string.vignette);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("Vignette");
break;
}
case R.id.curvesButtonRGB: {
ImageCurves curves = (ImageCurves) showImageView(R.id.imageCurves);
- mUtilityPanel.setEffectName("Curves");
+ String ename = mCurrentImage.getContext().getString(R.string.curvesRGB);
+ mUtilityPanel.setEffectName(ename);
curves.setUseRed(true);
curves.setUseGreen(true);
curves.setUseBlue(true);
@@ -424,55 +430,64 @@ public class PanelController implements OnClickListener {
}
case R.id.sharpenButton: {
mCurrentImage = showImageView(R.id.imageZoom).setShowControls(true);
- mUtilityPanel.setEffectName("Sharpen");
+ String ename = mCurrentImage.getContext().getString(R.string.sharpen);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("Sharpen");
break;
}
case R.id.contrastButton: {
mCurrentImage = showImageView(R.id.imageShow).setShowControls(true);
- mUtilityPanel.setEffectName("Contrast");
+ String ename = mCurrentImage.getContext().getString(R.string.contrast);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("Contrast");
break;
}
case R.id.saturationButton: {
mCurrentImage = showImageView(R.id.imageShow).setShowControls(true);
- mUtilityPanel.setEffectName("Saturated");
+ String ename = mCurrentImage.getContext().getString(R.string.saturation);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("Saturated");
break;
}
case R.id.wbalanceButton: {
mCurrentImage = showImageView(R.id.imageShow).setShowControls(false);
- mUtilityPanel.setEffectName("White Balance");
+ String ename = mCurrentImage.getContext().getString(R.string.wbalance);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("WBalance");
break;
}
case R.id.hueButton: {
mCurrentImage = showImageView(R.id.imageShow).setShowControls(true);
- mUtilityPanel.setEffectName("Hue");
+ String ename = mCurrentImage.getContext().getString(R.string.hue);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("Hue");
break;
}
case R.id.exposureButton: {
mCurrentImage = showImageView(R.id.imageShow).setShowControls(true);
- mUtilityPanel.setEffectName("Exposure");
+ String ename = mCurrentImage.getContext().getString(R.string.exposure);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("Exposure");
break;
}
case R.id.vibranceButton: {
mCurrentImage = showImageView(R.id.imageShow).setShowControls(true);
- mUtilityPanel.setEffectName("Vibrance");
+ String ename = mCurrentImage.getContext().getString(R.string.vibrance);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("Vibrance");
break;
}
case R.id.shadowRecoveryButton: {
mCurrentImage = showImageView(R.id.imageShow).setShowControls(true);
- mUtilityPanel.setEffectName("Shadows");
+ String ename = mCurrentImage.getContext().getString(R.string.shadow_recovery);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("Shadows");
break;
}
case R.id.redEyeButton: {
mCurrentImage = showImageView(R.id.imageShow).setShowControls(true);
- mUtilityPanel.setEffectName("Redeye");
+ String ename = mCurrentImage.getContext().getString(R.string.redeye);
+ mUtilityPanel.setEffectName(ename);
ensureFilter("Redeye");
break;
}
diff --git a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
index 54d71ad77..e00a1b77d 100644
--- a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
+++ b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
@@ -61,11 +61,12 @@ public class ImageLoader {
mHiresCache = new DelayedPresetCache(this, 2);
}
- public void loadBitmap(Uri uri) {
+ public void loadBitmap(Uri uri,int size) {
mUri = uri;
mOrientation = getOrientation(uri);
+
mOriginalBitmapSmall = loadScaledBitmap(uri, 160);
- mOriginalBitmapLarge = loadScaledBitmap(uri, 320);
+ mOriginalBitmapLarge = loadScaledBitmap(uri, size);
updateBitmaps();
}
@@ -179,6 +180,7 @@ public class ImageLoader {
// decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = scale;
+
closeStream(is);
is = mContext.getContentResolver().openInputStream(uri);
return BitmapFactory.decodeStream(is, null, o2);
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
index 2ead04764..ce7bcf74c 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
@@ -14,6 +14,7 @@ public class ImageFilterParametricBorder extends ImageFilter {
private int mBorderCornerRadius = 10;
public ImageFilterParametricBorder() {
+ setFilterType(TYPE_BORDER);
mName = "Border";
}
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterVignette.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterVignette.java
index 4c43410e3..fed583832 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterVignette.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterVignette.java
@@ -6,6 +6,7 @@ import android.graphics.Bitmap;
public class ImageFilterVignette extends ImageFilter {
public ImageFilterVignette() {
+ setFilterType(TYPE_VIGNETTE);
mName = "Vignette";
}
diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
index 0ddb0170f..18aa1fb1d 100644
--- a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
+++ b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
@@ -122,32 +122,38 @@ public class ImagePreset {
}
public void add(ImageFilter filter) {
+
if (filter.getFilterType() == ImageFilter.TYPE_BORDER){
setHistoryName("Border");
setBorder(filter);
} else if (filter.getFilterType() == ImageFilter.TYPE_FX){
- Vector<ImageFilter> fl = mFilters;
+
boolean found = false;
for (int i = 0; i < mFilters.size(); i++) {
- byte type = fl.get(i).getFilterType();
+ byte type = mFilters.get(i).getFilterType();
if (found) {
if (type != ImageFilter.TYPE_VIGNETTE){
- fl.remove(i);
+ mFilters.remove(i);
+ continue;
}
- } else if (type==ImageFilter.TYPE_FX){
- fl.remove(i);
- fl.add(i, filter);
+ }
+ if (type==ImageFilter.TYPE_FX){
+ mFilters.remove(i);
+ mFilters.add(i, filter);
setHistoryName(filter.getName());
found = true;
}
}
- mFilters.add(filter);
- setHistoryName(filter.getName());
+ if (!found) {
+ mFilters.add(filter);
+ setHistoryName(filter.getName());
+ }
} else {
mFilters.add(filter);
setHistoryName(filter.getName());
}
+
}
public void remove(String filterName) {