21#include <config_options.h>
28#define AVMEDIA_TIME_RANGE 2048
30#define AVMEDIA_ZOOMLEVEL_50 0
31#define AVMEDIA_ZOOMLEVEL_100 1
32#define AVMEDIA_ZOOMLEVEL_200 2
33#define AVMEDIA_ZOOMLEVEL_FIT 3
34#define AVMEDIA_ZOOMLEVEL_SCALED 4
35#define AVMEDIA_ZOOMLEVEL_INVALID 65535
45class UNLESS_MERGELIBS(AVMEDIA_DLLPUBLIC) MediaControlBase
49 virtual ~MediaControlBase(){};
52 std::unique_ptr<weld::Toolbar> mxPlayToolBox;
53 std::unique_ptr<weld::Scale> mxTimeSlider;
54 std::unique_ptr<weld::Toolbar> mxMuteToolBox;
55 std::unique_ptr<weld::Scale> mxVolumeSlider;
56 std::unique_ptr<weld::ComboBox> mxZoomListBox;
57 std::unique_ptr<weld::Entry> mxTimeEdit;
58 bool mbCurrentlySettingZoom;
60 virtual void InitializeWidgets();
61 virtual void UpdateToolBoxes(
const MediaItem& rMediaItem);
62 void UpdateVolumeSlider( MediaItem
const & aMediaItem );
63 void UpdateTimeSlider( MediaItem
const & aMediaItem );
64 void UpdateTimeField( MediaItem
const & aMediaItem,
double fTime );
65 void UpdatePlayState(
const MediaItem& rMediaItem);
66 void SelectPlayToolBoxItem( MediaItem& aExecItem, MediaItem
const & aItem, std::u16string_view rId);
67 void disposeWidgets();