mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-08 14:18:26 +02:00
Avoid double is_opaque scan
This commit is contained in:
2
go.mod
2
go.mod
@@ -14,7 +14,7 @@ require (
|
||||
github.com/kovidgoyal/dbus v0.0.0-20250519011319-e811c41c0bc1
|
||||
github.com/kovidgoyal/go-parallel v1.1.1
|
||||
github.com/kovidgoyal/go-shm v1.0.0
|
||||
github.com/kovidgoyal/imaging v1.8.11
|
||||
github.com/kovidgoyal/imaging v1.8.12
|
||||
github.com/seancfoley/ipaddress-go v1.7.1
|
||||
github.com/shirou/gopsutil/v4 v4.25.10
|
||||
github.com/zeebo/xxh3 v1.0.2
|
||||
|
||||
4
go.sum
4
go.sum
@@ -34,8 +34,8 @@ github.com/kovidgoyal/go-parallel v1.1.1 h1:1OzpNjtrUkBPq3UaqrnvOoB2F9RttSt811ui
|
||||
github.com/kovidgoyal/go-parallel v1.1.1/go.mod h1:BJNIbe6+hxyFWv7n6oEDPj3PA5qSw5OCtf0hcVxWJiw=
|
||||
github.com/kovidgoyal/go-shm v1.0.0 h1:HJEel9D1F9YhULvClEHJLawoRSj/1u/EDV7MJbBPgQo=
|
||||
github.com/kovidgoyal/go-shm v1.0.0/go.mod h1:Yzb80Xf9L3kaoB2RGok9hHwMIt7Oif61kT6t3+VnZds=
|
||||
github.com/kovidgoyal/imaging v1.8.11 h1:i2NzTs8Ge0LKvilKiTw0U1kTcrBL8bo+zUYZSjSP+6M=
|
||||
github.com/kovidgoyal/imaging v1.8.11/go.mod h1:rjyfCTmIGGDjbMWGJ8QN/D/AWjHXD5flIzhjJpOcOVw=
|
||||
github.com/kovidgoyal/imaging v1.8.12 h1:S1NIlxNdI86A3MGJNajqp2Pu8/WSVrL8L1B5HbSQsB0=
|
||||
github.com/kovidgoyal/imaging v1.8.12/go.mod h1:rjyfCTmIGGDjbMWGJ8QN/D/AWjHXD5flIzhjJpOcOVw=
|
||||
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a h1:N9zuLhTvBSRt0gWSiJswwQ2HqDmtX/ZCDJURnKUt1Ik=
|
||||
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a/go.mod h1:JKx41uQRwqlTZabZc+kILPrO/3jlKnQ2Z8b7YiVw5cE=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
|
||||
@@ -216,7 +216,13 @@ func scale_image(imgd *image_data) bool {
|
||||
|
||||
func add_frame(imgd *image_data, img image.Image, left, top int) *image_frame {
|
||||
const shm_template = "kitty-icat-*"
|
||||
num_channels, pix := imaging.AsRGBData8(img)
|
||||
num_channels := 4
|
||||
var pix []byte
|
||||
if imaging.IsOpaque(img) {
|
||||
num_channels, pix = 3, imaging.AsRGBData8(img)
|
||||
} else {
|
||||
pix = imaging.AsRGBAData8(img)
|
||||
}
|
||||
b := img.Bounds()
|
||||
f := image_frame{width: b.Dx(), height: b.Dy(), number: len(imgd.frames) + 1, left: left, top: top}
|
||||
f.transmission_format = utils.IfElse(num_channels == 3, graphics.GRT_format_rgb, graphics.GRT_format_rgba)
|
||||
|
||||
@@ -77,10 +77,10 @@ func (self *ImageFrame) DataAsSHM(pattern string) (ans shm.MMap, err error) {
|
||||
}
|
||||
|
||||
func (self *ImageFrame) Data() (num_channels, bits_per_channel int, has_alpha_channel bool, ans []byte) {
|
||||
num_channels, ans = imaging.AsRGBData8(self.Img)
|
||||
bits_per_channel = 8
|
||||
has_alpha_channel = num_channels == 3
|
||||
return
|
||||
if self.Is_opaque {
|
||||
return 3, 8, false, imaging.AsRGBData8(self.Img)
|
||||
}
|
||||
return 4, 8, true, imaging.AsRGBAData8(self.Img)
|
||||
}
|
||||
|
||||
func ImageFrameFromSerialized(s SerializableImageFrame, data []byte) (aa *ImageFrame, err error) {
|
||||
|
||||
Reference in New Issue
Block a user