add ComposeTarget interface

This commit is contained in:
faiface 2017-04-10 00:20:19 +02:00
parent 9e8697cdf6
commit 13b9e6aee5
1 changed files with 24 additions and 0 deletions

View File

@ -38,6 +38,30 @@ type BasicTarget interface {
SetColorMask(color.Color)
}
// ComposeTarget is a BasicTarget capable of Porter-Duff composition.
type ComposeTarget interface {
BasicTarget
// SetComposeMethod sets a Porter-Duff composition method to be used.
SetComposeMethod(ComposeMethod)
}
// ComposeMethod is a Porter-Duff composition method.
type ComposeMethod int
// Here's the list of all available Porter-Duff composition methods. User ComposeOver for the basic
// alpha blending.
const (
ComposeOver ComposeMethod = iota
ComposeIn
ComposeOut
ComposeAtop
ComposeDstIn
ComposeDstOut
ComposeDstAtop
ComposeXor
)
// Triangles represents a list of vertices, where each three vertices form a triangle. (First,
// second and third is the first triangle, fourth, fifth and sixth is the second triangle, etc.)
type Triangles interface {