Skip to content

Commit

Permalink
Merge pull request armory3d#1663 from QuantumCoderQC/master
Browse files Browse the repository at this point in the history
OnCanvasElement node now takes into account anchoring points.
  • Loading branch information
luboslenco committed Apr 17, 2020
2 parents e4102c9 + 9198837 commit b206c4e
Showing 1 changed file with 30 additions and 3 deletions.
33 changes: 30 additions & 3 deletions Sources/armory/logicnode/OnCanvasElementNode.hx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package armory.logicnode;

import zui.Canvas.Anchor;
import iron.Scene;
import armory.trait.internal.CanvasScript;

Expand Down Expand Up @@ -45,12 +46,38 @@ class OnCanvasElementNode extends LogicNode {

var x1 = canvas.getElement(element).x;
var y1 = canvas.getElement(element).y;
var x2 = x1 + canvas.getElement(element).width;
var y2 = y1 + canvas.getElement(element).height;

var anchor = canvas.getElement(element).anchor;
var cx = canvas.getCanvas().width;
var cy = canvas.getCanvas().height;
var mouseX = mouse.x;
var mouseY = mouse.y;
var x2 = x1 + canvas.getElement(element).width;
var y2 = y1 + canvas.getElement(element).height;

switch(anchor)
{
case Top:
mouseX -= cx/2 - canvas.getElement(element).width/2;
case TopRight:
mouseX -= cx - canvas.getElement(element).width;
case CenterLeft:
mouseY -= cy/2 - canvas.getElement(element).height/2;
case Anchor.Center:
mouseX -= cx/2 - canvas.getElement(element).width/2;
mouseY -= cy/2 - canvas.getElement(element).height/2;
case CenterRight:
mouseX -= cx - canvas.getElement(element).width;
mouseY -= cy/2 - canvas.getElement(element).height/2;
case BottomLeft:
mouseY -= cy - canvas.getElement(element).height;
case Bottom:
mouseX -= cx/2 - canvas.getElement(element).width/2;
mouseY -= cy - canvas.getElement(element).height;
case BottomRight:
mouseX -= cx - canvas.getElement(element).width;
mouseY -= cy - canvas.getElement(element).height;
}

if((mouseX >= x1) && (mouseX <= x2))
{
if((mouseY >= y1) && (mouseY <= y2))
Expand Down

0 comments on commit b206c4e

Please sign in to comment.