summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/colorpicker
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/colorpicker')
-rw-r--r--src/com/android/gallery3d/filtershow/colorpicker/ColorGridDialog.java100
-rw-r--r--src/com/android/gallery3d/filtershow/colorpicker/ColorListener.java21
-rw-r--r--src/com/android/gallery3d/filtershow/colorpicker/ColorOpacityView.java197
-rw-r--r--src/com/android/gallery3d/filtershow/colorpicker/ColorPickerDialog.java123
-rw-r--r--src/com/android/gallery3d/filtershow/colorpicker/ColorRectView.java225
-rw-r--r--src/com/android/gallery3d/filtershow/colorpicker/ColorValueView.java180
-rw-r--r--src/com/android/gallery3d/filtershow/colorpicker/RGBListener.java21
7 files changed, 0 insertions, 867 deletions
diff --git a/src/com/android/gallery3d/filtershow/colorpicker/ColorGridDialog.java b/src/com/android/gallery3d/filtershow/colorpicker/ColorGridDialog.java
deleted file mode 100644
index dd4df7dc8..000000000
--- a/src/com/android/gallery3d/filtershow/colorpicker/ColorGridDialog.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2013 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.colorpicker;
-
-import android.app.Dialog;
-import android.content.Context;
-import android.graphics.Color;
-import android.graphics.drawable.GradientDrawable;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-
-import com.android.gallery3d.R;
-
-import java.util.ArrayList;
-
-public class ColorGridDialog extends Dialog {
- RGBListener mCallback;
- private static final String LOGTAG = "ColorGridDialog";
-
- public ColorGridDialog(Context context, final RGBListener cl) {
- super(context);
- mCallback = cl;
- setTitle(R.string.color_pick_title);
- setContentView(R.layout.filtershow_color_gird);
- Button sel = (Button) findViewById(R.id.filtershow_cp_custom);
- ArrayList<Button> b = getButtons((ViewGroup) getWindow().getDecorView());
- int k = 0;
- float[] hsv = new float[3];
-
- for (Button button : b) {
- if (!button.equals(sel)){
- hsv[0] = (k % 5) * 360 / 5;
- hsv[1] = (k / 5) / 3.0f;
- hsv[2] = (k < 5) ? (k / 4f) : 1;
- final int c = (Color.HSVToColor(hsv) & 0x00FFFFFF) | 0xAA000000;
- GradientDrawable sd = ((GradientDrawable) button.getBackground());
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mCallback.setColor(c);
- dismiss();
- }
- });
- sd.setColor(c);
- k++;
- }
-
- }
- sel.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- showColorPicker();
- ColorGridDialog.this.dismiss();
- }
- });
- }
-
- private ArrayList<Button> getButtons(ViewGroup vg) {
- ArrayList<Button> list = new ArrayList<Button>();
- for (int i = 0; i < vg.getChildCount(); i++) {
- View v = vg.getChildAt(i);
- if (v instanceof Button) {
- list.add((Button) v);
- } else if (v instanceof ViewGroup) {
- list.addAll(getButtons((ViewGroup) v));
- }
- }
- return list;
- }
-
- public void showColorPicker() {
- ColorListener cl = new ColorListener() {
- @Override
- public void setColor(float[] hsvo) {
- int c = Color.HSVToColor(hsvo) & 0xFFFFFF;
- int alpha = (int) (hsvo[3] * 255);
- c |= alpha << 24;
- mCallback.setColor(c);
- }
- };
- ColorPickerDialog cpd = new ColorPickerDialog(this.getContext(), cl);
- cpd.show();
- }
-
-}
diff --git a/src/com/android/gallery3d/filtershow/colorpicker/ColorListener.java b/src/com/android/gallery3d/filtershow/colorpicker/ColorListener.java
deleted file mode 100644
index 5127dad26..000000000
--- a/src/com/android/gallery3d/filtershow/colorpicker/ColorListener.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2013 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.colorpicker;
-
-public interface ColorListener {
- void setColor(float[] hsvo);
-}
diff --git a/src/com/android/gallery3d/filtershow/colorpicker/ColorOpacityView.java b/src/com/android/gallery3d/filtershow/colorpicker/ColorOpacityView.java
deleted file mode 100644
index 2bff501f7..000000000
--- a/src/com/android/gallery3d/filtershow/colorpicker/ColorOpacityView.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (C) 2013 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.colorpicker;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapShader;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.LinearGradient;
-import android.graphics.Paint;
-import android.graphics.RadialGradient;
-import android.graphics.Shader;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.MotionEvent;
-import android.view.View;
-
-import com.android.gallery3d.R;
-
-import java.util.ArrayList;
-
-public class ColorOpacityView extends View implements ColorListener {
-
- private float mRadius;
- private float mWidth;
- private Paint mBarPaint1;
- private Paint mLinePaint1;
- private Paint mLinePaint2;
- private Paint mCheckPaint;
-
- private float mHeight;
- private Paint mDotPaint;
- private int mBgcolor = 0;
-
- private float mDotRadius;
- private float mBorder;
-
- private float[] mHSVO = new float[4];
- private int mSliderColor;
- private float mDotX = mBorder;
- private float mDotY = mBorder;
- private final static float DOT_SIZE = ColorRectView.DOT_SIZE;
- public final static float BORDER_SIZE = 20;;
-
- public ColorOpacityView(Context ctx, AttributeSet attrs) {
- super(ctx, attrs);
- DisplayMetrics metrics = ctx.getResources().getDisplayMetrics();
- float mDpToPix = metrics.density;
- mDotRadius = DOT_SIZE * mDpToPix;
- mBorder = BORDER_SIZE * mDpToPix;
- mBarPaint1 = new Paint();
-
- mDotPaint = new Paint();
-
- mDotPaint.setStyle(Paint.Style.FILL);
- mDotPaint.setColor(ctx.getResources().getColor(R.color.slider_dot_color));
- mSliderColor = ctx.getResources().getColor(R.color.slider_line_color);
-
- mBarPaint1.setStyle(Paint.Style.FILL);
-
- mLinePaint1 = new Paint();
- mLinePaint1.setColor(Color.GRAY);
- mLinePaint2 = new Paint();
- mLinePaint2.setColor(mSliderColor);
- mLinePaint2.setStrokeWidth(4);
-
- int[] colors = new int[16 * 16];
- for (int i = 0; i < colors.length; i++) {
- int y = i / (16 * 8);
- int x = (i / 8) % 2;
- colors[i] = (x == y) ? 0xFFAAAAAA : 0xFF444444;
- }
- Bitmap bitmap = Bitmap.createBitmap(colors, 16, 16, Bitmap.Config.ARGB_8888);
- BitmapShader bs = new BitmapShader(bitmap, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
- mCheckPaint = new Paint();
- mCheckPaint.setShader(bs);
- }
-
- public boolean onDown(MotionEvent e) {
- return true;
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- float ox = mDotX;
- float oy = mDotY;
-
- float x = event.getX();
- float y = event.getY();
-
- mDotX = x;
-
- if (mDotX < mBorder) {
- mDotX = mBorder;
- }
-
- if (mDotX > mWidth - mBorder) {
- mDotX = mWidth - mBorder;
- }
- mHSVO[3] = (mDotX - mBorder) / (mWidth - mBorder * 2);
- notifyColorListeners(mHSVO);
- setupButton();
- invalidate((int) (ox - mDotRadius), (int) (oy - mDotRadius), (int) (ox + mDotRadius),
- (int) (oy + mDotRadius));
- invalidate(
- (int) (mDotX - mDotRadius), (int) (mDotY - mDotRadius), (int) (mDotX + mDotRadius),
- (int) (mDotY + mDotRadius));
-
- return true;
- }
-
- private void setupButton() {
- float pos = mHSVO[3] * (mWidth - mBorder * 2);
- mDotX = pos + mBorder;
-
- int[] colors3 = new int[] {
- mSliderColor, mSliderColor, 0x66000000, 0 };
- RadialGradient g = new RadialGradient(mDotX, mDotY, mDotRadius, colors3, new float[] {
- 0, .3f, .31f, 1 }, Shader.TileMode.CLAMP);
- mDotPaint.setShader(g);
- }
-
- @Override
- protected void onSizeChanged(int w, int h, int oldw, int oldh) {
- mWidth = w;
- mHeight = h;
- mDotY = mHeight / 2;
- updatePaint();
- setupButton();
- }
-
- private void updatePaint() {
-
- int color2 = Color.HSVToColor(mHSVO);
- int color1 = color2 & 0xFFFFFF;
-
- Shader sg = new LinearGradient(
- mBorder, mBorder, mWidth - mBorder, mBorder, color1, color2, Shader.TileMode.CLAMP);
- mBarPaint1.setShader(sg);
-
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- canvas.drawColor(mBgcolor);
- canvas.drawRect(mBorder, mBorder, mWidth - mBorder, mHeight - mBorder, mCheckPaint);
- canvas.drawRect(mBorder, mBorder, mWidth - mBorder, mHeight - mBorder, mBarPaint1);
- canvas.drawLine(mDotX, mDotY, mWidth - mBorder, mDotY, mLinePaint1);
- canvas.drawLine(mBorder, mDotY, mDotX, mDotY, mLinePaint2);
- if (mDotX != Float.NaN) {
- canvas.drawCircle(mDotX, mDotY, mDotRadius, mDotPaint);
- }
- }
-
- @Override
- public void setColor(float[] hsv) {
- System.arraycopy(hsv, 0, mHSVO, 0, mHSVO.length);
-
- float oy = mDotY;
-
- updatePaint();
- setupButton();
- invalidate();
- }
-
- ArrayList<ColorListener> mColorListeners = new ArrayList<ColorListener>();
-
- public void notifyColorListeners(float[] hsvo) {
- for (ColorListener l : mColorListeners) {
- l.setColor(hsvo);
- }
- }
-
- public void addColorListener(ColorListener l) {
- mColorListeners.add(l);
- }
-
- public void removeColorListener(ColorListener l) {
- mColorListeners.remove(l);
- }
-}
diff --git a/src/com/android/gallery3d/filtershow/colorpicker/ColorPickerDialog.java b/src/com/android/gallery3d/filtershow/colorpicker/ColorPickerDialog.java
deleted file mode 100644
index 73a5c907c..000000000
--- a/src/com/android/gallery3d/filtershow/colorpicker/ColorPickerDialog.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2013 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.colorpicker;
-
-import android.app.Dialog;
-import android.content.Context;
-import android.graphics.Color;
-import android.graphics.drawable.GradientDrawable;
-import android.view.View;
-import android.widget.Button;
-import android.widget.ToggleButton;
-
-import com.android.gallery3d.R;
-
-public class ColorPickerDialog extends Dialog implements ColorListener {
- ToggleButton mSelectedButton;
- GradientDrawable mSelectRect;
-
- float[] mHSVO = new float[4];
-
- public ColorPickerDialog(Context context, final ColorListener cl) {
- super(context);
-
- setContentView(R.layout.filtershow_color_picker);
- ColorValueView csv = (ColorValueView) findViewById(R.id.colorValueView);
- ColorRectView cwv = (ColorRectView) findViewById(R.id.colorRectView);
- ColorOpacityView cvv = (ColorOpacityView) findViewById(R.id.colorOpacityView);
- float[] hsvo = new float[] {
- 123, .9f, 1, 1 };
-
- mSelectRect = (GradientDrawable) getContext()
- .getResources().getDrawable(R.drawable.filtershow_color_picker_roundrect);
- Button selButton = (Button) findViewById(R.id.btnSelect);
- selButton.setCompoundDrawablesWithIntrinsicBounds(null, null, mSelectRect, null);
- Button sel = (Button) findViewById(R.id.btnSelect);
-
- sel.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- ColorPickerDialog.this.dismiss();
- if (cl != null) {
- cl.setColor(mHSVO);
- }
- }
- });
-
- cwv.setColor(hsvo);
- cvv.setColor(hsvo);
- csv.setColor(hsvo);
- csv.addColorListener(cwv);
- cwv.addColorListener(csv);
- csv.addColorListener(cvv);
- cwv.addColorListener(cvv);
- cvv.addColorListener(cwv);
- cvv.addColorListener(csv);
- cvv.addColorListener(this);
- csv.addColorListener(this);
- cwv.addColorListener(this);
-
- }
-
- void toggleClick(ToggleButton v, int[] buttons, boolean isChecked) {
- int id = v.getId();
- if (!isChecked) {
- mSelectedButton = null;
- return;
- }
- for (int i = 0; i < buttons.length; i++) {
- if (id != buttons[i]) {
- ToggleButton b = (ToggleButton) findViewById(buttons[i]);
- b.setChecked(false);
- }
- }
- mSelectedButton = v;
-
- float[] hsv = (float[]) v.getTag();
-
- ColorValueView csv = (ColorValueView) findViewById(R.id.colorValueView);
- ColorRectView cwv = (ColorRectView) findViewById(R.id.colorRectView);
- ColorOpacityView cvv = (ColorOpacityView) findViewById(R.id.colorOpacityView);
- cwv.setColor(hsv);
- cvv.setColor(hsv);
- csv.setColor(hsv);
- }
-
- @Override
- public void setColor(float[] hsvo) {
- System.arraycopy(hsvo, 0, mHSVO, 0, mHSVO.length);
- int color = Color.HSVToColor(hsvo);
- mSelectRect.setColor(color);
- setButtonColor(mSelectedButton, hsvo);
- }
-
- private void setButtonColor(ToggleButton button, float[] hsv) {
- if (button == null) {
- return;
- }
- int color = Color.HSVToColor(hsv);
- button.setBackgroundColor(color);
- float[] fg = new float[] {
- (hsv[0] + 180) % 360,
- hsv[1],
- (hsv[2] > .5f) ? .1f : .9f
- };
- button.setTextColor(Color.HSVToColor(fg));
- button.setTag(hsv);
- }
-
-}
diff --git a/src/com/android/gallery3d/filtershow/colorpicker/ColorRectView.java b/src/com/android/gallery3d/filtershow/colorpicker/ColorRectView.java
deleted file mode 100644
index 07d7c7126..000000000
--- a/src/com/android/gallery3d/filtershow/colorpicker/ColorRectView.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Copyright (C) 2013 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.colorpicker;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.LinearGradient;
-import android.graphics.Paint;
-import android.graphics.RadialGradient;
-import android.graphics.RectF;
-import android.graphics.Shader;
-import android.graphics.SweepGradient;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.MotionEvent;
-import android.view.View;
-
-import com.android.gallery3d.R;
-
-import java.util.ArrayList;
-
-public class ColorRectView extends View implements ColorListener {
- private float mDpToPix;
- private float mRadius = 80;
- private float mCtrY = 100;
- private Paint mWheelPaint1;
- private Paint mWheelPaint2;
- private Paint mWheelPaint3;
- private float mCtrX = 100;
- private Paint mDotPaint;
- private float mDotRadus;
- private float mBorder;
- private int mBgcolor = 0;
- private float mDotX = Float.NaN;
- private float mDotY;
- private int mSliderColor = 0xFF33B5E5;
- private float[] mHSVO = new float[4];
- private int[] mColors = new int[] {
- 0xFFFF0000,// red
- 0xFFFFFF00,// yellow
- 0xFF00FF00,// green
- 0xFF00FFFF,// cyan
- 0xFF0000FF,// blue
- 0xFFFF00FF,// magenta
- 0xFFFF0000,// red
- };
- private int mWidth;
- private int mHeight;
- public final static float DOT_SIZE = 20;
- public final static float BORDER_SIZE = 10;
-
- public ColorRectView(Context ctx, AttributeSet attrs) {
- super(ctx, attrs);
-
- DisplayMetrics metrics = ctx.getResources().getDisplayMetrics();
- mDpToPix = metrics.density;
- mDotRadus = DOT_SIZE * mDpToPix;
- mBorder = BORDER_SIZE * mDpToPix;
-
- mWheelPaint1 = new Paint();
- mWheelPaint2 = new Paint();
- mWheelPaint3 = new Paint();
- mDotPaint = new Paint();
-
- mDotPaint.setStyle(Paint.Style.FILL);
- mDotPaint.setColor(ctx.getResources().getColor(R.color.slider_dot_color));
- mSliderColor = ctx.getResources().getColor(R.color.slider_line_color);
- mWheelPaint1.setStyle(Paint.Style.FILL);
- mWheelPaint2.setStyle(Paint.Style.FILL);
- mWheelPaint3.setStyle(Paint.Style.FILL);
- }
-
- public boolean onDown(MotionEvent e) {
- return true;
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
-
- invalidate((int) (mDotX - mDotRadus), (int) (mDotY - mDotRadus), (int) (mDotX + mDotRadus),
- (int) (mDotY + mDotRadus));
- float x = event.getX();
- float y = event.getY();
-
- x = Math.max(Math.min(x, mWidth - mBorder), mBorder);
- y = Math.max(Math.min(y, mHeight - mBorder), mBorder);
- mDotX = x;
- mDotY = y;
- float sat = 1 - (mDotY - mBorder) / (mHeight - 2 * mBorder);
- if (sat > 1) {
- sat = 1;
- }
-
- double hue = Math.PI * 2 * (mDotX - mBorder) / (mHeight - 2 * mBorder);
- mHSVO[0] = ((float) Math.toDegrees(hue) + 360) % 360;
- mHSVO[1] = sat;
- notifyColorListeners(mHSVO);
- updateDotPaint();
- invalidate((int) (mDotX - mDotRadus), (int) (mDotY - mDotRadus), (int) (mDotX + mDotRadus),
- (int) (mDotY + mDotRadus));
-
- return true;
- }
-
- @Override
- protected void onSizeChanged(int w, int h, int oldw, int oldh) {
- mWidth = w;
- mHeight = h;
- mCtrY = h / 2f;
- mCtrX = w / 2f;
- mRadius = Math.min(mCtrY, mCtrX) - 2 * mBorder;
- setUpColorPanel();
- }
-
- private void setUpColorPanel() {
- float val = mHSVO[2];
- int v = 0xFF000000 | 0x10101 * (int) (val * 0xFF);
- int[] colors = new int[] {
- 0x0000000, v };
- int[] colors2 = new int[] {
- 0x0000000, 0xFF000000 };
- int[] wheelColor = new int[mColors.length];
- float[] hsv = new float[3];
- for (int i = 0; i < wheelColor.length; i++) {
- Color.colorToHSV(mColors[i], hsv);
- hsv[2] = mHSVO[2];
- wheelColor[i] = Color.HSVToColor(hsv);
- }
- updateDot();
- updateDotPaint();
- SweepGradient sg = new SweepGradient(mCtrX, mCtrY, wheelColor, null);
- LinearGradient lg = new LinearGradient(
- mBorder, 0, mWidth - mBorder, 0, wheelColor, null, Shader.TileMode.CLAMP);
-
- mWheelPaint1.setShader(lg);
- LinearGradient rg = new LinearGradient(
- 0, mBorder, 0, mHeight - mBorder, colors, null, Shader.TileMode.CLAMP);
- mWheelPaint2.setShader(rg);
- LinearGradient rg2 = new LinearGradient(
- 0, mBorder, 0, mHeight - mBorder, colors2, null, Shader.TileMode.CLAMP);
- mWheelPaint3.setShader(rg2);
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- canvas.drawColor(mBgcolor);
- RectF rect = new RectF();
- rect.left = mBorder;
- rect.right = mWidth - mBorder;
- rect.top = mBorder;
- rect.bottom = mHeight - mBorder;
-
- canvas.drawRect(rect, mWheelPaint1);
- canvas.drawRect(rect, mWheelPaint3);
- canvas.drawRect(rect, mWheelPaint2);
-
- if (mDotX != Float.NaN) {
-
- canvas.drawCircle(mDotX, mDotY, mDotRadus, mDotPaint);
- }
- }
-
- private void updateDot() {
-
- double hue = mHSVO[0];
- double sat = mHSVO[1];
-
- mDotX = (float) (mBorder + (mHeight - 2 * mBorder) * Math.toRadians(hue) / (Math.PI * 2));
- mDotY = (float) ((1 - sat) * (mHeight - 2 * mBorder) + mBorder);
-
- }
-
- private void updateDotPaint() {
- int[] colors3 = new int[] {
- mSliderColor, mSliderColor, 0x66000000, 0 };
- RadialGradient g = new RadialGradient(mDotX, mDotY, mDotRadus, colors3, new float[] {
- 0, .3f, .31f, 1 }, Shader.TileMode.CLAMP);
- mDotPaint.setShader(g);
-
- }
-
- @Override
- public void setColor(float[] hsvo) {
- System.arraycopy(hsvo, 0, mHSVO, 0, mHSVO.length);
-
- setUpColorPanel();
- invalidate();
-
- updateDot();
- updateDotPaint();
-
- }
-
- ArrayList<ColorListener> mColorListeners = new ArrayList<ColorListener>();
-
- public void notifyColorListeners(float[] hsv) {
- for (ColorListener l : mColorListeners) {
- l.setColor(hsv);
- }
- }
-
- public void addColorListener(ColorListener l) {
- mColorListeners.add(l);
- }
-
- public void removeColorListener(ColorListener l) {
- mColorListeners.remove(l);
- }
-}
diff --git a/src/com/android/gallery3d/filtershow/colorpicker/ColorValueView.java b/src/com/android/gallery3d/filtershow/colorpicker/ColorValueView.java
deleted file mode 100644
index 13cb44bad..000000000
--- a/src/com/android/gallery3d/filtershow/colorpicker/ColorValueView.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (C) 2013 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.colorpicker;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.LinearGradient;
-import android.graphics.Paint;
-import android.graphics.RadialGradient;
-import android.graphics.Shader;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.MotionEvent;
-import android.view.View;
-
-import com.android.gallery3d.R;
-
-import java.util.ArrayList;
-
-public class ColorValueView extends View implements ColorListener {
-
- private float mRadius;
- private float mWidth;
- private Paint mBarPaint1;
- private Paint mLinePaint1;
- private Paint mLinePaint2;
- private float mHeight;
- private int mBgcolor = 0;
- private Paint mDotPaint;
- private float dotRadus;
- private float mBorder;
-
- private float[] mHSVO = new float[4];
- private int mSliderColor;
- private float mDotX;
- private float mDotY = mBorder;
- private final static float DOT_SIZE = ColorRectView.DOT_SIZE;
- private final static float BORDER_SIZE = ColorRectView.DOT_SIZE;
-
- public ColorValueView(Context ctx, AttributeSet attrs) {
- super(ctx, attrs);
- DisplayMetrics metrics = ctx.getResources().getDisplayMetrics();
- float mDpToPix = metrics.density;
- dotRadus = DOT_SIZE * mDpToPix;
- mBorder = BORDER_SIZE * mDpToPix;
-
- mBarPaint1 = new Paint();
-
- mDotPaint = new Paint();
-
- mDotPaint.setStyle(Paint.Style.FILL);
- mDotPaint.setColor(ctx.getResources().getColor(R.color.slider_dot_color));
-
- mBarPaint1.setStyle(Paint.Style.FILL);
-
- mLinePaint1 = new Paint();
- mLinePaint1.setColor(Color.GRAY);
- mLinePaint2 = new Paint();
- mSliderColor = ctx.getResources().getColor(R.color.slider_line_color);
- mLinePaint2.setColor(mSliderColor);
- mLinePaint2.setStrokeWidth(4);
- }
-
- public boolean onDown(MotionEvent e) {
- return true;
- }
-
- public boolean onTouchEvent(MotionEvent event) {
- float ox = mDotX;
- float oy = mDotY;
-
- float x = event.getX();
- float y = event.getY();
-
- mDotY = y;
-
- if (mDotY < mBorder) {
- mDotY = mBorder;
- }
-
- if (mDotY > mHeight - mBorder) {
- mDotY = mHeight - mBorder;
- }
- mHSVO[2] = (mDotY - mBorder) / (mHeight - mBorder * 2);
- notifyColorListeners(mHSVO);
- setupButton();
- invalidate((int) (ox - dotRadus), (int) (oy - dotRadus), (int) (ox + dotRadus),
- (int) (oy + dotRadus));
- invalidate((int) (mDotX - dotRadus), (int) (mDotY - dotRadus), (int) (mDotX + dotRadus),
- (int) (mDotY + dotRadus));
-
- return true;
- }
-
- private void setupButton() {
- float pos = mHSVO[2] * (mHeight - mBorder * 2);
- mDotY = pos + mBorder;
-
- int[] colors3 = new int[] {
- mSliderColor, mSliderColor, 0x66000000, 0 };
- RadialGradient g = new RadialGradient(mDotX, mDotY, dotRadus, colors3, new float[] {
- 0, .3f, .31f, 1 }, Shader.TileMode.CLAMP);
- mDotPaint.setShader(g);
- }
-
- @Override
- protected void onSizeChanged(int w, int h, int oldw, int oldh) {
- mWidth = w;
- mHeight = h;
- mDotX = mWidth / 2;
- updatePaint();
- setupButton();
- }
-
- private void updatePaint() {
- float[] hsv = new float[] {
- mHSVO[0], mHSVO[1], 0f };
- int color1 = Color.HSVToColor(hsv);
- hsv[2] = 1;
- int color2 = Color.HSVToColor(hsv);
-
- Shader sg = new LinearGradient(mBorder, mBorder, mBorder, mHeight - mBorder, color1, color2,
- Shader.TileMode.CLAMP);
- mBarPaint1.setShader(sg);
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- canvas.drawColor(mBgcolor);
- canvas.drawRect(mBorder, mBorder, mWidth - mBorder, mHeight - mBorder, mBarPaint1);
- canvas.drawLine(mDotX, mDotY, mDotX, mHeight - mBorder, mLinePaint2);
- canvas.drawLine(mDotX, mBorder, mDotX, mDotY, mLinePaint1);
- if (mDotX != Float.NaN) {
- canvas.drawCircle(mDotX, mDotY, dotRadus, mDotPaint);
- }
- }
-
- @Override
- public void setColor(float[] hsvo) {
- System.arraycopy(hsvo, 0, mHSVO, 0, mHSVO.length);
-
- float oy = mDotY;
- updatePaint();
- setupButton();
- invalidate();
-
- }
-
- ArrayList<ColorListener> mColorListeners = new ArrayList<ColorListener>();
-
- public void notifyColorListeners(float[] hsv) {
- for (ColorListener l : mColorListeners) {
- l.setColor(hsv);
- }
- }
-
- public void addColorListener(ColorListener l) {
- mColorListeners.add(l);
- }
-
- public void removeColorListener(ColorListener l) {
- mColorListeners.remove(l);
- }
-}
diff --git a/src/com/android/gallery3d/filtershow/colorpicker/RGBListener.java b/src/com/android/gallery3d/filtershow/colorpicker/RGBListener.java
deleted file mode 100644
index 147fb91a4..000000000
--- a/src/com/android/gallery3d/filtershow/colorpicker/RGBListener.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2013 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.colorpicker;
-
-public interface RGBListener {
- void setColor(int hsv);
-}