コード例 #1
0
ファイル: menu.cpp プロジェクト: LordKaT/Wyrmwick
void menu_render(menu* pMenu) {
	Uint32 color;
	int numEntries = pMenu->m_aEntries->m_len;
	rect dst = {pMenu->m_iX, pMenu->m_iY, pMenu->m_iWidth, pMenu->m_iHeight};

	screen_fill_rect(&dst, 0x003380ff);
	
	char **menuItem = (char**) pMenu->m_aEntries->m_data;
	char **menuValue = (char**) pMenu->m_aValues->m_data;
	for (int i = 0; i < numEntries; i++) {
		if (i == pMenu->m_iCursorPos) {
			dst.x = pMenu->m_iX;
			dst.y = pMenu->m_iY + i * (g_font.m_iGlyphHeight + MARGIN*2);
			dst.w = pMenu->m_iWidth;
			dst.h = g_font.m_iGlyphHeight+MARGIN * 2;
			screen_fill_rect(&dst, 0x5f8dd3ff);
		}
		
		table_get(pMenu->m_aColors, i, &color);
		image_setcolormod(g_font.m_image, color);
		font_print(g_font, pMenu->m_iX + MARGIN, pMenu->m_iY + i * (g_font.m_iGlyphHeight + MARGIN*2) + MARGIN, menuItem[i]);
		if (menuValue[i] == nullptr) { continue; }
		font_print(g_font,
			pMenu->m_iX + MARGIN + pMenu->m_iValueX,
			pMenu->m_iY + i * (g_font.m_iGlyphHeight + MARGIN*2) + MARGIN,
			menuValue[i]);
	}
	
	dst.x = pMenu->m_iX;
	dst.y = pMenu->m_iY;
	dst.w = pMenu->m_iWidth;
	dst.h = pMenu->m_iHeight;
	screen_draw_rect(&dst, COLOR_MENU_BORDER);
}
コード例 #2
0
ファイル: topbar.c プロジェクト: erdincay/svsip
static pj_bool_t topbar_update_time()
{
    char txt[6];
    static pj_uint8_t hours = 0xff;
    static pj_uint8_t minutes = 0xff;

//    if (hours == IPC->time.rtc.hours && minutes == IPC->time.rtc.minutes)
//        return PJ_FALSE;
        
    hours = IPC->time.rtc.hours;
    minutes = IPC->time.rtc.minutes;
    
    pj_ansi_snprintf(txt, 6, "%02d:%02d", hours, minutes); 

    dispString2(screen_get_backbuffer(), 256,
                163 /* xpos */, 6 /* ypos */,
                0xffff /*currentskin.time_mask*/,
                txt, font_myriad_web_9,
                256 /*screen_width + screen_xpos - 40*/,
                16 /*screen_height + screen_ypos*/);

    screen_draw_rect(screen_get_backbuffer(), 256, 160, 3, 31, 15, 0xffff);
    
    return PJ_TRUE;
}