From 80d4f96be14744ebeb6c4ed2ab5562bca9d88fc9 Mon Sep 17 00:00:00 2001 From: 12private12 <120792mon@gmail.com> Date: Tue, 12 Aug 2025 23:19:47 +0800 Subject: [PATCH] Delete compose.go --- compose.go | 65 ------------------------------------------------------ 1 file changed, 65 deletions(-) delete mode 100644 compose.go diff --git a/compose.go b/compose.go deleted file mode 100644 index a4a8783..0000000 --- a/compose.go +++ /dev/null @@ -1,65 +0,0 @@ -package pixel - -import "errors" - -// 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. Use ComposeOver for the basic -// alpha blending. -const ( - ComposeOver ComposeMethod = iota - ComposeIn - ComposeOut - ComposeAtop - ComposeRover - ComposeRin - ComposeRout - ComposeRatop - ComposeXor - ComposePlus - ComposeCopy -) - -// Compose composes two colors together according to the ComposeMethod. A is the foreground, B is -// the background. -func (cm ComposeMethod) Compose(a, b RGBA) RGBA { - var fa, fb float64 - - switch cm { - case ComposeOver: - fa, fb = 1, 1-a.A - case ComposeIn: - fa, fb = b.A, 0 - case ComposeOut: - fa, fb = 1-b.A, 0 - case ComposeAtop: - fa, fb = b.A, 1-a.A - case ComposeRover: - fa, fb = 1-b.A, 1 - case ComposeRin: - fa, fb = 0, a.A - case ComposeRout: - fa, fb = 0, 1-a.A - case ComposeRatop: - fa, fb = 1-b.A, a.A - case ComposeXor: - fa, fb = 1-b.A, 1-a.A - case ComposePlus: - fa, fb = 1, 1 - case ComposeCopy: - fa, fb = 1, 0 - default: - panic(errors.New("Compose: invalid ComposeMethod")) - } - - return a.Mul(Alpha(fa)).Add(b.Mul(Alpha(fb))) -}