1 package mhr.app.fragments.toolbox;
3 import java.util.ArrayList;
5 import mhr.app.AppMainActivity;
7 import mhr.app.touchlisteners.BrushToolTouchListener;
8 import mhr.appandroid.views.CurvesView;
9 import mhr.appandroid.views.CurvesView.CurvesViewChangeListener;
10 import mhr.appandroid.views.LabelledSeekBar;
11 import mhr.appandroid.views.LabelledSeekBar.LabelledSBChangeListener;
12 import mhr.appandroid.views.brushpicker.RoundBrushPickerView;
13 import mhr.appandroid.views.brushpicker.RoundBrushPickerView.RoundBrushPickerEvent;
14 import mhr.appandroid.views.brushpicker.RoundBrushPickerView.RoundBrushPickerViewEventListener;
15 import mhr.appandroid.views.pathpicker.PathPickerView;
16 import mhr.appandroid.views.pathpicker.PathPickerView.PathParams;
17 import mhr.appandroid.views.pathpicker.PathPickerView.PathPickerEvent;
18 import mhr.appandroid.views.pathpicker.PathPickerView.PathPickerViewEventListener;
19 import mhr.appcore.bitmap.NBitmap;
20 import mhr.appcore.commands.toolcommands.SelectToolCommand;
21 import mhr.appcore.image.Image;
22 import mhr.appcore.tools.Tool;
23 import mhr.appcore.tools.actiondata.ToolActionData;
24 import mhr.appcore.tools.brushlike.BrightnessLUTBrush;
25 import mhr.appcore.tools.brushlike.ContrastLUTBrush;
26 import mhr.appcore.tools.brushlike.CurvesLUTBrush;
27 import mhr.appcore.tools.brushlike.GammaLUTBrush;
28 import mhr.appcore.tools.exceptions.ToolNotApplicableException;
29 import mhr.appcore.utils.Rect;
30 import android.app.Activity;
31 import android.app.Fragment;
32 import android.os.Bundle;
33 import android.util.SparseArray;
34 import android.view.LayoutInflater;
35 import android.view.View;
36 import android.view.View.OnClickListener;
37 import android.view.ViewGroup;
38 import android.widget.AdapterView;
39 import android.widget.AdapterView.OnItemSelectedListener;
40 import android.widget.ArrayAdapter;
41 import android.widget.Button;
42 import android.widget.FrameLayout;
43 import android.widget.RadioGroup;
44 import android.widget.SeekBar;
45 import android.widget.Spinner;
46 import android.widget.Toast;
52 OnItemSelectedListener {
58 public void setTool(
NBitmap brush,
double opacity,
double flow,
double spacing);
90 protected View
initView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
91 root = inflater.inflate(
R.layout.fragment_point_operation_brush_tool_settings, container,
false);
101 opPicker = (Spinner)
root.findViewById(
R.id.PointOpBrushOperationPickerSP);
102 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
activity,
R.array.PointOpBrushNames, android.R.layout.simple_spinner_item);
103 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
105 opPicker.setOnItemSelectedListener(
this);
112 public void setTool(
NBitmap brush,
double opacity,
double flow,
double spacing) {
117 public void onPickerActivated() {
127 public void onPickerDeactivated() {
138 public void setTool(
NBitmap brush,
double opacity,
double flow,
double spacing) {
143 public void onPickerActivated() {
153 public void onPickerDeactivated() {
164 public void setTool(
NBitmap brush,
double opacity,
double flow,
double spacing) {
169 public void onPickerActivated() {
179 public void onPickerDeactivated() {
187 protected View toolRoot;
194 protected Spinner ChSp;
198 protected float[][] defVals =
new float[][] {
204 public void setTool(
NBitmap brush,
double opacity,
double flow,
double spacing) {
210 public void onPickerActivated() {
211 if (toolRoot == null) {
213 ChSp = (Spinner) toolRoot.findViewById(
R.id.ChannelSp);
215 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
activity,
R.array.CurvesChannelNames, android.R.layout.simple_spinner_item);
216 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
217 ChSp.setAdapter(adapter);
218 ChSp.setOnItemSelectedListener(
new OnItemSelectedListener() {
221 public void onItemSelected(AdapterView<?> parent, View view,
int position,
long id) {
222 selected.setVisibility(View.GONE);
240 selected.setVisibility(View.VISIBLE);
249 MV = (
CurvesView) toolRoot.findViewById(
R.id.CurvesMaster);
250 RV = (
CurvesView) toolRoot.findViewById(
R.id.CurvesRed);
251 GV = (
CurvesView) toolRoot.findViewById(
R.id.CurvesGreen);
252 BV = (
CurvesView) toolRoot.findViewById(
R.id.CurvesBlue);
253 AV = (
CurvesView) toolRoot.findViewById(
R.id.CurvesAplha);
256 toolRoot.findViewById(
R.id.CurvesCancelBtn).setOnClickListener(
new OnClickListener() {
268 toolRoot.findViewById(
R.id.CurvesSelectBtn).setOnClickListener(
new OnClickListener() {
283 public void onPickerDeactivated() {
321 public void onItemSelected(AdapterView<?> parent, View view,
int position,
long id) {
338 case R.id.SelectPointOperationBrushToolBtn:
374 case EVENT_LIVE_PREVIEW_STATE_CHANGED:
391 case EVENT_LIVE_PREVIEW_STATE_CHANGED:
409 super.onAttach(activity);
428 public View
onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
439 return initView(inflater, container, savedInstanceState);