Working on Layout Stuff
This commit is contained in:
@@ -44,22 +44,55 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
LFAlignTopLeft = LayoutFlag(LFAlignHLeft | LFAlignVTop)
|
||||
LFAlignCenter = LayoutFlag(LFAlignHCenter | LFAlignVCenter)
|
||||
LFAlignAll = LayoutFlag(0x1111)
|
||||
)
|
||||
|
||||
func (f LayoutFlag) Add(fl LayoutFlag) { f |= fl }
|
||||
const (
|
||||
LFAlignTopLeft = LayoutFlag(LFAlignHLeft | LFAlignVTop)
|
||||
LFAlignTop = LayoutFlag(LFAlignHCenter | LFAlignVTop)
|
||||
LFAlignTopRight = LayoutFlag(LFAlignHRight | LFAlignVTop)
|
||||
LFAlignLeft = LayoutFlag(LFAlignHLeft | LFAlignVCenter)
|
||||
LFAlignCenter = LayoutFlag(LFAlignHCenter | LFAlignVCenter)
|
||||
LFAlignRight = LayoutFlag(LFAlignHRight | LFAlignVCenter)
|
||||
LFAlignBottomLeft = LayoutFlag(LFAlignHLeft | LFAlignVBottom)
|
||||
LFAlignBottom = LayoutFlag(LFAlignHCenter | LFAlignVBottom)
|
||||
LFAlignBottomRight = LayoutFlag(LFAlignHRight | LFAlignVBottom)
|
||||
)
|
||||
|
||||
// Size Flags
|
||||
// The default should be MinW, MinH
|
||||
const (
|
||||
_ = LayoutFlag(iota << 4)
|
||||
LFSizeFullW // 00010000
|
||||
LFSizeFullH // 00100000
|
||||
LFSizeFull // 00110000
|
||||
|
||||
_ = LayoutFlag(iota << 6)
|
||||
LFSizeWrapW // 01000000
|
||||
LFSizeWrapH // 10000000
|
||||
LFSizeWrap // 11000000
|
||||
|
||||
LFSizeAll = LayoutFlag(0x11110000)
|
||||
)
|
||||
|
||||
func (f LayoutFlag) Add(fl LayoutFlag) { f |= fl }
|
||||
func (f LayoutFlag) ClearAll() {
|
||||
f.ClearAllAlign()
|
||||
f.ClearAllSize()
|
||||
}
|
||||
|
||||
// Alignment Manipulation
|
||||
func (f LayoutFlag) AlignH() LayoutFlag { return f & LFAlignH }
|
||||
func (f LayoutFlag) AlignV() LayoutFlag { return f & LFAlignV }
|
||||
func (f LayoutFlag) IsAlignH() bool { return f.AlignH() > 0 }
|
||||
func (f LayoutFlag) IsAlignV() bool { return f.AlignV() > 0 }
|
||||
func (f LayoutFlag) SetTopLeft() {
|
||||
f.ClearAll()
|
||||
f.ClearAllAlign()
|
||||
f = LFAlignHLeft | LFAlignVTop
|
||||
}
|
||||
|
||||
func (f LayoutFlag) SetBottomCenter() {
|
||||
f.ClearAll()
|
||||
f.ClearAllAlign()
|
||||
f = LFAlignHCenter | LFAlignVBottom
|
||||
}
|
||||
|
||||
@@ -72,8 +105,26 @@ func (f LayoutFlag) ClearAlignV() {
|
||||
f = f &^ LFAlignV
|
||||
f.Add(LFAlignVCenter)
|
||||
}
|
||||
|
||||
func (f LayoutFlag) ClearAll() {
|
||||
func (f LayoutFlag) ClearAllAlign() {
|
||||
f.ClearAlignH()
|
||||
f.ClearAlignV()
|
||||
}
|
||||
|
||||
// Size Manipulation
|
||||
func (f LayoutFlag) SetSizeWrap() {
|
||||
f.ClearAllSize()
|
||||
f = f | LFSizeWrap
|
||||
}
|
||||
func (f LayoutFlag) SetSizeFull() {
|
||||
f.ClearAllSize()
|
||||
f = f | LFSizeFull
|
||||
}
|
||||
func (f LayoutFlag) ClearAllSize() {
|
||||
f = f &^ LFSizeAll
|
||||
}
|
||||
func (f LayoutFlag) ClearSizeW() {
|
||||
f = f &^ (LFSizeFullW | LFSizeWrapW)
|
||||
}
|
||||
func (f LayoutFlag) ClearSizeH() {
|
||||
f = f &^ (LFSizeFullH | LFSizeWrapH)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user