当前位置: 首页>>代码示例>>Golang>>正文


Golang Context.Save方法代码示例

本文整理汇总了Golang中github.com/evmar/gocairo/cairo.Context.Save方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Save方法的具体用法?Golang Context.Save怎么用?Golang Context.Save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/evmar/gocairo/cairo.Context的用法示例。


在下文中一共展示了Context.Save方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: Draw

func (t *TermView) Draw(cr *cairo.Context) {
	t.mf.Use(cr, false)

	t.termMu.Lock()
	defer t.termMu.Unlock()

	offset := t.term.Top * t.mf.ch
	offset = 0
	if offset > 0 {
		cr.Save()
		defer cr.Restore()
		cr.Translate(0, float64(-offset))
	}

	firstLine := offset / t.mf.ch
	if firstLine < 0 {
		firstLine = 0
	}
	lastLine := t.term.Top + t.term.Height
	if lastLine > len(t.term.Lines) {
		lastLine = len(t.term.Lines)
	}

	for row := firstLine; row < lastLine; row++ {
		drawTerminalLine(cr, t.mf, row*t.mf.ch, t.term.Lines[row])
	}

	if !t.term.HideCursor {
		ch := rune(0)
		if t.term.Row < len(t.term.Lines) &&
			t.term.Col < len(t.term.Lines[t.term.Row]) {
			ch = t.term.Lines[t.term.Row][t.term.Col].Ch
		}
		drawCursor(cr, t.mf, t.term.Row, t.term.Col, ch)
	}
}
开发者ID:evmar,项目名称:smash,代码行数:36,代码来源:termview.go


注:本文中的github.com/evmar/gocairo/cairo.Context.Save方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。