X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fgui%2Felistbox.cpp;h=f241e6f630cc428c2a9d80ded4d9f75189f5b2c2;hp=e8a0dada13a17cddf4d3585ce464cd83dd604db6;hb=HEAD;hpb=65d256dab9e29d50ab02d1d5bd6319ab8a50dc82 diff --git a/lib/gui/elistbox.cpp b/lib/gui/elistbox.cpp index e8a0dad..f241e6f 100644 --- a/lib/gui/elistbox.cpp +++ b/lib/gui/elistbox.cpp @@ -2,6 +2,9 @@ #include #include #include +#ifdef USE_LIBVUGLES2 +#include "vuplus_gles.h" +#endif eListbox::eListbox(eWidget *parent) : eWidget(parent), m_scrollbar_mode(showNever), m_prev_scrollbar_page(-1), @@ -105,6 +108,9 @@ void eListbox::moveSelection(long dir) int oldtop = m_top; int oldsel = m_selected; /* first, move cursor */ +#ifdef USE_LIBVUGLES2 + m_dir = dir; +#endif switch (dir) { case moveUp: @@ -302,7 +308,7 @@ int eListbox::event(int event, void *data, void *data2) if (!m_content) return eWidget::event(event, data, data2); - assert(m_content); + ASSERT(m_content); getStyle(style); @@ -323,6 +329,14 @@ int eListbox::event(int event, void *data, void *data2) if (!entry_clip_rect.empty()) m_content->paint(painter, *style, ePoint(0, y), m_selected == m_content->cursorGet() && m_content->size() && m_selection_enabled); +#ifdef USE_LIBVUGLES2 + if (m_selected == m_content->cursorGet() && m_content->size() && m_selection_enabled) { + ePoint pos = getAbsolutePosition(); + painter.sendShowItem(m_dir, ePoint(pos.x(), pos.y() + y), eSize(m_scrollbar && m_scrollbar->isVisible() ? size().width() - m_scrollbar->size().width() : size().width(), m_itemheight)); + gles_set_animation_listbox_current(pos.x(), pos.y() + y, m_scrollbar && m_scrollbar->isVisible() ? size().width() - m_scrollbar->size().width() : size().width(), m_itemheight); + m_dir = justCheck; + } +#endif /* (we could clip with entry_clip_rect, but this shouldn't change the behavior of any @@ -480,6 +494,11 @@ void eListbox::entryReset(bool selectionHome) invalidate(); } +void eListbox::setFont(gFont *font) +{ + m_style.m_font = font; +} + void eListbox::setBackgroundColor(gRGB &col) { m_style.m_background_color = col;