|
XenevaOS
|

Functions | |
| Window * | _get_always_on_top () |
| 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 | |
BSD 2-Clause License
Copyright (c) 2022-2026, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| 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
| 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
| 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
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
| 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
| 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
|
extern |