From cd5dab581bbb27af2f227c4f0c9623848692d831 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 2 Jan 2023 17:54:09 +0530 Subject: [PATCH] DRYer --- tools/cmd/icat/native.go | 5 +++-- tools/cmd/icat/process_images.go | 18 +++++++++++------- tools/cmd/icat/transmit.go | 19 +++++-------------- 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/tools/cmd/icat/native.go b/tools/cmd/icat/native.go index fdd193e6b..781d8d8b6 100644 --- a/tools/cmd/icat/native.go +++ b/tools/cmd/icat/native.go @@ -5,6 +5,7 @@ package icat import ( "fmt" "image" + "kitty/tools/tui/graphics" "kitty/tools/utils/images" "kitty/tools/utils/shm" @@ -34,7 +35,7 @@ func add_frame(imgd *image_data, img image.Image, is_opaque bool) { rgb = &images.NRGB{Pix: m.Slice(), Stride: 3 * f.width, Rect: dest_rect} f.shm = m } - f.transmission_format_uppercase = "RGB" + f.transmission_format = graphics.GRT_format_rgb f.in_memory_bytes = rgb.Pix final_img = rgb } else { @@ -46,7 +47,7 @@ func add_frame(imgd *image_data, img image.Image, is_opaque bool) { rgba = &image.NRGBA{Pix: m.Slice(), Stride: 4 * f.width, Rect: dest_rect} f.shm = m } - f.transmission_format_uppercase = "RGBA" + f.transmission_format = graphics.GRT_format_rgba f.in_memory_bytes = rgba.Pix final_img = rgba } diff --git a/tools/cmd/icat/process_images.go b/tools/cmd/icat/process_images.go index 63386a013..cfe6a5d86 100644 --- a/tools/cmd/icat/process_images.go +++ b/tools/cmd/icat/process_images.go @@ -15,6 +15,7 @@ import ( "strings" "kitty/tools/tty" + "kitty/tools/tui/graphics" "kitty/tools/utils" "kitty/tools/utils/shm" ) @@ -137,12 +138,12 @@ func (self *opened_input) Release() { } type image_frame struct { - filename string - shm shm.MMap - in_memory_bytes []byte - filename_is_temporary bool - width, height int - transmission_format_uppercase string + filename string + shm shm.MMap + in_memory_bytes []byte + filename_is_temporary bool + width, height int + transmission_format graphics.GRT_f } type image_data struct { @@ -191,7 +192,10 @@ func make_output_from_input(imgd *image_data, f *opened_input) { imgd.frames = append(imgd.frames, &frame) frame.width = imgd.canvas_width frame.height = imgd.canvas_height - frame.transmission_format_uppercase = imgd.format_uppercase + if imgd.format_uppercase != "PNG" { + panic(fmt.Sprintf("Unknown transmission format: %s", imgd.format_uppercase)) + } + frame.transmission_format = graphics.GRT_format_png if ok { frame.in_memory_bytes = bb.data } else { diff --git a/tools/cmd/icat/transmit.go b/tools/cmd/icat/transmit.go index 47b94faea..0f053b8d6 100644 --- a/tools/cmd/icat/transmit.go +++ b/tools/cmd/icat/transmit.go @@ -7,13 +7,14 @@ import ( "errors" "fmt" "io" - "kitty/tools/tui/graphics" - "kitty/tools/utils" - "kitty/tools/utils/shm" "math" "math/rand" "os" "path/filepath" + + "kitty/tools/tui/graphics" + "kitty/tools/utils" + "kitty/tools/utils/shm" ) var _ = fmt.Print @@ -32,17 +33,7 @@ func gc_for_image(imgd *image_data, frame_num int, frame *image_frame) *graphics if imgd.image_number != 0 { gc.SetImageNumber(imgd.image_number) } - switch frame.transmission_format_uppercase { - case "PNG": - gc.SetFormat(graphics.GRT_format_png) - case "RGB": - gc.SetFormat(graphics.GRT_format_rgb) - case "RGBA": - gc.SetFormat(graphics.GRT_format_rgba) - default: - panic(fmt.Sprintf("Unknown transmission format: %s", frame.transmission_format_uppercase)) - } - + gc.SetFormat(frame.transmission_format) return &gc }