ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvtutil.h
(Generate patch)

Comparing rxvt-unicode/src/rxvtutil.h (file contents):
Revision 1.19 by root, Sun Jan 22 00:36:59 2006 UTC vs.
Revision 1.21 by root, Sun Jan 29 20:51:28 2006 UTC

28 28
29template<typename T, typename U, typename V> static inline T clamp (T v, U a, V b) { return v < (T)a ? a : v >(T)b ? b : v; } 29template<typename T, typename U, typename V> static inline T clamp (T v, U a, V b) { return v < (T)a ? a : v >(T)b ? b : v; }
30template<typename T, typename U, typename V> static inline void clamp_it (T &v, U a, V b) { v = v < (T)a ? a : v >(T)b ? b : v; } 30template<typename T, typename U, typename V> static inline void clamp_it (T &v, U a, V b) { v = v < (T)a ? a : v >(T)b ? b : v; }
31 31
32template<typename T, typename U> static inline void swap (T& a, U& b) { T t=a; a=(T)b; b=(U)t; } 32template<typename T, typename U> static inline void swap (T& a, U& b) { T t=a; a=(T)b; b=(U)t; }
33
34// linear interpolation
35template<typename T, typename U, typename P>
36static inline
37T lerp (T a, U b, P p)
38{
39 return (int(a) * int(p) + int(b) * int(100 - p)) / 100;
40}
33 41
34// in range including end 42// in range including end
35#define IN_RANGE_INC(val,beg,end) \ 43#define IN_RANGE_INC(val,beg,end) \
36 ((unsigned int)(val) - (unsigned int)(beg) <= (unsigned int)(end) - (unsigned int)(beg)) 44 ((unsigned int)(val) - (unsigned int)(beg) <= (unsigned int)(end) - (unsigned int)(beg))
37 45
396 for (char **c = begin (); c != end (); c++) 404 for (char **c = begin (); c != end (); c++)
397 free (*c); 405 free (*c);
398 } 406 }
399}; 407};
400 408
409// return a very temporary (and never deallocated) buffer. keep small.
410void *rxvt_temp_buf (int len);
411
412template<typename T>
413inline T *
414rxvt_temp_buf (int len)
415{
416 return (T *)rxvt_temp_buf (len * sizeof (T));
417}
418
401#endif 419#endif
402 420

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines