IWidget.java 1.1 KB

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