• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Golang cairo.Context类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang gdk.EventButton类代码示例发布时间:2022-05-23
下一篇:
Golang pg.Session类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap