Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 07bcd119d7 | |||
| c51ce65c88 | |||
| 0d93d73c32 | |||
| 006921d690 | |||
| f2bcc217a4 |
5
go.mod
5
go.mod
@@ -3,11 +3,8 @@ module git.tebibyte.media/tomo/backend
|
|||||||
go 1.20
|
go 1.20
|
||||||
|
|
||||||
require (
|
require (
|
||||||
git.tebibyte.media/tomo/tomo v0.34.0
|
git.tebibyte.media/tomo/tomo v0.35.0
|
||||||
git.tebibyte.media/tomo/typeset v0.7.1
|
git.tebibyte.media/tomo/typeset v0.7.1
|
||||||
)
|
|
||||||
|
|
||||||
require (
|
|
||||||
git.tebibyte.media/tomo/xgbkb v1.0.1
|
git.tebibyte.media/tomo/xgbkb v1.0.1
|
||||||
github.com/jezek/xgb v1.1.1
|
github.com/jezek/xgb v1.1.1
|
||||||
github.com/jezek/xgbutil v0.0.0-20231116234834-47f30c120111
|
github.com/jezek/xgbutil v0.0.0-20231116234834-47f30c120111
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -1,6 +1,6 @@
|
|||||||
git.tebibyte.media/sashakoshka/xgbkb v1.0.0/go.mod h1:pNcE6TRO93vHd6q42SdwLSTTj25L0Yzggz7yLe0JV6Q=
|
git.tebibyte.media/sashakoshka/xgbkb v1.0.0/go.mod h1:pNcE6TRO93vHd6q42SdwLSTTj25L0Yzggz7yLe0JV6Q=
|
||||||
git.tebibyte.media/tomo/tomo v0.34.0 h1:r5yJPks9rtzdDI2RyAUdqa1qb6BebG0QFe2cTmcFi+0=
|
git.tebibyte.media/tomo/tomo v0.35.0 h1:1XvcUcWg1rBZXov3KfuX6VfiuBQ2mcJHIslHMLn07no=
|
||||||
git.tebibyte.media/tomo/tomo v0.34.0/go.mod h1:C9EzepS9wjkTJjnZaPBh22YvVPyA4hbBAJVU20Rdmps=
|
git.tebibyte.media/tomo/tomo v0.35.0/go.mod h1:C9EzepS9wjkTJjnZaPBh22YvVPyA4hbBAJVU20Rdmps=
|
||||||
git.tebibyte.media/tomo/typeset v0.7.1 h1:aZrsHwCG5ZB4f5CruRFsxLv5ezJUCFUFsQJJso2sXQ8=
|
git.tebibyte.media/tomo/typeset v0.7.1 h1:aZrsHwCG5ZB4f5CruRFsxLv5ezJUCFUFsQJJso2sXQ8=
|
||||||
git.tebibyte.media/tomo/typeset v0.7.1/go.mod h1:PwDpSdBF3l/EzoIsa2ME7QffVVajnTHZN6l3MHEGe1g=
|
git.tebibyte.media/tomo/typeset v0.7.1/go.mod h1:PwDpSdBF3l/EzoIsa2ME7QffVVajnTHZN6l3MHEGe1g=
|
||||||
git.tebibyte.media/tomo/xgbkb v1.0.1 h1:b3HDUopjdQp1MZrb5Vpil4bOtk3NnNXtfQW27Blw2kE=
|
git.tebibyte.media/tomo/xgbkb v1.0.1 h1:b3HDUopjdQp1MZrb5Vpil4bOtk3NnNXtfQW27Blw2kE=
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ type box struct {
|
|||||||
parent parent
|
parent parent
|
||||||
outer anyBox
|
outer anyBox
|
||||||
|
|
||||||
|
role tomo.Role
|
||||||
|
|
||||||
bounds image.Rectangle
|
bounds image.Rectangle
|
||||||
minSize image.Point
|
minSize image.Point
|
||||||
userMinSize image.Point
|
userMinSize image.Point
|
||||||
@@ -106,6 +108,10 @@ func (this *box) MinimumSize () image.Point {
|
|||||||
return this.minSize
|
return this.minSize
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *box) Role () tomo.Role {
|
||||||
|
return this.role
|
||||||
|
}
|
||||||
|
|
||||||
func (this *box) borderSum () tomo.Inset {
|
func (this *box) borderSum () tomo.Inset {
|
||||||
sum := tomo.Inset { }
|
sum := tomo.Inset { }
|
||||||
for _, border := range this.border {
|
for _, border := range this.border {
|
||||||
@@ -182,6 +188,10 @@ func (this *box) SetPadding (padding tomo.Inset) {
|
|||||||
this.invalidateMinimum()
|
this.invalidateMinimum()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *box) SetRole (role tomo.Role) {
|
||||||
|
this.role = role
|
||||||
|
}
|
||||||
|
|
||||||
func (this *box) SetDNDData (dat data.Data) {
|
func (this *box) SetDNDData (dat data.Data) {
|
||||||
this.dndData = dat
|
this.dndData = dat
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ type System struct {
|
|||||||
type BackendLink interface {
|
type BackendLink interface {
|
||||||
// NewTexture creates a new texture from an image.
|
// NewTexture creates a new texture from an image.
|
||||||
NewTexture (image.Image) canvas.TextureCloser
|
NewTexture (image.Image) canvas.TextureCloser
|
||||||
// NewCanvas creates a new blank canvas with the specified bounds.
|
|
||||||
NewCanvas (image.Rectangle) canvas.Canvas
|
|
||||||
// NewSurface creates a new surface with the specified bounds.
|
// NewSurface creates a new surface with the specified bounds.
|
||||||
NewSurface (image.Rectangle) (SurfaceLink, error)
|
NewSurface (image.Rectangle) (SurfaceLink, error)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,10 +31,6 @@ func (this *backendLink) NewTexture (source image.Image) canvas.TextureCloser {
|
|||||||
return this.backend.NewTexture(source)
|
return this.backend.NewTexture(source)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *backendLink) NewCanvas (bounds image.Rectangle) canvas.Canvas {
|
|
||||||
return this.backend.NewCanvas(bounds)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *backendLink) NewSurface (bounds image.Rectangle) (system.SurfaceLink, error) {
|
func (this *backendLink) NewSurface (bounds image.Rectangle) (system.SurfaceLink, error) {
|
||||||
// TODO
|
// TODO
|
||||||
return nil, errors.New("x: not implemented")
|
return nil, errors.New("x: not implemented")
|
||||||
@@ -126,7 +122,7 @@ func (this *Backend) NewTexture (source image.Image) canvas.TextureCloser {
|
|||||||
return xcanvas.NewTextureFrom(source)
|
return xcanvas.NewTextureFrom(source)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Backend) NewCanvas (bounds image.Rectangle) canvas.Canvas {
|
func (this *Backend) NewCanvas (bounds image.Rectangle) canvas.CanvasCloser {
|
||||||
return xcanvas.NewCanvas(this.x, bounds)
|
return xcanvas.NewCanvas(this.x, bounds)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,9 +49,10 @@ func (this *Canvas) Push (window xproto.Window) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Close frees this canvas from the X server.
|
// Close frees this canvas from the X server.
|
||||||
func (this *Canvas) Close () {
|
func (this *Canvas) Close () error {
|
||||||
this.assert()
|
this.assert()
|
||||||
this.Image.Destroy()
|
this.Image.Destroy()
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Canvas) assert () {
|
func (this *Canvas) assert () {
|
||||||
|
|||||||
@@ -361,7 +361,7 @@ func (this *window) reallocateCanvas () {
|
|||||||
|
|
||||||
if larger || smaller {
|
if larger || smaller {
|
||||||
if this.xCanvas != nil {
|
if this.xCanvas != nil {
|
||||||
this.xCanvas.Destroy()
|
this.xCanvas.Close()
|
||||||
}
|
}
|
||||||
this.xCanvas = xcanvas.NewCanvasFrom(xgraphics.New (
|
this.xCanvas = xcanvas.NewCanvasFrom(xgraphics.New (
|
||||||
this.backend.x,
|
this.backend.x,
|
||||||
|
|||||||
Reference in New Issue
Block a user