X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fkbresize.c;h=f91821ca5864eaebffd9c46004bd6f60cc2291f1;hb=a33db24c701fe232639d904f934f68818393f95e;hp=012a93147fca2472a90b3892dfd994224161b7ab;hpb=803afbc1cd633f6c025bcd9537e9b7e9aedadd0d;p=ion3.git diff --git a/ioncore/kbresize.c b/ioncore/kbresize.c index 012a931..f91821c 100644 --- a/ioncore/kbresize.c +++ b/ioncore/kbresize.c @@ -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 @@ -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.