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


Golang xgraphics.Blend函数代码示例

本文整理汇总了Golang中github.com/BurntSushi/xgbutil/xgraphics.Blend函数的典型用法代码示例。如果您正苦于以下问题:Golang Blend函数的具体用法?Golang Blend怎么用?Golang Blend使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: newButtonMinimize

func (f *Full) newButtonMinimize() *piece {
	imgA := render.NewBorder(f.X, 0, render.NoColor, f.theme.ATitleColor,
		f.theme.TitleSize, f.theme.TitleSize,
		render.GradientVert, render.GradientRegular)
	imgI := render.NewBorder(f.X, 0, render.NoColor, f.theme.ITitleColor,
		f.theme.TitleSize, f.theme.TitleSize,
		render.GradientVert, render.GradientRegular)

	xgraphics.Blend(imgA.Image, f.theme.AMinimizeButton, image.ZP)
	xgraphics.Blend(imgI.Image, f.theme.IMinimizeButton, image.ZP)

	win := f.newPieceWindow("minimize", 0)
	win.MROpt(fY|fW|fH,
		0, f.theme.BorderSize,
		f.theme.TitleSize, f.theme.TitleSize)
	return newPiece(win, imgA.Image, imgI.Image)
}
开发者ID:cshapeshifter,项目名称:wingo,代码行数:17,代码来源:full_pieces.go

示例2: Blend

// blend the RGBA original icon against the background of Icon.Parent
// Allows us to simulate transparency
func (icn *Icon) Blend() {
	// get pixels "parent-pixels" of Parent that are behind Window
	bg := icn.getBackground()

	// copy "parent-pixels" into buffer "ximage", overwriting existing completely
	xgraphics.Blend(icn.ximage, bg, image.Point{0, 0})

	// alpha-blend Image into buffer "ximage"
	xgraphics.Blend(icn.ximage, icn.Image, image.Point{0, 0})

	// swap ximage into Window as background
	icn.ximage.XSurfaceSet(icn.Window.Id)
	icn.ximage.XDraw()
	icn.ximage.XPaint(icn.Window.Id)

	// free the pixbuff memory!
	icn.ximage.Destroy()
}
开发者ID:justjake,项目名称:j3,代码行数:20,代码来源:icon.go

示例3: UpdateIcon

func (f *Full) UpdateIcon() {
	size := f.theme.TitleSize
	imgA := render.NewBorder(f.X, 0, render.NoColor, f.theme.ATitleColor,
		size, size, render.GradientVert, render.GradientRegular)
	imgI := render.NewBorder(f.X, 0, render.NoColor, f.theme.ITitleColor,
		size, size, render.GradientVert, render.GradientRegular)

	img := f.client.Icon(size-4, size-4)

	sub := image.Rect(2, 2, size-2, size-2)
	xgraphics.Blend(imgA.SubImage(sub), img, image.ZP)
	xgraphics.Blend(imgI.SubImage(sub), img, image.ZP)

	f.icon.Create(imgA.Image, imgI.Image)

	if f.client.State() == Active {
		f.icon.Active()
	} else {
		f.icon.Inactive()
	}
}
开发者ID:mkrull,项目名称:wingo,代码行数:21,代码来源:full.go

示例4: drawGopher

// drawGopher draws the gopher image to the canvas.
func drawGopher(canvas *xgraphics.Image, gopher image.Image,
	win *xwindow.Window, x, y int) {

	// Find the rectangle of the canvas where we're going to draw the gopher.
	gopherRect := midRect(x, y, gopherWidth, gopherHeight, width, height)

	// If the rectangle contains no pixels, don't draw anything.
	if gopherRect.Empty() {
		return
	}

	// Output a little message.
	log.Printf("Drawing gopher at (%d, %d)", x, y)

	// Get a subimage of the gopher that's in sync with gopherRect.
	gopherPt := image.Pt(gopher.Bounds().Min.X, gopher.Bounds().Min.Y)
	if gopherRect.Min.X == 0 {
		gopherPt.X = gopherWidth - gopherRect.Dx()
	}
	if gopherRect.Min.Y == 0 {
		gopherPt.Y = gopherHeight - gopherRect.Dy()
	}

	// Create the canvas subimage.
	subCanvas := canvas.SubImage(gopherRect)

	// Blend the gopher image into the sub-canvas.
	// This does alpha blending.
	xgraphics.Blend(subCanvas, gopher, gopherPt)

	// Now draw the changes to the pixmap.
	subCanvas.XDraw()

	// And paint them to the window.
	subCanvas.XPaint(win.Id)
}
开发者ID:sbinet,项目名称:xgbutil,代码行数:37,代码来源:main.go


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