150 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.client.gui.layouts;
 | |
| 
 | |
| import net.fabricmc.api.EnvType;
 | |
| import net.fabricmc.api.Environment;
 | |
| 
 | |
| @Environment(EnvType.CLIENT)
 | |
| public interface LayoutSettings {
 | |
| 	LayoutSettings padding(int padding);
 | |
| 
 | |
| 	LayoutSettings padding(int horizontalPadding, int verticalPadding);
 | |
| 
 | |
| 	LayoutSettings padding(int paddingLeft, int paddingTop, int paddingRight, int paddingBottom);
 | |
| 
 | |
| 	LayoutSettings paddingLeft(int paddingLeft);
 | |
| 
 | |
| 	LayoutSettings paddingTop(int paddingTop);
 | |
| 
 | |
| 	LayoutSettings paddingRight(int paddingRight);
 | |
| 
 | |
| 	LayoutSettings paddingBottom(int paddingBottom);
 | |
| 
 | |
| 	LayoutSettings paddingHorizontal(int horizontalPadding);
 | |
| 
 | |
| 	LayoutSettings paddingVertical(int verticalPadding);
 | |
| 
 | |
| 	LayoutSettings align(float xAlignment, float yAlignment);
 | |
| 
 | |
| 	LayoutSettings alignHorizontally(float xAlignment);
 | |
| 
 | |
| 	LayoutSettings alignVertically(float yAlignment);
 | |
| 
 | |
| 	default LayoutSettings alignHorizontallyLeft() {
 | |
| 		return this.alignHorizontally(0.0F);
 | |
| 	}
 | |
| 
 | |
| 	default LayoutSettings alignHorizontallyCenter() {
 | |
| 		return this.alignHorizontally(0.5F);
 | |
| 	}
 | |
| 
 | |
| 	default LayoutSettings alignHorizontallyRight() {
 | |
| 		return this.alignHorizontally(1.0F);
 | |
| 	}
 | |
| 
 | |
| 	default LayoutSettings alignVerticallyTop() {
 | |
| 		return this.alignVertically(0.0F);
 | |
| 	}
 | |
| 
 | |
| 	default LayoutSettings alignVerticallyMiddle() {
 | |
| 		return this.alignVertically(0.5F);
 | |
| 	}
 | |
| 
 | |
| 	default LayoutSettings alignVerticallyBottom() {
 | |
| 		return this.alignVertically(1.0F);
 | |
| 	}
 | |
| 
 | |
| 	LayoutSettings copy();
 | |
| 
 | |
| 	LayoutSettings.LayoutSettingsImpl getExposed();
 | |
| 
 | |
| 	static LayoutSettings defaults() {
 | |
| 		return new LayoutSettings.LayoutSettingsImpl();
 | |
| 	}
 | |
| 
 | |
| 	@Environment(EnvType.CLIENT)
 | |
| 	public static class LayoutSettingsImpl implements LayoutSettings {
 | |
| 		public int paddingLeft;
 | |
| 		public int paddingTop;
 | |
| 		public int paddingRight;
 | |
| 		public int paddingBottom;
 | |
| 		public float xAlignment;
 | |
| 		public float yAlignment;
 | |
| 
 | |
| 		public LayoutSettingsImpl() {
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettingsImpl(LayoutSettings.LayoutSettingsImpl other) {
 | |
| 			this.paddingLeft = other.paddingLeft;
 | |
| 			this.paddingTop = other.paddingTop;
 | |
| 			this.paddingRight = other.paddingRight;
 | |
| 			this.paddingBottom = other.paddingBottom;
 | |
| 			this.xAlignment = other.xAlignment;
 | |
| 			this.yAlignment = other.yAlignment;
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl padding(int padding) {
 | |
| 			return this.padding(padding, padding);
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl padding(int horizontalPadding, int verticalPadding) {
 | |
| 			return this.paddingHorizontal(horizontalPadding).paddingVertical(verticalPadding);
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl padding(int paddingLeft, int paddingTop, int paddingRight, int paddingBottom) {
 | |
| 			return this.paddingLeft(paddingLeft).paddingRight(paddingRight).paddingTop(paddingTop).paddingBottom(paddingBottom);
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl paddingLeft(int paddingLeft) {
 | |
| 			this.paddingLeft = paddingLeft;
 | |
| 			return this;
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl paddingTop(int paddingTop) {
 | |
| 			this.paddingTop = paddingTop;
 | |
| 			return this;
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl paddingRight(int paddingRight) {
 | |
| 			this.paddingRight = paddingRight;
 | |
| 			return this;
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl paddingBottom(int paddingBottom) {
 | |
| 			this.paddingBottom = paddingBottom;
 | |
| 			return this;
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl paddingHorizontal(int horizontalPadding) {
 | |
| 			return this.paddingLeft(horizontalPadding).paddingRight(horizontalPadding);
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl paddingVertical(int verticalPadding) {
 | |
| 			return this.paddingTop(verticalPadding).paddingBottom(verticalPadding);
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl align(float xAlignment, float yAlignment) {
 | |
| 			this.xAlignment = xAlignment;
 | |
| 			this.yAlignment = yAlignment;
 | |
| 			return this;
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl alignHorizontally(float xAlignment) {
 | |
| 			this.xAlignment = xAlignment;
 | |
| 			return this;
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl alignVertically(float yAlignment) {
 | |
| 			this.yAlignment = yAlignment;
 | |
| 			return this;
 | |
| 		}
 | |
| 
 | |
| 		public LayoutSettings.LayoutSettingsImpl copy() {
 | |
| 			return new LayoutSettings.LayoutSettingsImpl(this);
 | |
| 		}
 | |
| 
 | |
| 		@Override
 | |
| 		public LayoutSettings.LayoutSettingsImpl getExposed() {
 | |
| 			return this;
 | |
| 		}
 | |
| 	}
 | |
| }
 |