Слияние кода завершено, страница обновится автоматически
#include "gui_menu.h"
void GuiMenu::create()
{
show();
}
void GuiMenu::show()
{
_gpu->set_font(font);
_gpu->set_text_mode(text_mode);
_gpu->fill_rect(x,y,x+len,y+hight,_gpu->back_color);
for(int i = 0; i < max; i++)
{
if((i + index) >= current_menu->count)
break;
_gpu->printf(x,y+i*font->YSize,"%d:%s",index + 1 + i ,current_menu->items[i + index].title);
}
if(max != 1)
_gpu->printf(x - 10,y,">");
}
void GuiMenu::hide()
{
_gpu->fill_rect(x,y,x+len,y+hight,_gpu->back_color);
// _gpu->set_font(font);
//
// for(int i = 0; i < max; i++)
// {
// if((i + index) >= current_menu->count)
// break;
// uint16_t slen = _gpu->get_string_xlength(current_menu->items[index].title);
// _gpu->fill_rect(x,y,x+slen,y + font->YSize,_gpu->back_color);
// }
}
void GuiMenu::set_select(bool state)
{
}
int16_t GuiMenu::index_get()
{
return index;
}
void GuiMenu::index_set(int16_t value)
{
_gpu->set_font(font);
// for(int i = 0; i < max; i++)
// {
// if((i + index) >= current_menu->count)
// break;
// uint16_t slen = _gpu->get_string_xlength(current_menu->items[index].title);
// _gpu->fill_rect(x,y,x+slen,y + font->YSize,_gpu->back_color);
// }
index = value;
show();
}
bool GuiMenu::index_next()
{
if(index < current_menu->count - 1)
{
// _gpu->set_font(font);
//
// for(int i = 0; i < max; i++)
// {
// if((i + index) >= current_menu->count)
// break;
// uint16_t slen = _gpu->get_string_xlength(current_menu->items[index].title);
// _gpu->fill_rect(x,y,x+slen,y + font->YSize,_gpu->back_color);
// }
//
index++;
show();
return true;
}
return false;
}
bool GuiMenu::index_previous()
{
if(index > 0)
{
// _gpu->set_font(font);
// for(int i = 0; i < max; i++)
// {
// if((i + index) >= current_menu->count)
// break;
// uint16_t slen = _gpu->get_string_xlength(current_menu->items[index].title);
// _gpu->fill_rect(x,y,x+slen,y + font->YSize,_gpu->back_color);
// }
//
index--;
show();
return true;
}
return false;
}
void GuiMenu::update_item_index()
{
_gpu->set_font(font);
_gpu->set_text_mode(text_mode);
_gpu->fill_rect(x,y,x+len,y+hight,_gpu->back_color);
for(int i = 0; i < max; i++)
{
if((i + index) >= current_menu->count)
break;
_gpu->printf(x,y+i*font->YSize,"%d:%s",index + 1 + i ,current_menu->items[i + index].title);
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )