ui: build paths as ops

Instead of allocating and constructing a clip path, store path data
directly in op lists. Use separate op lists for cached text layout
paths.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2019-06-02 16:43:28 +02:00
parent 9f58ed0fea
commit 1e38eec0ab
15 changed files with 248 additions and 160 deletions
+3 -3
View File
@@ -156,14 +156,14 @@ func collectRedraws(r *ui.OpsReader) (time.Time, bool) {
var t time.Time
redraw := false
for {
data, _, ok := r.Decode()
encOp, ok := r.Decode()
if !ok {
break
}
switch ops.OpType(data[0]) {
switch ops.OpType(encOp.Data[0]) {
case ops.TypeRedraw:
var op ui.OpRedraw
op.Decode(data)
op.Decode(encOp.Data)
if !redraw || op.At.Before(t) {
redraw = true
t = op.At