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);

// 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<double>(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<double>(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;


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

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



Loading…
Cancel
Save