Revision dd00d051
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/automator/ObjectAutomator.java | ||
---|---|---|
23 | 23 |
|
24 | 24 |
import android.app.Activity; |
25 | 25 |
|
26 |
import org.distorted.library.main.DistortedFramebuffer; |
|
26 | 27 |
import org.distorted.library.main.DistortedNode; |
27 |
import org.distorted.library.main.DistortedScreen; |
|
28 | 28 |
import org.distorted.library.message.EffectListener; |
29 | 29 |
import org.distorted.library.type.Static4D; |
30 | 30 |
|
... | ... | |
48 | 48 |
|
49 | 49 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
50 | 50 |
|
51 |
DistortedScreen getScreen()
|
|
51 |
DistortedFramebuffer getFramebuffer()
|
|
52 | 52 |
{ |
53 | 53 |
ObjectLibInterface inter = mObjectControl.getInterface(); |
54 |
return inter.getScreen();
|
|
54 |
return inter.getFramebuffer();
|
|
55 | 55 |
} |
56 | 56 |
|
57 | 57 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
79 | 79 |
|
80 | 80 |
private void addWholeObjects() |
81 | 81 |
{ |
82 |
DistortedScreen screen = getScreen();
|
|
82 |
DistortedFramebuffer frame = getFramebuffer();
|
|
83 | 83 |
DistortedNode[] nodes = mWhole.getNodes(); |
84 | 84 |
|
85 |
if( screen!=null && nodes!=null )
|
|
85 |
if( frame!=null && nodes!=null )
|
|
86 | 86 |
{ |
87 |
for (DistortedNode node : nodes) screen.attach(node);
|
|
87 |
for (DistortedNode node : nodes) frame.attach(node);
|
|
88 | 88 |
} |
89 | 89 |
} |
90 | 90 |
|
... | ... | |
92 | 92 |
|
93 | 93 |
private void removeWholeObjects() |
94 | 94 |
{ |
95 |
DistortedScreen screen = getScreen();
|
|
95 |
DistortedFramebuffer frame = getFramebuffer();
|
|
96 | 96 |
DistortedNode[] nodes = mWhole.returnNodes(); |
97 | 97 |
|
98 |
if( screen!=null && nodes!=null )
|
|
98 |
if( frame!=null && nodes!=null )
|
|
99 | 99 |
{ |
100 |
for (DistortedNode node : nodes) screen.detach(node);
|
|
100 |
for (DistortedNode node : nodes) frame.detach(node);
|
|
101 | 101 |
} |
102 | 102 |
} |
103 | 103 |
|
... | ... | |
105 | 105 |
|
106 | 106 |
private void addRotateObjects() |
107 | 107 |
{ |
108 |
DistortedScreen screen = getScreen();
|
|
108 |
DistortedFramebuffer frame = getFramebuffer();
|
|
109 | 109 |
DistortedNode[] screenNodes = mRotate.getScreenNodes(); |
110 | 110 |
|
111 |
if( screen!=null && screenNodes!=null )
|
|
111 |
if( frame!=null && screenNodes!=null )
|
|
112 | 112 |
{ |
113 |
for (DistortedNode node : screenNodes) screen.attach(node);
|
|
113 |
for (DistortedNode node : screenNodes) frame.attach(node);
|
|
114 | 114 |
} |
115 | 115 |
|
116 | 116 |
DistortedNode object = mObjectControl.getObject(); |
... | ... | |
126 | 126 |
|
127 | 127 |
private void removeRotateObjects() |
128 | 128 |
{ |
129 |
DistortedScreen screen = getScreen();
|
|
129 |
DistortedFramebuffer frame = getFramebuffer();
|
|
130 | 130 |
DistortedNode[] screenNodes = mRotate.returnScreenNodes(); |
131 | 131 |
|
132 |
if( screen!=null && screenNodes!=null )
|
|
132 |
if( frame!=null && screenNodes!=null )
|
|
133 | 133 |
{ |
134 |
for (DistortedNode node : screenNodes) screen.detach(node);
|
|
134 |
for (DistortedNode node : screenNodes) frame.detach(node);
|
|
135 | 135 |
} |
136 | 136 |
|
137 | 137 |
DistortedNode object = mObjectControl.getObject(); |
src/main/java/org/distorted/objectlib/automator/ObjectAutomatorRotate.java | ||
---|---|---|
29 | 29 |
import org.distorted.library.effect.MatrixEffectQuaternion; |
30 | 30 |
import org.distorted.library.effect.MatrixEffectScale; |
31 | 31 |
import org.distorted.library.main.DistortedEffects; |
32 |
import org.distorted.library.main.DistortedFramebuffer; |
|
32 | 33 |
import org.distorted.library.main.DistortedNode; |
33 |
import org.distorted.library.main.DistortedScreen; |
|
34 | 34 |
import org.distorted.library.main.DistortedTexture; |
35 | 35 |
import org.distorted.library.mesh.MeshQuad; |
36 | 36 |
import org.distorted.library.message.EffectListener; |
... | ... | |
194 | 194 |
mScreenEffects = new DistortedEffects[NUM_SCREEN]; |
195 | 195 |
mScreenEffects[0]= new DistortedEffects(); |
196 | 196 |
|
197 |
DistortedScreen screen = mControl.getScreen();
|
|
198 |
int wid = screen.getWidth();
|
|
197 |
DistortedFramebuffer frame = mControl.getFramebuffer();
|
|
198 |
int wid = frame.getWidth();
|
|
199 | 199 |
|
200 | 200 |
Static3D scaleStart= new Static3D(1,1,1); |
201 | 201 |
Static3D scaleEnd = new Static3D(wid,wid,wid); |
... | ... | |
243 | 243 |
mQuaternion = new MatrixEffectQuaternion(mDynamic4, center); |
244 | 244 |
mCubeEffectID = mQuaternion.getID(); |
245 | 245 |
|
246 |
DistortedScreen screen = mControl.getScreen();
|
|
247 |
int wid = screen.getWidth();
|
|
246 |
DistortedFramebuffer frame = mControl.getFramebuffer();
|
|
247 |
int wid = frame.getWidth();
|
|
248 | 248 |
Static3D scaleFactor = new Static3D(wid,wid*0.1f,10); |
249 | 249 |
MatrixEffectScale scale = new MatrixEffectScale(scaleFactor); |
250 | 250 |
MatrixEffectQuaternion quat = new MatrixEffectQuaternion(INIT_QUAT,center); |
src/main/java/org/distorted/objectlib/automator/ObjectAutomatorWhole.java | ||
---|---|---|
29 | 29 |
import org.distorted.library.effect.MatrixEffectMove; |
30 | 30 |
import org.distorted.library.effect.MatrixEffectScale; |
31 | 31 |
import org.distorted.library.main.DistortedEffects; |
32 |
import org.distorted.library.main.DistortedFramebuffer; |
|
32 | 33 |
import org.distorted.library.main.DistortedNode; |
33 |
import org.distorted.library.main.DistortedScreen; |
|
34 | 34 |
import org.distorted.library.main.DistortedTexture; |
35 | 35 |
import org.distorted.library.mesh.MeshQuad; |
36 | 36 |
import org.distorted.library.type.Dynamic; |
... | ... | |
801 | 801 |
mEffects[3].apply(scaleHand2); |
802 | 802 |
mEffects[3].apply(moveHand2); |
803 | 803 |
|
804 |
DistortedScreen screen = mControl.getScreen();
|
|
805 |
mWidth = screen.getWidth();
|
|
806 |
mHeight= screen.getHeight();
|
|
804 |
DistortedFramebuffer frame = mControl.getFramebuffer();
|
|
805 |
mWidth = frame.getWidth();
|
|
806 |
mHeight= frame.getHeight();
|
|
807 | 807 |
|
808 | 808 |
X0 = mWidth*0.65f; |
809 | 809 |
X1 = mWidth*0.50f; |
src/main/java/org/distorted/objectlib/effects/BaseEffect.java | ||
---|---|---|
23 | 23 |
import java.lang.reflect.Method; |
24 | 24 |
import android.content.SharedPreferences; |
25 | 25 |
|
26 |
import org.distorted.library.main.DistortedScreen;
|
|
26 |
import org.distorted.library.main.DistortedFramebuffer;
|
|
27 | 27 |
|
28 | 28 |
import org.distorted.objectlib.effects.scramble.ScrambleEffect; |
29 | 29 |
import org.distorted.objectlib.effects.objectchange.ObjectChangeEffect; |
... | ... | |
198 | 198 |
|
199 | 199 |
//////////////////////////////////////////////////////////////////////////////// |
200 | 200 |
|
201 |
public long startEffect(DistortedScreen screen, ObjectPreRender pre) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException
|
|
201 |
public long startEffect(DistortedFramebuffer frame, ObjectPreRender pre) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException
|
|
202 | 202 |
{ |
203 | 203 |
Method method1 = mClass.getDeclaredMethod("create", int.class); |
204 | 204 |
|
205 | 205 |
Object value1 = method1.invoke(null,mCurrentType); |
206 | 206 |
BaseEffect baseEffect = (BaseEffect)value1; |
207 | 207 |
|
208 |
Method method2 = mClass.getDeclaredMethod("start", int.class, DistortedScreen.class, ObjectPreRender.class);
|
|
208 |
Method method2 = mClass.getDeclaredMethod("start", int.class, DistortedFramebuffer.class, ObjectPreRender.class);
|
|
209 | 209 |
|
210 | 210 |
Integer translated = translatePos(mCurrentPos)+1; |
211 |
Object value2 = method2.invoke(baseEffect,translated,screen,pre);
|
|
211 |
Object value2 = method2.invoke(baseEffect,translated,frame,pre);
|
|
212 | 212 |
return (Long)value2; |
213 | 213 |
} |
214 | 214 |
|
src/main/java/org/distorted/objectlib/effects/objectchange/ObjectChangeEffect.java | ||
---|---|---|
23 | 23 |
|
24 | 24 |
import org.distorted.library.effect.Effect; |
25 | 25 |
import org.distorted.library.main.DistortedEffects; |
26 |
import org.distorted.library.main.DistortedScreen;
|
|
26 |
import org.distorted.library.main.DistortedFramebuffer;
|
|
27 | 27 |
import org.distorted.library.message.EffectListener; |
28 | 28 |
|
29 | 29 |
import org.distorted.objectlib.main.ObjectPreRender; |
... | ... | |
75 | 75 |
|
76 | 76 |
ObjectPreRender mPre; |
77 | 77 |
TwistyObject[] mObject; |
78 |
DistortedScreen mScreen;
|
|
78 |
DistortedFramebuffer mFrame;
|
|
79 | 79 |
Effect[][] mCubeEffects; |
80 | 80 |
int[][] mCubeEffectPosition; |
81 | 81 |
Effect[][] mNodeEffects; |
... | ... | |
143 | 143 |
case 0: mPhaseActive[1] = true; |
144 | 144 |
mEffectFinished[1] = createEffectsPhase1(mDuration); |
145 | 145 |
assignEffects(1); |
146 |
mScreen.attach(mObject[1]);
|
|
146 |
mFrame.attach(mObject[1]);
|
|
147 | 147 |
break; |
148 | 148 |
case 1: mPre.effectFinished(FAKE_EFFECT_ID); |
149 | 149 |
break; |
... | ... | |
154 | 154 |
switch(phase) |
155 | 155 |
{ |
156 | 156 |
case 0: mPhaseActive[0] = false; |
157 |
mScreen.detach(mObject[0]);
|
|
157 |
mFrame.detach(mObject[0]);
|
|
158 | 158 |
break; |
159 | 159 |
case 1: mPhaseActive[1] = false; |
160 | 160 |
break; |
... | ... | |
225 | 225 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
226 | 226 |
|
227 | 227 |
@SuppressWarnings("unused") |
228 |
public long start(int duration, DistortedScreen screen, ObjectPreRender pre)
|
|
228 |
public long start(int duration, DistortedFramebuffer frame, ObjectPreRender pre)
|
|
229 | 229 |
{ |
230 |
mScreen = screen;
|
|
230 |
mFrame = frame;
|
|
231 | 231 |
mObject[0] = pre.getOldObject(); |
232 | 232 |
mObject[1] = pre.getObject(); |
233 | 233 |
mPre = pre; |
... | ... | |
244 | 244 |
mPhaseActive[1] = true; |
245 | 245 |
mEffectFinished[1] = createEffectsPhase1(mDuration); |
246 | 246 |
assignEffects(1); |
247 |
mScreen.attach(mObject[1]);
|
|
247 |
mFrame.attach(mObject[1]);
|
|
248 | 248 |
} |
249 | 249 |
|
250 | 250 |
return FAKE_EFFECT_ID; |
src/main/java/org/distorted/objectlib/effects/objectchange/ObjectChangeEffectMove.java | ||
---|---|---|
30 | 30 |
{ |
31 | 31 |
public int createEffectsPhase0(int duration) |
32 | 32 |
{ |
33 |
int w = mScreen.getWidth();
|
|
34 |
int h = mScreen.getHeight();
|
|
33 |
int w = mFrame.getWidth();
|
|
34 |
int h = mFrame.getHeight();
|
|
35 | 35 |
int xmove = w/2 + (w<h?w:h)/2; |
36 | 36 |
|
37 | 37 |
mNodeEffectPosition[0] = new int[] {1}; |
... | ... | |
49 | 49 |
|
50 | 50 |
public int createEffectsPhase1(int duration) |
51 | 51 |
{ |
52 |
int w = mScreen.getWidth();
|
|
53 |
int h = mScreen.getHeight();
|
|
52 |
int w = mFrame.getWidth();
|
|
53 |
int h = mFrame.getHeight();
|
|
54 | 54 |
int xmove = w/2 + (w<h?w:h)/2; |
55 | 55 |
|
56 | 56 |
mNodeEffectPosition[1] = new int[] {1}; |
src/main/java/org/distorted/objectlib/effects/scramble/ScrambleEffect.java | ||
---|---|---|
24 | 24 |
|
25 | 25 |
import org.distorted.library.effect.Effect; |
26 | 26 |
import org.distorted.library.main.DistortedEffects; |
27 |
import org.distorted.library.main.DistortedScreen;
|
|
27 |
import org.distorted.library.main.DistortedFramebuffer;
|
|
28 | 28 |
import org.distorted.library.message.EffectListener; |
29 | 29 |
|
30 | 30 |
import org.distorted.objectlib.main.ObjectPreRender; |
... | ... | |
258 | 258 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
259 | 259 |
|
260 | 260 |
@SuppressWarnings("unused") |
261 |
public long start(int duration, DistortedScreen screen, ObjectPreRender pre)
|
|
261 |
public long start(int duration, DistortedFramebuffer frame, ObjectPreRender pre)
|
|
262 | 262 |
{ |
263 | 263 |
mObject= pre.getObject(); |
264 | 264 |
mPre = pre; |
src/main/java/org/distorted/objectlib/effects/solve/SolveEffect.java | ||
---|---|---|
23 | 23 |
|
24 | 24 |
import org.distorted.library.effect.Effect; |
25 | 25 |
import org.distorted.library.main.DistortedEffects; |
26 |
import org.distorted.library.main.DistortedScreen;
|
|
26 |
import org.distorted.library.main.DistortedFramebuffer;
|
|
27 | 27 |
import org.distorted.library.message.EffectListener; |
28 | 28 |
|
29 | 29 |
import org.distorted.objectlib.main.ObjectPreRender; |
... | ... | |
72 | 72 |
|
73 | 73 |
ObjectPreRender mPre; |
74 | 74 |
TwistyObject mObject; |
75 |
DistortedScreen mScreen;
|
|
75 |
DistortedFramebuffer mFrame;
|
|
76 | 76 |
Effect[][] mCubeEffects; |
77 | 77 |
int[][] mCubeEffectPosition; |
78 | 78 |
Effect[][] mNodeEffects; |
... | ... | |
199 | 199 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
200 | 200 |
|
201 | 201 |
@SuppressWarnings("unused") |
202 |
public long start(int duration, DistortedScreen screen, ObjectPreRender pre)
|
|
202 |
public long start(int duration, DistortedFramebuffer frame, ObjectPreRender pre)
|
|
203 | 203 |
{ |
204 |
mScreen = screen;
|
|
204 |
mFrame = frame;
|
|
205 | 205 |
mObject = pre.getObject(); |
206 | 206 |
mPre = pre; |
207 | 207 |
mDuration= duration; |
src/main/java/org/distorted/objectlib/effects/win/WinEffect.java | ||
---|---|---|
23 | 23 |
|
24 | 24 |
import org.distorted.library.effect.Effect; |
25 | 25 |
import org.distorted.library.main.DistortedEffects; |
26 |
import org.distorted.library.main.DistortedScreen;
|
|
26 |
import org.distorted.library.main.DistortedFramebuffer;
|
|
27 | 27 |
import org.distorted.library.message.EffectListener; |
28 | 28 |
|
29 | 29 |
import org.distorted.objectlib.main.ObjectPreRender; |
... | ... | |
69 | 69 |
|
70 | 70 |
ObjectPreRender mPre; |
71 | 71 |
TwistyObject mObject; |
72 |
DistortedScreen mScreen;
|
|
72 |
DistortedFramebuffer mFrame;
|
|
73 | 73 |
Effect[] mCubeEffects; |
74 | 74 |
int[] mCubeEffectPosition; |
75 | 75 |
Effect[] mNodeEffects; |
... | ... | |
164 | 164 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
165 | 165 |
|
166 | 166 |
@SuppressWarnings("unused") |
167 |
public long start(int duration, DistortedScreen screen, ObjectPreRender pre)
|
|
167 |
public long start(int duration, DistortedFramebuffer frame, ObjectPreRender pre)
|
|
168 | 168 |
{ |
169 |
mScreen = screen;
|
|
169 |
mFrame = frame;
|
|
170 | 170 |
mObject = pre.getObject(); |
171 | 171 |
mPre = pre; |
172 | 172 |
mDuration = duration; |
src/main/java/org/distorted/objectlib/effects/win/WinEffectGlow.java | ||
---|---|---|
69 | 69 |
|
70 | 70 |
float moveX = mPre.getMoveX(); |
71 | 71 |
float moveY = mPre.getMoveY(); |
72 |
int width = mScreen.getWidth();
|
|
73 |
int height = mScreen.getHeight();
|
|
72 |
int width = mFrame.getWidth();
|
|
73 |
int height = mFrame.getHeight();
|
|
74 | 74 |
Static3D center = new Static3D(moveX/width, moveY/height, 0); |
75 | 75 |
float ratio = 0.5f*mObject.getRatio(); |
76 | 76 |
|
src/main/java/org/distorted/objectlib/helpers/ObjectLibInterface.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
package org.distorted.objectlib.helpers; |
21 | 21 |
|
22 |
import org.distorted.library.main.DistortedScreen; |
|
22 |
import org.distorted.library.main.DistortedFramebuffer; |
|
23 |
|
|
23 | 24 |
import org.distorted.objectlib.main.ObjectControl; |
24 | 25 |
import org.distorted.objectlib.main.ObjectType; |
25 | 26 |
|
... | ... | |
39 | 40 |
int getCurrentColor(); |
40 | 41 |
int cubitIsLocked(ObjectType type, int cubit); |
41 | 42 |
ObjectControl getControl(); |
42 |
DistortedScreen getScreen();
|
|
43 |
DistortedFramebuffer getFramebuffer();
|
|
43 | 44 |
} |
src/main/java/org/distorted/objectlib/main/ObjectPreRender.java | ||
---|---|---|
24 | 24 |
import android.app.Activity; |
25 | 25 |
import android.content.SharedPreferences; |
26 | 26 |
|
27 |
import org.distorted.library.main.DistortedScreen;
|
|
27 |
import org.distorted.library.main.DistortedFramebuffer;
|
|
28 | 28 |
import org.distorted.library.message.EffectListener; |
29 | 29 |
|
30 | 30 |
import org.distorted.library.type.Static3D; |
... | ... | |
125 | 125 |
try |
126 | 126 |
{ |
127 | 127 |
int index = type.ordinal(); |
128 |
DistortedScreen screen = mController.getInterface().getScreen();
|
|
129 |
mEffectID[index] = type.startEffect(screen,this);
|
|
128 |
DistortedFramebuffer frame = mController.getInterface().getFramebuffer();
|
|
129 |
mEffectID[index] = type.startEffect(frame,this);
|
|
130 | 130 |
} |
131 | 131 |
catch( Exception ex ) |
132 | 132 |
{ |
Also available in: Unified diff
Relax objectlib's requirements: it can be displayed not only on top of a DistortedScreen, but any DistortedFramebuffer.