|
@ -0,0 +1 @@
|
||||||
|
#undef HAVE_GL
|
|
@ -6,16 +6,75 @@ AM_PROG_CC_STDC
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
AM_ENABLE_SHARED
|
AM_ENABLE_SHARED
|
||||||
AM_PROG_LIBTOOL
|
AM_PROG_LIBTOOL
|
||||||
AM_WITH_DMALLOC
|
|
||||||
if test X"$enable_shared" = Xyes; then
|
if test X"$enable_shared" = Xyes; then
|
||||||
DLLDFLAGS=-export-dynamic
|
DLLDFLAGS=-export-dynamic
|
||||||
AC_SUBST(DLLDFLAGS)
|
AC_SUBST(DLLDFLAGS)
|
||||||
fi
|
fi
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
AC_CHECK_LIB(Imlib2, imlib_context_set_image, IMLIB2=yes ,[
|
|
||||||
|
#### Find out about X
|
||||||
|
AC_PATH_X
|
||||||
|
AC_PATH_XTRA
|
||||||
|
|
||||||
|
if test "x$x_includes" = "x"; then
|
||||||
|
x_includes="/usr/include"
|
||||||
|
fi
|
||||||
|
|
||||||
|
x_cflags="$X_CFLAGS"
|
||||||
|
x_ldflags="$X_LDFLAGS"
|
||||||
|
x_libs="$X_LIBS $X_EXTRA_LIBS"
|
||||||
|
|
||||||
|
AC_CHECK_LIB(X11, XOpenDisplay, x_libs="$x_libs",
|
||||||
|
AC_MSG_ERROR([ERROR: libX11 not found.]); exit,
|
||||||
|
$X_LDFLAGS $X_EXTRA_LIBS $X_LIBS)
|
||||||
|
AC_CHECK_LIB(Xext, XShmAttach, x_libs="-lXext $x_libs",
|
||||||
|
AC_CHECK_LIB(XextSam, XShmAttach,
|
||||||
|
x_libs="-lXextSam -lXext $x_libs",
|
||||||
|
AC_MSG_ERROR([ERROR: XShm not found.]); exit,
|
||||||
|
$x_libs),
|
||||||
|
$x_libs)
|
||||||
|
AC_CHECK_LIB(Xext, XShapeCombineMask, x_libs="-lXext $x_libs",
|
||||||
|
AC_MSG_ERROR([ERROR: XShape not found.]); exit,
|
||||||
|
$x_libs)
|
||||||
|
|
||||||
|
AC_SUBST(x_cflags)
|
||||||
|
AC_SUBST(x_includes)
|
||||||
|
AC_SUBST(x_ldflags)
|
||||||
|
AC_SUBST(x_libs)
|
||||||
|
|
||||||
|
#### Find out about E db
|
||||||
|
AC_CHECK_HEADER(Edb.h,
|
||||||
|
AC_CHECK_LIB(edb, e_db_open, ,[
|
||||||
|
echo ""
|
||||||
|
echo "ERROR: E db needed"
|
||||||
|
echo ""
|
||||||
|
AC_MSG_ERROR([Fatal Error: no E db detected.]); exit], -L/usr/local/lib -ldb)
|
||||||
|
)
|
||||||
|
|
||||||
|
#### Find out about Imlib2
|
||||||
|
AC_CHECK_HEADER(Imlib2.h,
|
||||||
|
AC_CHECK_LIB(Imlib2, imlib_context_set_image, ,[
|
||||||
echo ""
|
echo ""
|
||||||
echo "ERROR: Imlib 2 needed"
|
echo "ERROR: Imlib 2 needed"
|
||||||
echo ""
|
echo ""
|
||||||
AC_MSG_ERROR([Fatal Error: no Imlib2 detected.])], -L/usr/X11R6/lib -L/usr/local/lib -lm -ldl -lttf -lX11 -lXext)
|
AC_MSG_ERROR([Fatal Error: no Imlib2 detected.]); exit], -L/usr/X11R6/lib -L/usr/local/lib -lm -ldl -lttf -lX11 -lXext)
|
||||||
|
)
|
||||||
|
|
||||||
|
gl_includes=""
|
||||||
|
#### Find out about OpenGL
|
||||||
|
AC_CHECK_HEADER(GL/gl.h,
|
||||||
|
gl_includes="-I/usr/include -I/usr/local/include"
|
||||||
|
AC_CHECK_LIB(GL, glBindTexture, AC_DEFINE(HAVE_GL) ,[
|
||||||
|
echo "... no GL found"
|
||||||
|
], -L/usr/local/lib -lGL $X_LDFLAGS $X_EXTRA_LIBS $X_LIBS)
|
||||||
|
)
|
||||||
|
AC_CHECK_HEADER($x_includes"/GL/gl.h",
|
||||||
|
gl_includes="-I/usr/include -I/usr/local/include -I/usr/X11R6/include/"
|
||||||
|
AC_CHECK_LIB(GL, glBindTexture, AC_DEFINE(HAVE_GL) ,[
|
||||||
|
echo "... no GL found"
|
||||||
|
], -L/usr/local/lib -lGL $X_LDFLAGS $X_EXTRA_LIBS $X_LIBS)
|
||||||
|
)
|
||||||
|
AC_SUBST(gl_includes)
|
||||||
|
|
||||||
AC_OUTPUT(Makefile src/Makefile test/Makefile)
|
AC_OUTPUT(Makefile src/Makefile test/Makefile)
|
||||||
|
|
|
@ -5,9 +5,22 @@ AUTOMAKE_OPTIONS = 1.4 foreign
|
||||||
# A list of all the files in the current directory which can be regenerated
|
# A list of all the files in the current directory which can be regenerated
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
LDFLAGS = -L/usr/X11R6/lib -L/usr/local/lib
|
LIBS_X = @x_ldflags@ @x_libs@
|
||||||
INCLUDES = -I/usr/X11R6/include -I/usr/local/include \
|
LIBS_IMLIB2 = -lImlib2 -lttf -ldl -lm
|
||||||
$(X_CFLAGS) -I$(includedir) \
|
LIBS_DB = -ledb
|
||||||
|
LIBS_GL = -lGL
|
||||||
|
LIBS_EXTRA = -L/usr/local/lib
|
||||||
|
|
||||||
|
CFLAGS_X = @x_cflags@
|
||||||
|
CFLAGS_IMLIB2 =
|
||||||
|
CFLAGS_DB =
|
||||||
|
CFLAGS_GL = @gl_includes@
|
||||||
|
CFLAGS_EXTRA = -I$(includedir) -I$(top_srcdir) -I/usr/local/include
|
||||||
|
|
||||||
|
LIBS_ALL = $(LIBS_X) $(LIBS_IMLIB2) $(LIBS_DB) $(LIBS_GL) $(LIBS_EXTRA)
|
||||||
|
CFLGAS_ALL = $(CFLAGS_X) $(CFLAGS_IMLIB2) $(CFLAGS_DB) $(CFLAGS_GL) $(CFLAGS_EXTRA)
|
||||||
|
|
||||||
|
INCLUDES = $(CFLGAS_ALL) \
|
||||||
-DLIBDIR=\"$(libdir)\" \
|
-DLIBDIR=\"$(libdir)\" \
|
||||||
-DBINDIR=\"$(bindir)\" \
|
-DBINDIR=\"$(bindir)\" \
|
||||||
-DDATADIR=\"$(datadir)\"
|
-DDATADIR=\"$(datadir)\"
|
||||||
|
@ -34,6 +47,6 @@ evas_text.c \
|
||||||
evas_gl_routines.h \
|
evas_gl_routines.h \
|
||||||
Evas.h
|
Evas.h
|
||||||
|
|
||||||
libevas_la_LIBADD = -lX11 -lXext -lttf -ldl -lm -lImlib2 -ldb -lGL $(LDFLAGS)
|
libevas_la_LIBADD = $(LIBS_ALL)
|
||||||
libevas_la_DEPENDENCIES = $(top_builddir)/config.h
|
libevas_la_DEPENDENCIES = $(top_builddir)/config.h
|
||||||
libevas_la_LDFLAGS = -version-info 0:1:0
|
libevas_la_LDFLAGS = -version-info 0:1:0
|
||||||
|
|
|
@ -139,6 +139,7 @@ void __evas_calc_tex_and_poly(Evas_GL_Image *im, int x, double *x1, double *x2,
|
||||||
*txx = im->texture.max_size - 2;
|
*txx = im->texture.max_size - 2;
|
||||||
*dtx = (double)*tx / (im->texture.max_size);
|
*dtx = (double)*tx / (im->texture.max_size);
|
||||||
*dtxx = (double)*txx / (im->texture.max_size);
|
*dtxx = (double)*txx / (im->texture.max_size);
|
||||||
|
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
|
||||||
}
|
}
|
||||||
else if (x < (tw - 1))
|
else if (x < (tw - 1))
|
||||||
{
|
{
|
||||||
|
@ -181,6 +182,7 @@ void __evas_gl_set_conect_for_dest(Evas_GL_Image *im, Display *disp, Window w,
|
||||||
im->buffer.dest = w;
|
im->buffer.dest = w;
|
||||||
glXMakeCurrent(disp, w, im->context);
|
glXMakeCurrent(disp, w, im->context);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
glEnable(GL_DITHER);
|
||||||
glShadeModel(GL_FLAT);
|
glShadeModel(GL_FLAT);
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
|
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
|
||||||
|
@ -242,7 +244,7 @@ void __evas_gl_render_to_window(Evas_GL_Image *im,
|
||||||
x2 = dx + ((x2 * dw) / (double)im->w);
|
x2 = dx + ((x2 * dw) / (double)im->w);
|
||||||
y2 = dy + ((y2 * dh) / (double)im->h);
|
y2 = dy + ((y2 * dh) / (double)im->h);
|
||||||
glBindTexture(GL_TEXTURE_2D, im->texture.textures[i]);
|
glBindTexture(GL_TEXTURE_2D, im->texture.textures[i]);
|
||||||
glBegin(GL_POLYGON);
|
glBegin(GL_QUADS);
|
||||||
glTexCoord2d(dtx, dty); glVertex2d(x1, y1);
|
glTexCoord2d(dtx, dty); glVertex2d(x1, y1);
|
||||||
glTexCoord2d(dtxx, dty); glVertex2d(x2, y1);
|
glTexCoord2d(dtxx, dty); glVertex2d(x2, y1);
|
||||||
glTexCoord2d(dtxx, dtyy); glVertex2d(x2, y2);
|
glTexCoord2d(dtxx, dtyy); glVertex2d(x2, y2);
|
||||||
|
|
|
@ -1,5 +1,19 @@
|
||||||
INCLUDES = \
|
LIBS_X = @x_ldflags@ @x_libs@
|
||||||
-I$(top_srcdir)/src -I/usr/local/include
|
LIBS_IMLIB2 = -lImlib2 -lttf -ldl -lm
|
||||||
|
LIBS_DB = -ledb
|
||||||
|
LIBS_GL = -lGL
|
||||||
|
LIBS_EXTRA = -L/usr/local/lib
|
||||||
|
|
||||||
|
CFLAGS_X = @x_cflags@
|
||||||
|
CFLAGS_IMLIB2 =
|
||||||
|
CFLAGS_DB =
|
||||||
|
CFLAGS_GL = @gl_includes@
|
||||||
|
CFLAGS_EXTRA = -I$(includedir) -I$(top_srcdir) -I$(top_srcdir)/src -I/usr/local/include
|
||||||
|
|
||||||
|
LIBS_ALL = $(LIBS_X) $(LIBS_IMLIB2) $(LIBS_DB) $(LIBS_GL) $(LIBS_EXTRA)
|
||||||
|
CFLGAS_ALL = $(CFLAGS_X) $(CFLAGS_IMLIB2) $(CFLAGS_DB) $(CFLAGS_GL) $(CFLAGS_EXTRA)
|
||||||
|
|
||||||
|
INCLUDES = $(CFLGAS_ALL)
|
||||||
|
|
||||||
noinst_PROGRAMS = evas_test
|
noinst_PROGRAMS = evas_test
|
||||||
|
|
||||||
|
@ -9,4 +23,4 @@ evas_test_SOURCES = evas_test.c
|
||||||
|
|
||||||
evas_test_LDFLAGS = -static
|
evas_test_LDFLAGS = -static
|
||||||
|
|
||||||
evas_test_LDADD = $(top_builddir)/src/libevas.la -lImlib2 -lttf -lX11 -lXext -ldl -ldb -lGL -lm
|
evas_test_LDADD = $(top_builddir)/src/libevas.la
|
||||||
|
|
|
@ -43,6 +43,7 @@ main(int argc, char **argv)
|
||||||
&att);
|
&att);
|
||||||
XMapWindow(d, win);
|
XMapWindow(d, win);
|
||||||
}
|
}
|
||||||
|
if (__evas_gl_capable(d))
|
||||||
{
|
{
|
||||||
int a = 0;
|
int a = 0;
|
||||||
double t1, t2;
|
double t1, t2;
|
||||||
|
@ -72,7 +73,7 @@ main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int xx, yy;
|
int xx, yy;
|
||||||
|
|
||||||
j = k % 4;
|
j = 3 - (k % 4);
|
||||||
xx = (((k + 1) * a) / 2) % win_w;
|
xx = (((k + 1) * a) / 2) % win_w;
|
||||||
yy = 0;
|
yy = 0;
|
||||||
if (k == 2)
|
if (k == 2)
|
||||||
|
@ -102,4 +103,8 @@ main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Your X server is unable to do GLX - no go buddy.\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 457 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 624 KiB |
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 376 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 642 KiB |