diff --git a/dpf b/dpf index 2e508c7..1b7e477 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 2e508c73e95ef50947e3ed6e941b67b1f6b5bed4 +Subproject commit 1b7e47742ca4fea2a030bd630d44f76be2231b04 diff --git a/plugins/VectorJuice/VectorJuiceUI.cpp b/plugins/VectorJuice/VectorJuiceUI.cpp index a4d606c..8f32aaf 100644 --- a/plugins/VectorJuice/VectorJuiceUI.cpp +++ b/plugins/VectorJuice/VectorJuiceUI.cpp @@ -42,7 +42,7 @@ VectorJuiceUI::VectorJuiceUI() fCanvasArea.setSize(368-24, 368-24); // background - fImgBackground = Image(VectorJuiceArtwork::backgroundData, VectorJuiceArtwork::backgroundWidth, VectorJuiceArtwork::backgroundHeight, GL_BGR); + fImgBackground = Image(VectorJuiceArtwork::backgroundData, VectorJuiceArtwork::backgroundWidth, VectorJuiceArtwork::backgroundHeight, kImageFormatBGR); //roundlet fImgRoundlet = Image(VectorJuiceArtwork::roundletData, VectorJuiceArtwork::roundletWidth, VectorJuiceArtwork::roundletHeight); @@ -54,7 +54,7 @@ VectorJuiceUI::VectorJuiceUI() fImgSubOrbit = Image(VectorJuiceArtwork::subOrbitData, VectorJuiceArtwork::subOrbitWidth, VectorJuiceArtwork::subOrbitHeight); // about - Image aboutImage(VectorJuiceArtwork::aboutData, VectorJuiceArtwork::aboutWidth, VectorJuiceArtwork::aboutHeight, GL_BGR); + Image aboutImage(VectorJuiceArtwork::aboutData, VectorJuiceArtwork::aboutWidth, VectorJuiceArtwork::aboutHeight, kImageFormatBGR); fAboutWindow.setImage(aboutImage); // about button @@ -344,12 +344,12 @@ void VectorJuiceUI::onDisplay() fImgBackground.draw(context); // get x, y mapped to XY area - int x = fCanvasArea.getX() + paramX*fCanvasArea.getWidth() - fImgRoundlet.getWidth()/2; - int y = fCanvasArea.getY() + paramY*fCanvasArea.getHeight() - fImgRoundlet.getHeight()/2; - int nOrbitX = fCanvasArea.getX()+((orbitX)*fCanvasArea.getWidth())-15; - int nOrbitY = fCanvasArea.getY()+((orbitY)*fCanvasArea.getWidth())-15; - int nSubOrbitX = fCanvasArea.getX()+(subOrbitX*fCanvasArea.getWidth())-15; - int nSubOrbitY = fCanvasArea.getY()+(subOrbitY*fCanvasArea.getWidth())-14; + const int x = fCanvasArea.getX() + paramX*fCanvasArea.getWidth() - fImgRoundlet.getWidth()/2; + const int y = fCanvasArea.getY() + paramY*fCanvasArea.getHeight() - fImgRoundlet.getHeight()/2; + const int nOrbitX = fCanvasArea.getX()+((orbitX)*fCanvasArea.getWidth())-15; + const int nOrbitY = fCanvasArea.getY()+((orbitY)*fCanvasArea.getWidth())-15; + const int nSubOrbitX = fCanvasArea.getX()+(subOrbitX*fCanvasArea.getWidth())-15; + const int nSubOrbitY = fCanvasArea.getY()+(subOrbitY*fCanvasArea.getWidth())-14; //draw lines, just for fun glEnable(GL_BLEND); @@ -365,13 +365,10 @@ void VectorJuiceUI::onDisplay() glVertex2i(nSubOrbitX+15, nSubOrbitY+14); glEnd(); - // reset color - glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - // draw roundlet and orbits - fImgRoundlet.drawAt(x, y); - fImgOrbit.drawAt(nOrbitX, nOrbitY); - fImgSubOrbit.drawAt(nSubOrbitX, nSubOrbitY); + fImgRoundlet.drawAt(context, x, y); + fImgOrbit.drawAt(context, nOrbitX, nOrbitY); + fImgSubOrbit.drawAt(context, nSubOrbitX, nSubOrbitY); } bool VectorJuiceUI::onMouse(const MouseEvent& ev) @@ -381,7 +378,9 @@ bool VectorJuiceUI::onMouse(const MouseEvent& ev) if (ev.press) { - if (! fCanvasArea.contains(ev.pos)) + const double scaling = getWidth() / static_cast(VectorJuiceArtwork::backgroundWidth); + + if (! fCanvasArea.containsAfterScaling(ev.pos, scaling)) return false; fDragging = true; @@ -404,6 +403,7 @@ bool VectorJuiceUI::onMotion(const MotionEvent& ev) if (! fDragging) return false; + const double scaling = getWidth() / static_cast(VectorJuiceArtwork::backgroundWidth); const int x = ev.pos.getX(); const int y = ev.pos.getY(); @@ -422,8 +422,8 @@ bool VectorJuiceUI::onMotion(const MotionEvent& ev) float newX = paramX; float newY = paramY; - newX -= float(movedX)/fCanvasArea.getWidth(); - newY -= float(movedY)/fCanvasArea.getHeight(); + newX -= float(movedX)/fCanvasArea.getWidth()/scaling; + newY -= float(movedY)/fCanvasArea.getHeight()/scaling; if (newX < 0.0f) newX = 0.0f; diff --git a/plugins/VectorJuice/VectorJuiceUI.hpp b/plugins/VectorJuice/VectorJuiceUI.hpp index 8087421..64e4775 100644 --- a/plugins/VectorJuice/VectorJuiceUI.hpp +++ b/plugins/VectorJuice/VectorJuiceUI.hpp @@ -88,7 +88,7 @@ private: bool fDragValid; int fLastX; int fLastY; - DGL_NAMESPACE::Rectangle fCanvasArea; + DGL_NAMESPACE::Rectangle fCanvasArea; float orbitX, orbitY, subOrbitX, subOrbitY; };