| 98 | } |
| 99 | |
| 100 | DirtyRect NormalizeDirtyRect(uint32_t x, |
| 101 | uint32_t y, |
| 102 | uint32_t width, |
| 103 | uint32_t height, |
| 104 | uint32_t frame_width, |
| 105 | uint32_t frame_height, |
| 106 | bool force_full_frame) { |
| 107 | if (force_full_frame || width == 0 || height == 0 || x >= frame_width || y >= frame_height) { |
| 108 | return {0, 0, frame_width, frame_height}; |
| 109 | } |
| 110 | uint32_t right = std::min(frame_width, x + width); |
| 111 | uint32_t bottom = std::min(frame_height, y + height); |
| 112 | |
| 113 | x &= ~uint32_t{1}; |
| 114 | y &= ~uint32_t{1}; |
| 115 | right = std::min(frame_width, (right + 1) & ~uint32_t{1}); |
| 116 | bottom = std::min(frame_height, (bottom + 1) & ~uint32_t{1}); |
| 117 | if (right <= x || bottom <= y) return {0, 0, frame_width, frame_height}; |
| 118 | return {x, y, right - x, bottom - y}; |
| 119 | } |
| 120 | |
| 121 | std::string PathToUtf8(const fs::path& path) { |
| 122 | auto value = path.u8string(); |
no outgoing calls
no test coverage detected