95 return cOsd::SetAreas(
areas,
n);
180 if (w > width -
xs -
x1) {
187 if (h > height -
ys -
y1) {
188 h = height -
ys -
y1;
198 for (y =
y1; y <=
y2; ++y) {
199 for (x =
x1; x <=
x2; ++x) {
226 x =
pm->ViewPort().X();
227 y =
pm->ViewPort().Y();
228 w =
pm->ViewPort().Width();
229 h =
pm->ViewPort().Height();
249 if (h > Height() - y)
277 LOGDEBUG2(
L_OSD,
"osd: %s: draw %dx%d%+d%+d*%d -> %+d%+d %p",
__FUNCTION__, w, h,
xp,
yp,
stride, x, y,
pm->Data());
Output Device Implementation.
void OsdDrawARGB(int, int, int, int, int, const uint8_t *, int, int)
Draw an OSD pixmap.
virtual void GetOsdSize(int &, int &, double &)
Returns the width, height and aspect ratio the OSD.
void OsdClose(void)
Close the OSD.
virtual void Flush(void)
Actually commit all data to the OSD hardware.
int m_osdLevel
current osd level
virtual ~cSoftOsd(void)
Shut down the OSD.
virtual eOsdError SetAreas(const tArea *, int)
Set the sub-areas to the given areas.
cSoftHdDevice * m_pDevice
pointer to the cSoftHdDevice object
virtual void SetActive(bool)
Sets this OSD to be the active one.
bool m_dirty
flag to force redrawing everything
cSoftOsd(int, int, uint, cSoftHdDevice *)
Initializes a software based OSD with the given coordinates.
#define LOGDEBUG2
log to LOG_DEBUG and add a prefix
Output Device Header File.
Software OSD Header File.