Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
Tag: branch-exp
E.h alert.c areas.c desktops.c ewin-ops.c misc.c mod-trans.c
setup.c slideout.c startup.c
Log Message:
Merge.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.314.2.41
retrieving revision 1.314.2.42
diff -u -3 -r1.314.2.41 -r1.314.2.42
--- E.h 17 Sep 2004 14:28:33 -0000 1.314.2.41
+++ E.h 17 Sep 2004 16:13:41 -0000 1.314.2.42
@@ -2106,6 +2106,8 @@
/* misc.c */
void Quicksort(void **a, int l, int r,
int (*CompareFunc) (void *d1, void *d2));
+void ETimedLoopInit(int k1, int k2, int speed);
+int ETimedLoopNext(void);
void __PRINTF__ Eprintf(const char *fmt, ...);
/* moveresize.c */
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/alert.c,v
retrieving revision 1.34.2.3
retrieving revision 1.34.2.4
diff -u -3 -r1.34.2.3 -r1.34.2.4
--- alert.c 7 Sep 2004 20:06:52 -0000 1.34.2.3
+++ alert.c 17 Sep 2004 16:13:42 -0000 1.34.2.4
@@ -275,7 +275,8 @@
else
XSetForeground(dd, gc, att.border_pixel);
- xfs = XCreateFontSet(dd, "-*-helvetica-*-r-*-*-12-*-*-*-*-*-*-*,fixed",
+ xfs = XCreateFontSet(dd, "-*-sans unicode-*-r-*-*-12-*-*-*-*-*-*-*,"
+ "-*-helvetica-*-r-*-*-12-*-*-*-*-*-*-*,fixed",
&missing_charset_list_return,
&missing_charset_count_return, &def_string_return);
if (!xfs)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/areas.c,v
retrieving revision 1.71.2.8
retrieving revision 1.71.2.9
diff -u -3 -r1.71.2.8 -r1.71.2.9
--- areas.c 7 Sep 2004 20:06:52 -0000 1.71.2.8
+++ areas.c 17 Sep 2004 16:13:42 -0000 1.71.2.9
@@ -21,7 +21,6 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include "E.h"
-#include <sys/time.h>
static int area_w = 3;
static int area_h = 3;
@@ -186,10 +185,7 @@
void
SlideWindowsBy(Window * win, int num, int dx, int dy, int speed)
{
- int i, k, spd, x, y, min;
- struct timeval timev1, timev2;
- int dsec, dusec;
- double tm;
+ int i, k, x, y;
struct _xy
{
int x, y;
@@ -199,16 +195,14 @@
if (num < 1)
EDBUG_RETURN_;
- spd = 16;
- min = 2;
xy = Emalloc(sizeof(struct _xy) * num);
for (i = 0; i < num; i++)
GetWinXY(win[i], &(xy[i].x), &(xy[i].y));
- for (k = 0; k <= 1024; k += spd)
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
{
- gettimeofday(&timev1, NULL);
for (i = 0; i < num; i++)
{
x = ((xy[i].x * (1024 - k)) + ((xy[i].x + dx) * k)) >> 10;
@@ -216,18 +210,8 @@
EMoveWindow(disp, win[i], x, y);
}
ecore_x_sync();
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
+
+ k = ETimedLoopNext();
}
for (i = 0; i < num; i++)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.95.2.17
retrieving revision 1.95.2.18
diff -u -3 -r1.95.2.17 -r1.95.2.18
--- desktops.c 7 Sep 2004 20:06:53 -0000 1.95.2.17
+++ desktops.c 17 Sep 2004 16:13:42 -0000 1.95.2.18
@@ -22,7 +22,6 @@
*/
#include "E.h"
#include <time.h>
-#include <sys/time.h>
#define EDESK_EVENT_MASK \
(KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | \
@@ -233,37 +232,27 @@
void
SlideWindowTo(Window win, int fx, int fy, int tx, int ty, int speed)
{
- int k, spd, x, y, min;
- struct timeval timev1, timev2;
- int dsec, dusec;
- double tm;
+ int k, x, y;
EDBUG(5, "SlideWindowTo");
- spd = 16;
- min = 2;
+
ecore_x_grab();
- for (k = 0; k <= 1024; k += spd)
+
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
{
- gettimeofday(&timev1, NULL);
x = ((fx * (1024 - k)) + (tx * k)) >> 10;
y = ((fy * (1024 - k)) + (ty * k)) >> 10;
EMoveWindow(disp, win, x, y);
ecore_x_sync();
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
+ XSync(disp, False);
+
+ k = ETimedLoopNext();
}
EMoveWindow(disp, win, tx, ty);
+
ecore_x_ungrab();
+
EDBUG_RETURN_;
}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/Attic/ewin-ops.c,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -3 -r1.1.2.7 -r1.1.2.8
--- ewin-ops.c 7 Sep 2004 20:06:54 -0000 1.1.2.7
+++ ewin-ops.c 17 Sep 2004 16:13:43 -0000 1.1.2.8
@@ -26,15 +26,11 @@
void
SlideEwinTo(EWin * ewin, int fx, int fy, int tx, int ty, int speed)
{
- int k, spd, x, y, min, tmpx, tmpy, tmpw, tmph;
- struct timeval timev1, timev2;
- int dsec, dusec;
- double tm;
+ int k, x, y, tmpx, tmpy;
char firstlast;
EDBUG(3, "SlideEwinTo");
- spd = 16;
- min = 2;
+
firstlast = 0;
Mode.doingslide = 1;
SoundPlay("SOUND_WINDOW_SLIDE");
@@ -42,42 +38,33 @@
if (Conf.slidemode > 0)
ecore_x_grab();
- for (k = 0; k <= 1024; k += spd)
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
{
- gettimeofday(&timev1, NULL);
x = ((fx * (1024 - k)) + (tx * k)) >> 10;
y = ((fy * (1024 - k)) + (ty * k)) >> 10;
tmpx = x;
tmpy = y;
- tmpw = ewin->client.w;
- tmph = ewin->client.h;
if (Conf.slidemode == 0)
EMoveWindow(disp, ewin->win, tmpx, tmpy);
else
- DrawEwinShape(ewin, Conf.slidemode, tmpx, tmpy, tmpw, tmph,
- firstlast);
+ DrawEwinShape(ewin, Conf.slidemode, tmpx, tmpy,
+ ewin->client.w, ewin->client.h, firstlast);
if (firstlast == 0)
firstlast = 1;
ecore_x_sync();
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
+
+ k = ETimedLoopNext();
}
DrawEwinShape(ewin, Conf.slidemode, x, y, ewin->client.w, ewin->client.h, 2);
MoveEwin(ewin, tx, ty);
Mode.doingslide = 0;
+
if (Conf.slidemode > 0)
ecore_x_ungrab();
+
SoundPlay("SOUND_WINDOW_SLIDE_END");
+
EDBUG_RETURN_;
}
@@ -85,11 +72,7 @@
SlideEwinsTo(EWin ** ewin, int *fx, int *fy, int *tx, int *ty, int num_wins,
int speed)
{
- int k, spd, *x = NULL, *y =
- NULL, min, tmpx, tmpy, tmpw, tmph, i;
- struct timeval timev1, timev2;
- int dsec, dusec;
- double tm;
+ int k, *x = NULL, *y = NULL, tmpx, tmpy, tmpw, tmph, i;
char firstlast;
EDBUG(3, "SlideEwinsTo");
@@ -99,51 +82,38 @@
x = Emalloc(sizeof(int) * num_wins);
y = Emalloc(sizeof(int) * num_wins);
}
- spd = 16;
- min = 2;
+
firstlast = 0;
Mode.doingslide = 1;
-
SoundPlay("SOUND_WINDOW_SLIDE");
if (Conf.slidemode > 0)
ecore_x_grab();
- for (k = 0; k <= 1024; k += spd)
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
{
for (i = 0; i < num_wins; i++)
{
- if (ewin[i])
- {
- gettimeofday(&timev1, NULL);
- x[i] = ((fx[i] * (1024 - k)) + (tx[i] * k)) >> 10;
- y[i] = ((fy[i] * (1024 - k)) + (ty[i] * k)) >> 10;
- tmpx = x[i];
- tmpy = y[i];
- tmpw = ewin[i]->client.w;
- tmph = ewin[i]->client.h;
- if (ewin[i]->type == EWIN_TYPE_MENU)
- EMoveWindow(disp, ewin[i]->win, tmpx, tmpy);
- else
- DrawEwinShape(ewin[i], 0, tmpx, tmpy, tmpw, tmph,
- firstlast);
- if (firstlast == 0)
- firstlast = 1;
- ecore_x_sync();
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
- }
+ if (!ewin[i])
+ continue;
+
+ x[i] = ((fx[i] * (1024 - k)) + (tx[i] * k)) >> 10;
+ y[i] = ((fy[i] * (1024 - k)) + (ty[i] * k)) >> 10;
+ tmpx = x[i];
+ tmpy = y[i];
+ tmpw = ewin[i]->client.w;
+ tmph = ewin[i]->client.h;
+ if (ewin[i]->type == EWIN_TYPE_MENU)
+ EMoveWindow(disp, ewin[i]->win, tmpx, tmpy);
+ else
+ DrawEwinShape(ewin[i], 0, tmpx, tmpy, tmpw, tmph, firstlast);
+ if (firstlast == 0)
+ firstlast = 1;
+ ecore_x_sync();
}
+ /* We may loop faster here than originally intended */
+ k = ETimedLoopNext();
}
for (i = 0; i < num_wins; i++)
@@ -159,11 +129,14 @@
Mode.doingslide = 0;
if (Conf.slidemode > 0)
ecore_x_ungrab();
+
SoundPlay("SOUND_WINDOW_SLIDE_END");
+
if (x)
Efree(x);
if (y)
Efree(y);
+
EDBUG_RETURN_;
}
@@ -687,11 +660,7 @@
EwinShade(EWin * ewin)
{
XSetWindowAttributes att;
- int i, j, speed, a, b, c, d, ww, hh;
- int k, spd, min;
- struct timeval timev1, timev2;
- int dsec, dusec;
- double tm;
+ int i, j, k, speed, a, b, c, d, ww, hh;
char pq;
EDBUG(4, "EwinShade");
@@ -710,8 +679,6 @@
Mode.queue_up = 0;
speed = Conf.shadespeed;
- spd = 32;
- min = 2;
ecore_x_grab();
@@ -723,43 +690,35 @@
EwinBorderMinShadeSize(ewin, &b, &d);
a = ewin->w;
if ((Conf.animate_shading) || (ewin->type == EWIN_TYPE_MENU))
- for (k = 0; k <= 1024; k += spd)
- {
- gettimeofday(&timev1, NULL);
- i = ((a * (1024 - k)) + (b * k)) >> 10;
- ewin->w = i;
- if (ewin->w < 1)
- ewin->w = 1;
- ww = ewin->w - ewin->border->border.left -
- ewin->border->border.right;
- if (ww < 1)
- ww = 1;
- hh = ewin->client.h;
- EMoveResizeWindow(disp, ewin->win_container,
- ewin->border->border.left,
- ewin->border->border.top, ww, hh);
- EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
- ewin->h);
- EwinBorderCalcSizes(ewin);
- if (ewin->client.shaped)
- EShapeCombineShape(disp, ewin->win_container,
- ShapeBounding, -(ewin->client.w - ww),
- 0, ewin->client.win, ShapeBounding,
- ShapeSet);
- EwinPropagateShapes(ewin);
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
- }
+ {
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
+ {
+ i = ((a * (1024 - k)) + (b * k)) >> 10;
+ ewin->w = i;
+ if (ewin->w < 1)
+ ewin->w = 1;
+ ww = ewin->w - ewin->border->border.left -
+ ewin->border->border.right;
+ if (ww < 1)
+ ww = 1;
+ hh = ewin->client.h;
+ EMoveResizeWindow(disp, ewin->win_container,
+ ewin->border->border.left,
+ ewin->border->border.top, ww, hh);
+ EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
+ ewin->h);
+ EwinBorderCalcSizes(ewin);
+ if (ewin->client.shaped)
+ EShapeCombineShape(disp, ewin->win_container,
+ ShapeBounding, -(ewin->client.w - ww),
+ 0, ewin->client.win, ShapeBounding,
+ ShapeSet);
+ EwinPropagateShapes(ewin);
+
+ k = ETimedLoopNext();
+ }
+ }
ewin->shaded = 2;
ewin->w = b;
EMoveResizeWindow(disp, ewin->win_container, -30, -30, 1, 1);
@@ -775,44 +734,36 @@
c = ewin->x;
d = ewin->x + ewin->w - b;
if ((Conf.animate_shading) || (ewin->type == EWIN_TYPE_MENU))
- for (k = 0; k <= 1024; k += spd)
- {
- gettimeofday(&timev1, NULL);
- i = ((a * (1024 - k)) + (b * k)) >> 10;
- j = ((c * (1024 - k)) + (d * k)) >> 10;
- ewin->w = i;
- ewin->x = j;
- if (ewin->w < 1)
- ewin->w = 1;
- ww = ewin->w - ewin->border->border.left -
- ewin->border->border.right;
- if (ww < 1)
- ww = 1;
- hh = ewin->client.h;
- EMoveResizeWindow(disp, ewin->win_container,
- ewin->border->border.left,
- ewin->border->border.top, ww, hh);
- EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
- ewin->h);
- EwinBorderCalcSizes(ewin);
- if (ewin->client.shaped)
- EShapeCombineShape(disp, ewin->win_container,
- ShapeBounding, 0, 0, ewin->client.win,
- ShapeBounding, ShapeSet);
- EwinPropagateShapes(ewin);
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
- }
+ {
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
+ {
+ i = ((a * (1024 - k)) + (b * k)) >> 10;
+ j = ((c * (1024 - k)) + (d * k)) >> 10;
+ ewin->w = i;
+ ewin->x = j;
+ if (ewin->w < 1)
+ ewin->w = 1;
+ ww = ewin->w - ewin->border->border.left -
+ ewin->border->border.right;
+ if (ww < 1)
+ ww = 1;
+ hh = ewin->client.h;
+ EMoveResizeWindow(disp, ewin->win_container,
+ ewin->border->border.left,
+ ewin->border->border.top, ww, hh);
+ EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
+ ewin->h);
+ EwinBorderCalcSizes(ewin);
+ if (ewin->client.shaped)
+ EShapeCombineShape(disp, ewin->win_container,
+ ShapeBounding, 0, 0, ewin->client.win,
+ ShapeBounding, ShapeSet);
+ EwinPropagateShapes(ewin);
+
+ k = ETimedLoopNext();
+ }
+ }
ewin->shaded = 2;
ewin->w = b;
ewin->x = d;
@@ -828,44 +779,36 @@
EwinBorderMinShadeSize(ewin, &b, &d);
b = d;
if ((Conf.animate_shading) || (ewin->type == EWIN_TYPE_MENU))
- for (k = 0; k <= 1024; k += spd)
- {
- gettimeofday(&timev1, NULL);
- i = ((a * (1024 - k)) + (b * k)) >> 10;
- ewin->h = i;
- if (ewin->h < 1)
- ewin->h = 1;
- hh = ewin->h - ewin->border->border.top -
- ewin->border->border.bottom;
- if (hh < 1)
- hh = 1;
- ww = ewin->client.w;
- EMoveResizeWindow(disp, ewin->win_container,
- ewin->border->border.left,
- ewin->border->border.top, ww, hh);
- EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
- ewin->h);
- EwinBorderCalcSizes(ewin);
- if (ewin->client.shaped)
- EShapeCombineShape(disp, ewin->win_container,
- ShapeBounding, 0,
- -(ewin->client.h - hh),
- ewin->client.win, ShapeBounding,
- ShapeSet);
- EwinPropagateShapes(ewin);
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
- }
+ {
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
+ {
+ i = ((a * (1024 - k)) + (b * k)) >> 10;
+ ewin->h = i;
+ if (ewin->h < 1)
+ ewin->h = 1;
+ hh = ewin->h - ewin->border->border.top -
+ ewin->border->border.bottom;
+ if (hh < 1)
+ hh = 1;
+ ww = ewin->client.w;
+ EMoveResizeWindow(disp, ewin->win_container,
+ ewin->border->border.left,
+ ewin->border->border.top, ww, hh);
+ EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
+ ewin->h);
+ EwinBorderCalcSizes(ewin);
+ if (ewin->client.shaped)
+ EShapeCombineShape(disp, ewin->win_container,
+ ShapeBounding, 0,
+ -(ewin->client.h - hh),
+ ewin->client.win, ShapeBounding,
+ ShapeSet);
+ EwinPropagateShapes(ewin);
+
+ k = ETimedLoopNext();
+ }
+ }
ewin->shaded = 2;
ewin->h = b;
EMoveResizeWindow(disp, ewin->win_container, -30, -30, 1, 1);
@@ -882,44 +825,35 @@
c = ewin->y;
d = ewin->y + ewin->h - b;
if ((Conf.animate_shading) || (ewin->type == EWIN_TYPE_MENU))
- for (k = 0; k <= 1024; k += spd)
- {
- gettimeofday(&timev1, NULL);
- i = ((a * (1024 - k)) + (b * k)) >> 10;
- j = ((c * (1024 - k)) + (d * k)) >> 10;
- ewin->h = i;
- ewin->y = j;
- if (ewin->h < 1)
- ewin->h = 1;
- hh = ewin->h - ewin->border->border.top -
- ewin->border->border.bottom;
- if (hh < 1)
- hh = 1;
- ww = ewin->client.w;
- EMoveResizeWindow(disp, ewin->win_container,
- ewin->border->border.left,
- ewin->border->border.top, ww, hh);
- EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
- ewin->h);
- EwinBorderCalcSizes(ewin);
- if (ewin->client.shaped)
- EShapeCombineShape(disp, ewin->win_container,
- ShapeBounding, 0, 0, ewin->client.win,
- ShapeBounding, ShapeSet);
- EwinPropagateShapes(ewin);
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
- }
+ {
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
+ {
+ i = ((a * (1024 - k)) + (b * k)) >> 10;
+ j = ((c * (1024 - k)) + (d * k)) >> 10;
+ ewin->h = i;
+ ewin->y = j;
+ if (ewin->h < 1)
+ ewin->h = 1;
+ hh = ewin->h - ewin->border->border.top -
+ ewin->border->border.bottom;
+ if (hh < 1)
+ hh = 1;
+ ww = ewin->client.w;
+ EMoveResizeWindow(disp, ewin->win_container,
+ ewin->border->border.left,
+ ewin->border->border.top, ww, hh);
+ EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
+ ewin->h);
+ EwinBorderCalcSizes(ewin);
+ if (ewin->client.shaped)
+ EShapeCombineShape(disp, ewin->win_container,
+ ShapeBounding, 0, 0, ewin->client.win,
+ ShapeBounding, ShapeSet);
+ EwinPropagateShapes(ewin);
+ k = ETimedLoopNext();
+ }
+ }
ewin->shaded = 2;
ewin->h = b;
ewin->y = d;
@@ -951,14 +885,11 @@
EwinUnShade(EWin * ewin)
{
XSetWindowAttributes att;
- int i, j, speed, a, b, c, d;
- int k, spd, min;
- struct timeval timev1, timev2;
- int dsec, dusec;
- double tm;
+ int i, j, k, speed, a, b, c, d;
char pq;
EDBUG(4, "EwinUnShade");
+
if (GetZoomEWin() == ewin)
EDBUG_RETURN_;
if (!ewin->shaded || ewin->iconified)
@@ -968,8 +899,6 @@
Mode.queue_up = 0;
speed = Conf.shadespeed;
- spd = 32;
- min = 2;
ecore_x_grab();
@@ -990,41 +919,33 @@
EMapWindow(disp, ewin->client.win);
EMapWindow(disp, ewin->win_container);
if ((Conf.animate_shading) || (ewin->type == EWIN_TYPE_MENU))
- for (k = 0; k <= 1024; k += spd)
- {
- gettimeofday(&timev1, NULL);
- i = ((a * (1024 - k)) + (b * k)) >> 10;
- ewin->w = i;
- EMoveResizeWindow(disp, ewin->win_container,
- ewin->border->border.left,
- ewin->border->border.top,
- ewin->w - ewin->border->border.left -
- ewin->border->border.right, ewin->client.h);
- EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
- ewin->h);
- EwinBorderCalcSizes(ewin);
- if (ewin->client.shaped)
- EShapeCombineShape(disp, ewin->win_container,
- ShapeBounding,
- -(ewin->client.w -
- (ewin->w - ewin->border->border.left -
- ewin->border->border.right)), 0,
- ewin->client.win, ShapeBounding,
- ShapeSet);
- EwinPropagateShapes(ewin);
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
- }
+ {
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
+ {
+ i = ((a * (1024 - k)) + (b * k)) >> 10;
+ ewin->w = i;
+ EMoveResizeWindow(disp, ewin->win_container,
+ ewin->border->border.left,
+ ewin->border->border.top,
+ ewin->w - ewin->border->border.left -
+ ewin->border->border.right, ewin->client.h);
+ EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
+ ewin->h);
+ EwinBorderCalcSizes(ewin);
+ if (ewin->client.shaped)
+ EShapeCombineShape(disp, ewin->win_container,
+ ShapeBounding,
+ -(ewin->client.w -
+ (ewin->w - ewin->border->border.left -
+ ewin->border->border.right)), 0,
+ ewin->client.win, ShapeBounding,
+ ShapeSet);
+ EwinPropagateShapes(ewin);
+
+ k = ETimedLoopNext();
+ }
+ }
ewin->w = b;
MoveResizeEwin(ewin, ewin->x, ewin->y, ewin->client.w, ewin->client.h);
ecore_x_sync();
@@ -1047,39 +968,31 @@
EMapWindow(disp, ewin->client.win);
EMapWindow(disp, ewin->win_container);
if ((Conf.animate_shading) || (ewin->type == EWIN_TYPE_MENU))
- for (k = 0; k <= 1024; k += spd)
- {
- gettimeofday(&timev1, NULL);
- i = ((a * (1024 - k)) + (b * k)) >> 10;
- j = ((c * (1024 - k)) + (d * k)) >> 10;
- ewin->w = i;
- ewin->x = j;
- EMoveResizeWindow(disp, ewin->win_container,
- ewin->border->border.left,
- ewin->border->border.top,
- ewin->w - ewin->border->border.left -
- ewin->border->border.right, ewin->client.h);
- EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
- ewin->h);
- EwinBorderCalcSizes(ewin);
- if (ewin->client.shaped)
- EShapeCombineShape(disp, ewin->win_container,
- ShapeBounding, 0, 0, ewin->client.win,
- ShapeBounding, ShapeSet);
- EwinPropagateShapes(ewin);
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
- }
+ {
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
+ {
+ i = ((a * (1024 - k)) + (b * k)) >> 10;
+ j = ((c * (1024 - k)) + (d * k)) >> 10;
+ ewin->w = i;
+ ewin->x = j;
+ EMoveResizeWindow(disp, ewin->win_container,
+ ewin->border->border.left,
+ ewin->border->border.top,
+ ewin->w - ewin->border->border.left -
+ ewin->border->border.right, ewin->client.h);
+ EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
+ ewin->h);
+ EwinBorderCalcSizes(ewin);
+ if (ewin->client.shaped)
+ EShapeCombineShape(disp, ewin->win_container,
+ ShapeBounding, 0, 0, ewin->client.win,
+ ShapeBounding, ShapeSet);
+ EwinPropagateShapes(ewin);
+
+ k = ETimedLoopNext();
+ }
+ }
ewin->w = b;
ewin->x = d;
MoveResizeEwin(ewin, ewin->x, ewin->y, ewin->client.w, ewin->client.h);
@@ -1100,41 +1013,33 @@
EMapWindow(disp, ewin->client.win);
EMapWindow(disp, ewin->win_container);
if ((Conf.animate_shading) || (ewin->type == EWIN_TYPE_MENU))
- for (k = 0; k <= 1024; k += spd)
- {
- gettimeofday(&timev1, NULL);
- i = ((a * (1024 - k)) + (b * k)) >> 10;
- ewin->h = i;
- EMoveResizeWindow(disp, ewin->win_container,
- ewin->border->border.left,
- ewin->border->border.top, ewin->client.w,
- ewin->h - ewin->border->border.top -
- ewin->border->border.bottom);
- EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
- ewin->h);
- EwinBorderCalcSizes(ewin);
- if (ewin->client.shaped)
- EShapeCombineShape(disp, ewin->win_container,
- ShapeBounding, 0,
- -(ewin->client.h -
- (ewin->h - ewin->border->border.top -
- ewin->border->border.bottom)),
- ewin->client.win, ShapeBounding,
- ShapeSet);
- EwinPropagateShapes(ewin);
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
- }
+ {
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
+ {
+ i = ((a * (1024 - k)) + (b * k)) >> 10;
+ ewin->h = i;
+ EMoveResizeWindow(disp, ewin->win_container,
+ ewin->border->border.left,
+ ewin->border->border.top, ewin->client.w,
+ ewin->h - ewin->border->border.top -
+ ewin->border->border.bottom);
+ EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
+ ewin->h);
+ EwinBorderCalcSizes(ewin);
+ if (ewin->client.shaped)
+ EShapeCombineShape(disp, ewin->win_container,
+ ShapeBounding, 0,
+ -(ewin->client.h -
+ (ewin->h - ewin->border->border.top -
+ ewin->border->border.bottom)),
+ ewin->client.win, ShapeBounding,
+ ShapeSet);
+ EwinPropagateShapes(ewin);
+
+ k = ETimedLoopNext();
+ }
+ }
ewin->h = b;
MoveResizeEwin(ewin, ewin->x, ewin->y, ewin->client.w, ewin->client.h);
ecore_x_sync();
@@ -1157,39 +1062,31 @@
EMapWindow(disp, ewin->client.win);
EMapWindow(disp, ewin->win_container);
if ((Conf.animate_shading) || (ewin->type == EWIN_TYPE_MENU))
- for (k = 0; k <= 1024; k += spd)
- {
- gettimeofday(&timev1, NULL);
- i = ((a * (1024 - k)) + (b * k)) >> 10;
- j = ((c * (1024 - k)) + (d * k)) >> 10;
- ewin->h = i;
- ewin->y = j;
- EMoveResizeWindow(disp, ewin->win_container,
- ewin->border->border.left,
- ewin->border->border.top, ewin->client.w,
- ewin->h - ewin->border->border.top -
- ewin->border->border.bottom);
- EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
- ewin->h);
- EwinBorderCalcSizes(ewin);
- if (ewin->client.shaped)
- EShapeCombineShape(disp, ewin->win_container,
- ShapeBounding, 0, 0, ewin->client.win,
- ShapeBounding, ShapeSet);
- EwinPropagateShapes(ewin);
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
- }
+ {
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
+ {
+ i = ((a * (1024 - k)) + (b * k)) >> 10;
+ j = ((c * (1024 - k)) + (d * k)) >> 10;
+ ewin->h = i;
+ ewin->y = j;
+ EMoveResizeWindow(disp, ewin->win_container,
+ ewin->border->border.left,
+ ewin->border->border.top, ewin->client.w,
+ ewin->h - ewin->border->border.top -
+ ewin->border->border.bottom);
+ EMoveResizeWindow(disp, ewin->win, ewin->x, ewin->y, ewin->w,
+ ewin->h);
+ EwinBorderCalcSizes(ewin);
+ if (ewin->client.shaped)
+ EShapeCombineShape(disp, ewin->win_container,
+ ShapeBounding, 0, 0, ewin->client.win,
+ ShapeBounding, ShapeSet);
+ EwinPropagateShapes(ewin);
+
+ k = ETimedLoopNext();
+ }
+ }
ewin->h = b;
ewin->y = d;
MoveResizeEwin(ewin, ewin->x, ewin->y, ewin->client.w, ewin->client.h);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/misc.c,v
retrieving revision 1.58.2.1
retrieving revision 1.58.2.2
diff -u -3 -r1.58.2.1 -r1.58.2.2
--- misc.c 5 Sep 2004 11:46:45 -0000 1.58.2.1
+++ misc.c 17 Sep 2004 16:13:43 -0000 1.58.2.2
@@ -21,6 +21,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include "E.h"
+#include <sys/time.h>
/* This is a general quicksort algorithm, using median-of-three strategy.
*
@@ -90,6 +91,61 @@
}
}
+/*
+ * Stuff to make loops for animated effects.
+ */
+struct timeval etl_tv_last;
+static int etl_speed;
+static int etl_k1, etl_k2, etl_ki;
+static double etl_k;
+
+void
+ETimedLoopInit(int k1, int k2, int speed)
+{
+ etl_k1 = k1;
+ etl_k2 = k2;
+ etl_speed = speed;
+
+ etl_k = 1.0 * etl_k1;
+ gettimeofday(&etl_tv_last, NULL);
+}
+
+int
+ETimedLoopNext(void)
+{
+ struct timeval tv;
+ int dsec, dusec;
+ double spd, tm;
+
+ etl_ki++; /* Increment iteration count */
+
+ /* Find elapsed time since loop start */
+ gettimeofday(&tv, NULL);
+ dsec = tv.tv_sec - etl_tv_last.tv_sec;
+ dusec = tv.tv_usec - etl_tv_last.tv_usec;
+ etl_tv_last.tv_sec = tv.tv_sec;
+ etl_tv_last.tv_usec = tv.tv_usec;
+ if (dusec < 0)
+ {
+ dsec--;
+ dusec += 1000000;
+ }
+ tm = (double)dsec + (((double)dusec) / 1000000);
+
+ spd = ((double)etl_speed * tm);
+ if (spd < 0.001) /* More or less arbitrary limit */
+ spd = 0.001;
+#if 0
+ Eprintf("SlideEwinTo k=%4f tm=%.3f spd=%f\n", etl_k, 1e3 * tm, spd);
+#endif
+ etl_k += spd;
+
+ return (int)etl_k;
+}
+
+/*
+ * Debug/error message printing.
+ */
void
Eprintf(const char *fmt, ...)
{
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/Attic/mod-trans.c,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -3 -r1.1.2.3 -r1.1.2.4
--- mod-trans.c 5 Sep 2004 11:46:46 -0000 1.1.2.3
+++ mod-trans.c 17 Sep 2004 16:13:43 -0000 1.1.2.4
@@ -51,7 +51,7 @@
if (tmp_st_hilight == ICLASS_ATTR_GLASS)
{
Conf.trans.hilight = tmp_st_hilight;
- Conf.trans.menu_item = ICLASS_ATTR_BG;
+ Conf.trans.menu_item = ICLASS_ATTR_GLASS;
}
else if (tmp_st_hilight == ICLASS_ATTR_BG)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/setup.c,v
retrieving revision 1.139.2.14
retrieving revision 1.139.2.15
diff -u -3 -r1.139.2.14 -r1.139.2.15
--- setup.c 17 Sep 2004 14:28:34 -0000 1.139.2.14
+++ setup.c 17 Sep 2004 16:13:43 -0000 1.139.2.15
@@ -23,6 +23,7 @@
#include "E.h"
#include <signal.h>
#include <X11/keysym.h>
+#include <signal.h>
void
MapUnmap(int start)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/slideout.c,v
retrieving revision 1.22.2.7
retrieving revision 1.22.2.8
diff -u -3 -r1.22.2.7 -r1.22.2.8
--- slideout.c 7 Sep 2004 20:06:56 -0000 1.22.2.7
+++ slideout.c 17 Sep 2004 16:13:43 -0000 1.22.2.8
@@ -21,7 +21,6 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include "E.h"
-#include <sys/time.h>
struct _slideout
{
@@ -41,42 +40,28 @@
SlideWindowSizeTo(Window win, int fx, int fy, int tx, int ty, int fw, int fh,
int tw, int th, int speed)
{
- int k, spd, x, y, min, w, h;
- struct timeval timev1, timev2;
- int dsec, dusec;
- double tm;
+ int k, x, y, w, h;
EDBUG(5, "SlideWindowTo");
- spd = 16;
- min = 2;
-
ecore_x_grab();
- for (k = 0; k <= 1024; k += spd)
+ ETimedLoopInit(0, 1024, speed);
+ for (k = 0; k <= 1024;)
{
- gettimeofday(&timev1, NULL);
x = ((fx * (1024 - k)) + (tx * k)) >> 10;
y = ((fy * (1024 - k)) + (ty * k)) >> 10;
w = ((fw * (1024 - k)) + (tw * k)) >> 10;
h = ((fh * (1024 - k)) + (th * k)) >> 10;
EMoveResizeWindow(disp, win, x, y, w, h);
ecore_x_sync();
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
+
+ k = ETimedLoopNext();
}
EMoveResizeWindow(disp, win, tx, ty, tw, th);
+
ecore_x_ungrab();
+
EDBUG_RETURN_;
}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/startup.c,v
retrieving revision 1.44.2.6
retrieving revision 1.44.2.7
diff -u -3 -r1.44.2.6 -r1.44.2.7
--- startup.c 7 Sep 2004 20:06:57 -0000 1.44.2.6
+++ startup.c 17 Sep 2004 16:13:43 -0000 1.44.2.7
@@ -21,7 +21,6 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include "E.h"
-#include <sys/time.h>
#include <time.h>
Window init_win1 = 0;
@@ -96,23 +95,15 @@
}
else
{
- int k, spd, x, y, xOffset, yOffset, ty, fy;
- int min, speed;
-
- /* we have this many so that we save on lines o code - eAndroid */
- struct timeval timev1, timev2;
- int dsec, dusec;
- double tm;
+ int k, x, y, xOffset, yOffset, ty, fy;
if ((!ic) || (!bg))
EDBUG_RETURN_;
- speed = Conf.slidespeedcleanup / 2;
- spd = 16;
- min = 2;
fy = 0;
- for (k = 0; k <= 1024; k += spd)
+ ETimedLoopInit(0, 1024, Conf.slidespeedcleanup / 2);
+ for (k = 0; k <= 1024;)
{
if (bg_sideways)
{ /* so we can have two different slide methods */
@@ -130,22 +121,12 @@
yOffset = ((fy * (1024 - k)) + (ty * k)) >> 10;
y = ty;
}
- gettimeofday(&timev1, NULL);
+
EMoveWindow(disp, w1, x + xOffset, -y - yOffset);
EMoveWindow(disp, w2, -x - xOffset, y + yOffset);
ecore_x_sync();
- gettimeofday(&timev2, NULL);
- dsec = timev2.tv_sec - timev1.tv_sec;
- dusec = timev2.tv_usec - timev1.tv_usec;
- if (dusec < 0)
- {
- dsec--;
- dusec += 1000000;
- }
- tm = (double)dsec + (((double)dusec) / 1000000);
- spd = (int)((double)speed * tm);
- if (spd < min)
- spd = min;
+
+ k = ETimedLoopNext();
}
EDestroyWindow(disp, w1);
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs