@@ -42,7 +42,7 @@ VectorJuiceUI::VectorJuiceUI()
42
42
fCanvasArea .setSize (368 -24 , 368 -24 );
43
43
44
44
// background
45
- fImgBackground = Image (VectorJuiceArtwork::backgroundData, VectorJuiceArtwork::backgroundWidth, VectorJuiceArtwork::backgroundHeight, GL_BGR );
45
+ fImgBackground = Image (VectorJuiceArtwork::backgroundData, VectorJuiceArtwork::backgroundWidth, VectorJuiceArtwork::backgroundHeight, kImageFormatBGR );
46
46
47
47
// roundlet
48
48
fImgRoundlet = Image (VectorJuiceArtwork::roundletData, VectorJuiceArtwork::roundletWidth, VectorJuiceArtwork::roundletHeight);
@@ -54,7 +54,7 @@ VectorJuiceUI::VectorJuiceUI()
54
54
fImgSubOrbit = Image (VectorJuiceArtwork::subOrbitData, VectorJuiceArtwork::subOrbitWidth, VectorJuiceArtwork::subOrbitHeight);
55
55
56
56
// about
57
- Image aboutImage (VectorJuiceArtwork::aboutData, VectorJuiceArtwork::aboutWidth, VectorJuiceArtwork::aboutHeight, GL_BGR );
57
+ Image aboutImage (VectorJuiceArtwork::aboutData, VectorJuiceArtwork::aboutWidth, VectorJuiceArtwork::aboutHeight, kImageFormatBGR );
58
58
fAboutWindow .setImage (aboutImage);
59
59
60
60
// about button
@@ -344,12 +344,12 @@ void VectorJuiceUI::onDisplay()
344
344
fImgBackground .draw (context);
345
345
346
346
// get x, y mapped to XY area
347
- int x = fCanvasArea .getX () + paramX*fCanvasArea .getWidth () - fImgRoundlet .getWidth ()/2 ;
348
- int y = fCanvasArea .getY () + paramY*fCanvasArea .getHeight () - fImgRoundlet .getHeight ()/2 ;
349
- int nOrbitX = fCanvasArea .getX ()+((orbitX)*fCanvasArea .getWidth ())-15 ;
350
- int nOrbitY = fCanvasArea .getY ()+((orbitY)*fCanvasArea .getWidth ())-15 ;
351
- int nSubOrbitX = fCanvasArea .getX ()+(subOrbitX*fCanvasArea .getWidth ())-15 ;
352
- int nSubOrbitY = fCanvasArea .getY ()+(subOrbitY*fCanvasArea .getWidth ())-14 ;
347
+ const int x = fCanvasArea .getX () + paramX*fCanvasArea .getWidth () - fImgRoundlet .getWidth ()/2 ;
348
+ const int y = fCanvasArea .getY () + paramY*fCanvasArea .getHeight () - fImgRoundlet .getHeight ()/2 ;
349
+ const int nOrbitX = fCanvasArea .getX ()+((orbitX)*fCanvasArea .getWidth ())-15 ;
350
+ const int nOrbitY = fCanvasArea .getY ()+((orbitY)*fCanvasArea .getWidth ())-15 ;
351
+ const int nSubOrbitX = fCanvasArea .getX ()+(subOrbitX*fCanvasArea .getWidth ())-15 ;
352
+ const int nSubOrbitY = fCanvasArea .getY ()+(subOrbitY*fCanvasArea .getWidth ())-14 ;
353
353
354
354
// draw lines, just for fun
355
355
glEnable (GL_BLEND);
@@ -365,13 +365,10 @@ void VectorJuiceUI::onDisplay()
365
365
glVertex2i (nSubOrbitX+15 , nSubOrbitY+14 );
366
366
glEnd ();
367
367
368
- // reset color
369
- glColor4f (1 .0f , 1 .0f , 1 .0f , 1 .0f );
370
-
371
368
// draw roundlet and orbits
372
- fImgRoundlet .drawAt (x, y);
373
- fImgOrbit .drawAt (nOrbitX, nOrbitY);
374
- fImgSubOrbit .drawAt (nSubOrbitX, nSubOrbitY);
369
+ fImgRoundlet .drawAt (context, x, y);
370
+ fImgOrbit .drawAt (context, nOrbitX, nOrbitY);
371
+ fImgSubOrbit .drawAt (context, nSubOrbitX, nSubOrbitY);
375
372
}
376
373
377
374
bool VectorJuiceUI::onMouse (const MouseEvent& ev)
@@ -381,7 +378,9 @@ bool VectorJuiceUI::onMouse(const MouseEvent& ev)
381
378
382
379
if (ev.press )
383
380
{
384
- if (! fCanvasArea .contains (ev.pos ))
381
+ const double scaling = getWidth () / static_cast <double >(VectorJuiceArtwork::backgroundWidth);
382
+
383
+ if (! fCanvasArea .containsAfterScaling (ev.pos , scaling))
385
384
return false ;
386
385
387
386
fDragging = true ;
@@ -404,6 +403,7 @@ bool VectorJuiceUI::onMotion(const MotionEvent& ev)
404
403
if (! fDragging )
405
404
return false ;
406
405
406
+ const double scaling = getWidth () / static_cast <double >(VectorJuiceArtwork::backgroundWidth);
407
407
const int x = ev.pos .getX ();
408
408
const int y = ev.pos .getY ();
409
409
@@ -422,8 +422,8 @@ bool VectorJuiceUI::onMotion(const MotionEvent& ev)
422
422
float newX = paramX;
423
423
float newY = paramY;
424
424
425
- newX -= float (movedX)/fCanvasArea .getWidth ();
426
- newY -= float (movedY)/fCanvasArea .getHeight ();
425
+ newX -= float (movedX)/fCanvasArea .getWidth ()/scaling ;
426
+ newY -= float (movedY)/fCanvasArea .getHeight ()/scaling ;
427
427
428
428
if (newX < 0 .0f )
429
429
newX = 0 .0f ;
0 commit comments