OSDN Git Service

fix the draw clear bug
authorJohn Hoford <hoford@google.com>
Tue, 12 Feb 2013 21:42:19 +0000 (13:42 -0800)
committerJohn Hoford <hoford@google.com>
Tue, 12 Feb 2013 21:43:29 +0000 (13:43 -0800)
Change-Id: I1050c3e1ad1280480f35a03c9d29dc1cd44b515f

src/com/android/gallery3d/filtershow/editors/EditorDraw.java
src/com/android/gallery3d/filtershow/filters/FilterDrawRepresentation.java
src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java

index 907d108..aa5ec61 100644 (file)
@@ -121,8 +121,8 @@ public class EditorDraw extends Editor {
                     ImageDraw idraw = (ImageDraw) mImageShow;
                     idraw.setStyle(ImageFilterDraw.SIMPLE_STYLE);
                 } else if (item.getItemId() == R.id.draw_menu_clear) {
-                    FilterDrawRepresentation drawRep = (FilterDrawRepresentation) getLocalRepresentation();
-                    drawRep.clear();
+                    ImageDraw idraw = (ImageDraw) mImageShow;
+                    idraw.resetParameter();
                     commitLocalRepresentation();
                 }
                 mView.invalidate();
index 89ea5cc..e41f0a6 100644 (file)
@@ -94,7 +94,10 @@ public class FilterDrawRepresentation extends FilterRepresentation {
                 }
                 if (representation.mDrawing != null) {
                     mDrawing = (Vector<StrokeData>) representation.mDrawing.clone();
+                } else {
+                    mDrawing = null;
                 }
+
             } catch (CloneNotSupportedException e) {
                 e.printStackTrace();
             }
index 9d22f7a..9fa4ce9 100644 (file)
@@ -224,7 +224,8 @@ public class ImageFilterDraw extends ImageFilter {
 
         if (mOverlayBitmap == null ||
                 mOverlayBitmap.getWidth() != canvas.getWidth() ||
-                mOverlayBitmap.getHeight() != canvas.getHeight()) {
+                mOverlayBitmap.getHeight() != canvas.getHeight() ||
+                mParameters.getDrawing().size() < mCachedStrokes) {
 
             mOverlayBitmap = Bitmap.createBitmap(
                     canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);