void ScrollShape::dragPos(Coord from,Coord to,uCoord len,uCoord dlen) { if( from<to ) { ulen d=delta(IntDist(from,to),len,dlen); ulen cap=getMaxPos(); if( d<cap && drag_pos<cap-d ) pos=drag_pos+d; else pos=cap; } else if( from>to ) { ulen d=delta(IntDist(to,from),len,dlen); if( drag_pos>d ) pos=drag_pos-d; else pos=0; } }
int RandInt(int min, int max) { return (min == max ? min : IntDist(min, max)()); }