diff options
| -rw-r--r-- | CONTRIBUTORS | 3 | ||||
| -rw-r--r-- | HISTORY | 2 | ||||
| -rw-r--r-- | dvbspu.c | 9 | 
3 files changed, 12 insertions, 2 deletions
| diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 3ae19e55..897b66a6 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -980,3 +980,6 @@ Drazen Dupor <drazen.dupor@dupor.com>  Prakash K. Cheemplavam <PrakashKC@gmx.de>   for fixing some issues with gcc 3.4 + +Miko Wohlgemuth <weak@chello.at> + for reporting a problem with the OSD alignment in the SPU decoder @@ -2821,3 +2821,5 @@ Video Disk Recorder Revision History    can be called with a time_t value to get the day of week for that time.  - When processing XPM data, the color name "None" is no mapped to #00000000, which    is "fully transparent" (suggested by Sascha Volkenandt). +- Fixed the OSD alignment in the SPU decoder (thanks to Miko Wohlgemuth for reporting +  this one and helping to test the fix). @@ -8,7 +8,7 @@   *   * parts of this file are derived from the OMS program.   * - * $Id: dvbspu.c 1.6 2004/04/30 13:45:02 kls Exp $ + * $Id: dvbspu.c 1.7 2004/05/22 14:02:32 kls Exp $   */  #include <assert.h> @@ -321,8 +321,13 @@ int cDvbSpuDecoder::ScaleYres(int value)  void cDvbSpuDecoder::DrawBmp(sDvbSpuRect & size, cBitmap * bmp)  { -    tArea Area = { size.x1, size.y1, size.x2, size.y2, 2 }; +    int x2 = size.x2; +    while ((x2 - size.x1 + 1) & 0x03) +          x2++; +    tArea Area = { size.x1, size.y1, x2, size.y2, 2 };      osd->SetAreas(&Area, 1); +    if (x2 > size.x2) +       osd->DrawRectangle(size.x2 + 1, size.y1, x2, size.y2, clrTransparent);      osd->DrawBitmap(size.x1, size.y1, *bmp);      delete bmp;  } | 
