39        PAINT_DISABLED_BY_HIDDEN = 1 << 0,
 
   40        PAINT_DISABLED_BY_DESKTOP = 1 << 1,
 
   41        PAINT_DISABLED_BY_MINIMIZE = 1 << 2,
 
   42        PAINT_DISABLED_BY_ACTIVITY = 1 << 3,
 
   53    void refVisible(
int reason);
 
   54    void unrefVisible(
int reason);
 
   61    void updateSurfaceItem(std::unique_ptr<SurfaceItem> &&surfaceItem);
 
   64    void updateDecorationItem();
 
   65    void updateShadowItem();
 
   66    void updateSurfacePosition();
 
   67    void updateSurfaceVisibility();
 
   68    void updatePosition();
 
   70    void updateStackingOrder();
 
   71    void addSurfaceItemDamageConnects(
Item *item);
 
   74    bool computeVisibility() 
const;
 
   75    void updateVisibility();
 
   80    std::unique_ptr<SurfaceItem> m_surfaceItem;
 
   81    std::unique_ptr<DecorationItem> m_decorationItem;
 
   82    std::unique_ptr<ShadowItem> m_shadowItem;
 
   83    std::unique_ptr<EffectWindow> m_effectWindow;
 
   84    std::optional<int> m_elevation;
 
   85    int m_forceVisibleByHiddenCount = 0;
 
   86    int m_forceVisibleByDesktopCount = 0;
 
   87    int m_forceVisibleByMinimizeCount = 0;
 
   88    int m_forceVisibleByActivityCount = 0;