Browse Source

Fixup VectorJuice for auto-scaling

Signed-off-by: falkTX <falktx@falktx.com>
master
falkTX 3 years ago
parent
commit
81f91ecc97
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
3 changed files with 19 additions and 19 deletions
  1. +1
    -1
      dpf
  2. +17
    -17
      plugins/VectorJuice/VectorJuiceUI.cpp
  3. +1
    -1
      plugins/VectorJuice/VectorJuiceUI.hpp

+ 1
- 1
dpf

@@ -1 +1 @@
Subproject commit 2e508c73e95ef50947e3ed6e941b67b1f6b5bed4
Subproject commit 1b7e47742ca4fea2a030bd630d44f76be2231b04

+ 17
- 17
plugins/VectorJuice/VectorJuiceUI.cpp View File

@@ -42,7 +42,7 @@ VectorJuiceUI::VectorJuiceUI()
fCanvasArea.setSize(368-24, 368-24); fCanvasArea.setSize(368-24, 368-24);


// background // background
fImgBackground = Image(VectorJuiceArtwork::backgroundData, VectorJuiceArtwork::backgroundWidth, VectorJuiceArtwork::backgroundHeight, GL_BGR);
fImgBackground = Image(VectorJuiceArtwork::backgroundData, VectorJuiceArtwork::backgroundWidth, VectorJuiceArtwork::backgroundHeight, kImageFormatBGR);


//roundlet //roundlet
fImgRoundlet = Image(VectorJuiceArtwork::roundletData, VectorJuiceArtwork::roundletWidth, VectorJuiceArtwork::roundletHeight); fImgRoundlet = Image(VectorJuiceArtwork::roundletData, VectorJuiceArtwork::roundletWidth, VectorJuiceArtwork::roundletHeight);
@@ -54,7 +54,7 @@ VectorJuiceUI::VectorJuiceUI()
fImgSubOrbit = Image(VectorJuiceArtwork::subOrbitData, VectorJuiceArtwork::subOrbitWidth, VectorJuiceArtwork::subOrbitHeight); fImgSubOrbit = Image(VectorJuiceArtwork::subOrbitData, VectorJuiceArtwork::subOrbitWidth, VectorJuiceArtwork::subOrbitHeight);


// about // about
Image aboutImage(VectorJuiceArtwork::aboutData, VectorJuiceArtwork::aboutWidth, VectorJuiceArtwork::aboutHeight, GL_BGR);
Image aboutImage(VectorJuiceArtwork::aboutData, VectorJuiceArtwork::aboutWidth, VectorJuiceArtwork::aboutHeight, kImageFormatBGR);
fAboutWindow.setImage(aboutImage); fAboutWindow.setImage(aboutImage);


// about button // about button
@@ -344,12 +344,12 @@ void VectorJuiceUI::onDisplay()
fImgBackground.draw(context); fImgBackground.draw(context);


// get x, y mapped to XY area // 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 //draw lines, just for fun
glEnable(GL_BLEND); glEnable(GL_BLEND);
@@ -365,13 +365,10 @@ void VectorJuiceUI::onDisplay()
glVertex2i(nSubOrbitX+15, nSubOrbitY+14); glVertex2i(nSubOrbitX+15, nSubOrbitY+14);
glEnd(); glEnd();


// reset color
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);

// draw roundlet and orbits // 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) bool VectorJuiceUI::onMouse(const MouseEvent& ev)
@@ -381,7 +378,9 @@ bool VectorJuiceUI::onMouse(const MouseEvent& ev)


if (ev.press) if (ev.press)
{ {
if (! fCanvasArea.contains(ev.pos))
const double scaling = getWidth() / static_cast<double>(VectorJuiceArtwork::backgroundWidth);

if (! fCanvasArea.containsAfterScaling(ev.pos, scaling))
return false; return false;


fDragging = true; fDragging = true;
@@ -404,6 +403,7 @@ bool VectorJuiceUI::onMotion(const MotionEvent& ev)
if (! fDragging) if (! fDragging)
return false; return false;


const double scaling = getWidth() / static_cast<double>(VectorJuiceArtwork::backgroundWidth);
const int x = ev.pos.getX(); const int x = ev.pos.getX();
const int y = ev.pos.getY(); const int y = ev.pos.getY();


@@ -422,8 +422,8 @@ bool VectorJuiceUI::onMotion(const MotionEvent& ev)
float newX = paramX; float newX = paramX;
float newY = paramY; 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) if (newX < 0.0f)
newX = 0.0f; newX = 0.0f;


+ 1
- 1
plugins/VectorJuice/VectorJuiceUI.hpp View File

@@ -88,7 +88,7 @@ private:
bool fDragValid; bool fDragValid;
int fLastX; int fLastX;
int fLastY; int fLastY;
DGL_NAMESPACE::Rectangle<int> fCanvasArea;
DGL_NAMESPACE::Rectangle<double> fCanvasArea;
float orbitX, orbitY, subOrbitX, subOrbitY; float orbitX, orbitY, subOrbitX, subOrbitY;
}; };




Loading…
Cancel
Save