IWidget.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package me.shedaniel.rei.gui.widget;
  2. import net.minecraft.client.gui.GuiEventListener;
  3. import java.util.List;
  4. public interface IWidget extends GuiEventListener {
  5. public List<IWidget> getListeners();
  6. public void draw(int mouseX, int mouseY, float partialTicks);
  7. @Override
  8. default boolean mouseClicked(double double_1, double double_2, int int_1) {
  9. if (onMouseClick(int_1, double_1, double_2))
  10. return true;
  11. for(IWidget widget : getListeners())
  12. if (widget.mouseClicked(double_1, double_2, int_1))
  13. return true;
  14. return false;
  15. }
  16. default boolean onMouseClick(int button, double mouseX, double mouseY) {
  17. return false;
  18. }
  19. default boolean onMouseScrolled(double amount) {
  20. return false;
  21. }
  22. @Override
  23. default boolean mouseScrolled(double amount) {
  24. if (onMouseScrolled(amount))
  25. return true;
  26. for(IWidget widget : getListeners())
  27. if (widget.mouseScrolled(amount))
  28. return true;
  29. return false;
  30. }
  31. }