Date:2013-01-31 00:49:39 (11 years 1 month ago)
Author:Werner Almesberger
Commit:c702fc0e9013bc6578ddf8345180b77e8b48487d
Message:ubb-la/gui.c: add horizontal panning (WIP)

Files: ubb-la/gui.c (3 diffs)

Change Details

ubb-la/gui.c
159159    int x0, int x1, int zoom, int pos)
160160{
161161    int xm, w, p0, p1;
162    int d;
162    int d, dp;
163163
164164    xm = (x0+x1) >> 1;
165    dp = pos-((nibbles+skip) >> 1);
165166    if (zoom < 0) {
166167        w = (nibbles-skip) >> -zoom;
167        p0 = xm-(w >> 1);
168        p1 = xm+((w+1) >> 1);
168        p0 = xm-(w >> 1)-(dp >> -zoom);
169        p1 = xm+((w+1) >> 1)-(dp >> -zoom);
169170        if (p0 < x0) {
170171            skip += (x0-p0) << -zoom;
171172            p0 = x0;
...... 
177178        show_buffer_zoom_out(buf, skip, nibbles, p0, p1);
178179    } else {
179180        w = (nibbles-skip) << zoom;
180        p0 = xm-(w >> 1);
181        p1 = xm+((w+1) >> 1);
181        p0 = xm-(w >> 1)-(dp << zoom);
182        p1 = xm+((w+1) >> 1)-(dp << zoom);
182183        if (p0 < x0) {
183184            d = ((x0-p0)+(1 << zoom)-1) >> zoom;
184185            skip += d;
...... 
229230                    if (zoom > min_zoom)
230231                        zoom--;
231232                    break;
233                case SDLK_LEFT:
234                    if (pos)
235                        pos--;
236                    break;
237                case SDLK_RIGHT:
238                    if (pos < nibbles-1)
239                        pos++;
240                    break;
232241                case SDLK_RETURN:
233242                case SDLK_q:
234243                    return;

Archive Download the corresponding diff file

Branches:
master



interactive