summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/filtershow_category_geometry_panel.xml4
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java28
-rw-r--r--src/com/android/gallery3d/filtershow/category/MainPanel.java69
-rw-r--r--src/com/android/gallery3d/filtershow/category/StraightenPanel.java50
-rw-r--r--src/com/android/gallery3d/filtershow/editors/HazeBusterEditor.java5
-rw-r--r--src/com/android/gallery3d/filtershow/editors/SeeStraightEditor.java5
-rw-r--r--src/com/android/gallery3d/filtershow/editors/TrueScannerEditor.java5
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageShow.java112
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageTrueScanner.java1
9 files changed, 133 insertions, 146 deletions
diff --git a/res/layout/filtershow_category_geometry_panel.xml b/res/layout/filtershow_category_geometry_panel.xml
index 92dc359d6..e66aa12a4 100644
--- a/res/layout/filtershow_category_geometry_panel.xml
+++ b/res/layout/filtershow_category_geometry_panel.xml
@@ -140,7 +140,7 @@
android:id="@+id/cancel"
android:layout_width="@dimen/category_actionbar_panel_height"
android:layout_height="@dimen/category_actionbar_panel_height"
- android:background="@color/edit_actionbar_background"
+ android:background="?android:attr/actionBarItemBackground"
android:src="@drawable/cancel" />
<TextView
@@ -155,7 +155,7 @@
android:id="@+id/done"
android:layout_width="@dimen/category_actionbar_panel_height"
android:layout_height="@dimen/category_actionbar_panel_height"
- android:background="@color/edit_actionbar_background"
+ android:background="?android:attr/actionBarItemBackground"
android:layout_gravity="right"
android:src="@drawable/done" />
</FrameLayout>
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index 7445abf31..b5c4b4a91 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -98,7 +98,10 @@ import com.android.gallery3d.filtershow.editors.EditorDualCamFusion;
import com.android.gallery3d.filtershow.editors.EditorManager;
import com.android.gallery3d.filtershow.editors.EditorPanel;
import com.android.gallery3d.filtershow.editors.EditorStraighten;
+import com.android.gallery3d.filtershow.editors.HazeBusterEditor;
import com.android.gallery3d.filtershow.editors.ImageOnlyEditor;
+import com.android.gallery3d.filtershow.editors.SeeStraightEditor;
+import com.android.gallery3d.filtershow.editors.TrueScannerEditor;
import com.android.gallery3d.filtershow.filters.FilterMirrorRepresentation;
import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.filters.FilterRotateRepresentation;
@@ -357,7 +360,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
transaction.commitAllowingStateLoss();
}
- public void loadEditorPanel(FilterRepresentation representation,
+ public void loadEditorPanel(final FilterRepresentation representation,
final Editor currentEditor) {
if (currentEditor.showsActionBar()) {
setActionBar();
@@ -387,11 +390,15 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
}.run();
return;
}
- if (currentId == EditorStraighten.ID) {
+ if (useStraightenPanel(currentId)) {
new Runnable() {
@Override
public void run() {
StraightenPanel panel = new StraightenPanel();
+ Bundle bundle = new Bundle();
+ bundle.putInt(StraightenPanel.EDITOR_ID, currentId);
+ bundle.putString(StraightenPanel.EDITOR_NAME, representation.getName());
+ panel.setArguments(bundle);
FragmentTransaction transaction =
getSupportFragmentManager().beginTransaction();
transaction.remove(getSupportFragmentManager().findFragmentByTag(
@@ -436,6 +443,11 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
}
}
+ private boolean useStraightenPanel(int EditorID) {
+ return (EditorID == EditorStraighten.ID || EditorID == TrueScannerEditor.ID
+ || EditorID == HazeBusterEditor.ID || EditorID == SeeStraightEditor.ID);
+ }
+
public void leaveSeekBarPanel() {
removeSeekBarPanel();
showDefaultImageView();
@@ -488,22 +500,14 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
int action = event.getAction();
action = action & MotionEvent.ACTION_MASK;
if (action == MotionEvent.ACTION_DOWN) {
-
- HistoryManager adapter = mMasterImage.getHistory();
- int position = adapter.backToOriginal();// adapter.undo();
- mMasterImage.onHistoryItemClick(position, false);
+ MasterImage.getImage().setShowsOriginal(true);
v.setPressed(true);
- invalidateViews();
}
if (action == MotionEvent.ACTION_UP
|| action == MotionEvent.ACTION_CANCEL
|| action == MotionEvent.ACTION_OUTSIDE) {
v.setPressed(false);
- HistoryManager adapter = mMasterImage.getHistory();
- int position = adapter.backToCurrent();
- mMasterImage.onHistoryItemClick(position, false);
- invalidateViews();
-
+ MasterImage.getImage().setShowsOriginal(false);
}
return false;
diff --git a/src/com/android/gallery3d/filtershow/category/MainPanel.java b/src/com/android/gallery3d/filtershow/category/MainPanel.java
index 762978744..bfa6b4fa4 100644
--- a/src/com/android/gallery3d/filtershow/category/MainPanel.java
+++ b/src/com/android/gallery3d/filtershow/category/MainPanel.java
@@ -101,12 +101,21 @@ public class MainPanel extends Fragment implements BottomPanel.BottomPanelDelega
break;
}
case TRUESCANNER: {
+ if (trueScannerButton != null) {
+ trueScannerButton.setSelected(value);
+ }
break;
}
case HAZEBUSTER: {
+ if (hazeBusterButton != null) {
+ hazeBusterButton.setSelected(value);
+ }
break;
}
case SEESTRAIGHT: {
+ if (seeStraightButton != null) {
+ seeStraightButton.setSelected(value);
+ }
break;
}
}
@@ -337,33 +346,51 @@ public class MainPanel extends Fragment implements BottomPanel.BottomPanelDelega
}
public void loadCategoryTrueScannerPanel() {
- boolean fromRight = isRightAnimation(TRUESCANNER);
- selection(mCurrentSelected, false);
- CategoryPanel categoryPanel = new CategoryPanel();
- categoryPanel.setAdapter(TRUESCANNER);
- setCategoryFragment(categoryPanel, fromRight);
- mCurrentSelected = TRUESCANNER;
- selection(mCurrentSelected, true);
+ final FilterShowActivity activity = (FilterShowActivity) getActivity();
+ CategoryAdapter adapter = activity.getCategoryTrueScannerAdapter();
+ if (adapter.getCount() == 1) {
+ activity.showRepresentation(adapter.getItem(0).getRepresentation());
+ } else {
+ boolean fromRight = isRightAnimation(TRUESCANNER);
+ selection(mCurrentSelected, false);
+ CategoryPanel categoryPanel = new CategoryPanel();
+ categoryPanel.setAdapter(TRUESCANNER);
+ setCategoryFragment(categoryPanel, fromRight);
+ mCurrentSelected = TRUESCANNER;
+ selection(mCurrentSelected, true);
+ }
}
public void loadCategoryHazeBusterPanel() {
- boolean fromRight = isRightAnimation(HAZEBUSTER);
- selection(mCurrentSelected, false);
- CategoryPanel categoryPanel = new CategoryPanel();
- categoryPanel.setAdapter(HAZEBUSTER);
- setCategoryFragment(categoryPanel, fromRight);
- mCurrentSelected = HAZEBUSTER;
- selection(mCurrentSelected, true);
+ final FilterShowActivity activity = (FilterShowActivity) getActivity();
+ CategoryAdapter adapter = activity.getCategoryHazeBusterAdapter();
+ if (adapter.getCount() == 1) {
+ activity.showRepresentation(adapter.getItem(0).getRepresentation());
+ } else {
+ boolean fromRight = isRightAnimation(HAZEBUSTER);
+ selection(mCurrentSelected, false);
+ CategoryPanel categoryPanel = new CategoryPanel();
+ categoryPanel.setAdapter(HAZEBUSTER);
+ setCategoryFragment(categoryPanel, fromRight);
+ mCurrentSelected = HAZEBUSTER;
+ selection(mCurrentSelected, true);
+ }
}
public void loadCategorySeeStraightPanel() {
- boolean fromRight = isRightAnimation(SEESTRAIGHT);
- selection(mCurrentSelected, false);
- CategoryPanel categoryPanel = new CategoryPanel();
- categoryPanel.setAdapter(SEESTRAIGHT);
- setCategoryFragment(categoryPanel, fromRight);
- mCurrentSelected = SEESTRAIGHT;
- selection(mCurrentSelected, true);
+ final FilterShowActivity activity = (FilterShowActivity) getActivity();
+ CategoryAdapter adapter = activity.getCategorySeeStraightAdapter();
+ if (adapter.getCount() == 1) {
+ activity.showRepresentation(adapter.getItem(0).getRepresentation());
+ } else {
+ boolean fromRight = isRightAnimation(SEESTRAIGHT);
+ selection(mCurrentSelected, false);
+ CategoryPanel categoryPanel = new CategoryPanel();
+ categoryPanel.setAdapter(SEESTRAIGHT);
+ setCategoryFragment(categoryPanel, fromRight);
+ mCurrentSelected = SEESTRAIGHT;
+ selection(mCurrentSelected, true);
+ }
}
public void loadCategoryFiltersPanel() {
diff --git a/src/com/android/gallery3d/filtershow/category/StraightenPanel.java b/src/com/android/gallery3d/filtershow/category/StraightenPanel.java
index e9eb03e7f..1ac5dc489 100644
--- a/src/com/android/gallery3d/filtershow/category/StraightenPanel.java
+++ b/src/com/android/gallery3d/filtershow/category/StraightenPanel.java
@@ -34,24 +34,50 @@ import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
-import org.codeaurora.gallery.R;
import com.android.gallery3d.filtershow.FilterShowActivity;
-import com.android.gallery3d.filtershow.editors.EditorStraighten;
+import com.android.gallery3d.filtershow.editors.Editor;
+
+import org.codeaurora.gallery.R;
public class StraightenPanel extends BasicGeometryPanel {
- private EditorStraighten mEditorStraighten;
+ public static final String EDITOR_ID = "editor_id";
+ public static final String EDITOR_NAME = "editor_name";
+ public static final int NO_EDITOR = -1;
+ private Editor mEditor;
+ private int mEditorID = NO_EDITOR;
+ private String mName;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ }
+
+ private void initArguments(Bundle arguments) {
+ if (arguments != null) {
+ mEditorID = arguments.getInt(EDITOR_ID);
+ mName = arguments.getString(EDITOR_NAME);
+ }
+ }
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
- FilterShowActivity filterShowActivity = (FilterShowActivity) activity;
- mEditorStraighten = (EditorStraighten) filterShowActivity.getEditor(EditorStraighten.ID);
+ initArguments(getArguments());
+ if (mEditorID != NO_EDITOR) {
+ FilterShowActivity filterShowActivity = (FilterShowActivity) activity;
+ mEditor = filterShowActivity.getEditor(mEditorID);
+ if (mEditor != null) {
+ mEditor.attach();
+ }
+ }
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- mEditorName.setText(R.string.straighten);
+ if (mName != null) {
+ mEditorName.setText(mName);
+ }
mBottomPanel.setVisibility(View.VISIBLE);
@@ -67,7 +93,9 @@ public class StraightenPanel extends BasicGeometryPanel {
mApplyButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- mEditorStraighten.finalApplyCalled();
+ if (mEditor != null) {
+ mEditor.finalApplyCalled();
+ }
activity.backToMain();
activity.setActionBar();
}
@@ -77,17 +105,15 @@ public class StraightenPanel extends BasicGeometryPanel {
@Override
protected void initPanels() {
super.initPanels();
- int size = mPanels.length;
- for (int i = 0; i < size; i++) {
- View view = mPanels[i];
+ for (View view : mPanels) {
view.setVisibility(View.GONE);
}
}
@Override
public void onDetach() {
- if (mEditorStraighten != null) {
- mEditorStraighten.detach();
+ if (mEditor != null) {
+ mEditor.detach();
}
super.onDetach();
}
diff --git a/src/com/android/gallery3d/filtershow/editors/HazeBusterEditor.java b/src/com/android/gallery3d/filtershow/editors/HazeBusterEditor.java
index c9ee3c8fe..8b7f4b8b9 100644
--- a/src/com/android/gallery3d/filtershow/editors/HazeBusterEditor.java
+++ b/src/com/android/gallery3d/filtershow/editors/HazeBusterEditor.java
@@ -67,6 +67,11 @@ public class HazeBusterEditor extends Editor {
}
@Override
+ public boolean showsActionBar() {
+ return false;
+ }
+
+ @Override
public boolean showsSeekBar() {
return false;
}
diff --git a/src/com/android/gallery3d/filtershow/editors/SeeStraightEditor.java b/src/com/android/gallery3d/filtershow/editors/SeeStraightEditor.java
index d8dff10ee..f320b4bfa 100644
--- a/src/com/android/gallery3d/filtershow/editors/SeeStraightEditor.java
+++ b/src/com/android/gallery3d/filtershow/editors/SeeStraightEditor.java
@@ -64,6 +64,11 @@ public class SeeStraightEditor extends Editor {
}
@Override
+ public boolean showsActionBar() {
+ return false;
+ }
+
+ @Override
public boolean showsSeekBar() {
return false;
}
diff --git a/src/com/android/gallery3d/filtershow/editors/TrueScannerEditor.java b/src/com/android/gallery3d/filtershow/editors/TrueScannerEditor.java
index 816e0b59a..5ecee6997 100644
--- a/src/com/android/gallery3d/filtershow/editors/TrueScannerEditor.java
+++ b/src/com/android/gallery3d/filtershow/editors/TrueScannerEditor.java
@@ -72,6 +72,11 @@ public class TrueScannerEditor extends Editor {
}
@Override
+ public boolean showsActionBar() {
+ return false;
+ }
+
+ @Override
public boolean showsSeekBar() {
return false;
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
index 7d5f57a7a..c3a7b7f38 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
@@ -27,7 +27,6 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
-import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Point;
@@ -44,7 +43,6 @@ import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.View;
-import android.widget.ImageButton;
import android.widget.LinearLayout;
import org.codeaurora.gallery.R;
@@ -73,13 +71,7 @@ public class ImageShow extends View implements OnGestureListener,
private RectF mFusionBounds = new RectF();
protected Rect mImageBounds = new Rect();
- private boolean mOriginalDisabled = false;
private boolean mTouchShowOriginal = false;
- private long mTouchShowOriginalDate = 0;
- private final long mTouchShowOriginalDelayMin = 200; // 200ms
- private int mShowOriginalDirection = 0;
- private static final int UNVEIL_HORIZONTAL = 1;
- private static final int UNVEIL_VERTICAL = 2;
private NinePatchDrawable mShadow = null;
private Rect mShadowBounds = new Rect();
@@ -90,9 +82,6 @@ public class ImageShow extends View implements OnGestureListener,
private Point mTouch = new Point();
private boolean mFinishedScalingOperation = false;
- private int mOriginalTextMargin;
- private int mOriginalTextSize;
- private String mOriginalText;
private boolean mZoomIn = false;
Point mOriginalTranslation = new Point();
float mOriginalScale;
@@ -125,7 +114,6 @@ public class ImageShow extends View implements OnGestureListener,
private Paint mMaskPaint = new Paint();
private Matrix mShaderMatrix = new Matrix();
private boolean mDidStartAnimation = false;
- private boolean isScalingUpAllowed = true;
private static Bitmap convertToAlphaMask(Bitmap b) {
Bitmap a = Bitmap.createBitmap(b.getWidth(), b.getHeight(), Bitmap.Config.ALPHA_8);
@@ -180,10 +168,7 @@ public class ImageShow extends View implements OnGestureListener,
Resources res = context.getResources();
mTextSize = res.getDimensionPixelSize(R.dimen.photoeditor_text_size);
mTextPadding = res.getDimensionPixelSize(R.dimen.photoeditor_text_padding);
- mOriginalTextMargin = res.getDimensionPixelSize(R.dimen.photoeditor_original_text_margin);
- mOriginalTextSize = res.getDimensionPixelSize(R.dimen.photoeditor_original_text_size);
mBackgroundColor = res.getColor(R.color.background_screen);
- mOriginalText = res.getString(R.string.original_picture_text);
mShadow = (NinePatchDrawable) res.getDrawable(R.drawable.geometry_shadow);
setupGestureDetector(context);
mActivity = (FilterShowActivity) context;
@@ -312,20 +297,19 @@ public class ImageShow extends View implements OnGestureListener,
mShadowDrawn = false;
- Bitmap highresPreview = MasterImage.getImage().getHighresImage();
- Bitmap fullHighres = MasterImage.getImage().getPartialImage();
+ if (!drawCompareImage(canvas, MasterImage.getImage().getOriginalBitmapLarge())) {
+ Bitmap highresPreview = MasterImage.getImage().getHighresImage();
+ Bitmap fullHighres = MasterImage.getImage().getPartialImage();
- boolean isDoingNewLookAnimation = MasterImage.getImage().onGoingNewLookAnimation();
+ boolean isDoingNewLookAnimation = MasterImage.getImage().onGoingNewLookAnimation();
- if (highresPreview == null || isDoingNewLookAnimation) {
- drawImageAndAnimate(canvas, getFilteredImage());
- } else {
- drawImageAndAnimate(canvas, highresPreview);
+ if (highresPreview == null || isDoingNewLookAnimation) {
+ drawImageAndAnimate(canvas, getFilteredImage());
+ } else {
+ drawImageAndAnimate(canvas, highresPreview);
+ }
}
-// drawHighresImage(canvas, fullHighres);
- //drawCompareImage(canvas, getGeometryOnlyImage());
-
canvas.restore();
if (!mEdgeEffect.isFinished()) {
@@ -384,8 +368,7 @@ public class ImageShow extends View implements OnGestureListener,
return MasterImage.getImage().getFilteredImage();
}
- public void drawImageAndAnimate(Canvas canvas,
- Bitmap image) {
+ public void drawImageAndAnimate(Canvas canvas, Bitmap image) {
if (image == null) {
return;
}
@@ -558,78 +541,18 @@ public class ImageShow extends View implements OnGestureListener,
}
}
- public void drawCompareImage(Canvas canvas, Bitmap image) {
+ public boolean drawCompareImage(Canvas canvas, Bitmap image) {
MasterImage master = MasterImage.getImage();
boolean showsOriginal = master.showsOriginal();
if (!showsOriginal && !mTouchShowOriginal)
- return;
+ return false;
canvas.save();
if (image != null) {
- if (mShowOriginalDirection == 0) {
- if (Math.abs(mTouch.y - mTouchDown.y) > Math.abs(mTouch.x - mTouchDown.x)) {
- mShowOriginalDirection = UNVEIL_VERTICAL;
- } else {
- mShowOriginalDirection = UNVEIL_HORIZONTAL;
- }
- }
-
- int px = 0;
- int py = 0;
- if (mShowOriginalDirection == UNVEIL_VERTICAL) {
- px = mImageBounds.width();
- py = mTouch.y - mImageBounds.top;
- } else {
- px = mTouch.x - mImageBounds.left;
- py = mImageBounds.height();
- if (showsOriginal) {
- px = mImageBounds.width();
- }
- }
-
- Rect d = new Rect(mImageBounds.left, mImageBounds.top,
- mImageBounds.left + px, mImageBounds.top + py);
- if (mShowOriginalDirection == UNVEIL_HORIZONTAL) {
- if (mTouchDown.x - mTouch.x > 0) {
- d.set(mImageBounds.left + px, mImageBounds.top,
- mImageBounds.right, mImageBounds.top + py);
- }
- } else {
- if (mTouchDown.y - mTouch.y > 0) {
- d.set(mImageBounds.left, mImageBounds.top + py,
- mImageBounds.left + px, mImageBounds.bottom);
- }
- }
- canvas.clipRect(d);
Matrix m = master.computeImageToScreen(image, 0, false);
canvas.drawBitmap(image, m, mPaint);
- Paint paint = new Paint();
- paint.setColor(Color.BLACK);
- paint.setStrokeWidth(3);
-
- if (mShowOriginalDirection == UNVEIL_VERTICAL) {
- canvas.drawLine(mImageBounds.left, mTouch.y,
- mImageBounds.right, mTouch.y, paint);
- } else {
- canvas.drawLine(mTouch.x, mImageBounds.top,
- mTouch.x, mImageBounds.bottom, paint);
- }
-
- Rect bounds = new Rect();
- paint.setAntiAlias(true);
- paint.setTextSize(mOriginalTextSize);
- paint.getTextBounds(mOriginalText, 0, mOriginalText.length(), bounds);
- paint.setColor(Color.BLACK);
- paint.setStyle(Paint.Style.STROKE);
- paint.setStrokeWidth(3);
- canvas.drawText(mOriginalText, mImageBounds.left + mOriginalTextMargin,
- mImageBounds.top + bounds.height() + mOriginalTextMargin, paint);
- paint.setStyle(Paint.Style.FILL);
- paint.setStrokeWidth(1);
- paint.setColor(Color.WHITE);
- canvas.drawText(mOriginalText, mImageBounds.left + mOriginalTextMargin,
- mImageBounds.top + bounds.height() + mOriginalTextMargin, paint);
}
canvas.restore();
+ return true;
}
public void bindAsImageLoadListener() {
@@ -680,8 +603,6 @@ public class ImageShow extends View implements OnGestureListener,
mInteractionMode = InteractionMode.MOVE;
mTouchDown.x = ex;
mTouchDown.y = ey;
- mTouchShowOriginalDate = System.currentTimeMillis();
- mShowOriginalDirection = 0;
MasterImage.getImage().setOriginalTranslation(MasterImage.getImage().getTranslation());
}
@@ -699,12 +620,6 @@ public class ImageShow extends View implements OnGestureListener,
translation.x = (int) (originalTranslation.x + translateX);
translation.y = (int) (originalTranslation.y + translateY);
MasterImage.getImage().setTranslation(translation);
- mTouchShowOriginal = false;
- } else if (enableComparison() && !mOriginalDisabled
- && (System.currentTimeMillis() - mTouchShowOriginalDate
- > mTouchShowOriginalDelayMin)
- && event.getPointerCount() == 1) {
- mTouchShowOriginal = true;
}
}
@@ -712,7 +627,6 @@ public class ImageShow extends View implements OnGestureListener,
|| action == MotionEvent.ACTION_CANCEL
|| action == MotionEvent.ACTION_OUTSIDE) {
mInteractionMode = InteractionMode.NONE;
- mTouchShowOriginal = false;
mTouchDown.x = 0;
mTouchDown.y = 0;
mTouch.x = 0;
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageTrueScanner.java b/src/com/android/gallery3d/filtershow/imageshow/ImageTrueScanner.java
index c11729ae8..de077afed 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageTrueScanner.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageTrueScanner.java
@@ -219,6 +219,7 @@ public class ImageTrueScanner extends ImageShow {
public void onDraw(Canvas canvas) {
if(mBitmap == null)
return;
+ toggleComparisonButtonVisibility();
if(mDisplayMatrix == null) {
mDisplayMatrix = GeometryMathUtils.getFullGeometryToScreenMatrix(mGeometry,