MythTV
master
mythplugins
mythzoneminder
mythzoneminder
zmliveplayer.h
Go to the documentation of this file.
1
/* ============================================================
2
* This program is free software; you can redistribute it
3
* and/or modify it under the terms of the GNU General
4
* Public License as published bythe Free Software Foundation;
5
* either version 2, or (at your option)
6
* any later version.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* ============================================================ */
14
15
#ifndef ZMLIVEPLAYER_H
16
#define ZMLIVEPLAYER_H
17
18
// c++
19
#include <vector>
20
21
// qt
22
//#include <QKeyEvent>
23
#include <QObject>
24
25
// mythtv
26
#include <
libmythui/mythdialogbox.h
>
27
#include <
libmythui/mythscreentype.h
>
28
#include <
libmythui/mythuiimage.h
>
29
#include <
libmythui/mythuitext.h
>
30
31
// mythzoneminder
32
#include "
zmdefines.h
"
33
34
class
Player
35
{
36
public
:
37
Player
(
void
) =
default
;
38
~Player
(
void
);
39
40
void
updateFrame
(
const
uchar* buffer);
41
void
updateStatus
(
void
);
42
void
updateCamera
();
43
44
void
setMonitor
(
const
Monitor
*mon);
45
void
setWidgets
(
MythUIImage
*image,
MythUIText
*status,
46
MythUIText
*camera);
47
48
Monitor
*
getMonitor
(
void
) {
return
&
m_monitor
; }
49
50
private
:
51
MythUIImage
*
m_frameImage
{
nullptr
};
52
MythUIText
*
m_statusText
{
nullptr
};
53
MythUIText
*
m_cameraText
{
nullptr
};
54
55
uchar *
m_rgba
{
nullptr
};
56
57
Monitor
m_monitor
;
58
};
59
60
class
ZMLivePlayer
:
public
MythScreenType
61
{
62
Q_OBJECT
63
64
public
:
65
explicit
ZMLivePlayer
(
MythScreenStack
*parent,
bool
isMiniPlayer =
false
);
66
~ZMLivePlayer
()
override
;
67
68
bool
Create
(
void
)
override
;
// MythScreenType
69
bool
keyPressEvent
(QKeyEvent *event)
override
;
// MythScreenType
70
void
customEvent
(QEvent *event)
override
;
// MythUIType
71
72
void
ShowMenu
()
override
;
// MythScreenType
73
74
void
setMonitorLayout
(
int
layout,
bool
restore =
false
);
75
76
protected
slots:
77
void
updateFrame
(
void
);
78
bool
initMonitorLayout
(
int
layout);
79
80
protected
:
81
MythUIType
*
GetMythUIType
(
const
QString &name,
bool
optional =
false
);
82
bool
hideAll
();
83
void
stopPlayers
(
void
);
84
void
changePlayerMonitor
(
int
playerNo);
85
void
changeView
(
void
);
86
87
QTimer *
m_frameTimer
{
nullptr
};
88
bool
m_paused
{
false
};
89
int
m_monitorLayout
{1};
90
int
m_monitorCount
{0};
91
92
std::vector<Player *> *
m_players
{
nullptr
};
93
94
bool
m_isMiniPlayer
{
false
};
95
int
m_alarmMonitor
{-1};
96
};
97
98
#endif
ZMLivePlayer::m_isMiniPlayer
bool m_isMiniPlayer
Definition:
zmliveplayer.h:94
mythuitext.h
ZMLivePlayer::Create
bool Create(void) override
Definition:
zmliveplayer.cpp:47
MythUIImage
Image widget, displays a single image or multiple images in sequence.
Definition:
mythuiimage.h:97
ZMLivePlayer::hideAll
bool hideAll()
Definition:
zmliveplayer.cpp:86
zmdefines.h
Player::m_frameImage
MythUIImage * m_frameImage
Definition:
zmliveplayer.h:51
ZMLivePlayer::setMonitorLayout
void setMonitorLayout(int layout, bool restore=false)
Definition:
zmliveplayer.cpp:387
ZMLivePlayer::m_paused
bool m_paused
Definition:
zmliveplayer.h:88
mythdialogbox.h
MythScreenStack
Definition:
mythscreenstack.h:16
ZMLivePlayer::~ZMLivePlayer
~ZMLivePlayer() override
Definition:
zmliveplayer.cpp:158
MythScreenType
Screen in which all other widgets are contained and rendered.
Definition:
mythscreentype.h:45
Player::updateStatus
void updateStatus(void)
Definition:
zmliveplayer.cpp:503
ZMLivePlayer::keyPressEvent
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
Definition:
zmliveplayer.cpp:187
Player::getMonitor
Monitor * getMonitor(void)
Definition:
zmliveplayer.h:48
ZMLivePlayer::m_monitorLayout
int m_monitorLayout
Definition:
zmliveplayer.h:89
ZMLivePlayer::m_alarmMonitor
int m_alarmMonitor
Definition:
zmliveplayer.h:95
ZMLivePlayer::changeView
void changeView(void)
Definition:
zmliveplayer.cpp:299
mythuiimage.h
ZMLivePlayer::changePlayerMonitor
void changePlayerMonitor(int playerNo)
Definition:
zmliveplayer.cpp:307
Player::m_statusText
MythUIText * m_statusText
Definition:
zmliveplayer.h:52
Player::updateCamera
void updateCamera()
Definition:
zmliveplayer.cpp:518
ZMLivePlayer::ZMLivePlayer
ZMLivePlayer(MythScreenStack *parent, bool isMiniPlayer=false)
Definition:
zmliveplayer.cpp:33
ZMLivePlayer::initMonitorLayout
bool initMonitorLayout(int layout)
Definition:
zmliveplayer.cpp:141
ZMLivePlayer
Definition:
zmliveplayer.h:60
Player::m_cameraText
MythUIText * m_cameraText
Definition:
zmliveplayer.h:53
ZMLivePlayer::ShowMenu
void ShowMenu() override
Definition:
zmliveplayer.cpp:235
ZMLivePlayer::m_frameTimer
QTimer * m_frameTimer
Definition:
zmliveplayer.h:87
MythUIType
The base class on which all widgets and screens are based.
Definition:
mythuitype.h:85
Player::m_monitor
Monitor m_monitor
Definition:
zmliveplayer.h:57
Player::updateFrame
void updateFrame(const uchar *buffer)
Definition:
zmliveplayer.cpp:493
MythUIText
All purpose text widget, displays a text string.
Definition:
mythuitext.h:28
Player::setWidgets
void setWidgets(MythUIImage *image, MythUIText *status, MythUIText *camera)
Definition:
zmliveplayer.cpp:477
ZMLivePlayer::stopPlayers
void stopPlayers(void)
Definition:
zmliveplayer.cpp:382
Player::setMonitor
void setMonitor(const Monitor *mon)
Definition:
zmliveplayer.cpp:467
ZMLivePlayer::m_players
std::vector< Player * > * m_players
Definition:
zmliveplayer.h:92
Player::m_rgba
uchar * m_rgba
Definition:
zmliveplayer.h:55
ZMLivePlayer::m_monitorCount
int m_monitorCount
Definition:
zmliveplayer.h:90
ZMLivePlayer::customEvent
void customEvent(QEvent *event) override
Definition:
zmliveplayer.cpp:271
Monitor
Definition:
zmdefines.h:99
Player
Definition:
zmliveplayer.h:34
Player::Player
Player(void)=default
Player::~Player
~Player(void)
Definition:
zmliveplayer.cpp:461
mythscreentype.h
ZMLivePlayer::updateFrame
void updateFrame(void)
Definition:
zmliveplayer.cpp:343
ZMLivePlayer::GetMythUIType
MythUIType * GetMythUIType(const QString &name, bool optional=false)
Definition:
zmliveplayer.cpp:76
Generated on Wed Sep 6 2023 03:18:39 for MythTV by
1.8.17