Changeset 1917


Ignore:
Timestamp:
Sep 16, 2012, 1:44:17 AM (7 years ago)
Author:
rez
Message:

NEERCS: multiple pageup/pagedown now works

Location:
trunk/tools/neercs/video
Files:
2 edited

Legend:

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

    r1916 r1917  
    121121bool setup_switch = false;      // switch [option/item]
    122122int setup_n = 0;                // item/option number
    123 int setup_h = 6;                // height
     123int setup_h = 3;                // height
    124124int setup_cursor = 0;           // cursor position
    125125int setup_option_i = 0;         // selected option
     
    131131int setup_item_key = 0;         // item array key
    132132ivec2 setup_p(1,1);             // position [x,y]
    133 ivec3 setup_size(30,7,12);      // size [w,h,split]
    134 ivec2 setup_color(0x678,0x234); // color [foreground,background]
     133ivec3 setup_size(29,4,12);      // size [w,h,split]
     134ivec2 setup_color(0xaaa,0x222); // color [foreground,background] 0x678,0x234
    135135char const *setup_text[] = {
    136136    "main",
     
    463463    glCullFace(GL_BACK);      // don't draw front face
    464464
    465     /* Initialise framebuffer objects */
     465    /* initialise framebuffer objects */
    466466    fbo_back = new FrameBuffer(screen_size);
    467467    fbo_front = new FrameBuffer(screen_size);
     
    530530    shader_postfx_sync = shader_postfx->GetUniformLocation("sync");
    531531    shader_postfx_beat = shader_postfx->GetUniformLocation("beat");
    532 
     532    // initialize setup
     533    setup_n = calc_item_length();
    533534    return true;
    534535}
     
    622623            {
    623624                /* Work around a bug in libcaca */
    624                 if (setup_p.x + setup_size.x - 4 < caca_get_canvas_width(m_caca))
    625                     caca_printf(m_caca, setup_p.x + setup_size.x - 4, y, "%4.2f", setup_var[setup_item_key].w);
     625                if (setup_p.x + setup_size.x - 4 < caca_get_canvas_width(m_caca)) caca_printf(m_caca, setup_p.x + setup_size.x - 4, y, "%4.2f", setup_var[setup_item_key].w);
    626626                caca_draw_line(m_caca, x, y, x - bar_x + bar_w * setup_var[setup_item_key].y, y,'.');
    627                 if (setup_var[setup_item_key].w != setup_var[setup_item_key].x) caca_draw_line(m_caca, x, y, x - bar_x + bar_w * setup_var[setup_item_key].w, y,'x');
     627                if (setup_var[setup_item_key].w != setup_var[setup_item_key].x) caca_draw_line(m_caca, x, y, x - bar_x + bar_w * setup_var[setup_item_key].w, y, 'x');
    628628            }
    629629            else
     
    634634                }
    635635            }
     636        }
     637        else
     638        {
     639            caca_printf(m_caca, setup_p.x + 1, y, "%d/%d [%d]", setup_option_i, setup_n, setup_option_p);
    636640        }
    637641
     
    791795            if (!setup_switch)
    792796            {
    793                 setup_option_i -= setup_cursor;
    794                 setup_cursor = 0;
    795                 setup_item_i = 0;
     797                if (setup_cursor > 0)
     798                {
     799                    setup_option_i -= setup_cursor;
     800                    setup_cursor = 0;
     801                }
     802                else
     803                {
     804                    if (setup_option_i > setup_h)
     805                    {
     806                        setup_option_i -= setup_h;
     807                        setup_option_p -= setup_h;
     808                    }
     809                else
     810                    {
     811                        setup_option_i = 0;
     812                        setup_option_p = 0;
     813                    }
     814                }
     815            setup_item_i = 0;
    796816            }
    797817            else
    798818            {
    799                 setup_item_i -= setup_cursor;
    800                 setup_cursor = 0;
     819                if (setup_cursor > 0)
     820                {
     821                    setup_item_i -= setup_cursor;
     822                    setup_cursor = 0;
     823                }
     824                else
     825                {
     826                    if (setup_item_i > setup_h)
     827                    {
     828                        setup_item_i -= setup_h;
     829                        setup_item_p -= setup_h;
     830                    }
     831                else
     832                    {
     833                        setup_item_i = 0;
     834                        setup_item_p = 0;
     835                    }
     836                }
    801837            }
    802838        }
     
    808844            if (!setup_switch)
    809845            {
    810                 setup_option_i += setup_h - setup_cursor - 1;
    811                 setup_cursor = setup_h - 1;
    812                 setup_item_i = 0;
     846                if (setup_cursor < setup_h - 1)
     847                {
     848                    setup_option_i += setup_h - setup_cursor - 1;
     849                    setup_cursor = setup_h - 1;
     850                    setup_item_i = 0;
     851                }
     852                else
     853                {
     854                    if (setup_option_i < setup_option_n - setup_h - 1)
     855                    {
     856                        setup_option_i += setup_h;
     857                        setup_option_p += setup_h;
     858                    }
     859                else
     860                    {
     861                        setup_option_i = setup_option_n - 1;
     862                        setup_option_p = setup_option_n - setup_h;
     863                    }
     864                }
    813865            }
    814866            else
    815867            {
    816                 setup_item_i += (setup_n < setup_h) ? setup_n - setup_cursor : setup_h - setup_cursor - 1;
    817                 setup_cursor = (setup_n < setup_h) ? setup_n : setup_h - 1;
     868                if (setup_cursor < setup_h - 1)
     869                {
     870                    setup_item_i += (setup_n < setup_h) ? setup_n - setup_cursor : setup_h - setup_cursor - 1;
     871                    setup_cursor = (setup_n < setup_h) ? setup_n : setup_h - 1;
     872                }
     873                else
     874                {
     875                    if (setup_item_i < setup_n - setup_h + 1)
     876                    {
     877                        setup_item_i += setup_h;
     878                        setup_item_p += setup_h;
     879                    }
     880                else
     881                    {
     882                        setup_item_i = setup_n;
     883                        setup_item_p = setup_n - setup_h + 1;
     884                    }
     885                }
    818886            }
    819887        }
  • trunk/tools/neercs/video/text.lolfx

    r1915 r1917  
    5151#endif
    5252
    53     pass_Background = vec4(0.125, 0.125, 0.125, 1.0 - A);//vec4(B, C, D, 1.0 - A);
     53    //pass_Background = vec4(B, C, D, 1.0 - A); // original
     54    pass_Background = vec4(B + 0.0625, C + 0.125, D + 0.125, 1.0 - A);
    5455    pass_Foreground = vec4(F, G, H, 1.0 - E);
    5556    if (B + C + D < 0.01) A = 1.0;
Note: See TracChangeset for help on using the changeset viewer.