mirror of
https://github.com/esimov/caire.git
synced 2024-05-31 14:55:55 +08:00
30 lines
633 B
Go
30 lines
633 B
Go
package caire
|
|
|
|
import (
|
|
"os"
|
|
)
|
|
|
|
// showPreview spawns a new Gio GUI window and updates its content with the resized image received from a channel.
|
|
func (p *Processor) showPreview(
|
|
imgWorker <-chan worker,
|
|
errChan chan<- error,
|
|
guiParams struct {
|
|
width int
|
|
height int
|
|
},
|
|
) {
|
|
var gui = NewGUI(guiParams.width, guiParams.height)
|
|
gui.cp = p
|
|
gui.proc.wrk = imgWorker
|
|
|
|
// Run the Gio GUI app in a separate goroutine
|
|
go func() {
|
|
if err := gui.Run(); err != nil {
|
|
errChan <- err
|
|
}
|
|
// It's important to call os.Exit(0) in order to terminate
|
|
// the execution of the GUI app when pressing ESC key.
|
|
os.Exit(0)
|
|
}()
|
|
}
|