| 57 |
57 |
private TextView mText,mTextRegion,mTextCenter;
|
| 58 |
58 |
|
| 59 |
59 |
private Dynamic1D mDyn1;
|
|
60 |
private Dynamic2D mDyn2;
|
| 60 |
61 |
private Dynamic3D mDyn3;
|
| 61 |
62 |
private Dynamic5D mDyn5;
|
| 62 |
63 |
private Static1D mSta1;
|
|
64 |
private Static2D mSta2;
|
| 63 |
65 |
private Static3D mSta3;
|
| 64 |
66 |
private Static5D mSta5;
|
| 65 |
67 |
private Dynamic4D mRegionDyn;
|
| ... | ... | |
| 70 |
72 |
private View mButton, mEffect, mCenter, mRegion;
|
| 71 |
73 |
private long mId;
|
| 72 |
74 |
|
| 73 |
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| 74 |
|
// requires knowledge about effect nature
|
| 75 |
|
|
| 76 |
|
private int getDimension()
|
| 77 |
|
{
|
| 78 |
|
switch(mName)
|
| 79 |
|
{
|
| 80 |
|
case DISTORT :
|
| 81 |
|
case DEFORM : return 3;
|
| 82 |
|
|
| 83 |
|
case CHROMA :
|
| 84 |
|
case SMOOTH_CHROMA: return 4;
|
| 85 |
|
|
| 86 |
|
case WAVE : return 5;
|
| 87 |
|
|
| 88 |
|
default : return 1;
|
| 89 |
|
}
|
| 90 |
|
}
|
| 91 |
|
|
| 92 |
75 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| 93 |
76 |
// requires knowledge about effect nature
|
| 94 |
77 |
|
| ... | ... | |
| 117 |
100 |
}
|
| 118 |
101 |
}
|
| 119 |
102 |
|
| 120 |
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| 121 |
|
// requires knowledge about effect nature
|
| 122 |
|
|
| 123 |
|
private boolean supportsRegion()
|
| 124 |
|
{
|
| 125 |
|
return mName != EffectNames.DEFORM;
|
| 126 |
|
}
|
| 127 |
|
|
| 128 |
103 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| 129 |
104 |
// requires knowledge about effect nature
|
| 130 |
105 |
|
| ... | ... | |
| 147 |
122 |
float v2 = (mInter[4]-50)*180 / 50;
|
| 148 |
123 |
mSta5.set(x2,y2,z2,w2,v2);
|
| 149 |
124 |
break;
|
| 150 |
|
case SINK : mSta1.set(mInter[0] > 50 ? 50.0f/(100.01f-mInter[0]) : mInter[0] / 50.0f);
|
| 151 |
|
break;
|
| 152 |
125 |
case SWIRL : mSta1.set( 3.6f*(mInter[0]-50) );
|
| 153 |
126 |
break;
|
| 154 |
|
|
| 155 |
127 |
case ALPHA :
|
| 156 |
128 |
case SMOOTH_ALPHA : mSta1.set(mInter[0]/100.0f);
|
| 157 |
129 |
break;
|
|
130 |
case SINK :
|
| 158 |
131 |
case SATURATION :
|
| 159 |
132 |
case SMOOTH_SATURATION:
|
| 160 |
133 |
case CONTRAST :
|
| ... | ... | |
| 172 |
145 |
}
|
| 173 |
146 |
|
| 174 |
147 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| 175 |
|
// requires knowledge about effect nature
|
| 176 |
148 |
|
| 177 |
149 |
private void setDefaultInter()
|
| 178 |
150 |
{
|
| 179 |
|
switch(mName)
|
|
151 |
switch(mDimension)
|
| 180 |
152 |
{
|
| 181 |
|
case DISTORT :
|
| 182 |
|
case DEFORM : mInter[0] = 50;
|
| 183 |
|
mInter[1] = 50;
|
| 184 |
|
mInter[2] = 50;
|
| 185 |
|
break;
|
| 186 |
|
case WAVE : mInter[0] = 50;
|
| 187 |
|
mInter[1] = 50;
|
| 188 |
|
mInter[2] = 50;
|
| 189 |
|
mInter[3] = 50;
|
| 190 |
|
mInter[4] = 50;
|
| 191 |
|
break;
|
| 192 |
|
case SINK :
|
| 193 |
|
case SWIRL : mInter[0] = 50;
|
| 194 |
|
break;
|
| 195 |
|
|
| 196 |
|
case ALPHA :
|
| 197 |
|
case SMOOTH_ALPHA :
|
| 198 |
|
case BRIGHTNESS :
|
| 199 |
|
case SMOOTH_BRIGHTNESS:
|
| 200 |
|
case SATURATION :
|
| 201 |
|
case SMOOTH_SATURATION:
|
| 202 |
|
case CONTRAST :
|
| 203 |
|
case SMOOTH_CONTRAST : mInter[0] = 50;
|
| 204 |
|
break;
|
| 205 |
|
|
| 206 |
|
case CHROMA :
|
| 207 |
|
case SMOOTH_CHROMA : mInter[0] = 50;
|
| 208 |
|
mInter[1] = 0;
|
| 209 |
|
mInter[2] = 0;
|
| 210 |
|
mInter[3] = 0;
|
| 211 |
|
break;
|
|
153 |
case 5: mInter[4] = 50;
|
|
154 |
case 4: mInter[3] = 50;
|
|
155 |
case 3: mInter[2] = 50;
|
|
156 |
case 2: mInter[1] = 50;
|
|
157 |
case 1: mInter[0] = 50;
|
| 212 |
158 |
}
|
| 213 |
159 |
}
|
| 214 |
160 |
|
| ... | ... | |
| 224 |
170 |
text += " "+f1;
|
| 225 |
171 |
}
|
| 226 |
172 |
|
|
173 |
if( mSta2 !=null )
|
|
174 |
{
|
|
175 |
float f1 = ((int)(mSta2.getX()*100))/100.0f;
|
|
176 |
float f2 = ((int)(mSta2.getY()*100))/100.0f;
|
|
177 |
text += " ("+f1+","+f2+")";
|
|
178 |
}
|
|
179 |
|
| 227 |
180 |
if( mSta3 !=null )
|
| 228 |
181 |
{
|
| 229 |
182 |
float f1 = ((int)(mSta3.getX()*100))/100.0f;
|
| ... | ... | |
| 323 |
276 |
mName = name;
|
| 324 |
277 |
|
| 325 |
278 |
mDyn1 = null;
|
|
279 |
mDyn2 = null;
|
| 326 |
280 |
mDyn3 = null;
|
| 327 |
281 |
mDyn5 = null;
|
| 328 |
282 |
mSta1 = null;
|
|
283 |
mSta2 = null;
|
| 329 |
284 |
mSta3 = null;
|
| 330 |
285 |
mSta5 = null;
|
| 331 |
286 |
|
| 332 |
|
mDimension = getDimension();
|
|
287 |
mDimension = mName.getDimension();
|
| 333 |
288 |
|
| 334 |
289 |
switch(mDimension)
|
| 335 |
290 |
{
|
| ... | ... | |
| 337 |
292 |
mSta1 = new Static1D(0);
|
| 338 |
293 |
mDyn1.add(mSta1);
|
| 339 |
294 |
break;
|
|
295 |
case 2 : mDyn2 = new Dynamic2D();
|
|
296 |
mSta2 = new Static2D(0,0);
|
|
297 |
mDyn2.add(mSta2);
|
|
298 |
break;
|
| 340 |
299 |
case 3 : mDyn3 = new Dynamic3D();
|
| 341 |
300 |
mSta3 = new Static3D(0,0,0);
|
| 342 |
301 |
mDyn3.add(mSta3);
|
| ... | ... | |
| 448 |
407 |
seek[i].setProgress( mInter[i] );
|
| 449 |
408 |
}
|
| 450 |
409 |
|
| 451 |
|
Effects3DActivity.setSupportsRegion(supportsRegion());
|
|
410 |
Effects3DActivity.setSupportsRegion(mName.supportsRegion());
|
| 452 |
411 |
Effects3DActivity.setTypeVertex(mName.getType() == EffectTypes.VERTEX);
|
| 453 |
412 |
|
| 454 |
413 |
return mEffect;
|
| ... | ... | |
| 595 |
554 |
|
| 596 |
555 |
if( fromUser )
|
| 597 |
556 |
{
|
| 598 |
|
Effects3DActivity.setSupportsRegion(supportsRegion());
|
|
557 |
Effects3DActivity.setSupportsRegion(mName.supportsRegion());
|
| 599 |
558 |
Effects3DActivity.setTypeVertex(mName.getType() == EffectTypes.VERTEX);
|
| 600 |
559 |
|
| 601 |
560 |
Effects3DActivity act = mAct.get();
|
Encode more info in the EfectNames enum.