more optimizations in render function

SVN revision: 4237
This commit is contained in:
Carsten Haitzler 2001-02-17 08:10:30 +00:00
parent 72981477de
commit f1d5f4f049
2 changed files with 105 additions and 11 deletions

View File

@ -25,6 +25,19 @@ AC_ARG_WITH(ttf,
[ --with-ttf=DIR use DIR where freetype was installed (eg /opt/freetype)], [ --with-ttf=DIR use DIR where freetype was installed (eg /opt/freetype)],
[CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib" [CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib"
LIBS_TTF="-L"$withval"/lib"]) LIBS_TTF="-L"$withval"/lib"])
gl=yes
AC_ARG_ENABLE(gl,
[ --disable-gl disable building with opengl support],
[
if test x$enableval = xyes; then
gl=yes
else
gl=no
fi
]
)
AC_ARG_WITH(gl, AC_ARG_WITH(gl,
[ --with-gl=DIR use DIR where opengl was installed (eg /usr/X11R6)], [ --with-gl=DIR use DIR where opengl was installed (eg /usr/X11R6)],
[CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib" [CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib"
@ -124,6 +137,7 @@ fi
ttf_includes="$CPPFLAGS" ttf_includes="$CPPFLAGS"
ttf_libs="$LIBS_TTF -lm -lttf" ttf_libs="$LIBS_TTF -lm -lttf"
if test x$gl = xyes ; then
gl_includes="" gl_includes=""
#### Find out about OpenGL #### Find out about OpenGL
PREV_CPPFLAGS=$CPPFLAGS PREV_CPPFLAGS=$CPPFLAGS
@ -173,6 +187,7 @@ else
echo "Please read the config.log file for more information as to why this library" echo "Please read the config.log file for more information as to why this library"
echo "was not found." echo "was not found."
fi fi
fi
CPPFLAGS=$PREV_CPPFLAGS CPPFLAGS=$PREV_CPPFLAGS
imlib2_includes=`$IMLIB2_CONFIG --cflags` imlib2_includes=`$IMLIB2_CONFIG --cflags`

View File

@ -390,6 +390,9 @@ evas_render_updates(Evas e)
(o->clip.changed))) (o->clip.changed)))
) )
{ {
Evas_Object_Rectangle oo;
oo = o;
if (((o->current.visible != o->previous.visible) || if (((o->current.visible != o->previous.visible) ||
((o->current.visible) && ((o->current.visible) &&
(o->current.zoomscale != o->previous.zoomscale) || (o->current.zoomscale != o->previous.zoomscale) ||
@ -399,9 +402,6 @@ evas_render_updates(Evas e)
if ((!prop_change) && if ((!prop_change) &&
(o->type == OBJECT_RECTANGLE)) (o->type == OBJECT_RECTANGLE))
{ {
Evas_Object_Rectangle oo;
oo = o;
if ((oo->current.r != oo->previous.r) || if ((oo->current.r != oo->previous.r) ||
(oo->current.g != oo->previous.g) || (oo->current.g != oo->previous.g) ||
(oo->current.b != oo->previous.b) || (oo->current.b != oo->previous.b) ||
@ -409,8 +409,22 @@ evas_render_updates(Evas e)
) )
prop_change = 1; prop_change = 1;
} }
real_change = 1; if ((o->type == OBJECT_RECTANGLE) &&
clip_change = o->clip.changed; (oo->current.r == oo->previous.r) &&
(oo->current.g == oo->previous.g) &&
(oo->current.b == oo->previous.b) &&
(oo->current.a == oo->previous.a) &&
(oo->current.a == 0)
)
{
real_change = 0;
prop_change = 0;
}
else
{
real_change = 1;
clip_change = o->clip.changed;
}
} }
o->current.stacking = 0; o->current.stacking = 0;
@ -440,7 +454,20 @@ evas_render_updates(Evas e)
(oo->current.color.b != oo->previous.color.b) || (oo->current.color.b != oo->previous.color.b) ||
(oo->current.color.a != oo->previous.color.a) (oo->current.color.a != oo->previous.color.a)
) )
real_change = 1; {
if ((oo->current.color.r == oo->previous.color.r) &&
(oo->current.color.g == oo->previous.color.g) &&
(oo->current.color.b == oo->previous.color.b) &&
(oo->current.color.a == oo->previous.color.a) &&
(oo->current.color.a == 0)
)
{
real_change = 0;
prop_change = 0;
}
else
real_change = 1;
}
oo->current.new_data = 0; oo->current.new_data = 0;
oo->previous = oo->current; oo->previous = oo->current;
} }
@ -458,7 +485,20 @@ evas_render_updates(Evas e)
(oo->current.b != oo->previous.b) || (oo->current.b != oo->previous.b) ||
(oo->current.a != oo->previous.a) (oo->current.a != oo->previous.a)
) )
real_change = 1; {
if ((oo->current.r == oo->previous.r) &&
(oo->current.g == oo->previous.g) &&
(oo->current.b == oo->previous.b) &&
(oo->current.a == oo->previous.a) &&
(oo->current.a == 0)
)
{
real_change = 0;
prop_change = 0;
}
else
real_change = 1;
}
oo->previous = oo->current; oo->previous = oo->current;
} }
break; break;
@ -473,8 +513,21 @@ evas_render_updates(Evas e)
(oo->current.a != oo->previous.a) (oo->current.a != oo->previous.a)
) )
{ {
real_change = 1; if ((oo->current.r == oo->previous.r) &&
prop_change = 1; (oo->current.g == oo->previous.g) &&
(oo->current.b == oo->previous.b) &&
(oo->current.a == oo->previous.a) &&
(oo->current.a == 0)
)
{
real_change = 0;
prop_change = 0;
}
else
{
real_change = 1;
prop_change = 1;
}
} }
oo->previous = oo->current; oo->previous = oo->current;
} }
@ -493,7 +546,20 @@ evas_render_updates(Evas e)
(oo->current.b != oo->previous.b) || (oo->current.b != oo->previous.b) ||
(oo->current.a != oo->previous.a) (oo->current.a != oo->previous.a)
) )
real_change = 1; {
if ((oo->current.r == oo->previous.r) &&
(oo->current.g == oo->previous.g) &&
(oo->current.b == oo->previous.b) &&
(oo->current.a == oo->previous.a) &&
(oo->current.a == 0)
)
{
real_change = 0;
prop_change = 0;
}
else
real_change = 1;
}
oo->previous = oo->current; oo->previous = oo->current;
} }
break; break;
@ -519,7 +585,20 @@ evas_render_updates(Evas e)
(oo->current.g != oo->previous.g) || (oo->current.g != oo->previous.g) ||
(oo->current.b != oo->previous.b) || (oo->current.b != oo->previous.b) ||
(oo->current.a != oo->previous.a)) (oo->current.a != oo->previous.a))
real_change = 1; {
if ((oo->current.r == oo->previous.r) &&
(oo->current.g == oo->previous.g) &&
(oo->current.b == oo->previous.b) &&
(oo->current.a == oo->previous.a) &&
(oo->current.a == 0)
)
{
real_change = 0;
prop_change = 0;
}
else
real_change = 1;
}
oo->previous = oo->current; oo->previous = oo->current;
} }
break; break;