diff options
| author | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2026-01-16 17:23:32 -0800 |
|---|---|---|
| committer | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2026-01-16 17:23:32 -0800 |
| commit | b3ec50d92451b99dd08b6030b08854c8cc77524b (patch) | |
| tree | af8c8adc994478de00ce4f3be8601b64a2d0dfdf /osd.lua | |
| parent | 671e5934a9400b722210d4d243dd83c0755a4fa3 (diff) | |
| download | mpv-iptv-menu-b3ec50d92451b99dd08b6030b08854c8cc77524b.tar.gz mpv-iptv-menu-b3ec50d92451b99dd08b6030b08854c8cc77524b.tar.xz | |
track and flush OSD changes for fewer redraws
Diffstat (limited to 'osd.lua')
| -rw-r--r-- | osd.lua | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -54,6 +54,16 @@ function osd.new(init) return t end +function mt:dirty() + self.is_dirty = true +end + +function mt:flush(state) + if self.is_dirty then + self:redraw(state) + end +end + function mt:resize(w, h) self.width = w self.height = h @@ -63,6 +73,7 @@ end function mt:set_status(msg, level) self.status_msg = msg self.status_level = level + self:dirty() end function mt:status_line() @@ -466,6 +477,8 @@ function mt:redraw(state) else self:clear_img(true) end + + self.is_dirty = false end function mt:toggle_hidden() |
