Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.97 KB | None | 0 0
  1. public abstract class AbstractGuiManager implements GuiManager {
  2.     private final List<IFrame> frames;
  3.     private Theme theme;
  4.     //private BufferedImage offScreenImage; ignore was debating this
  5.     //private Graphics offScreenGraphics;
  6.  
  7.     public AbstractGuiManager() {
  8.         frames = new CopyOnWriteArrayList<IFrame>();
  9.     }
  10.  
  11.     @Override
  12.     public abstract void setup();
  13.  
  14.     @Override
  15.     public void addFrame(IFrame frame) {
  16.         frame.setTheme(theme);
  17.         frames.add(0, frame);
  18.     }
  19.  
  20.     @Override
  21.     public void removeFrame(IFrame frame) {
  22.         frames.remove(frame);
  23.     }
  24.  
  25.     @Override
  26.     public IFrame[] getFrames() {
  27.         return frames.toArray(new IFrame[frames.size()]);
  28.     }
  29.  
  30.     @Override
  31.     public void bringForward(IFrame frame) {
  32.         if (frames.remove(frame))
  33.             frames.add(0, frame);
  34.     }
  35.  
  36.     @Override
  37.     public Theme getTheme() {
  38.         return theme;
  39.     }
  40.  
  41.     @Override
  42.     public void setTheme(Theme theme) {
  43.         this.theme = theme;
  44.         for (IFrame frame : frames)
  45.             frame.setTheme(theme);
  46.         resizeComponents();
  47.     }
  48.  
  49.     protected abstract void resizeComponents();
  50.  
  51.     @Override
  52.     public void render() {
  53.         IFrame[] frames = getFrames();
  54.         for (int i = frames.length - 1; i >= 0; i--)
  55.             frames[i].render();
  56.     }
  57.  
  58.     @Override
  59.     public void renderPinned() {
  60.         IFrame[] frames = getFrames();
  61.         for (int i = frames.length - 1; i >= 0; i--)
  62.             if (frames[i].isPinned())
  63.                 frames[i].render();
  64.     }
  65.  
  66.     @Override
  67.     public void update() {
  68.         IFrame[] frames = getFrames();
  69.         for (int i = frames.length - 1; i >= 0; i--)
  70.             frames[i].update();
  71.     }
  72. /**
  73.     public void onMousePress(int x, int y, int button) {
  74.         for (IFrame frame : this.getFrames()) {
  75.             if (!frame.isVisible())
  76.                 continue;
  77.             if (!frame.isMinimized() && !frame.getArea().contains(x, y)) {
  78.                 for (IComponent component : frame.getChildren()) {
  79.                     for (Rectangle area : component.getTheme().getUIForComponent(component).getInteractableRegions(component)) {
  80.                         if (area.contains(x - frame.getX() - component.getX(), y - frame.getY() - component.getY())) {
  81.                             frame.onMousePress(x - frame.getX(), y - frame.getY(), button);
  82.                             this.bringForward(frame);
  83.                             return;
  84.                         }
  85.                     }
  86.                 }
  87.             }
  88.         }
  89.         for (IFrame frame : this.getFrames()) {
  90.             if (!frame.isVisible())
  91.                 continue;
  92.             if (!frame.isMinimized() && frame.getArea().contains(x, y)) {
  93.                 frame.onMousePress(x - frame.getX(), y - frame.getY(), button);
  94.                 this.bringForward(frame);
  95.                 break;
  96.             } else if (frame.isMinimized()) {
  97.                 for (Rectangle area : frame.getTheme().getUIForComponent(frame).getInteractableRegions(frame)) {
  98.                     if (area.contains(x - frame.getX(), y - frame.getY())) {
  99.                         frame.onMousePress(x - frame.getX(), y - frame.getY(), button);
  100.                         this.bringForward(frame);
  101.                         return;
  102.                     }
  103.                 }
  104.             }
  105.         }
  106.     }
  107.  
  108.     public void onMouseRelease(int x, int y, int button) {
  109.         for (IFrame frame : this.getFrames()) {
  110.             if (!frame.isVisible())
  111.                 continue;
  112.             if (!frame.isMinimized() && !frame.getArea().contains(x, y)) {
  113.                 for (IComponent component : frame.getChildren()) {
  114.                     for (Rectangle area : component.getTheme().getUIForComponent(component).getInteractableRegions(component)) {
  115.                         if (area.contains(x - frame.getX() - component.getX(), y - frame.getY() - component.getY())) {
  116.                             frame.onMouseRelease(x - frame.getX(), y - frame.getY(), button);
  117.                             this.bringForward(frame);
  118.                             return;
  119.                         }
  120.                     }
  121.                 }
  122.             }
  123.         }
  124.         for (IFrame frame : this.getFrames()) {
  125.             if (!frame.isVisible())
  126.                 continue;
  127.             if (!frame.isMinimized() && frame.getArea().contains(x, y)) {
  128.                 frame.onMouseRelease(x - frame.getX(), y - frame.getY(), button);
  129.                 this.bringForward(frame);
  130.                 break;
  131.             } else if (frame.isMinimized()) {
  132.                 for (Rectangle area : frame.getTheme().getUIForComponent(frame).getInteractableRegions(frame)) {
  133.                     if (area.contains(x - frame.getX(), y - frame.getY())) {
  134.                         frame.onMouseRelease(x - frame.getX(), y - frame.getY(), button);
  135.                         this.bringForward(frame);
  136.                         return;
  137.                     }
  138.                 }
  139.             }
  140.         }
  141.     }
  142.  **/
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement