Tests layer command log Canvas log: { 0 : { commandIndex : 0 method : "drawPaint" params : { paint : { blendMode : "Src" color : "#00000000" flags : "none" strokeCap : "Butt" strokeJoin : "Miter" strokeMiter : 4 strokeWidth : 0 styleName : "Fill" } } } 1 : { commandIndex : 1 method : "drawRect" params : { paint : { color : "#FF0000FF" flags : "AntiAlias" strokeCap : "Butt" strokeJoin : "Miter" strokeMiter : 4 strokeWidth : 0 styleName : "Fill" } rect : { bottom : 100 left : 0 right : 100 top : 0 } } } 10 : { commandIndex : 10 method : "drawRect" params : { paint : { color : "#80000000" flags : "AntiAlias" strokeCap : "Butt" strokeJoin : "Miter" strokeMiter : 4 strokeWidth : 0 styleName : "Fill" } rect : { bottom : 10 left : 0 right : 10 top : 0 } } } 11 : { commandIndex : 11 method : "restore" params : undefined } 2 : { commandIndex : 2 method : "drawRect" params : { paint : { color : "#FFFF0000" flags : "AntiAlias" strokeCap : "Butt" strokeJoin : "Miter" strokeMiter : 4 strokeWidth : 0 styleName : "Fill" } rect : { bottom : 50 left : 0 right : 50 top : 0 } } } 3 : { commandIndex : 3 method : "save" params : undefined } 4 : { commandIndex : 4 method : "concat44" params : { matrix44 : [ 1 0 0 0 0 1 0 0 0 0 1 0 0 50 0 1 ] } } 5 : { commandIndex : 5 method : "drawImageRect" params : { dst : { bottom : 21 left : 0 right : 19 top : 0 } image : { height : 21 opaque : false width : 19 } paint : { color : "#FF000000" flags : "AntiAlias" strokeCap : "Butt" strokeJoin : "Miter" strokeMiter : 4 strokeWidth : 0 styleName : "Fill" } sampling : { filter : "kLinear" mipmap : "kLinear" } src : { bottom : 21 left : 0 right : 19 top : 0 } } } 6 : { commandIndex : 6 method : "restore" params : undefined } 7 : { commandIndex : 7 method : "save" params : undefined } 8 : { commandIndex : 8 method : "translate" params : { dx : 0 dy : 71 } } 9 : { commandIndex : 9 method : "clipRect" params : { SkRegion::Op : "kIntersect_Op" rect : { bottom : 150 left : 0 right : 300 top : 0 } softClipEdgeStyle : true } } }