浏览代码

uicanvasstate bug fix

/main
xingwei.zhu 5 年前
当前提交
b8612533
共有 1 个文件被更改,包括 16 次插入0 次删除
  1. 16
      Runtime/ui/utils/renderer/common/picture.cs

16
Runtime/ui/utils/renderer/common/picture.cs


return this._states[this._states.Count - 1];
}
void _setState(uiCanvasState state) {
this._states[this._states.Count - 1] = state;
}
public uiMatrix3 getTotalMatrix() {
return this._getState().xform;
}

paintBounds = state.xform.mapRect(paintBounds);
this._addPaintBounds(paintBounds);
}
this._setState(state);
break;
}
case uiDrawTranslate cmd: {

this._setState(state);
break;
}
case uiDrawScale cmd: {

this._setState(state);
break;
}
case uiDrawRotate cmd: {

cmd.offset.Value.dx,
cmd.offset.Value.dy);
}
this._setState(state);
break;
}
case uiDrawSkew cmd: {

this._setState(state);
break;
}
case uiDrawConcat cmd: {

this._setState(state);
this._setState(state);
this._setState(state);
break;
}
case uiDrawClipRect cmd: {

state.scissor = state.scissor == null ? rect : state.scissor.Value.intersect(rect);
this._setState(state);
break;
}
case uiDrawClipRRect cmd: {

state.scissor = state.scissor == null ? rect : state.scissor.Value.intersect(rect);
this._setState(state);
break;
}
case uiDrawClipPath cmd: {

var transformedMesh = rectMesh.transform(state.xform);
var rect = transformedMesh.bounds;
state.scissor = state.scissor == null ? rect : state.scissor.Value.intersect(rect);
this._setState(state);
transformedMesh.dispose();
break;
}

} else {
state.paintBounds = state.paintBounds.expandToInclude(paintBounds.Value);
}
this._setState(state);
}
struct uiCanvasState {

正在加载...
取消
保存