Fix code relating to cookies
This commit is contained in:
parent
e08d14135b
commit
2312b48a28
@ -505,11 +505,12 @@ func (this *iconSet) MimeIcon (mime data.Mime, size tomo.IconSize) canvas.Textur
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *iconSet) Close () {
|
func (this *iconSet) Close () error {
|
||||||
if this.atlasSmall != nil {
|
if this.atlasSmall != nil {
|
||||||
this.atlasSmall.Close()
|
this.atlasSmall.Close()
|
||||||
}
|
}
|
||||||
if this.atlasLarge != nil {
|
if this.atlasLarge != nil {
|
||||||
this.atlasLarge.Close()
|
this.atlasLarge.Close()
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,7 @@ func (this *iconTheme) MimeIcon (mime data.Mime, size tomo.IconSize) canvas.Text
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *iconTheme) Close () {
|
func (this *iconTheme) Close () error {
|
||||||
closeAllIn := func (mp map[tomo.Icon] canvas.TextureCloser) {
|
closeAllIn := func (mp map[tomo.Icon] canvas.TextureCloser) {
|
||||||
for _, texture := range mp {
|
for _, texture := range mp {
|
||||||
if texture != nil {
|
if texture != nil {
|
||||||
@ -112,6 +112,7 @@ func (this *iconTheme) Close () {
|
|||||||
closeAllIn(this.texturesSmall)
|
closeAllIn(this.texturesSmall)
|
||||||
closeAllIn(this.texturesMedium)
|
closeAllIn(this.texturesMedium)
|
||||||
closeAllIn(this.texturesLarge)
|
closeAllIn(this.texturesLarge)
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *iconTheme) icon (icon tomo.Icon, size tomo.IconSize) canvas.TextureCloser {
|
func (this *iconTheme) icon (icon tomo.Icon, size tomo.IconSize) canvas.TextureCloser {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package fallbackStyle
|
package fallbackStyle
|
||||||
|
|
||||||
import "io"
|
|
||||||
import "bytes"
|
import "bytes"
|
||||||
import "image"
|
import "image"
|
||||||
import _ "embed"
|
import _ "embed"
|
||||||
@ -47,12 +46,6 @@ var borderColorShade = [4]color.Color { colorShade, colorShade, col
|
|||||||
//go:embed assets/atlas.png
|
//go:embed assets/atlas.png
|
||||||
var atlasBytes []byte
|
var atlasBytes []byte
|
||||||
|
|
||||||
type closerCookie struct { io.Closer }
|
|
||||||
func (cookie closerCookie) Close () { cookie.Closer.Close() }
|
|
||||||
func newCloserCookie (closer io.Closer) event.Cookie {
|
|
||||||
return closerCookie { Closer: closer }
|
|
||||||
}
|
|
||||||
|
|
||||||
// New returns Wintergreen, the default Tomo style. It is neutral-gray with
|
// New returns Wintergreen, the default Tomo style. It is neutral-gray with
|
||||||
// green and turquoise accents.
|
// green and turquoise accents.
|
||||||
func New () (*style.Style, event.Cookie) {
|
func New () (*style.Style, event.Cookie) {
|
||||||
@ -66,7 +59,7 @@ func New () (*style.Style, event.Cookie) {
|
|||||||
textureHandleVertical := atlasTexture.SubTexture(image.Rect(28, 0, 29, 2))
|
textureHandleVertical := atlasTexture.SubTexture(image.Rect(28, 0, 29, 2))
|
||||||
textureHandleHorizontal := atlasTexture.SubTexture(image.Rect(28, 0, 30, 1))
|
textureHandleHorizontal := atlasTexture.SubTexture(image.Rect(28, 0, 30, 1))
|
||||||
|
|
||||||
cookie := event.MultiCookie(newCloserCookie(atlasTexture))
|
cookie := event.MultiCookie(atlasTexture)
|
||||||
|
|
||||||
rules := []style.Rule {
|
rules := []style.Rule {
|
||||||
// *.*
|
// *.*
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package tss
|
package tss
|
||||||
|
|
||||||
import "os"
|
import "os"
|
||||||
import "io"
|
|
||||||
import "fmt"
|
import "fmt"
|
||||||
import "image"
|
import "image"
|
||||||
import "errors"
|
import "errors"
|
||||||
@ -81,7 +80,7 @@ func (this *styleBuilder) build () (*style.Style, event.Cookie, error) {
|
|||||||
|
|
||||||
// add each texture to the cookies list
|
// add each texture to the cookies list
|
||||||
for _, texture := range this.textures {
|
for _, texture := range this.textures {
|
||||||
cookies = append(cookies, closerCookie { Closer: texture })
|
cookies = append(cookies, texture)
|
||||||
}
|
}
|
||||||
|
|
||||||
return sty, event.MultiCookie(cookies...), nil
|
return sty, event.MultiCookie(cookies...), nil
|
||||||
@ -398,10 +397,3 @@ func copyBorderValue[T any, U ~[]T] (destination, source U) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type closerCookie struct {
|
|
||||||
io.Closer
|
|
||||||
}
|
|
||||||
func (cookie closerCookie) Close () {
|
|
||||||
cookie.Closer.Close()
|
|
||||||
}
|
|
||||||
|
12
manager.go
12
manager.go
@ -7,11 +7,6 @@ var manager struct {
|
|||||||
count int
|
count int
|
||||||
}
|
}
|
||||||
|
|
||||||
type funcCookie func ()
|
|
||||||
func (cookie funcCookie) Close () {
|
|
||||||
cookie()
|
|
||||||
}
|
|
||||||
|
|
||||||
// WaitFor ensures that the application will stay running while the given window
|
// WaitFor ensures that the application will stay running while the given window
|
||||||
// is open.
|
// is open.
|
||||||
func WaitFor (window tomo.Window) event.Cookie {
|
func WaitFor (window tomo.Window) event.Cookie {
|
||||||
@ -27,7 +22,12 @@ func WaitFor (window tomo.Window) event.Cookie {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleWaitClose := func () error {
|
||||||
|
handleClose();
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
return event.MultiCookie (
|
return event.MultiCookie (
|
||||||
window.OnClose(handleClose),
|
window.OnClose(handleClose),
|
||||||
funcCookie(handleClose))
|
event.FuncCookie(handleWaitClose))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user