f32: replace Affine2D{} with AffineId() for identity transformations

References: https://todo.sr.ht/~eliasnaur/gio/655
Signed-off-by: Walter Werner SCHNEIDER <contact@schnwalter.eu>
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Walter Werner SCHNEIDER
2025-07-12 13:01:54 +03:00
committed by Elias Naur
parent 78b54615cc
commit 4e5a344cc2
5 changed files with 23 additions and 15 deletions
+1
View File
@@ -281,6 +281,7 @@ func (q *keyQueue) Focus(handlers map[event.Tag]*handler, state keyState, focus
return state, nil
}
state.content = EditorState{}
state.content.Selection.Transform = f32.AffineId()
var evts []taggedEvent
if state.focus != nil {
evts = append(evts, taggedEvent{tag: state.focus, event: key.FocusEvent{Focus: false}})
+3 -1
View File
@@ -144,7 +144,9 @@ const (
)
func (c *pointerCollector) resetState() {
c.state = collectState{}
c.state = collectState{
t: f32.AffineId(),
}
c.nodeStack = c.nodeStack[:0]
// Pop every node except the root.
if len(c.q.hitTree) > 0 {
+4 -2
View File
@@ -779,13 +779,15 @@ func (q *Router) collect() {
pc.Reset()
kq := &q.key.queue
q.key.queue.Reset()
var t f32.Affine2D
t := f32.AffineId()
for encOp, ok := q.reader.Decode(); ok; encOp, ok = q.reader.Decode() {
switch ops.OpType(encOp.Data[0]) {
case ops.TypeSave:
id := ops.DecodeSave(encOp.Data)
if extra := id - len(q.savedTrans) + 1; extra > 0 {
q.savedTrans = append(q.savedTrans, make([]f32.Affine2D, extra)...)
for range extra {
q.savedTrans = append(q.savedTrans, f32.AffineId())
}
}
q.savedTrans[id] = t
case ops.TypeLoad: