Jump to content

Krita/Animation/Design/KisPaintDevice content switch

From KDE Community Wiki

Original Diagram

The animation work should be based on level-of-detail branch where a portion of work on switching the content of paint devices is already done.

Short comments:

  • KisImage stores desired values for level of detail and the current frame but in normal situation returns default values for them. Only when the currently running stroke reports that it supports LOD and/or animation, it returns non-default values and they propagate through the entire layer by reverse fetching
  • On any action on a KisPaintDevice it consults with KisImage about which mode it is currently running is: wraparound, LOD and frameId. Then, depending on the values returned by KisImage, it switches current data and strategy objects that change its content and behaviour significantly.