Skip to content

Commit

Permalink
add ComposeTarget interface
Browse files Browse the repository at this point in the history
  • Loading branch information
faiface committed Apr 9, 2017
1 parent bb7b98e commit 8da5185
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit 8da5185

Please sign in to comment.