Ticket #2412: OSD_0-20_Patch.diff
| File OSD_0-20_Patch.diff, 2.7 KB (added by bmhowe@…, 5 years ago) |
|---|
-
mythtv/libs/libmythtv/osdsurface.h
24 24 25 25 void Clear(void); 26 26 void ClearUsed(void); 27 bool IsClear(); 27 28 28 29 bool IntersectsDrawn(QRect &newrect); 29 30 void AddRect(QRect &newrect); -
mythtv/libs/libmythtv/osd.h
60 60 61 61 OSDSurface *Display(void); 62 62 63 OSDSurface *GetDisplaySurface(void); 64 63 65 void ClearAll(const QString &name); 64 66 void ClearAllText(const QString &name); 65 67 void SetText(const QString &name, QMap<QString, QString> &infoMap, -
mythtv/libs/libmythtv/videoout_xv.cpp
2859 2859 VideoFrame *osdframe = NULL; 2860 2860 int ret = DisplayOSD(xvmc_osd->OSDFrame(), osd, -1, 2861 2861 xvmc_osd->GetRevision()); 2862 OSDSurface *osdsurf = osd-> Display();2862 OSDSurface *osdsurf = osd->GetDisplaySurface(); 2863 2863 if (osdsurf) 2864 2864 xvmc_osd->SetRevision(osdsurf->GetRevision()); 2865 2865 if (ret >= 0 && xvmc_osd->NeedFrame()) -
mythtv/libs/libmythtv/osdsurface.cpp
135 135 usedRegions = QRegion(); 136 136 } 137 137 138 bool OSDSurface::IsClear(void) 139 { 140 return (usedRegions == QRegion()); 141 } 142 138 143 bool OSDSurface::IntersectsDrawn(QRect &newrect) 139 144 { 140 145 QMutexLocker lock(&usedRegionsLock); … … 799 804 800 805 if (startline < 0) startline = 0; 801 806 if (endline >= height) endline = height - 1; 802 if (startcol < 0) endcol = 0;807 if (startcol < 0) startcol = 0; 803 808 if (endcol >= width) endcol = width - 1; 804 809 805 810 unsigned char *src; -
mythtv/libs/libmythtv/osd.cpp
2474 2474 totalfadetime = 0; 2475 2475 } 2476 2476 2477 OSDSurface *OSD::GetDisplaySurface(void) 2478 { 2479 return drawSurface; 2480 } 2481 2477 2482 OSDSurface *OSD::Display(void) 2478 2483 { 2479 2484 bool anytodisplay = false; … … 2545 2550 2546 2551 m_setsvisible = anytodisplay; 2547 2552 2548 if (m_setsvisible )2553 if (m_setsvisible && !drawSurface->IsClear()) 2549 2554 return drawSurface; 2550 2555 2551 2556 return NULL;
