const eString& eListBoxEntryTransponder::redraw(gPainter *rc, const eRect& rect, gColor coActiveB, gColor coActiveF, gColor coNormalB, gColor coNormalF, int state) { bool b = (state == 2); drawEntryRect( rc, rect, coActiveB, coActiveF, coNormalB, coNormalF, b?0:state ); static eString text; text.sprintf("%d / %d / %c", tp->satellite.frequency/1000, tp->satellite.symbol_rate/1000, tp->satellite.polarisation?'V':'H' ); rc->setFont(font); rc->renderText( rect, text ); if ( b ) drawEntryBorder( rc, rect, coActiveB, coActiveF, coNormalB, coNormalF ); return text; }
const eString& eListBoxEntryText::redraw(gPainter *rc, const eRect& rect, gColor coActiveB, gColor coActiveF, gColor coNormalB, gColor coNormalF, int state) { bool b; if ( (b = (state == 2)) ) state = 0; drawEntryRect( rc, rect, coActiveB, coActiveF, coNormalB, coNormalF, state ); int lft = rect.left(); if (listbox->getFlags() & eListBoxBase::flagHasShortcuts) { int hideshortcuts=1; // dAF2000: Default no shortcuts if (eConfig::getInstance()->getKey("/ezap/osd/hideshortcuts", hideshortcuts)) { eConfig::getInstance()->setKey("/ezap/osd/hideshortcuts", hideshortcuts); } if (!hideshortcuts) { int shortcut = listbox->getShortcut(this); if (listbox->getFlags() & eListBoxBase::flagColorShortcutsFirst) { if (shortcut < 5) shortcut += 10; else if (shortcut < 15) shortcut -= 4; } eString strShortcut; switch (shortcut) { case 10: shortcut = 0; case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: strShortcut = eString().sprintf("shortcut.%d",shortcut); break; case 11: strShortcut = eString().sprintf("shortcut.red"); break; case 12: strShortcut = eString().sprintf("shortcut.green"); break; case 13: strShortcut = eString().sprintf("shortcut.yellow"); break; case 14: strShortcut = eString().sprintf("shortcut.blue"); break; default: shortcut=-1; } if (shortcut >= 0) { gPixmap* pm = eSkin::getActive()->queryImage(strShortcut); eRect left = rect; lft = rect.left() + pm->x + 10; left.setRight( lft ); left.setLeft(rect.left()+5); rc->clip(left); eSize psize = pm->getSize(), esize = rect.size(); int yOffs = rect.top()+((esize.height() - psize.height()) / 2); rc->blit(*pm, ePoint(left.left(), yOffs), left, gPixmap::blitAlphaTest ); rc->clippop(); } } } if (!para) { para = new eTextPara( eRect( 0, 0, rect.width()-(lft-rect.left()), rect.height() ) ); para->setFont( font ); para->renderString(text); para->realign(align); // yOffs = ((rect.height() - para->getBoundBox().height()) / 2 ) - para->getBoundBox().top() ; // yOffs=0; yOffs = (rect.height() - getEntryHeight() + 4 ) / 2; } rc->renderPara(*para, ePoint( lft, rect.top()+yOffs ) ); if (b) drawEntryBorder( rc, rect, coActiveB, coActiveF, coNormalB, coNormalF ); return text; }