Skip to content

Latest commit

 

History

History
75 lines (73 loc) · 1.65 KB

架构.md

File metadata and controls

75 lines (73 loc) · 1.65 KB

CVFUniverse

Property

对象

  • viewPos 保存当前视角位置
  • surfaceDict 保存所属的所有Surface
  • surfaceLayer 保存当前surface的显示顺序 自底至顶

状态量

  • needRender 渲染管线的总状态
  • needCalculate 渲染管线-计算Surface的offset和shapeRate和_renBorder,并更新lod和showing,执行hide操作 按照needCalculateAll和Surface的needCalculate状态量选择是否重新计算
  • needOrderZ 渲染管线-计算并更新Surface的堆叠顺序和遮挡状态
  • needDraw 渲染管线-按照Surface的needDraw绘制控件
  • needCauculateAll 启用时,在Render-Calculate管线里会计算所有Surface的offset和shapeRate
  • needDrawAll 启用时,在Render-Draw管线里会强制绘制所有的控件

Method

对象

  • addSurface
  • removeSurface
  • layerToTop(key) 将指定的surface移动至顶端,更新surfaceLayer,并执行redraw操作

程序

  • start
  • stop
  • loop

CVFSurface

Property

对象

  • elementDict 保存所有的Element
  • parentUniverse
  • showing 是否应该显示出来
  • visible 是否隐藏
  • lod 是否缩略模式

绘制

  • shapeRate 保存当前整个Surface的绘制缩放
  • offset 保存整个Surface相对屏幕原点的中心偏移

状态量

  • needCalculate 需要重新计算offset和shapeRate
  • needDraw 需要绘制
  • needUnify 需要重绘以统一Element的显示层级

Method

对象

  • setParent

绘制

  • init() 创建控件
  • draw() 绘制所有元素
  • hide() 隐藏所有元素
  • setOffset({x, y}) 由Universe在Render-Calculate后调用
  • setShapeRate(shapeRate) 由Universe在Render-Calculate后调用
  • redraw 全部重绘