diff --git a/interface.go b/interface.go index fed7ac81b7b80e0d7d0fe2e2ccff4c5d58c7975a..d92d46038b793554ca5933fb66f90b1f0e958824 100644 --- a/interface.go +++ b/interface.go @@ -56,11 +56,13 @@ const ( ComposeIn ComposeOut ComposeAtop - ComposeDstOver - ComposeDstIn - ComposeDstOut - ComposeDstAtop + ComposeRover + ComposeRin + ComposeRout + ComposeRatop ComposeXor + ComposePlus + ComposeCopy ) // Triangles represents a list of vertices, where each three vertices form a triangle. (First, diff --git a/pixelgl/canvas.go b/pixelgl/canvas.go index 5ebe5bfe8a8f6f66e78f3c6d6ca0fb5956e4544d..df71f6d8c78c956bbc929ab905a9b2fe5fab88a9 100644 --- a/pixelgl/canvas.go +++ b/pixelgl/canvas.go @@ -153,16 +153,20 @@ func setBlendFunc(cmp pixel.ComposeMethod) { glhf.BlendFunc(glhf.OneMinusDstAlpha, glhf.Zero) case pixel.ComposeAtop: glhf.BlendFunc(glhf.DstAlpha, glhf.OneMinusSrcAlpha) - case pixel.ComposeDstOver: + case pixel.ComposeRover: glhf.BlendFunc(glhf.OneMinusDstAlpha, glhf.One) - case pixel.ComposeDstIn: + case pixel.ComposeRin: glhf.BlendFunc(glhf.Zero, glhf.SrcAlpha) - case pixel.ComposeDstOut: + case pixel.ComposeRout: glhf.BlendFunc(glhf.Zero, glhf.OneMinusSrcAlpha) - case pixel.ComposeDstAtop: + case pixel.ComposeRatop: glhf.BlendFunc(glhf.OneMinusDstAlpha, glhf.SrcAlpha) case pixel.ComposeXor: glhf.BlendFunc(glhf.OneMinusDstAlpha, glhf.OneMinusSrcAlpha) + case pixel.ComposePlus: + glhf.BlendFunc(glhf.One, glhf.One) + case pixel.ComposeCopy: + glhf.BlendFunc(glhf.One, glhf.Zero) default: panic(errors.New("Canvas: invalid compose method")) }