summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/editors/EditorDraw.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/editors/EditorDraw.java')
-rw-r--r--src/com/android/gallery3d/filtershow/editors/EditorDraw.java48
1 files changed, 33 insertions, 15 deletions
diff --git a/src/com/android/gallery3d/filtershow/editors/EditorDraw.java b/src/com/android/gallery3d/filtershow/editors/EditorDraw.java
index abd4ae475..aa5ec61e8 100644
--- a/src/com/android/gallery3d/filtershow/editors/EditorDraw.java
+++ b/src/com/android/gallery3d/filtershow/editors/EditorDraw.java
@@ -18,12 +18,10 @@ package com.android.gallery3d.filtershow.editors;
import android.app.Dialog;
import android.content.Context;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
-import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;
import android.widget.FrameLayout;
@@ -35,16 +33,16 @@ import com.android.gallery3d.R;
import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.colorpicker.ColorGridDialog;
import com.android.gallery3d.filtershow.colorpicker.RGBListener;
+import com.android.gallery3d.filtershow.filters.FilterDrawRepresentation;
+import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.filters.ImageFilterDraw;
import com.android.gallery3d.filtershow.imageshow.ImageDraw;
import com.android.gallery3d.filtershow.ui.FramedTextButton;
-/**
- * TODO: Insert description here. (generated by hoford)
- */
public class EditorDraw extends Editor {
private static final String LOGTAG = "EditorDraw";
public static final int ID = R.id.editorDraw;
+ public ImageDraw mImageDraw;
public EditorDraw() {
super(ID);
@@ -53,7 +51,9 @@ public class EditorDraw extends Editor {
@Override
public void createEditor(Context context, FrameLayout frameLayout) {
super.createEditor(context, frameLayout);
- mView = mImageShow = new ImageDraw(context);
+ mView = mImageShow = mImageDraw = new ImageDraw(context);
+ mImageDraw.setEditor(this);
+
}
@Override
@@ -62,6 +62,17 @@ public class EditorDraw extends Editor {
}
@Override
+ public void reflectCurrentFilter() {
+ super.reflectCurrentFilter();
+ FilterRepresentation rep = getLocalRepresentation();
+
+ if (rep != null && getLocalRepresentation() instanceof FilterDrawRepresentation) {
+ FilterDrawRepresentation drawRep = (FilterDrawRepresentation) getLocalRepresentation();
+ mImageDraw.setFilterDrawRepresentation(drawRep);
+ }
+ }
+
+ @Override
public void openUtilityPanel(final LinearLayout accessoryViewList) {
View view = accessoryViewList.findViewById(R.id.drawUtilityButton);
if (view == null) {
@@ -70,7 +81,8 @@ public class EditorDraw extends Editor {
view = inflater.inflate(R.layout.filtershow_draw_button, accessoryViewList, false);
accessoryViewList.addView(view, view.getLayoutParams());
view.setOnClickListener(new OnClickListener() {
- @Override
+
+ @Override
public void onClick(View arg0) {
showPopupMenu(accessoryViewList);
}
@@ -88,25 +100,30 @@ public class EditorDraw extends Editor {
if (button == null) {
return;
}
- PopupMenu popupMenu = new PopupMenu(mImageShow.getActivity(), button);
+ final PopupMenu popupMenu = new PopupMenu(mImageShow.getActivity(), button);
popupMenu.getMenuInflater().inflate(R.menu.filtershow_menu_draw, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
+
@Override
public boolean onMenuItemClick(MenuItem item) {
ImageFilterDraw filter = (ImageFilterDraw) mImageShow.getCurrentFilter();
- int minp = filter.getMinParameter();
- int parameter = filter.getParameter();
if (item.getItemId() == R.id.draw_menu_color) {
showColorGrid(item);
} else if (item.getItemId() == R.id.draw_menu_size) {
showSizeDialog(item);
- } else if (item.getItemId() == R.id.draw_menu_style_brush) {
+ } else if (item.getItemId() == R.id.draw_menu_style_brush_marker) {
+ ImageDraw idraw = (ImageDraw) mImageShow;
+ idraw.setStyle(ImageFilterDraw.BRUSH_STYLE_MARKER);
+ } else if (item.getItemId() == R.id.draw_menu_style_brush_spatter) {
ImageDraw idraw = (ImageDraw) mImageShow;
- idraw.setStyle(ImageFilterDraw.BRUSH_STYLE);
+ idraw.setStyle(ImageFilterDraw.BRUSH_STYLE_SPATTER);
} else if (item.getItemId() == R.id.draw_menu_style_line) {
ImageDraw idraw = (ImageDraw) mImageShow;
idraw.setStyle(ImageFilterDraw.SIMPLE_STYLE);
-
+ } else if (item.getItemId() == R.id.draw_menu_clear) {
+ ImageDraw idraw = (ImageDraw) mImageShow;
+ idraw.resetParameter();
+ commitLocalRepresentation();
}
mView.invalidate();
return true;
@@ -126,6 +143,7 @@ public class EditorDraw extends Editor {
Button button = (Button) dialog.findViewById(R.id.sizeAcceptButton);
button.setOnClickListener(new OnClickListener() {
+ @Override
public void onClick(View arg0) {
int p = bar.getProgress();
ImageDraw idraw = (ImageDraw) mImageShow;
@@ -135,9 +153,10 @@ public class EditorDraw extends Editor {
});
dialog.show();
}
+
public void showColorGrid(final MenuItem item) {
RGBListener cl = new RGBListener() {
- @Override
+ @Override
public void setColor(int rgb) {
ImageDraw idraw = (ImageDraw) mImageShow;
idraw.setColor(rgb);
@@ -147,5 +166,4 @@ public class EditorDraw extends Editor {
cpd.show();
LayoutParams params = cpd.getWindow().getAttributes();
}
-
}