File size: 4,743 Bytes
d46f4a3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
package net.minecraft.client.gui.layouts;

import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

@OnlyIn(Dist.CLIENT)
public interface LayoutSettings {
    LayoutSettings padding(int p_265143_);

    LayoutSettings padding(int p_265473_, int p_265776_);

    LayoutSettings padding(int p_265186_, int p_265177_, int p_265631_, int p_265369_);

    LayoutSettings paddingLeft(int p_265709_);

    LayoutSettings paddingTop(int p_265644_);

    LayoutSettings paddingRight(int p_265608_);

    LayoutSettings paddingBottom(int p_265758_);

    LayoutSettings paddingHorizontal(int p_265366_);

    LayoutSettings paddingVertical(int p_265142_);

    LayoutSettings align(float p_265408_, float p_265269_);

    LayoutSettings alignHorizontally(float p_265729_);

    LayoutSettings alignVertically(float p_265557_);

    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();
    }

    @OnlyIn(Dist.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 p_265146_) {
            this.paddingLeft = p_265146_.paddingLeft;
            this.paddingTop = p_265146_.paddingTop;
            this.paddingRight = p_265146_.paddingRight;
            this.paddingBottom = p_265146_.paddingBottom;
            this.xAlignment = p_265146_.xAlignment;
            this.yAlignment = p_265146_.yAlignment;
        }

        public LayoutSettings.LayoutSettingsImpl padding(int p_265467_) {
            return this.padding(p_265467_, p_265467_);
        }

        public LayoutSettings.LayoutSettingsImpl padding(int p_265284_, int p_265730_) {
            return this.paddingHorizontal(p_265284_).paddingVertical(p_265730_);
        }

        public LayoutSettings.LayoutSettingsImpl padding(int p_265241_, int p_265325_, int p_265634_, int p_265174_) {
            return this.paddingLeft(p_265241_).paddingRight(p_265634_).paddingTop(p_265325_).paddingBottom(p_265174_);
        }

        public LayoutSettings.LayoutSettingsImpl paddingLeft(int p_265137_) {
            this.paddingLeft = p_265137_;
            return this;
        }

        public LayoutSettings.LayoutSettingsImpl paddingTop(int p_265512_) {
            this.paddingTop = p_265512_;
            return this;
        }

        public LayoutSettings.LayoutSettingsImpl paddingRight(int p_265595_) {
            this.paddingRight = p_265595_;
            return this;
        }

        public LayoutSettings.LayoutSettingsImpl paddingBottom(int p_265336_) {
            this.paddingBottom = p_265336_;
            return this;
        }

        public LayoutSettings.LayoutSettingsImpl paddingHorizontal(int p_265592_) {
            return this.paddingLeft(p_265592_).paddingRight(p_265592_);
        }

        public LayoutSettings.LayoutSettingsImpl paddingVertical(int p_265151_) {
            return this.paddingTop(p_265151_).paddingBottom(p_265151_);
        }

        public LayoutSettings.LayoutSettingsImpl align(float p_265459_, float p_265051_) {
            this.xAlignment = p_265459_;
            this.yAlignment = p_265051_;
            return this;
        }

        public LayoutSettings.LayoutSettingsImpl alignHorizontally(float p_265331_) {
            this.xAlignment = p_265331_;
            return this;
        }

        public LayoutSettings.LayoutSettingsImpl alignVertically(float p_265657_) {
            this.yAlignment = p_265657_;
            return this;
        }

        public LayoutSettings.LayoutSettingsImpl copy() {
            return new LayoutSettings.LayoutSettingsImpl(this);
        }

        @Override
        public LayoutSettings.LayoutSettingsImpl getExposed() {
            return this;
        }
    }
}