Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GUI {
- //LAYER VARIABLES
- Layer[] layers;
- boolean[] layerVisibility; // -NOT USED YET-
- boolean isFirstLocked, isLastLocked; // -NOT USED YET- For locking the position of a layer
- boolean isScrolling = false; // -NOT USED YET- Activates scroll bar
- //EVENT VARIABLES
- int lastEvent; // -NOT USED YET- Last event triggered by an element in any layer
- int mouseX, mouseY, deltaX, deltaY; // Mouse input
- public GUI(Layer[] layers){
- this.layers = layers;
- }
- // Updates UI positioning and events
- public void update(){
- int clickedLayer = computeClickedLayer();
- if(clickedLayer<layers.length){
- orderLayers(clickedLayer);
- System.out.println(layers[0].ID+" "+layers[0].vMax);
- int clickedElement = layers[0].computeClickedElement(mouseX, mouseY);
- if(clickedElement<layers[0].elements.length)
- layers[0].elements[clickedElement].triggerEvent();
- else if((clickedElement == layers[0].elements.length+1)||(clickedElement == layers[0].elements.length+2)){
- layers[0].scroll(deltaX, deltaY, clickedElement-layers[0].elements.length);
- }else if(clickedElement == layers[0].elements.length+3){
- layers[0].resize(deltaX, deltaY);
- }else{
- layers[0].translate(deltaX, deltaY);
- }
- }
- System.out.println(mouseX+" "+mouseY+" "+deltaX+" "+deltaY);
- }
- public int computeClickedLayer(){
- int clickedLayer = layers.length;
- for(int i=0; i<layers.length; i++){
- if(layers[i].geomVisible.x1 < mouseX){
- if(layers[i].geomVisible.x2 > mouseX){
- if(layers[i].geomVisible.y1 < mouseY){
- if(layers[i].geomVisible.y2 > mouseY){
- clickedLayer = i;
- i = layers.length;
- }
- }
- }
- }
- }
- return clickedLayer;
- }
- public void orderLayers(int clickedLayer){
- Layer tempA = layers[clickedLayer];
- for(int i=clickedLayer; i>0; i--){
- layers[i] = layers[i-1];
- }
- layers[0] = tempA;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement