本文整理汇总了Golang中github.com/google/gxui/math.Size.Area方法的典型用法代码示例。如果您正苦于以下问题:Golang Size.Area方法的具体用法?Golang Size.Area怎么用?Golang Size.Area使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/google/gxui/math.Size
的用法示例。
在下文中一共展示了Size.Area方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: SetSize
func (b *ProgressBar) SetSize(size math.Size) {
b.ProgressBar.SetSize(size)
b.chevrons = nil
if size.Area() > 0 {
b.chevrons = b.theme.Driver().CreateCanvas(size)
b.chevronWidth = size.H / 2
cw := b.chevronWidth
for x := -cw * 2; x < size.W; x += cw * 2 {
// x0 x2
// | x1 | x3
// | |
// A-----B - y0
// \ \
// \ \
// F C - y1
// / /
// / /
// E-----D - y2
y0, y1, y2 := 0, size.H/2, size.H
x0, x1 := x, x+cw/2
x2, x3 := x0+cw, x1+cw
var chevron = gxui.Polygon{
/* A */ gxui.PolygonVertex{Position: math.Point{X: x0, Y: y0}},
/* B */ gxui.PolygonVertex{Position: math.Point{X: x2, Y: y0}},
/* C */ gxui.PolygonVertex{Position: math.Point{X: x3, Y: y1}},
/* D */ gxui.PolygonVertex{Position: math.Point{X: x2, Y: y2}},
/* E */ gxui.PolygonVertex{Position: math.Point{X: x0, Y: y2}},
/* F */ gxui.PolygonVertex{Position: math.Point{X: x1, Y: y1}},
}
b.chevrons.DrawPolygon(chevron, gxui.TransparentPen, gxui.CreateBrush(gxui.Gray30))
}
b.chevrons.Complete()
}
}