Advertisement
razaron

GUI Library/GUI

Jul 1st, 2013
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.92 KB | None | 0 0
  1.  
  2. public class GUI {
  3.  
  4.     //LAYER VARIABLES
  5.     Layer[] layers;
  6.     boolean[] layerVisibility; // -NOT USED YET-
  7.     boolean isFirstLocked, isLastLocked; // -NOT USED YET- For locking the position of a layer
  8.     boolean isScrolling = false; // -NOT USED YET- Activates scroll bar
  9.    
  10.     //EVENT VARIABLES
  11.     int lastEvent; // -NOT USED YET- Last event triggered by an element in any layer
  12.     int mouseX, mouseY, deltaX, deltaY; // Mouse input
  13.    
  14.     public GUI(Layer[] layers){
  15.         this.layers = layers;
  16.        
  17.     }
  18.    
  19.     // Updates UI positioning and events
  20.     public void update(){
  21.         int clickedLayer = computeClickedLayer();
  22.        
  23.         if(clickedLayer<layers.length){
  24.             orderLayers(clickedLayer);
  25.            
  26.             System.out.println(layers[0].ID+" "+layers[0].vMax);
  27.            
  28.             int clickedElement = layers[0].computeClickedElement(mouseX, mouseY);
  29.            
  30.             if(clickedElement<layers[0].elements.length)
  31.                 layers[0].elements[clickedElement].triggerEvent();
  32.             else if((clickedElement == layers[0].elements.length+1)||(clickedElement == layers[0].elements.length+2)){
  33.                 layers[0].scroll(deltaX, deltaY, clickedElement-layers[0].elements.length);
  34.             }else if(clickedElement == layers[0].elements.length+3){
  35.                 layers[0].resize(deltaX, deltaY);
  36.             }else{
  37.                 layers[0].translate(deltaX, deltaY);
  38.             }
  39.         }
  40.         System.out.println(mouseX+" "+mouseY+" "+deltaX+" "+deltaY);
  41.     }
  42.    
  43.     public int computeClickedLayer(){
  44.         int clickedLayer = layers.length;
  45.        
  46.         for(int i=0; i<layers.length; i++){
  47.             if(layers[i].geomVisible.x1 < mouseX){
  48.                 if(layers[i].geomVisible.x2 > mouseX){
  49.                     if(layers[i].geomVisible.y1 < mouseY){
  50.                         if(layers[i].geomVisible.y2 > mouseY){
  51.                             clickedLayer = i;
  52.                             i = layers.length;
  53.                         }
  54.                     }
  55.                 }
  56.             }
  57.         }
  58.        
  59.         return clickedLayer;
  60.     }
  61.    
  62.     public void orderLayers(int clickedLayer){
  63.         Layer tempA = layers[clickedLayer];
  64.        
  65.         for(int i=clickedLayer; i>0; i--){
  66.             layers[i] = layers[i-1];
  67.         }
  68.         layers[0] = tempA;
  69.     }
  70.    
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement