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 {
 | 
			
		||||
		this.atlasSmall.Close()
 | 
			
		||||
	}
 | 
			
		||||
	if this.atlasLarge != nil {
 | 
			
		||||
		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) {
 | 
			
		||||
		for _, texture := range mp {
 | 
			
		||||
			if texture != nil {
 | 
			
		||||
@ -112,6 +112,7 @@ func (this *iconTheme) Close () {
 | 
			
		||||
	closeAllIn(this.texturesSmall)
 | 
			
		||||
	closeAllIn(this.texturesMedium)
 | 
			
		||||
	closeAllIn(this.texturesLarge)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *iconTheme) icon (icon tomo.Icon, size tomo.IconSize) canvas.TextureCloser {
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,5 @@
 | 
			
		||||
package fallbackStyle
 | 
			
		||||
 | 
			
		||||
import "io"
 | 
			
		||||
import "bytes"
 | 
			
		||||
import "image"
 | 
			
		||||
import _ "embed"
 | 
			
		||||
@ -47,12 +46,6 @@ var borderColorShade    = [4]color.Color { colorShade,       colorShade,     col
 | 
			
		||||
//go:embed assets/atlas.png
 | 
			
		||||
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
 | 
			
		||||
// green and turquoise accents.
 | 
			
		||||
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))
 | 
			
		||||
	textureHandleHorizontal := atlasTexture.SubTexture(image.Rect(28,  0, 30,  1))
 | 
			
		||||
 | 
			
		||||
	cookie := event.MultiCookie(newCloserCookie(atlasTexture))
 | 
			
		||||
	cookie := event.MultiCookie(atlasTexture)
 | 
			
		||||
 | 
			
		||||
rules := []style.Rule {
 | 
			
		||||
	// *.*
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,6 @@
 | 
			
		||||
package tss
 | 
			
		||||
 | 
			
		||||
import "os"
 | 
			
		||||
import "io"
 | 
			
		||||
import "fmt"
 | 
			
		||||
import "image"
 | 
			
		||||
import "errors"
 | 
			
		||||
@ -81,7 +80,7 @@ func (this *styleBuilder) build () (*style.Style, event.Cookie, error) {
 | 
			
		||||
 | 
			
		||||
	// add each texture to the cookies list
 | 
			
		||||
	for _, texture := range this.textures {
 | 
			
		||||
		cookies = append(cookies, closerCookie { Closer: texture })
 | 
			
		||||
		cookies = append(cookies, texture)
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	return sty, event.MultiCookie(cookies...), nil
 | 
			
		||||
@ -398,10 +397,3 @@ func copyBorderValue[T any, U ~[]T] (destination, source U) bool {
 | 
			
		||||
		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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type funcCookie func ()
 | 
			
		||||
func (cookie funcCookie) Close () {
 | 
			
		||||
	cookie()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// WaitFor ensures that the application will stay running while the given window
 | 
			
		||||
// is open.
 | 
			
		||||
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 (
 | 
			
		||||
		window.OnClose(handleClose),
 | 
			
		||||
		funcCookie(handleClose))
 | 
			
		||||
		event.FuncCookie(handleWaitClose))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user