Ticket #2542: problem1_fix.diff
File problem1_fix.diff, 2.2 KB (added by , 17 years ago) |
---|
-
NuppelVideoPlayer.cpp
6468 6468 osd->HideSet("subtitles"); 6469 6469 osd->ClearAll("subtitles"); 6470 6470 subtitleLock.lock(); 6471 int h = highlightButton->h; 6472 int w = highlightButton->w; 6471 uint h = ringBuffer->DVD()->ButtonHeight(); 6472 uint w = ringBuffer->DVD()->ButtonWidth(); 6473 uint bitmapHeight = highlightButton->h; 6474 uint bitmapWidth = highlightButton->w; 6473 6475 int linesize = highlightButton->linesize; 6474 6476 int x1 = highlightButton->x; 6475 6477 int y1 = highlightButton->y; … … 6477 6479 uint btnY = ringBuffer->DVD()->ButtonPosY(); 6478 6480 subtitleOSD = osd->GetSet("subtitles"); 6479 6481 6482 if ((w + x1) > bitmapWidth) 6483 w = w - ((w + x1) - bitmapWidth); 6484 6485 if ((h + y1) > bitmapHeight) 6486 h = h - ((h + y1) - bitmapHeight); 6487 6480 6488 QImage hl_button(w, h, 32); 6481 6489 hl_button.setAlphaBuffer(true); 6482 for ( int y = 0; y < h; y++)6490 for (uint y = 0; y < h; y++) 6483 6491 { 6484 for ( int x = 0; x < w; x++)6492 for (uint x = 0; x < w; x++) 6485 6493 { 6486 if ((x+x1) >= linesize)6487 break;6488 6494 uint8_t color = highlightButton->bitmap[(y+y1)*linesize+(x+x1)]; 6489 6495 uint32_t pixel = highlightButton->rgba_palette[color]; 6490 6496 hl_button.setPixel(x, y, pixel); -
DVDRingBuffer.h
50 50 void ReleaseMenuButton(void); 51 51 52 52 bool IgnoringStillorWait(void) { return skipstillorwait; } 53 uint ButtonPosX(void) { return hl_startx; } 54 uint ButtonPosY(void) { return hl_starty; } 53 uint ButtonPosX(void) { return hl_startx; } 54 uint ButtonPosY(void) { return hl_starty; } 55 uint ButtonWidth(void) { return hl_width; } 56 uint ButtonHeight(void) { return hl_height; } 55 57 uint GetAudioLanguage(int id); 56 58 uint GetSubtitleLanguage(int id); 57 59 void SetMenuPktPts(long long pts) { menupktpts = pts; }