X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=filebrowser%2Fdraw.c;h=abab957979d3c642164ace9e0ef43a5bd4557dc8;hb=e9a0808a5551217eb4fd29d949f3c7672545c168;hp=a5b85f52c941cf64e8f497d4567eab44e6f28aa0;hpb=18c9024957df2892adb21cd851cb7a27b9502d54;p=xboard.git diff --git a/filebrowser/draw.c b/filebrowser/draw.c index a5b85f5..abab957 100644 --- a/filebrowser/draw.c +++ b/filebrowser/draw.c @@ -38,6 +38,11 @@ #endif #define ABS(x) (((x) < 0) ? (-(x)) : (x)) +/* added missing prototypes */ +extern char SFstatChar(struct stat*); +extern int SFchdir(char *); +void SFvSliderMovedCallback(Widget, int, int); + typedef struct { char *fontname; } TextData, *textPtr; @@ -500,7 +505,7 @@ SFscrollTimer(p, id) int save; int n; - n = (int) p; + n = (int)(intptr_t) p; dir = &(SFdirs[SFdirPtr + n]); save = dir->vOrigin; @@ -530,7 +535,7 @@ SFscrollTimer(p, id) if (SFbuttonPressed) { SFscrollTimerId = XtAppAddTimeOut(SFapp, - SFscrollTimerInterval(), SFscrollTimer, (XtPointer) n); + SFscrollTimerInterval(), SFscrollTimer, (XtPointer)(intptr_t) n); } } @@ -571,7 +576,7 @@ SFnewInvertEntry(n, event) SFscrollTimerAdded = 1; SFscrollTimerId = XtAppAddTimeOut(SFapp, SFscrollTimerInterval(), SFscrollTimer, - (XtPointer) n); + (XtPointer)(intptr_t) n); } } @@ -639,20 +644,6 @@ SFmotionList(w, n, event) /* ARGSUSED */ void -SFvFloatSliderMovedCallback(w, n, fnew) - Widget w; - int n; - float *fnew; -{ - int new; - - new = (*fnew) * SFdirs[SFdirPtr + n].nEntries; - - SFvSliderMovedCallback(w, n, new); -} - -/* ARGSUSED */ -void SFvSliderMovedCallback(w, n, new) Widget w; int n; @@ -664,7 +655,10 @@ SFvSliderMovedCallback(w, n, new) dir = &(SFdirs[SFdirPtr + n]); + old = dir->vOrigin; + if(new == -1) new = old + 1; else if(new == -2) new = old - 1; // [HGM] indicates scroll direction on mousewheel event + if(new < 0 || new > dir->nEntries - SFlistSize) return; dir->vOrigin = new; if (old == new) { @@ -739,6 +733,21 @@ SFvSliderMovedCallback(w, n, new) /* ARGSUSED */ void +SFvFloatSliderMovedCallback(w, n, fnew) + Widget w; + int n; + float *fnew; +{ + int new; + + new = (*fnew) * SFdirs[SFdirPtr + n].nEntries; + + SFvSliderMovedCallback(w, n, new); +} + + +/* ARGSUSED */ +void SFvAreaSelectedCallback(w, n, pnew) Widget w; int n;