]> git.decadent.org.uk Git - ion3.git/blobdiff - ioncore/kbresize.c
Added modular configuration mechanism.
[ion3.git] / ioncore / kbresize.c
index 012a93147fca2472a90b3892dfd994224161b7ab..f91821ca5864eaebffd9c46004bd6f60cc2291f1 100644 (file)
@@ -3,10 +3,7 @@
  *
  * Copyright (c) Tuomo Valkonen 1999-2007. 
  *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
+ * See the included file LICENSE for details.
  */
 
 #include <math.h>
@@ -101,7 +98,8 @@ void moveresmode_accel(WMoveresMode *mode, int *wu, int *hu, int accel_mode)
     struct timeval tv;
     long adiff, udiff;
     
-    gettimeofday(&tv, NULL);
+    if(mainloop_gettime(&tv)!=0)
+        return;
     
     adiff=tvdiffmsec(&tv, &last_action_tv);
     udiff=tvdiffmsec(&tv, &last_update_tv);
@@ -137,6 +135,8 @@ void moveresmode_accel(WMoveresMode *mode, int *wu, int *hu, int accel_mode)
 static ExtlExportedFn *moveres_safe_fns[]={
     (ExtlExportedFn*)&moveresmode_resize,
     (ExtlExportedFn*)&moveresmode_move,
+    (ExtlExportedFn*)&moveresmode_rqgeom_extl,
+    (ExtlExportedFn*)&moveresmode_geom,
     (ExtlExportedFn*)&moveresmode_finish,
     (ExtlExportedFn*)&moveresmode_cancel,
     NULL
@@ -309,6 +309,33 @@ void moveresmode_move(WMoveresMode *mode, int horizmul, int vertmul)
 }
 
 
+/*EXTL_DOC
+ * Request exact geometry in move/resize mode. For details on parameters,
+ * see \fnref{WRegion.rqgeom}.
+ */
+EXTL_EXPORT_AS(WMoveresMode, rqgeom)
+ExtlTab moveresmode_rqgeom_extl(WMoveresMode *mode, ExtlTab g)
+{
+    WRQGeomParams rq=RQGEOMPARAMS_INIT;
+    WRectangle res;
+    
+    rqgeomparams_from_table(&rq, &mode->geom, g);
+    
+    moveresmode_rqgeom(mode, &rq, &res);
+    
+    return extl_table_from_rectangle(&res);
+}
+
+/*EXTL_DOC
+ * Returns current geometry.
+ */
+EXTL_EXPORT_MEMBER
+ExtlTab moveresmode_geom(WMoveresMode *mode)
+{
+    return extl_table_from_rectangle(&mode->geom);
+}
+
+
 /*EXTL_DOC
  * Return from move/resize mode and apply changes unless opaque
  * move/resize is enabled.