github.com/as/shiny@v0.8.2/driver/internal/swizzle/swizzle.go (about) 1 package swizzle 2 3 var ( 4 swizzler = pureBGRA 5 ) 6 7 func Swizzle(p, q []byte) { 8 if len(p) < 4 { 9 return 10 } 11 swizzler(p, q) 12 } 13 14 func pureBGRA(p, q []byte) { 15 if len(p)%4 != 0 { 16 return 17 } 18 for i := 0; i < len(p); i += 4 { 19 q[i+0], q[i+1], q[i+2], q[i+3] = p[i+2], p[i+1], p[i+0], p[i+3] 20 } 21 }