本文整理匯總了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)
}
示例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()
}
示例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()
}
}
示例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)
}