本文整理汇总了Golang中code/google/com/p/draw2d/draw2d.GraphicContext.SetStrokeColor方法的典型用法代码示例。如果您正苦于以下问题:Golang GraphicContext.SetStrokeColor方法的具体用法?Golang GraphicContext.SetStrokeColor怎么用?Golang GraphicContext.SetStrokeColor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类code/google/com/p/draw2d/draw2d.GraphicContext
的用法示例。
在下文中一共展示了GraphicContext.SetStrokeColor方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: draw
func (c *Checkbox) draw(gc draw2d.GraphicContext) {
gc.Clear()
gc.SetStrokeColor(color.Black)
if c.pressed {
gc.SetFillColor(color.RGBA{155, 0, 0, 255})
} else {
gc.SetFillColor(color.RGBA{255, 0, 0, 255})
}
// Draw background rect
x, y := gc.LastPoint()
gc.MoveTo(0, 0)
gc.LineTo(c.Size.X, 0)
gc.LineTo(c.Size.X, c.Size.Y)
gc.LineTo(0, c.Size.Y)
gc.Close()
gc.FillStroke()
// Draw inner rect
if c.state {
gc.SetFillColor(color.Black)
gc.MoveTo(5, 5)
gc.LineTo(c.Size.X-5, 5)
gc.LineTo(c.Size.X-5, c.Size.Y-5)
gc.LineTo(5, c.Size.Y-5)
gc.Close()
gc.FillStroke()
}
gc.MoveTo(x, y)
}
示例2: draw
func (e *Entry) draw(gc draw2d.GraphicContext) {
if e.textOffset+e.runeOffsets[e.cursor] < 5 {
e.textOffset = 5 - e.runeOffsets[e.cursor]
}
if e.textOffset+e.runeOffsets[e.cursor] > e.Size.X-5 {
e.textOffset = e.Size.X - 5 - e.runeOffsets[e.cursor]
}
gc.Clear()
if e.HasKeyFocus {
gc.SetFillColor(color.RGBA{150, 150, 150, 255})
safeRect(gc, geom.Coord{0, 0}, e.Size)
gc.Fill()
}
th := float64(e.textBuffer.Bounds().Max.Y - e.textBuffer.Bounds().Min.Y)
gc.Save()
gc.Translate(e.textOffset, 0)
if e.selecting {
start := e.runeOffsets[e.cursor]
end := e.runeOffsets[e.selectCursor]
if start > end {
start, end = end, start
}
gc.SetFillColor(color.RGBA{200, 200, 200, 255})
safeRect(gc, geom.Coord{start, 0}, geom.Coord{end, e.Size.Y})
gc.Fill()
}
gc.Translate(0, (e.Size.Y-th)/2)
gc.DrawImage(e.textBuffer)
gc.Restore()
if e.HasKeyFocus {
un := time.Duration(time.Now().UnixNano())
ms := un / time.Millisecond
ms = ms % 750
var intensity uint8 = 255
if ms > 550 {
diff := 650 - ms
if diff < 0 {
diff *= -1
}
intensity = uint8((diff * 255) / 200)
}
offset := float64(int(e.runeOffsets[e.cursor] + e.textOffset))
gc.SetStrokeColor(color.RGBA{A: intensity})
gc.MoveTo(offset, 0)
gc.LineTo(offset, e.Size.Y)
gc.Stroke()
e.Invalidate(geom.Rect{
Min: geom.Coord{offset - 1, 0},
Max: geom.Coord{offset + 1, e.Size.Y},
})
}
}
示例3: draw
func (b *Button) draw(gc draw2d.GraphicContext) {
gc.SetStrokeColor(color.Black)
if b.pressed {
gc.SetFillColor(color.RGBA{150, 150, 150, 255})
} else {
gc.SetFillColor(color.White)
}
safeRect(gc, Coord{0, 0}, b.Size)
gc.FillStroke()
}
示例4: drawPolygon
func drawPolygon(ctxt draw2d.GraphicContext, g *geos.Geometry, fillColor color.Color, strokeColor color.Color, width float64, scale func(x, y float64) (float64, float64)) {
ctxt.SetFillColor(fillColor)
ctxt.SetStrokeColor(strokeColor)
ctxt.SetLineWidth(width)
// exterior ring
ring := geos.Must(g.ExteriorRing())
cs, err := ring.coordSeq()
if err != nil {
log.Fatal(err)
}
lineCoordSeq(ctxt, cs, scale)
ctxt.FillStroke()
// interior rings...
}
示例5: draw
func (l *Label) draw(gc draw2d.GraphicContext) {
gc.SetStrokeColor(color.Black)
font := draw2d.GetFont(gc.GetFontData())
bounds := font.Bounds()
height := float64(bounds.YMax-bounds.YMin) * l.FontSize / float64(font.UnitsPerEm())
offset := l.Size.Y - (l.Size.Y-height)/2
safeRect(gc, Coord{0, 0}, l.Size)
gc.FillStroke()
gc.Translate(10, offset)
gc.SetFontSize(l.FontSize)
gc.FillString(l.Text)
}
示例6: drawLine
func drawLine(ctxt draw2d.GraphicContext, g *geos.Geometry, c color.Color, width float64, scale func(x, y float64) (float64, float64)) {
if c != nil {
ctxt.SetStrokeColor(c)
}
if width != 0.0 {
ctxt.SetLineWidth(width)
}
// XXX: should get a [] of points
cs, err := g.coordSeq()
if err != nil {
log.Fatal(err)
}
lineCoordSeq(ctxt, cs, scale)
ctxt.Stroke()
}
示例7: TestDrawCubicCurve
func TestDrawCubicCurve(gc draw2d.GraphicContext) {
// draw a cubic curve
x, y := 25.6, 128.0
x1, y1 := 102.4, 230.4
x2, y2 := 153.6, 25.6
x3, y3 := 230.4, 128.0
gc.SetStrokeColor(color.NRGBA{0, 0, 0, 0xFF})
gc.SetLineWidth(10)
gc.MoveTo(x, y)
gc.CubicCurveTo(x1, y1, x2, y2, x3, y3)
gc.Stroke()
gc.SetStrokeColor(color.NRGBA{0xFF, 0, 0, 0xFF})
gc.SetLineWidth(6)
// draw segment of curve
gc.MoveTo(x, y)
gc.LineTo(x1, y1)
gc.LineTo(x2, y2)
gc.LineTo(x3, y3)
gc.Stroke()
}
示例8: drawUptimes
func drawUptimes(gc draw2d.GraphicContext) {
y, m, d := curTime.Add(Day * -6).Date()
sday := time.Date(y, m, d, 0, 0, 0, 0, time.Local)
eday := sday.Add(Day - time.Second)
gc.SetFontSize(40)
// draw frame
gc.SetStrokeColor(color.RGBA{0x00, 0x00, 0x00, 0xff})
rect(gc, BAR_START_X, BAR_START_X+BAR_WIDTH, BAR_START_Y, BAR_START_Y+2+float64(7*BAR_HEIGHT))
gc.Stroke()
u := 0
for i := 0; i < 7; i++ {
gc.MoveTo(FONT_START_X, FONT_START_Y+float64(i*BAR_HEIGHT))
gc.SetStrokeColor(color.RGBA{0x00, 0x00, 0x00, 0xff})
gc.FillString(sday.Weekday().String()[0:2])
upday := make([]w32uptime.Uptime, 0)
for e := u; e < len(uptimes); e++ {
if uptimes[e].Start.After(eday) {
u = e - 1
if u < 0 {
u = 0
}
break
}
if isUptimeInRange(sday, eday, uptimes[e]) {
upday = append(upday, uptimes[e])
}
}
gc.SetFillColor(color.RGBA{0xE0, 0xA6, 0x2C, 0xFF})
if len(upday) > 0 {
for e := 0; e < len(upday); e++ {
ps, pe := 0, BAR_WIDTH
if upday[e].Start.After(sday) {
ps = timeToBarwidth(upday[e].Start)
}
if upday[e].End.Before(eday) {
pe = timeToBarwidth(upday[e].End)
}
rect(gc, float64(BAR_START_X+ps), float64(BAR_START_X+pe), BAR_START_Y+1+float64(i*BAR_HEIGHT), BAR_START_Y+1+float64((i+1)*BAR_HEIGHT))
gc.Fill()
}
}
if i != 6 {
gc.SetStrokeColor(color.RGBA{0x00, 0x00, 0x00, 0xff})
gc.MoveTo(BAR_START_X, BAR_START_Y+float64((i+1)*BAR_HEIGHT))
gc.LineTo(BAR_START_X+BAR_WIDTH, BAR_START_Y+float64((i+1)*BAR_HEIGHT))
gc.Close()
gc.Stroke()
}
sday = sday.Add(Day)
eday = sday.Add(Day - time.Second)
}
// middle line
gc.SetStrokeColor(color.RGBA{0x00, 0x00, 0x00, 0xff})
gc.MoveTo(BAR_START_X+BAR_WIDTH/2, BAR_START_Y+1)
gc.LineTo(BAR_START_X+BAR_WIDTH/2, BAR_START_Y+1+float64(7*BAR_HEIGHT))
gc.Close()
gc.Stroke()
}