Changeset 1862


Ignore:
Timestamp:
Sep 3, 2012, 1:37:53 AM (8 years ago)
Author:
rez
Message:

setup cursor position fixed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/neercs/video/render.cpp

    r1858 r1862  
    365365    {
    366366        int k = !setup_switch ? (i * (setup_item_n + 1)) : (setup_option_i * (setup_item_n + 1) + 1 + i);
    367         if (setup_text[k] == "") return i - 1;
     367        if (setup_text[k][0] == '\0') return i - 1;
    368368    }
    369369    return n - 1;
     
    595595            setup_switch = !setup_switch;
    596596            setup_n = calc_item_length();
     597            setup_cursor = (!setup_switch?setup_option_i:setup_item_i) - (!setup_switch?setup_option_p:setup_item_p);
    597598        }
    598599    }
     
    658659            else
    659660            {
    660                 setup_item_i++;
    661                 if (setup_item_i > setup_n) setup_item_i = 0;
     661                if (setup_cursor < setup_h - 1)
     662                {
     663                    setup_cursor++;
     664                }
     665                else
     666                {
     667                    if ((setup_item_p + setup_h < setup_n) && setup_cursor == setup_h - 1) setup_item_p++;
     668                }
     669                if (setup_item_i < setup_n)
     670                {
     671                    setup_item_i++;
     672                }
     673                else
     674                {
     675                    setup_item_i = 0;
     676                    setup_item_p = 0;
     677                    setup_cursor = 0;
     678                }
    662679            }
    663680        }
     
    675692            else
    676693            {
     694                setup_item_i -= setup_cursor;
     695                setup_cursor = 0;
    677696            }
    678697        }
     
    690709            else
    691710            {
    692                 setup_item_i = setup_n;
     711                setup_item_i += setup_n - setup_cursor - 1;
     712                setup_cursor = setup_h - 1;
    693713            }
    694714        }
     
    822842            int y = setup_p.y + 1 + i;
    823843            int k = setup_option_i * (setup_item_n + 1) + 1 + setup_item_p + i;
    824             if (setup_item_i != i || !setup_switch)
     844            if (setup_item_i != setup_item_p + i || !setup_switch)
    825845            {
    826846                caca_set_color_argb(m_caca, setup_color.x, setup_color.y);
Note: See TracChangeset for help on using the changeset viewer.