27 |
27 |
import static org.distorted.objects.FactoryCubit.IVY_D;
|
28 |
28 |
import static org.distorted.objects.FactoryCubit.IVY_C;
|
29 |
29 |
import static org.distorted.objects.FactoryCubit.IVY_M;
|
|
30 |
import static org.distorted.objects.FactoryCubit.REX_D;
|
30 |
31 |
|
31 |
32 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
32 |
33 |
|
33 |
34 |
class FactorySticker
|
34 |
35 |
{
|
|
36 |
private static final float SQ2 = (float)Math.sqrt(2);
|
|
37 |
private static final float SQ3 = (float)Math.sqrt(3);
|
|
38 |
|
35 |
39 |
private static FactorySticker mThis;
|
36 |
40 |
|
37 |
41 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
... | ... | |
248 |
252 |
paint.setColor(color);
|
249 |
253 |
paint.setStyle(Paint.Style.FILL);
|
250 |
254 |
canvas.drawRect(left,top,left+TEXTURE_HEIGHT,top+TEXTURE_HEIGHT,paint);
|
|
255 |
|
|
256 |
paint.setColor(COLOR_BLACK);
|
|
257 |
paint.setStyle(Paint.Style.STROKE);
|
|
258 |
paint.setStrokeWidth(stroke*TEXTURE_HEIGHT);
|
|
259 |
|
|
260 |
float T = (0.5f-REX_D)*SQ2*(SQ3-1);
|
|
261 |
float H1 = T*(1.0f + 2*SQ3/3);
|
|
262 |
float H2 = T*(0.5f + SQ3/6);
|
|
263 |
float D = H2*SQ3;
|
|
264 |
|
|
265 |
float cx1 = left+ TEXTURE_HEIGHT*0.5f;
|
|
266 |
float cy1 = top + TEXTURE_HEIGHT*(0.5f+H1);
|
|
267 |
float cx2 = left+ TEXTURE_HEIGHT*(0.5f-D);
|
|
268 |
float cy2 = top + TEXTURE_HEIGHT*(0.5f+H2);
|
|
269 |
float cx3 = left+ TEXTURE_HEIGHT*(0.5f+D);
|
|
270 |
float cy3 = top + TEXTURE_HEIGHT*(0.5f+H2);
|
|
271 |
|
|
272 |
float R1= TEXTURE_HEIGHT*(1-2*REX_D);
|
|
273 |
|
|
274 |
canvas.drawArc( cx1-R1, cy1-R1, cx1+R1, cy1+R1, 255, 30, false ,paint);
|
|
275 |
canvas.drawArc( cx2-R1, cy2-R1, cx2+R1, cy2+R1, 315, 30, false ,paint);
|
|
276 |
canvas.drawArc( cx3-R1, cy3-R1, cx3+R1, cy3+R1, 195, 30, false ,paint);
|
|
277 |
/*
|
|
278 |
float cx = left+ TEXTURE_HEIGHT*0.5f;
|
|
279 |
float cy = top + TEXTURE_HEIGHT*0.5f;
|
|
280 |
float R2 = radius*TEXTURE_HEIGHT;
|
|
281 |
float dist = ( (0.5f-REX_D)*(SQ3-1) - (2*SQ3/3)*radius )*TEXTURE_HEIGHT;
|
|
282 |
|
|
283 |
canvas.drawArc( cx+dist-R2, cy-R2, cx+dist+R2, cy+R2, 330, 60, false ,paint);
|
|
284 |
canvas.drawArc( cx-R2, cy+dist-R2, cx+R2, cy+dist+R2, 60, 60, false ,paint);
|
|
285 |
canvas.drawArc( cx-dist-R2, cy-R2, cx-dist+R2, cy+R2, 150, 60, false ,paint);
|
|
286 |
canvas.drawArc( cx-R2, cy-dist-R2, cx+R2, cy-dist+R2, 240, 60, false ,paint);
|
|
287 |
*/
|
251 |
288 |
}
|
252 |
289 |
|
253 |
290 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
254 |
|
// TODO
|
255 |
291 |
|
256 |
292 |
void drawRexFaceSticker(Canvas canvas, Paint paint, int left, int top, int color, float stroke, float radius)
|
257 |
293 |
{
|
258 |
294 |
paint.setColor(color);
|
259 |
295 |
paint.setStyle(Paint.Style.FILL);
|
260 |
296 |
canvas.drawRect(left,top,left+TEXTURE_HEIGHT,top+TEXTURE_HEIGHT,paint);
|
|
297 |
|
|
298 |
paint.setColor(COLOR_BLACK);
|
|
299 |
paint.setStyle(Paint.Style.STROKE);
|
|
300 |
paint.setStrokeWidth(stroke*TEXTURE_HEIGHT);
|
|
301 |
|
|
302 |
float cx1 = left+ TEXTURE_HEIGHT*REX_D;
|
|
303 |
float cy1 = top + TEXTURE_HEIGHT*(1-REX_D);
|
|
304 |
float cx2 = left+ TEXTURE_HEIGHT*REX_D;
|
|
305 |
float cy2 = top + TEXTURE_HEIGHT*REX_D;
|
|
306 |
float cx3 = left+ TEXTURE_HEIGHT*(1-REX_D);
|
|
307 |
float cy3 = top + TEXTURE_HEIGHT*REX_D;
|
|
308 |
float cx4 = left+ TEXTURE_HEIGHT*(1-REX_D);
|
|
309 |
float cy4 = top + TEXTURE_HEIGHT*(1-REX_D);
|
|
310 |
float R1 = TEXTURE_HEIGHT*(1-2*REX_D);
|
|
311 |
|
|
312 |
canvas.drawArc( cx1-R1, cy1-R1, cx1+R1, cy1+R1, 300, 30, false ,paint);
|
|
313 |
canvas.drawArc( cx2-R1, cy2-R1, cx2+R1, cy2+R1, 30, 30, false ,paint);
|
|
314 |
canvas.drawArc( cx3-R1, cy3-R1, cx3+R1, cy3+R1, 120, 30, false ,paint);
|
|
315 |
canvas.drawArc( cx4-R1, cy4-R1, cx4+R1, cy4+R1, 210, 30, false ,paint);
|
|
316 |
|
|
317 |
float cx = left+ TEXTURE_HEIGHT*0.5f;
|
|
318 |
float cy = top + TEXTURE_HEIGHT*0.5f;
|
|
319 |
float R2 = radius*TEXTURE_HEIGHT;
|
|
320 |
float dist = ( (0.5f-REX_D)*(SQ3-1) - (2*SQ3/3)*radius )*TEXTURE_HEIGHT;
|
|
321 |
|
|
322 |
canvas.drawArc( cx+dist-R2, cy-R2, cx+dist+R2, cy+R2, 330, 60, false ,paint);
|
|
323 |
canvas.drawArc( cx-R2, cy+dist-R2, cx+R2, cy+dist+R2, 60, 60, false ,paint);
|
|
324 |
canvas.drawArc( cx-dist-R2, cy-R2, cx-dist+R2, cy+R2, 150, 60, false ,paint);
|
|
325 |
canvas.drawArc( cx-R2, cy-dist-R2, cx+R2, cy-dist+R2, 240, 60, false ,paint);
|
261 |
326 |
}
|
262 |
327 |
|
263 |
328 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
Progress with the Rex Cube (stickers)