Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e.h 


Log Message:


add some macros for usefulness

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e.h,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -3 -r1.72 -r1.73
--- e.h 25 Sep 2007 14:26:36 -0000      1.72
+++ e.h 1 Apr 2008 20:51:04 -0000       1.73
@@ -140,6 +140,32 @@
   while (0)
 
 #define E_CLAMP(x, min, max) (x < min ? min : (x > max ? max : x))
+#define E_RECTS_CLIP_TO_RECT(_x, _y, _w, _h, _cx, _cy, _cw, _ch) \
+   { \
+      if (E_INTERSECTS(_x, _y, _w, _h, _cx, _cy, _cw, _ch)) \
+       { \
+          if (_x < (_cx)) \
+            { \
+               _w += _x - (_cx); \
+               _x = (_cx); \
+               if (_w < 0) _w = 0; \
+            } \
+          if ((_x + _w) > ((_cx) + (_cw))) \
+            _w = (_cx) + (_cw) - _x; \
+          if (_y < (_cy)) \
+            { \
+               _h += _y - (_cy); \
+               _y = (_cy); \
+               if (_h < 0) _h = 0; \
+            } \
+          if ((_y + _h) > ((_cy) + (_ch))) \
+            _h = (_cy) + (_ch) - _y; \
+       } \
+      else \
+       { \
+          _w = 0; _h = 0; \
+       } \
+   }
 
 #define E_REMOTE_OPTIONS 1
 #define E_REMOTE_OUT     2



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to