if( temp_display_format == LISTBOX_ICON_LIST ) {
for( int i=0; i<data[0].size(); ++i ) {
if( data[0].get(i)->icon ) {
- if( data[0].get(i)->icon->get_h() > row_height )
- row_height = data[0].get(i)->icon->get_h();
+ int icon_h = data[0].get(i)->icon->get_h() + 2*ICON_MARGIN;
+ if( row_height < icon_h ) row_height = icon_h;
}
}
}
case LISTBOX_ICONS:
case LISTBOX_ICONS_PACKED:
case LISTBOX_ICON_LIST: {
- x = get_item_x(item);
- y = get_item_y(item);
- w = get_icon_w(item) + ICON_MARGIN * 2;
- h = get_icon_h(item) + ICON_MARGIN * 2;
+ x = get_item_x(item) + ICON_MARGIN;
+ y = get_item_y(item) + ICON_MARGIN;
+ w = get_icon_w(item) + ICON_MARGIN;
+ h = get_icon_h(item) + ICON_MARGIN;
break; }
case LISTBOX_TEXT:
default: {
return -1;
}
+// short version
+int BC_ListBox::get_cursor_item()
+{
+ int rx, ry;
+ gui->get_relative_cursor(rx, ry);
+ return get_cursor_item(data, rx, ry, 0, 0);
+}
+
int BC_ListBox::repeat_event(int64_t duration)
{
switch( current_operation ) {
int BC_ListBox::button_release_event()
{
int result = 0;
- int cursor_x, cursor_y;
int do_event = 0;
new_value = 0;
unset_scroll_repeat();
//printf("BC_ListBox::button_release_event 10\n");
current_operation = NO_OPERATION;
if( gui ) {
- translate_coordinates(top_level->event_win, gui->win,
- gui->get_cursor_x(), gui->get_cursor_y(),
- &cursor_x, &cursor_y);
- selection_number1 = selection_number =
- get_cursor_item(data, cursor_x, cursor_y);
+ selection_number1 = selection_number = get_cursor_item();
//printf("BC_ListBox::button_release_event %d %d\n", selection_number2, selection_number1);
}