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  }