本文整理汇总了Golang中github.com/gotk3/gotk3/cairo.Context类的典型用法代码示例。如果您正苦于以下问题:Golang Context类的具体用法?Golang Context怎么用?Golang Context使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Context类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: DrawCallback
func (v *platformView) DrawCallback(area DrawArea, context *cairo.Context) {
context.Scale(v.parent.Scale(), v.parent.Scale())
x1, y1, x2, y2 := context.ClipExtents()
r := image.Rect(int(x1), int(y1), int(x2), int(y2))
v.drawArch(context, r)
v.drawChannels(context, r)
}
开发者ID:axel-freesp,项目名称:sge,代码行数:7,代码来源:platformview.go
示例2: drawChannels
func (v *mappingView) drawChannels(context *cairo.Context, r image.Rectangle) {
for _, a := range v.arch {
for _, pr := range a.Processes() {
for _, c := range pr.UserObj().OutChannels() {
link := c.Link()
lpr := link.Process()
la := lpr.Arch()
if la.Name() != a.Name() {
var a2 graph.ArchIf
for _, a2 = range v.arch {
if a2.UserObj() == la {
break
}
}
p1 := a.ChannelPort(c)
p2 := a2.ChannelPort(link)
if p1 == nil || p2 == nil {
log.Printf("mappingView.drawChannels error: invalid nil port (%s - %s).\n", a.Name(), la.Name())
continue
}
r, g, b, _ := graph.ColorOption(graph.NormalLine)
context.SetLineWidth(2)
context.SetSourceRGB(r, g, b)
pos1 := p1.Position().Add(image.Point{5, 5})
pos2 := p2.Position().Add(image.Point{5, 5})
graph.DrawLine(context, pos1, pos2)
}
}
}
}
}
开发者ID:axel-freesp,项目名称:sge,代码行数:31,代码来源:mappingview.go
示例3: DrawCallback
func (v *signalGraphView) DrawCallback(area DrawArea, context *cairo.Context) {
context.Scale(v.parent.Scale(), v.parent.Scale())
x1, y1, x2, y2 := context.ClipExtents()
r := image.Rect(int(x1), int(y1), int(x2), int(y2))
v.drawNodes(context, r)
v.drawConnections(context, r)
}
开发者ID:axel-freesp,项目名称:sge,代码行数:7,代码来源:signalgraphview.go
示例4: DrawCallback
func (v *mappingView) DrawCallback(area DrawArea, context *cairo.Context) {
context.Scale(v.parent.Scale(), v.parent.Scale())
x1, y1, x2, y2 := context.ClipExtents()
r := image.Rect(int(x1), int(y1), int(x2), int(y2))
if r.Overlaps(v.unmapped.BBox()) {
v.unmapped.Draw(context)
}
v.drawArch(context, r)
v.drawNodes(context, r)
v.drawChannels(context, r)
v.drawConnections(context, r)
}
开发者ID:axel-freesp,项目名称:sge,代码行数:12,代码来源:mappingview.go
示例5: DrawSelector
// draw the piece on the canvas
func (self *MainWindow) DrawSelector(cr *cairo.Context, x, y float64) {
cr.SetSourceRGBA(0.2, 0.8, 0.2, 0.8)
cr.SetLineWidth(5)
cr.Rectangle(x*self.tileWidth, y*self.tileHeight, self.tileWidth, self.tileHeight)
cr.Stroke()
}
开发者ID:juanfgs,项目名称:checkers,代码行数:9,代码来源:ui.go
示例6: DrawPiece
// draw the piece on the canvas
func (self *MainWindow) DrawPiece(cr *cairo.Context, x, y float64, color []float64) {
x, y = self.getPiecePosition(x, y)
x = x + 40
y = y + 30
cr.Arc(x, y, 20, 0, 2*3.14)
cr.SetSourceRGB(color[0], color[1], color[2])
cr.Fill()
}
开发者ID:juanfgs,项目名称:checkers,代码行数:9,代码来源:ui.go
示例7: cairo_context
func cairo_context(cr *cairo.Context) *C.cairo_t {
return (*C.cairo_t)(cr.GetCContext())
}
开发者ID:raichu,项目名称:gotk3,代码行数:3,代码来源:pangocairo.go
示例8: drawTable
func drawTable(area *gtk.DrawingArea, cr *cairo.Context, side int, cells []int) {
u := w.cellSize.GetValue()
w := area.GetAllocatedWidth()
h := area.GetAllocatedHeight()
bg := cellColor[cellPrevious]
cr.SetSourceRGB(bg[0], bg[1], bg[2])
cr.Rectangle(1, 1, float64(w-2), float64(h-2))
cr.Fill()
for k, cell := range cells[1:] {
color := cellColor[cell]
x, y := float64(k/side), float64(k%side)
cr.SetSourceRGB(color[0], color[1], color[2])
cr.Rectangle(2+x*u, 2+y*u, u, u)
cr.Fill()
}
}
开发者ID:orivej,项目名称:manual-shuffle,代码行数:16,代码来源:main.go
示例9: drawBoard
// Draws and re-draws the board
func (self *MainWindow) drawBoard(da *gtk.DrawingArea, cr *cairo.Context) bool {
for i := 0; i < self.boardSize; i++ {
for j := 0; j < self.boardSize; j++ {
x := float64(j) * self.tileWidth
y := float64(i) * self.tileHeight
if (i % 2) == (j % 2) {
cr.Rectangle(x, y, self.tileWidth, self.tileHeight)
cr.SetSourceRGB(0.5, 0.3, 0)
cr.Fill()
} else {
cr.Rectangle(x, y, self.tileWidth, self.tileHeight)
cr.SetSourceRGB(0.2, 0, 0)
cr.Fill()
}
}
}
// Draw pieces
for i, row := range self.Board.Places {
for j, col := range row {
if col != nil {
if col.Selected {
self.DrawSelector(cr, float64(i), float64(j))
}
if col.Team == board.RED {
self.DrawPiece(cr, float64(i), float64(j), RED)
} else {
self.DrawPiece(cr, float64(i), float64(j), BLACK)
}
}
}
}
self.drawScores()
return false
}
开发者ID:juanfgs,项目名称:checkers,代码行数:38,代码来源:ui.go
示例10: DrawAccLine
func DrawAccLine(gc *cairo.Context, x1, y1 float64, p2 image.Point) {
gc.MoveTo(x1, y1)
gc.LineTo(float64(p2.X), float64(p2.Y))
gc.Stroke()
}
开发者ID:axel-freesp,项目名称:sge,代码行数:5,代码来源:line.go
示例11: DrawLine
func DrawLine(gc *cairo.Context, p1, p2 image.Point) {
gc.MoveTo(float64(p1.X), float64(p1.Y))
gc.LineTo(float64(p2.X), float64(p2.Y))
gc.Stroke()
}
开发者ID:axel-freesp,项目名称:sge,代码行数:5,代码来源:line.go
注:本文中的github.com/gotk3/gotk3/cairo.Context类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论