#include "deodxr.h"
#include "backdirty.h"
#include "dirty.h"
#include "window.h"
#include "alpha.h"
#include "animation.h"
#include "clip.h"
#include "surface.h"
Go to the source code of this file.
|
| void | _compose_dirty_area_ (ChCanvas *canvas, Window *win, Window *focusedWin, WinSharedInfo *info) |
| | Check for small area updates !! not entire window.
|
| |
| void | _compose_entire_window (ChCanvas *canvas, Window *win, bool _window_update_all_, WinSharedInfo *info, Window *focusedWin, bool _window_moving_, bool _shadow_update) |
| | compose_entire_window – composes an entire window to canvas
|
| |
| void | _compose_always_on_top_dirty (ChCanvas *canvas, WinSharedInfo *info, bool _window_moving_, Window *focusedWin, Window *win) |
| | _compose_always_on_top_dirty – compose always on top window's dirty rectangles
|
| |
| void | _compose_always_on_top_entire (ChCanvas *canvas, Window *win, bool _always_on_top_update, bool _window_moving_, WinSharedInfo *info, Window *rootWin) |
| | _compose_always_on_top_entire – compose entire always on top window
|
| |
◆ _compose_always_on_top_dirty()
_compose_always_on_top_dirty – compose always on top window's dirty rectangles
- Parameters
-
| canvas | – Pointer to canvas |
| info | – Pointer to window's shared info |
| _window_moving_ | – window moving bit |
| focusedWin | – Pointer to focused Window |
| win | – Pointer to main window |
don't modify the update entire window, entire window update will handle all the clipping optimizations there, this function is responsible for dirty rect only, not entire window update
◆ _compose_always_on_top_entire()
_compose_always_on_top_entire – compose entire always on top window
for AOT windows, we don't need visible rect due to occlusion of normal behind windows, rather we need the behind window rect for which only update that portion
schedule this rectangle for next frame, so that we don't see incomplete update on the next frame
but the situation is, we need urgent entire window update here, becuase maybe window was hidden but the algorithm above detected the AOT window and normal window, because algorithm doesn't care about hidden or non-hidden
◆ _compose_dirty_area_()
Check for small area updates !! not entire window.
◆ _compose_entire_window()
compose_entire_window – composes an entire window to canvas
- Parameters
-
| canvas | – Pointer to Deodhai canvas |
| win | – Pointer to main window to compose |
| _window_update_all_ | – update all bit |
| info | – Pointer to main window info struct |
| focusedWin | – focused window pointer |
| _window_moving_ | – window moving bit |
| _shadow_update | – shadow update bit which tells if we need to update shadows or not |
clip it