Implement full-screen video playback feature in PLib video library manager. Add toggle functionality for full-screen mode in VideoPlayerViewModel and corresponding UI updates in VideoPlayerView and MainWindow. Adjust key event handling for full-screen toggling and enhance README.md to document new features and usage instructions.

This commit is contained in:
Leonid Pershin
2026-08-08 15:24:15 +03:00
parent 45814cf4d2
commit 1a16111faf
7 changed files with 114 additions and 20 deletions
+5 -2
View File
@@ -14,8 +14,8 @@
в `settings.json` и подхватывается без перезапуска.
- Светлая, тёмная и системная темы; выбор запоминается.
- Встроенный плеер: клик по карточке открывает страницу медиа прямо в окне — видео,
перемотка, громкость, кнопка «назад». Внешний плеер и «показать в папке» остались
в контекстном меню карточки.
перемотка, громкость, кнопка «назад». Полноэкранный режим по F11 или кнопке, выход —
Escape. Внешний плеер и «показать в папке» остались в контекстном меню карточки.
## Требования
@@ -86,6 +86,9 @@ dotnet test
дублировать это состояние во вьюмодель значило бы держать вторую копию и синхронизировать её.
Закрытие страницы обнуляет `OpenedVideo`, вью уходит из дерева, `DestroyNativeControlCore`
гасит плеер.
По той же причине в полноэкранном режиме остаётся тонкая полоса управления внизу:
всплывающего оверлея поверх видео нативная поверхность не допускает, а движение мыши над
ней до Avalonia не доходит — автоскрытию не на что реагировать.
Готовый `MediaPlayer.Controls` пробовали до этого: декодер работал, но кадры до экрана
не доходили — чёрный экран и на GPU-, и на CPU-пути, при полностью рабочем в приложении
`OpenGlControlBase`. Свой контрол ни от чьей версии Avalonia не зависит.