| Line 185... |
Line 185... |
| 185 |
buf, x + iparams->icon_pos.x, y + iparams->icon_pos.y, stride,
|
185 |
buf, x + iparams->icon_pos.x, y + iparams->icon_pos.y, stride,
|
| 186 |
buf, x + iparams->icon_pos.x, y + iparams->icon_pos.y, stride);
|
186 |
buf, x + iparams->icon_pos.x, y + iparams->icon_pos.y, stride);
|
| 187 |
if (iparams->text && iparams->text_color)
|
187 |
if (iparams->text && iparams->text_color)
|
| 188 |
rendertext(buf, x + iparams->text_pos.x, y + iparams->text_pos.y,
|
188 |
rendertext(buf, x + iparams->text_pos.x, y + iparams->text_pos.y,
|
| 189 |
stride, text_color, 0, iparams->text);
|
189 |
stride, text_color, 0, iparams->text);
|
| - |
|
190 |
if (iparams->render) iparams->render(data, item, item == selected, x, y);
|
| 190 |
y += iparams->size.y;
|
191 |
y += iparams->size.y;
|
| 191 |
item++;
|
192 |
item++;
|
| 192 |
}
|
193 |
}
|
| 193 |
if (params->preblit && params->preblit(data)) return CHOOSER_RESULT_OK;
|
194 |
if (params->preblit && params->preblit(data)) return CHOOSER_RESULT_OK;
|
| 194 |
displaylcd(params->blit_dest.x, params->blit_dest.y, params->blit_src.size.x,
|
195 |
displaylcd(params->blit_dest.x, params->blit_dest.y, params->blit_src.size.x,
|
| Line 223... |
Line 224... |
| 223 |
static void chooser_renderer_list_destroy(struct chooser_data* data)
|
224 |
static void chooser_renderer_list_destroy(struct chooser_data* data)
|
| 224 |
{
|
225 |
{
|
| 225 |
free(data->rendererdata);
|
226 |
free(data->rendererdata);
|
| 226 |
}
|
227 |
}
|
| 227 |
|
228 |
|
| - |
|
229 |
void chooser_renderer_list_render_attached_text(struct chooser_data* data,
|
| - |
|
230 |
const struct chooser_item* item,
|
| - |
|
231 |
bool selected, int x, int y, const char* text)
|
| - |
|
232 |
{
|
| - |
|
233 |
struct chooser_renderer_list_params* rparams;
|
| - |
|
234 |
rparams = (struct chooser_renderer_list_params*)data->info->rendererparams;
|
| - |
|
235 |
struct chooser_renderer_list_itemdata* ritem;
|
| - |
|
236 |
ritem = (struct chooser_renderer_list_itemdata*)item->renderparams;
|
| - |
|
237 |
void* buf = rparams->viewport.loc.buf.addr;
|
| - |
|
238 |
int stride = rparams->viewport.loc.buf.stride;
|
| - |
|
239 |
x += ritem->size.x - ritem->text_pos.x - strlen(text) * get_font_width();
|
| - |
|
240 |
y += ritem->text_pos.y;
|
| - |
|
241 |
uint32_t color = selected ? ritem->text_color_selected : ritem->text_color;
|
| - |
|
242 |
rendertext(buf, x, y, stride, color, 0, text);
|
| - |
|
243 |
}
|
| - |
|
244 |
|
| - |
|
245 |
void chooser_renderer_list_show_arrow_right(struct chooser_data* data,
|
| - |
|
246 |
const struct chooser_item* item,
|
| - |
|
247 |
bool selected, int x, int y)
|
| - |
|
248 |
{
|
| - |
|
249 |
chooser_renderer_list_render_attached_text(data, item, selected, x, y, ">");
|
| - |
|
250 |
}
|
| - |
|
251 |
|
| - |
|
252 |
void chooser_renderer_list_show_arrow_left(struct chooser_data* data,
|
| - |
|
253 |
const struct chooser_item* item,
|
| - |
|
254 |
bool selected, int x, int y)
|
| - |
|
255 |
{
|
| - |
|
256 |
chooser_renderer_list_render_attached_text(data, item, selected, x, y, "<");
|
| - |
|
257 |
}
|
| - |
|
258 |
|
| 228 |
|
259 |
|
| 229 |
const struct chooser_renderer chooser_renderer_list =
|
260 |
const struct chooser_renderer chooser_renderer_list =
|
| 230 |
{
|
261 |
{
|
| 231 |
.version = CHOOSER_RENDERER_VERSION,
|
262 |
.version = CHOOSER_RENDERER_VERSION,
|
| 232 |
.init = chooser_renderer_list_init,
|
263 |
.init = chooser_renderer_list_init,
|