Пример #1
0
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;
}
Пример #2
0
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;
}