package gminers.glasspane.component; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import lombok.experimental.FieldDefaults; /** * Base classes for most components that can be colored. * * @author Aesen Vismea * */ @FieldDefaults(level = AccessLevel.PROTECTED) @Getter @Setter public abstract class ColorablePaneComponent extends PaneComponent { /** * The color of this component. */ int color = 0xFFFFFF; /** * Inverts the red, green, and blue components of this color, but preserves the alpha. */ public void invertColor() { color = (~color & 0xFFFFFF) | (color & 0xFF000000); } }