| @@ -1,6 +1,6 @@ | |||||
| # $Id$ | # $Id$ | ||||
| SUBDIRS = kernel cucul caca src test tools doc | |||||
| SUBDIRS = kernel cucul caca src test tools cpp doc | |||||
| DIST_SUBDIRS = $(SUBDIRS) autotools debian msvc | DIST_SUBDIRS = $(SUBDIRS) autotools debian msvc | ||||
| EXTRA_DIST = NOTES COPYING.GPL COPYING.LGPL bootstrap build-dos build-kernel build-win32 caca-config.in libcaca.spec | EXTRA_DIST = NOTES COPYING.GPL COPYING.LGPL bootstrap build-dos build-kernel build-win32 caca-config.in libcaca.spec | ||||
| @@ -11,10 +11,13 @@ AM_CONFIG_HEADER(config.h) | |||||
| AM_PROG_CC_C_O | AM_PROG_CC_C_O | ||||
| AC_PROG_CPP | AC_PROG_CPP | ||||
| AC_PROG_CXX | |||||
| AM_PROG_AS | AM_PROG_AS | ||||
| AC_LIBTOOL_WIN32_DLL | AC_LIBTOOL_WIN32_DLL | ||||
| AM_PROG_LIBTOOL | AM_PROG_LIBTOOL | ||||
| AC_LIBTOOL_CXX | |||||
| AC_C_CONST | AC_C_CONST | ||||
| AC_C_INLINE | AC_C_INLINE | ||||
| @@ -23,9 +26,17 @@ AC_TYPE_SIGNAL | |||||
| dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right | dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right | ||||
| dnl now otherwise it might be set in an obscure if statement. Same thing for | dnl now otherwise it might be set in an obscure if statement. Same thing for | ||||
| dnl PKG_PROG_PKG_CONFIG which needs to be called first. | dnl PKG_PROG_PKG_CONFIG which needs to be called first. | ||||
| AC_EGREP_CPP(foo, foo) | |||||
| AC_EGREP_CPP(yes, foo) | |||||
| PKG_PROG_PKG_CONFIG() | PKG_PROG_PKG_CONFIG() | ||||
| dnl Check the C++ compiler and preprocessor. | |||||
| AC_PROG_CXX | |||||
| AC_PROG_CXXCPP | |||||
| dnl Set the test language as C++ | |||||
| AC_LANG([C++]) | |||||
| dnl output driver features | dnl output driver features | ||||
| AC_ARG_ENABLE(slang, | AC_ARG_ENABLE(slang, | ||||
| [ --enable-slang slang graphics support (autodetected)]) | [ --enable-slang slang graphics support (autodetected)]) | ||||
| @@ -44,6 +55,9 @@ AC_ARG_ENABLE(network, | |||||
| AC_ARG_ENABLE(vga, | AC_ARG_ENABLE(vga, | ||||
| [ --enable-vga VGA support (default disabled)]) | [ --enable-vga VGA support (default disabled)]) | ||||
| AC_ARG_ENABLE(cpp, | |||||
| [ --enable-cpp C++ bindings (autodetected)]) | |||||
| dnl example programs features | dnl example programs features | ||||
| AC_ARG_ENABLE(imlib2, | AC_ARG_ENABLE(imlib2, | ||||
| [ --enable-imlib2 Imlib2 graphics support (default enabled)]) | [ --enable-imlib2 Imlib2 graphics support (default enabled)]) | ||||
| @@ -76,6 +90,13 @@ AC_TRY_COMPILE([],[asm("fldln2; fldln2; fxch; fyl2x");], | |||||
| AC_CHECK_LIB(m, sin, MATH_LIBS="${MATH_LIBS} -lm") | AC_CHECK_LIB(m, sin, MATH_LIBS="${MATH_LIBS} -lm") | ||||
| if test "${enable_cpp}" != "no"; then | |||||
| ac_cv_my_have_cpp="yes" | |||||
| AC_DEFINE(USE_CPP, 1, | |||||
| Define to 1 to enable C++ bindigs) | |||||
| fi | |||||
| CACA_DRIVERS="" | CACA_DRIVERS="" | ||||
| if test "${enable_conio}" != "no"; then | if test "${enable_conio}" != "no"; then | ||||
| @@ -221,9 +242,14 @@ else | |||||
| AC_MSG_RESULT([${CACA_DRIVERS}]) | AC_MSG_RESULT([${CACA_DRIVERS}]) | ||||
| fi | fi | ||||
| AC_SUBST(MATH_LIBS) | AC_SUBST(MATH_LIBS) | ||||
| AC_SUBST(CACA_LIBS) | AC_SUBST(CACA_LIBS) | ||||
| AC_SUBST(CUCUL_LIBS) | AC_SUBST(CUCUL_LIBS) | ||||
| AC_SUBST(CUCUL++_LIBS) | |||||
| # Optimizations | # Optimizations | ||||
| CFLAGS="${CFLAGS} -g -O2 -fno-strength-reduce -fomit-frame-pointer" | CFLAGS="${CFLAGS} -g -O2 -fno-strength-reduce -fomit-frame-pointer" | ||||
| @@ -301,6 +327,7 @@ AC_CONFIG_FILES([ | |||||
| src/Makefile | src/Makefile | ||||
| test/Makefile | test/Makefile | ||||
| tools/Makefile | tools/Makefile | ||||
| cpp/Makefile | |||||
| doc/Makefile | doc/Makefile | ||||
| autotools/Makefile | autotools/Makefile | ||||
| debian/Makefile | debian/Makefile | ||||
| @@ -0,0 +1,32 @@ | |||||
| # $Id: Makefile.am 552 2006-04-13 16:10:16Z jylam $ | |||||
| SUFFIXES = .cpp | |||||
| AM_CXXFLAGS = | |||||
| include_HEADERS = cucul++.h caca++.h | |||||
| noinst_LIBRARIES = libcucul++.a libcaca++.a | |||||
| libcucul___a_SOURCES = \ | |||||
| cucul++.cpp \ | |||||
| cucul++.h \ | |||||
| $(NULL) | |||||
| libcucul___la_LDFLAGS = -no-undefined | |||||
| libcucul___la_LIBADD = | |||||
| libcaca___a_SOURCES = \ | |||||
| caca++.cpp \ | |||||
| caca++.h \ | |||||
| $(NULL) | |||||
| libcaca___la_LDFLAGS = -no-undefined | |||||
| libcaca___la_LIBADD = | |||||
| noinst_PROGRAMS = cpptest | |||||
| cpptest_SOURCES = cpptest.cpp | |||||
| cpptest_LDADD = ../caca/libcaca.la ../cucul/libcucul.la libcucul++.a libcaca++.a @CACA_LIBS@ | |||||
| @@ -0,0 +1,541 @@ | |||||
| # Makefile.in generated by automake 1.9.6 from Makefile.am. | |||||
| # @configure_input@ | |||||
| # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | |||||
| # 2003, 2004, 2005 Free Software Foundation, Inc. | |||||
| # This Makefile.in is free software; the Free Software Foundation | |||||
| # gives unlimited permission to copy and/or distribute it, | |||||
| # with or without modifications, as long as this notice is preserved. | |||||
| # This program is distributed in the hope that it will be useful, | |||||
| # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | |||||
| # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | |||||
| # PARTICULAR PURPOSE. | |||||
| @SET_MAKE@ | |||||
| # $Id: Makefile.am 552 2006-04-13 16:10:16Z jylam $ | |||||
| srcdir = @srcdir@ | |||||
| top_srcdir = @top_srcdir@ | |||||
| VPATH = @srcdir@ | |||||
| pkgdatadir = $(datadir)/@PACKAGE@ | |||||
| pkglibdir = $(libdir)/@PACKAGE@ | |||||
| pkgincludedir = $(includedir)/@PACKAGE@ | |||||
| top_builddir = .. | |||||
| am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | |||||
| INSTALL = @INSTALL@ | |||||
| install_sh_DATA = $(install_sh) -c -m 644 | |||||
| install_sh_PROGRAM = $(install_sh) -c | |||||
| install_sh_SCRIPT = $(install_sh) -c | |||||
| INSTALL_HEADER = $(INSTALL_DATA) | |||||
| transform = $(program_transform_name) | |||||
| NORMAL_INSTALL = : | |||||
| PRE_INSTALL = : | |||||
| POST_INSTALL = : | |||||
| NORMAL_UNINSTALL = : | |||||
| PRE_UNINSTALL = : | |||||
| POST_UNINSTALL = : | |||||
| build_triplet = @build@ | |||||
| host_triplet = @host@ | |||||
| target_triplet = @target@ | |||||
| noinst_PROGRAMS = cpptest$(EXEEXT) | |||||
| subdir = cpp | |||||
| DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \ | |||||
| $(srcdir)/Makefile.in | |||||
| ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | |||||
| am__aclocal_m4_deps = $(top_srcdir)/configure.ac | |||||
| am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | |||||
| $(ACLOCAL_M4) | |||||
| mkinstalldirs = $(install_sh) -d | |||||
| CONFIG_HEADER = $(top_builddir)/config.h | |||||
| CONFIG_CLEAN_FILES = | |||||
| LIBRARIES = $(noinst_LIBRARIES) | |||||
| ARFLAGS = cru | |||||
| libcaca___a_AR = $(AR) $(ARFLAGS) | |||||
| libcaca___a_LIBADD = | |||||
| am_libcaca___a_OBJECTS = caca++.$(OBJEXT) | |||||
| libcaca___a_OBJECTS = $(am_libcaca___a_OBJECTS) | |||||
| libcucul___a_AR = $(AR) $(ARFLAGS) | |||||
| libcucul___a_LIBADD = | |||||
| am_libcucul___a_OBJECTS = cucul++.$(OBJEXT) | |||||
| libcucul___a_OBJECTS = $(am_libcucul___a_OBJECTS) | |||||
| PROGRAMS = $(noinst_PROGRAMS) | |||||
| am_cpptest_OBJECTS = cpptest.$(OBJEXT) | |||||
| cpptest_OBJECTS = $(am_cpptest_OBJECTS) | |||||
| cpptest_DEPENDENCIES = ../caca/libcaca.la ../cucul/libcucul.la \ | |||||
| libcucul++.a libcaca++.a | |||||
| DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) | |||||
| depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp | |||||
| am__depfiles_maybe = depfiles | |||||
| CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ | |||||
| $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) | |||||
| LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ | |||||
| $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ | |||||
| $(AM_CXXFLAGS) $(CXXFLAGS) | |||||
| CXXLD = $(CXX) | |||||
| CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ | |||||
| $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ | |||||
| COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ | |||||
| $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) | |||||
| LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ | |||||
| $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ | |||||
| $(AM_CFLAGS) $(CFLAGS) | |||||
| CCLD = $(CC) | |||||
| LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | |||||
| $(AM_LDFLAGS) $(LDFLAGS) -o $@ | |||||
| SOURCES = $(libcaca___a_SOURCES) $(libcucul___a_SOURCES) \ | |||||
| $(cpptest_SOURCES) | |||||
| DIST_SOURCES = $(libcaca___a_SOURCES) $(libcucul___a_SOURCES) \ | |||||
| $(cpptest_SOURCES) | |||||
| am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; | |||||
| am__vpath_adj = case $$p in \ | |||||
| $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ | |||||
| *) f=$$p;; \ | |||||
| esac; | |||||
| am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; | |||||
| am__installdirs = "$(DESTDIR)$(includedir)" | |||||
| includeHEADERS_INSTALL = $(INSTALL_HEADER) | |||||
| HEADERS = $(include_HEADERS) | |||||
| ETAGS = etags | |||||
| CTAGS = ctags | |||||
| DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | |||||
| ACLOCAL = @ACLOCAL@ | |||||
| AMDEP_FALSE = @AMDEP_FALSE@ | |||||
| AMDEP_TRUE = @AMDEP_TRUE@ | |||||
| AMTAR = @AMTAR@ | |||||
| AR = @AR@ | |||||
| AS = @AS@ | |||||
| AUTOCONF = @AUTOCONF@ | |||||
| AUTOHEADER = @AUTOHEADER@ | |||||
| AUTOMAKE = @AUTOMAKE@ | |||||
| AWK = @AWK@ | |||||
| BUILD_DOCUMENTATION_FALSE = @BUILD_DOCUMENTATION_FALSE@ | |||||
| BUILD_DOCUMENTATION_TRUE = @BUILD_DOCUMENTATION_TRUE@ | |||||
| CACA_LIBS = @CACA_LIBS@ | |||||
| CC = @CC@ | |||||
| CCAS = @CCAS@ | |||||
| CCASFLAGS = @CCASFLAGS@ | |||||
| CCDEPMODE = @CCDEPMODE@ | |||||
| CFLAGS = @CFLAGS@ | |||||
| CPP = @CPP@ | |||||
| CPPFLAGS = @CPPFLAGS@ | |||||
| CUCUL_LIBS = @CUCUL_LIBS@ | |||||
| CXX = @CXX@ | |||||
| CXXCPP = @CXXCPP@ | |||||
| CXXDEPMODE = @CXXDEPMODE@ | |||||
| CXXFLAGS = @CXXFLAGS@ | |||||
| CYGPATH_W = @CYGPATH_W@ | |||||
| DEFS = @DEFS@ | |||||
| DEPDIR = @DEPDIR@ | |||||
| DLLTOOL = @DLLTOOL@ | |||||
| DOXYGEN = @DOXYGEN@ | |||||
| DVIPS = @DVIPS@ | |||||
| ECHO = @ECHO@ | |||||
| ECHO_C = @ECHO_C@ | |||||
| ECHO_N = @ECHO_N@ | |||||
| ECHO_T = @ECHO_T@ | |||||
| EGREP = @EGREP@ | |||||
| EXEEXT = @EXEEXT@ | |||||
| F77 = @F77@ | |||||
| FFLAGS = @FFLAGS@ | |||||
| IMLIB2_CONFIG = @IMLIB2_CONFIG@ | |||||
| INSTALL_DATA = @INSTALL_DATA@ | |||||
| INSTALL_PROGRAM = @INSTALL_PROGRAM@ | |||||
| INSTALL_SCRIPT = @INSTALL_SCRIPT@ | |||||
| INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | |||||
| LATEX = @LATEX@ | |||||
| LDFLAGS = @LDFLAGS@ | |||||
| LIBOBJS = @LIBOBJS@ | |||||
| LIBS = @LIBS@ | |||||
| LIBTOOL = @LIBTOOL@ | |||||
| LN_S = @LN_S@ | |||||
| LTLIBOBJS = @LTLIBOBJS@ | |||||
| MAKEINFO = @MAKEINFO@ | |||||
| MATH_LIBS = @MATH_LIBS@ | |||||
| NEED_PIC_FALSE = @NEED_PIC_FALSE@ | |||||
| NEED_PIC_TRUE = @NEED_PIC_TRUE@ | |||||
| OBJDUMP = @OBJDUMP@ | |||||
| OBJEXT = @OBJEXT@ | |||||
| PACKAGE = @PACKAGE@ | |||||
| PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | |||||
| PACKAGE_NAME = @PACKAGE_NAME@ | |||||
| PACKAGE_STRING = @PACKAGE_STRING@ | |||||
| PACKAGE_TARNAME = @PACKAGE_TARNAME@ | |||||
| PACKAGE_VERSION = @PACKAGE_VERSION@ | |||||
| PATH_SEPARATOR = @PATH_SEPARATOR@ | |||||
| PKG_CONFIG = @PKG_CONFIG@ | |||||
| RANLIB = @RANLIB@ | |||||
| SET_MAKE = @SET_MAKE@ | |||||
| SHELL = @SHELL@ | |||||
| STRIP = @STRIP@ | |||||
| USE_IMLIB2_FALSE = @USE_IMLIB2_FALSE@ | |||||
| USE_IMLIB2_TRUE = @USE_IMLIB2_TRUE@ | |||||
| USE_KERNEL_FALSE = @USE_KERNEL_FALSE@ | |||||
| USE_KERNEL_TRUE = @USE_KERNEL_TRUE@ | |||||
| USE_LATEX_FALSE = @USE_LATEX_FALSE@ | |||||
| USE_LATEX_TRUE = @USE_LATEX_TRUE@ | |||||
| USE_PANGO_FALSE = @USE_PANGO_FALSE@ | |||||
| USE_PANGO_TRUE = @USE_PANGO_TRUE@ | |||||
| VERSION = @VERSION@ | |||||
| ac_ct_AR = @ac_ct_AR@ | |||||
| ac_ct_AS = @ac_ct_AS@ | |||||
| ac_ct_CC = @ac_ct_CC@ | |||||
| ac_ct_CXX = @ac_ct_CXX@ | |||||
| ac_ct_DLLTOOL = @ac_ct_DLLTOOL@ | |||||
| ac_ct_F77 = @ac_ct_F77@ | |||||
| ac_ct_OBJDUMP = @ac_ct_OBJDUMP@ | |||||
| ac_ct_RANLIB = @ac_ct_RANLIB@ | |||||
| ac_ct_STRIP = @ac_ct_STRIP@ | |||||
| ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ | |||||
| am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ | |||||
| am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ | |||||
| am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ | |||||
| am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ | |||||
| am__include = @am__include@ | |||||
| am__leading_dot = @am__leading_dot@ | |||||
| am__quote = @am__quote@ | |||||
| am__tar = @am__tar@ | |||||
| am__untar = @am__untar@ | |||||
| bindir = @bindir@ | |||||
| build = @build@ | |||||
| build_alias = @build_alias@ | |||||
| build_cpu = @build_cpu@ | |||||
| build_os = @build_os@ | |||||
| build_vendor = @build_vendor@ | |||||
| datadir = @datadir@ | |||||
| exec_prefix = @exec_prefix@ | |||||
| host = @host@ | |||||
| host_alias = @host_alias@ | |||||
| host_cpu = @host_cpu@ | |||||
| host_os = @host_os@ | |||||
| host_vendor = @host_vendor@ | |||||
| includedir = @includedir@ | |||||
| infodir = @infodir@ | |||||
| install_sh = @install_sh@ | |||||
| libdir = @libdir@ | |||||
| libexecdir = @libexecdir@ | |||||
| localstatedir = @localstatedir@ | |||||
| mandir = @mandir@ | |||||
| mkdir_p = @mkdir_p@ | |||||
| oldincludedir = @oldincludedir@ | |||||
| pangoft2_CFLAGS = @pangoft2_CFLAGS@ | |||||
| pangoft2_LIBS = @pangoft2_LIBS@ | |||||
| prefix = @prefix@ | |||||
| program_transform_name = @program_transform_name@ | |||||
| sbindir = @sbindir@ | |||||
| sharedstatedir = @sharedstatedir@ | |||||
| sysconfdir = @sysconfdir@ | |||||
| target = @target@ | |||||
| target_alias = @target_alias@ | |||||
| target_cpu = @target_cpu@ | |||||
| target_os = @target_os@ | |||||
| target_vendor = @target_vendor@ | |||||
| SUFFIXES = .cpp | |||||
| AM_CXXFLAGS = | |||||
| include_HEADERS = cucul++.h caca++.h | |||||
| noinst_LIBRARIES = libcucul++.a libcaca++.a | |||||
| libcucul___a_SOURCES = \ | |||||
| cucul++.cpp \ | |||||
| cucul++.h \ | |||||
| $(NULL) | |||||
| libcucul___la_LDFLAGS = -no-undefined | |||||
| libcucul___la_LIBADD = | |||||
| libcaca___a_SOURCES = \ | |||||
| caca++.cpp \ | |||||
| caca++.h \ | |||||
| $(NULL) | |||||
| libcaca___la_LDFLAGS = -no-undefined | |||||
| libcaca___la_LIBADD = | |||||
| cpptest_SOURCES = cpptest.cpp | |||||
| cpptest_LDADD = ../caca/libcaca.la ../cucul/libcucul.la libcucul++.a libcaca++.a @CACA_LIBS@ | |||||
| all: all-am | |||||
| .SUFFIXES: | |||||
| .SUFFIXES: .cpp .lo .o .obj | |||||
| $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) | |||||
| @for dep in $?; do \ | |||||
| case '$(am__configure_deps)' in \ | |||||
| *$$dep*) \ | |||||
| cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ | |||||
| && exit 0; \ | |||||
| exit 1;; \ | |||||
| esac; \ | |||||
| done; \ | |||||
| echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cpp/Makefile'; \ | |||||
| cd $(top_srcdir) && \ | |||||
| $(AUTOMAKE) --foreign cpp/Makefile | |||||
| .PRECIOUS: Makefile | |||||
| Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | |||||
| @case '$?' in \ | |||||
| *config.status*) \ | |||||
| cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ | |||||
| *) \ | |||||
| echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ | |||||
| cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ | |||||
| esac; | |||||
| $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | |||||
| cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | |||||
| $(top_srcdir)/configure: $(am__configure_deps) | |||||
| cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | |||||
| $(ACLOCAL_M4): $(am__aclocal_m4_deps) | |||||
| cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | |||||
| clean-noinstLIBRARIES: | |||||
| -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) | |||||
| libcaca++.a: $(libcaca___a_OBJECTS) $(libcaca___a_DEPENDENCIES) | |||||
| -rm -f libcaca++.a | |||||
| $(libcaca___a_AR) libcaca++.a $(libcaca___a_OBJECTS) $(libcaca___a_LIBADD) | |||||
| $(RANLIB) libcaca++.a | |||||
| libcucul++.a: $(libcucul___a_OBJECTS) $(libcucul___a_DEPENDENCIES) | |||||
| -rm -f libcucul++.a | |||||
| $(libcucul___a_AR) libcucul++.a $(libcucul___a_OBJECTS) $(libcucul___a_LIBADD) | |||||
| $(RANLIB) libcucul++.a | |||||
| clean-noinstPROGRAMS: | |||||
| @list='$(noinst_PROGRAMS)'; for p in $$list; do \ | |||||
| f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ | |||||
| echo " rm -f $$p $$f"; \ | |||||
| rm -f $$p $$f ; \ | |||||
| done | |||||
| cpptest$(EXEEXT): $(cpptest_OBJECTS) $(cpptest_DEPENDENCIES) | |||||
| @rm -f cpptest$(EXEEXT) | |||||
| $(CXXLINK) $(cpptest_LDFLAGS) $(cpptest_OBJECTS) $(cpptest_LDADD) $(LIBS) | |||||
| mostlyclean-compile: | |||||
| -rm -f *.$(OBJEXT) | |||||
| distclean-compile: | |||||
| -rm -f *.tab.c | |||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caca++.Po@am__quote@ | |||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpptest.Po@am__quote@ | |||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cucul++.Po@am__quote@ | |||||
| .cpp.o: | |||||
| @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ | |||||
| @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi | |||||
| @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | |||||
| @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |||||
| @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< | |||||
| .cpp.obj: | |||||
| @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ | |||||
| @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi | |||||
| @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | |||||
| @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |||||
| @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` | |||||
| .cpp.lo: | |||||
| @am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ | |||||
| @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi | |||||
| @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ | |||||
| @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |||||
| @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< | |||||
| mostlyclean-libtool: | |||||
| -rm -f *.lo | |||||
| clean-libtool: | |||||
| -rm -rf .libs _libs | |||||
| distclean-libtool: | |||||
| -rm -f libtool | |||||
| uninstall-info-am: | |||||
| install-includeHEADERS: $(include_HEADERS) | |||||
| @$(NORMAL_INSTALL) | |||||
| test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)" | |||||
| @list='$(include_HEADERS)'; for p in $$list; do \ | |||||
| if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ | |||||
| f=$(am__strip_dir) \ | |||||
| echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ | |||||
| $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ | |||||
| done | |||||
| uninstall-includeHEADERS: | |||||
| @$(NORMAL_UNINSTALL) | |||||
| @list='$(include_HEADERS)'; for p in $$list; do \ | |||||
| f=$(am__strip_dir) \ | |||||
| echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ | |||||
| rm -f "$(DESTDIR)$(includedir)/$$f"; \ | |||||
| done | |||||
| ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) | |||||
| list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | |||||
| unique=`for i in $$list; do \ | |||||
| if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |||||
| done | \ | |||||
| $(AWK) ' { files[$$0] = 1; } \ | |||||
| END { for (i in files) print i; }'`; \ | |||||
| mkid -fID $$unique | |||||
| tags: TAGS | |||||
| TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ | |||||
| $(TAGS_FILES) $(LISP) | |||||
| tags=; \ | |||||
| here=`pwd`; \ | |||||
| list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | |||||
| unique=`for i in $$list; do \ | |||||
| if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |||||
| done | \ | |||||
| $(AWK) ' { files[$$0] = 1; } \ | |||||
| END { for (i in files) print i; }'`; \ | |||||
| if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ | |||||
| test -n "$$unique" || unique=$$empty_fix; \ | |||||
| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | |||||
| $$tags $$unique; \ | |||||
| fi | |||||
| ctags: CTAGS | |||||
| CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ | |||||
| $(TAGS_FILES) $(LISP) | |||||
| tags=; \ | |||||
| here=`pwd`; \ | |||||
| list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | |||||
| unique=`for i in $$list; do \ | |||||
| if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |||||
| done | \ | |||||
| $(AWK) ' { files[$$0] = 1; } \ | |||||
| END { for (i in files) print i; }'`; \ | |||||
| test -z "$(CTAGS_ARGS)$$tags$$unique" \ | |||||
| || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ | |||||
| $$tags $$unique | |||||
| GTAGS: | |||||
| here=`$(am__cd) $(top_builddir) && pwd` \ | |||||
| && cd $(top_srcdir) \ | |||||
| && gtags -i $(GTAGS_ARGS) $$here | |||||
| distclean-tags: | |||||
| -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags | |||||
| distdir: $(DISTFILES) | |||||
| @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ | |||||
| topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ | |||||
| list='$(DISTFILES)'; for file in $$list; do \ | |||||
| case $$file in \ | |||||
| $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ | |||||
| $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ | |||||
| esac; \ | |||||
| if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ | |||||
| dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ | |||||
| if test "$$dir" != "$$file" && test "$$dir" != "."; then \ | |||||
| dir="/$$dir"; \ | |||||
| $(mkdir_p) "$(distdir)$$dir"; \ | |||||
| else \ | |||||
| dir=''; \ | |||||
| fi; \ | |||||
| if test -d $$d/$$file; then \ | |||||
| if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ | |||||
| cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ | |||||
| fi; \ | |||||
| cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ | |||||
| else \ | |||||
| test -f $(distdir)/$$file \ | |||||
| || cp -p $$d/$$file $(distdir)/$$file \ | |||||
| || exit 1; \ | |||||
| fi; \ | |||||
| done | |||||
| check-am: all-am | |||||
| check: check-am | |||||
| all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) | |||||
| installdirs: | |||||
| for dir in "$(DESTDIR)$(includedir)"; do \ | |||||
| test -z "$$dir" || $(mkdir_p) "$$dir"; \ | |||||
| done | |||||
| install: install-am | |||||
| install-exec: install-exec-am | |||||
| install-data: install-data-am | |||||
| uninstall: uninstall-am | |||||
| install-am: all-am | |||||
| @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | |||||
| installcheck: installcheck-am | |||||
| install-strip: | |||||
| $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | |||||
| install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | |||||
| `test -z '$(STRIP)' || \ | |||||
| echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install | |||||
| mostlyclean-generic: | |||||
| clean-generic: | |||||
| distclean-generic: | |||||
| -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | |||||
| maintainer-clean-generic: | |||||
| @echo "This command is intended for maintainers to use" | |||||
| @echo "it deletes files that may require special tools to rebuild." | |||||
| clean: clean-am | |||||
| clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ | |||||
| clean-noinstPROGRAMS mostlyclean-am | |||||
| distclean: distclean-am | |||||
| -rm -rf ./$(DEPDIR) | |||||
| -rm -f Makefile | |||||
| distclean-am: clean-am distclean-compile distclean-generic \ | |||||
| distclean-libtool distclean-tags | |||||
| dvi: dvi-am | |||||
| dvi-am: | |||||
| html: html-am | |||||
| info: info-am | |||||
| info-am: | |||||
| install-data-am: install-includeHEADERS | |||||
| install-exec-am: | |||||
| install-info: install-info-am | |||||
| install-man: | |||||
| installcheck-am: | |||||
| maintainer-clean: maintainer-clean-am | |||||
| -rm -rf ./$(DEPDIR) | |||||
| -rm -f Makefile | |||||
| maintainer-clean-am: distclean-am maintainer-clean-generic | |||||
| mostlyclean: mostlyclean-am | |||||
| mostlyclean-am: mostlyclean-compile mostlyclean-generic \ | |||||
| mostlyclean-libtool | |||||
| pdf: pdf-am | |||||
| pdf-am: | |||||
| ps: ps-am | |||||
| ps-am: | |||||
| uninstall-am: uninstall-includeHEADERS uninstall-info-am | |||||
| .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ | |||||
| clean-libtool clean-noinstLIBRARIES clean-noinstPROGRAMS ctags \ | |||||
| distclean distclean-compile distclean-generic \ | |||||
| distclean-libtool distclean-tags distdir dvi dvi-am html \ | |||||
| html-am info info-am install install-am install-data \ | |||||
| install-data-am install-exec install-exec-am \ | |||||
| install-includeHEADERS install-info install-info-am \ | |||||
| install-man install-strip installcheck installcheck-am \ | |||||
| installdirs maintainer-clean maintainer-clean-generic \ | |||||
| mostlyclean mostlyclean-compile mostlyclean-generic \ | |||||
| mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ | |||||
| uninstall-am uninstall-includeHEADERS uninstall-info-am | |||||
| # Tell versions [3.59,3.63) of GNU make to not export all variables. | |||||
| # Otherwise a system limit (for SysV at least) may be exceeded. | |||||
| .NOEXPORT: | |||||
| @@ -0,0 +1,69 @@ | |||||
| #include "caca++.h" | |||||
| Caca::Caca(void) | |||||
| { | |||||
| } | |||||
| Caca::Caca(Cucul *qq) | |||||
| { | |||||
| kk = caca_attach(qq->get_cucul_t()); | |||||
| if(!kk) throw -1; | |||||
| } | |||||
| Caca::~Caca() | |||||
| { | |||||
| caca_detach(kk); | |||||
| } | |||||
| void Caca::attach(Cucul *qq) | |||||
| { | |||||
| kk = caca_attach(qq->get_cucul_t()); | |||||
| if(!kk) throw -1; | |||||
| } | |||||
| void Caca::detach () | |||||
| { | |||||
| caca_detach(kk); | |||||
| } | |||||
| void Caca::set_delay (unsigned int d) | |||||
| { | |||||
| caca_set_delay(kk, d); | |||||
| } | |||||
| void Caca::display () | |||||
| { | |||||
| caca_display(kk); | |||||
| } | |||||
| unsigned int Caca::get_rendertime () | |||||
| { | |||||
| return caca_get_rendertime(kk); | |||||
| } | |||||
| unsigned int Caca::get_window_width () | |||||
| { | |||||
| return caca_get_window_width(kk); | |||||
| } | |||||
| unsigned int Caca::get_window_height () | |||||
| { | |||||
| return caca_get_window_height(kk); | |||||
| } | |||||
| int Caca::set_window_title (char const *s) | |||||
| { | |||||
| return caca_set_window_title(kk, s); | |||||
| } | |||||
| int Caca::get_event (unsigned int g, Caca::Event *n, int aa) | |||||
| { | |||||
| return caca_get_event(kk, g, n->e, aa); | |||||
| } | |||||
| unsigned int Caca::get_mouse_x () | |||||
| { | |||||
| return caca_get_mouse_x(kk); | |||||
| } | |||||
| unsigned int Caca::get_mouse_y () | |||||
| { | |||||
| return caca_get_mouse_x(kk); | |||||
| } | |||||
| void Caca::set_mouse (int v) | |||||
| { | |||||
| caca_set_mouse(kk, v); | |||||
| } | |||||
| @@ -0,0 +1,46 @@ | |||||
| #ifndef _CACA_PP_H | |||||
| #define _CACA_PP_H | |||||
| #include "cucul.h" | |||||
| #include "caca.h" | |||||
| #include "cucul++.h" | |||||
| class Caca { | |||||
| public: | |||||
| Caca(); | |||||
| Caca(Cucul *qq); | |||||
| ~Caca(); | |||||
| class Event { | |||||
| friend class Caca; | |||||
| protected: | |||||
| caca_event *e; | |||||
| }; | |||||
| void attach (Cucul *qq); | |||||
| void detach (); | |||||
| void set_delay (unsigned int); | |||||
| void display (); | |||||
| unsigned int get_rendertime (); | |||||
| unsigned int get_window_width (); | |||||
| unsigned int get_window_height (); | |||||
| int set_window_title (char const *); | |||||
| int get_event (unsigned int, Caca::Event*, int); | |||||
| unsigned int get_mouse_x (); | |||||
| unsigned int get_mouse_y (); | |||||
| void set_mouse (int); | |||||
| private: | |||||
| caca_t *kk; | |||||
| }; | |||||
| #endif /* _CACA_PP_H */ | |||||
| @@ -0,0 +1,12 @@ | |||||
| prefix=/usr/local | |||||
| exec_prefix=${prefix} | |||||
| libdir=${exec_prefix}/lib | |||||
| includedir=${prefix}/include | |||||
| Name: caca++ | |||||
| Description: Colour ASCII-Art library C++ bindings | |||||
| Version: 0.10 | |||||
| Requires: cucul++ = 0.10 | |||||
| Conflicts: | |||||
| Libs: -L${libdir} -lcaca -lcucul -lcucul++ | |||||
| Cflags: -I${includedir} | |||||
| @@ -0,0 +1,12 @@ | |||||
| prefix=@prefix@ | |||||
| exec_prefix=@exec_prefix@ | |||||
| libdir=@libdir@ | |||||
| includedir=@includedir@ | |||||
| Name: caca++ | |||||
| Description: Colour ASCII-Art library C++ bindings | |||||
| Version: @VERSION@ | |||||
| Requires: cucul++ = @VERSION@ | |||||
| Conflicts: | |||||
| Libs: -L${libdir} -lcaca -lcucul -lcucul++ | |||||
| Cflags: -I${includedir} | |||||
| @@ -0,0 +1,59 @@ | |||||
| #include <iostream> | |||||
| #include <cucul++.h> | |||||
| #include <caca++.h> | |||||
| using namespace std; | |||||
| static char const *pig[]= { | |||||
| " _ ", | |||||
| " _._ _..._ .-', _.._(`)) ", | |||||
| " '-. ` ' /-._.-' ',/ ", | |||||
| " ) \ '. ", | |||||
| " / _ _ | \\ ", | |||||
| " | a a / | ", | |||||
| " \ .-. ; " , | |||||
| " '-('' ).-' ,' ; ", | |||||
| " '-; | .' ", | |||||
| " \\ \\ / ", | |||||
| " | 7 .__ _.-\\ \\ ", | |||||
| " | | | ``/ /` / ", | |||||
| " jgs /,_| | /,_/ / ", | |||||
| " /,_/ '`-' ", | |||||
| NULL | |||||
| }; | |||||
| int main(int argc, char *argv[]) | |||||
| { | |||||
| Cucul *qq; | |||||
| Caca *kk; | |||||
| Caca::Event ev; | |||||
| try { | |||||
| qq = new Cucul(); | |||||
| } | |||||
| catch (int e) { | |||||
| cerr << "Error while initializing cucul (" << e << ")" << endl; | |||||
| return -1; | |||||
| } | |||||
| kk = new Caca(qq); | |||||
| qq->set_color(CUCUL_COLOR_LIGHTMAGENTA, CUCUL_COLOR_BLACK); | |||||
| for(int i = 0; pig[i]; i++) | |||||
| qq->putstr(0, i, (char*)pig[i]); | |||||
| kk->display(); | |||||
| kk->get_event(CACA_EVENT_KEY_PRESS, &ev, -1); | |||||
| delete kk; | |||||
| delete qq; | |||||
| return 0; | |||||
| } | |||||
| @@ -0,0 +1,333 @@ | |||||
| #include "cucul++.h" | |||||
| Cucul::Cucul() | |||||
| { | |||||
| qq = cucul_create(0,0); | |||||
| if(!qq) throw -1; | |||||
| } | |||||
| Cucul::Cucul(int width, int height) | |||||
| { | |||||
| qq = cucul_create(width, height); | |||||
| if(!qq) throw -1; | |||||
| } | |||||
| Cucul::~Cucul() | |||||
| { | |||||
| if(qq) { | |||||
| cucul_free(qq); | |||||
| } | |||||
| } | |||||
| cucul_t *Cucul::get_cucul_t() | |||||
| { | |||||
| return qq; | |||||
| } | |||||
| void Cucul::set_size(unsigned int width, unsigned int height) | |||||
| { | |||||
| cucul_set_size (qq, width, height); | |||||
| } | |||||
| unsigned int Cucul::get_width(void) | |||||
| { | |||||
| return cucul_get_width (qq); | |||||
| } | |||||
| unsigned int Cucul::get_height(void) | |||||
| { | |||||
| return cucul_get_height (qq); | |||||
| } | |||||
| void Cucul::set_color(unsigned int f, unsigned int b) | |||||
| { | |||||
| cucul_set_color (qq, f, b); | |||||
| } | |||||
| char const * Cucul::get_color_name (unsigned int color) | |||||
| { | |||||
| return cucul_get_color_name (color); | |||||
| } | |||||
| void Cucul::putchar (int x, int y, char c) | |||||
| { | |||||
| cucul_putchar (qq, x, y, c); | |||||
| } | |||||
| void Cucul::putstr (int x, int y, char *str) | |||||
| { | |||||
| cucul_putstr(qq, x, y, str); | |||||
| } | |||||
| //void Cucul::printf ( int, int, char const *,...) | |||||
| void Cucul::clear () | |||||
| { | |||||
| cucul_clear(qq); | |||||
| } | |||||
| void Cucul::blit ( int x, int y, Cucul* c1, Cucul* c2) | |||||
| { | |||||
| cucul_blit(qq, x, y, c1->get_cucul_t(), c2->get_cucul_t()); | |||||
| } | |||||
| void Cucul::invert () | |||||
| { | |||||
| cucul_invert(qq); | |||||
| } | |||||
| void Cucul::flip () | |||||
| { | |||||
| cucul_flip(qq); | |||||
| } | |||||
| void Cucul::flop () | |||||
| { | |||||
| cucul_flop(qq); | |||||
| } | |||||
| void Cucul::rotate () | |||||
| { | |||||
| cucul_rotate(qq); | |||||
| } | |||||
| void Cucul::draw_line (int x1 , int y1, int x2, int y2, char const *c) | |||||
| { | |||||
| cucul_draw_line(qq, x1,y1,x2,y2, c); | |||||
| } | |||||
| void Cucul::draw_polyline (int const x[], int const y[], int f, char const *c) | |||||
| { | |||||
| cucul_draw_polyline(qq, x, y, f, c); | |||||
| } | |||||
| void Cucul::draw_thin_line (int x1 , int y1, int x2, int y2) | |||||
| { | |||||
| cucul_draw_thin_line(qq, x1, y1, x2, y2); | |||||
| } | |||||
| void Cucul::draw_thin_polyline ( int const x[], int const y[], int f) | |||||
| { | |||||
| cucul_draw_thin_polyline(qq, x, y, f); | |||||
| } | |||||
| void Cucul::draw_circle ( int x, int y, int d, char const *c) | |||||
| { | |||||
| cucul_draw_circle(qq, x, y, d, c); | |||||
| } | |||||
| void Cucul::draw_ellipse ( int x, int y, int d1, int d2, char const *c) | |||||
| { | |||||
| cucul_draw_ellipse(qq, x, y, d1, d2, c); | |||||
| } | |||||
| void Cucul::draw_thin_ellipse ( int x, int y, int d1, int d2) | |||||
| { | |||||
| cucul_draw_thin_ellipse(qq, x, y, d1, d2); | |||||
| } | |||||
| void Cucul::fill_ellipse ( int x, int y, int d1, int d2, char const *c) | |||||
| { | |||||
| cucul_fill_ellipse(qq, x, y, d1, d2, c); | |||||
| } | |||||
| void Cucul::draw_box ( int x, int y, int w, int h, char const *c) | |||||
| { | |||||
| cucul_draw_box(qq, x, y, w, h, c); | |||||
| } | |||||
| void Cucul::draw_thin_box ( int x, int y, int w, int h) | |||||
| { | |||||
| cucul_draw_thin_box(qq, x, y, w, h); | |||||
| } | |||||
| void Cucul::fill_box ( int x, int y, int w, int h, char const *c) | |||||
| { | |||||
| cucul_fill_box(qq, x, y, w, h, c); | |||||
| } | |||||
| void Cucul::draw_triangle ( int x1, int y1, int x2, int y2, int x3, int y3, char const *c) | |||||
| { | |||||
| cucul_draw_triangle(qq, x1, y1, x2, y2, x3, y3, c); | |||||
| } | |||||
| void Cucul::draw_thin_triangle ( int x1, int y1, int x2, int y2, int x3, int y3) | |||||
| { | |||||
| cucul_draw_thin_triangle(qq, x1, y1, x2, y2, x3, y3); | |||||
| } | |||||
| void Cucul::fill_triangle ( int x1, int y1, int x2, int y2, int x3, int y3, const char *c) | |||||
| { | |||||
| cucul_fill_triangle(qq, x1, y1, x2, y2, x3, y3, c); | |||||
| } | |||||
| int Cucul::rand (int min, int max) | |||||
| { | |||||
| return cucul_rand(min, max); | |||||
| } | |||||
| unsigned int Cucul::sqrt (unsigned int v) | |||||
| { | |||||
| return cucul_sqrt(v); | |||||
| } | |||||
| Cucul::Sprite * Cucul::load_sprite (char const *f) | |||||
| { | |||||
| Cucul::Sprite *s = new Cucul::Sprite(); | |||||
| s->sprite = cucul_load_sprite(f); | |||||
| return s; | |||||
| } | |||||
| int Cucul::get_sprite_frames (Cucul::Sprite const *s) | |||||
| { | |||||
| return cucul_get_sprite_frames(s->sprite); | |||||
| } | |||||
| int Cucul::get_sprite_width (Cucul::Sprite const *s, int v) | |||||
| { | |||||
| return cucul_get_sprite_width(s->sprite, v); | |||||
| } | |||||
| int Cucul::get_sprite_height (Cucul::Sprite const *s, int v) | |||||
| { | |||||
| return cucul_get_sprite_height(s->sprite, v); | |||||
| } | |||||
| int Cucul::get_sprite_dx (Cucul::Sprite const *s, int v) | |||||
| { | |||||
| return cucul_get_sprite_dx(s->sprite, v); | |||||
| } | |||||
| int Cucul::get_sprite_dy (Cucul::Sprite const *s, int v) | |||||
| { | |||||
| return cucul_get_sprite_dy(s->sprite, v); | |||||
| } | |||||
| void Cucul::draw_sprite ( int x, int y, Cucul::Sprite const *s, int v) | |||||
| { | |||||
| cucul_draw_sprite(qq, x, y, s->sprite, v); | |||||
| } | |||||
| void Cucul::free_sprite (Cucul::Sprite *s) | |||||
| { | |||||
| cucul_free_sprite(s->sprite); | |||||
| } | |||||
| Cucul::Dither * Cucul::create_dither (unsigned int v1, unsigned int v2, unsigned int v3, unsigned int v4, unsigned int v5, unsigned int v6, unsigned int v7, unsigned int v8) | |||||
| { | |||||
| Cucul::Dither *d = new Dither(); | |||||
| d->dither = cucul_create_dither(v1,v2,v3,v4,v5,v6,v7,v8); | |||||
| return d; | |||||
| } | |||||
| void Cucul::set_dither_palette (Cucul::Dither *d, unsigned int r[], unsigned int g[], unsigned int b[], unsigned int a[]) | |||||
| { | |||||
| cucul_set_dither_palette(d->dither, r, g, b, a); | |||||
| } | |||||
| void Cucul::set_dither_brightness (Cucul::Dither *d, float f) | |||||
| { | |||||
| cucul_set_dither_brightness(d->dither, f); | |||||
| } | |||||
| void Cucul::set_dither_gamma (Cucul::Dither *d, float f) | |||||
| { | |||||
| cucul_set_dither_gamma(d->dither, f); | |||||
| } | |||||
| void Cucul::set_dither_contrast ( Cucul::Dither *d, float f) | |||||
| { | |||||
| cucul_set_dither_contrast(d->dither, f); | |||||
| } | |||||
| void Cucul::set_dither_invert ( Cucul::Dither *d, int i) | |||||
| { | |||||
| cucul_set_dither_invert(d->dither, i); | |||||
| } | |||||
| void Cucul::set_dither_antialias ( Cucul::Dither *d, char const *c) | |||||
| { | |||||
| cucul_set_dither_antialias(d->dither, c); | |||||
| } | |||||
| char const *const * Cucul::get_dither_antialias_list ( Cucul::Dither const *d) | |||||
| { | |||||
| return cucul_get_dither_antialias_list(d->dither); | |||||
| } | |||||
| void Cucul::set_dither_color ( Cucul::Dither *d, char const *c) | |||||
| { | |||||
| cucul_set_dither_color(d->dither, c); | |||||
| } | |||||
| char const *const * Cucul::get_dither_color_list ( Cucul::Dither const *d) | |||||
| { | |||||
| return cucul_get_dither_color_list(d->dither); | |||||
| } | |||||
| void Cucul::set_dither_charset ( Cucul::Dither *d, char const *c) | |||||
| { | |||||
| cucul_set_dither_charset(d->dither, c); | |||||
| } | |||||
| char const *const * Cucul::get_dither_charset_list ( Cucul::Dither const *d) | |||||
| { | |||||
| return cucul_get_dither_charset_list(d->dither); | |||||
| } | |||||
| void Cucul::set_dither_mode ( Cucul::Dither *d, char const *c) | |||||
| { | |||||
| cucul_set_dither_mode(d->dither, c); | |||||
| } | |||||
| char const *const * Cucul::get_dither_mode_list ( Cucul::Dither const *d) | |||||
| { | |||||
| return cucul_get_dither_mode_list(d->dither); | |||||
| } | |||||
| void Cucul::dither_bitmap ( int x, int y, int w, int h, Cucul::Dither const *d, void *v) | |||||
| { | |||||
| cucul_dither_bitmap(qq, x, y, w, h, d->dither, v); | |||||
| } | |||||
| void Cucul::free_dither ( Cucul::Dither *d) | |||||
| { | |||||
| cucul_free_dither(d->dither); | |||||
| } | |||||
| Cucul::Font * Cucul::load_font (void const *s, unsigned int v) | |||||
| { | |||||
| Cucul::Font *f = new Cucul::Font(); | |||||
| f->font = cucul_load_font(s, v); | |||||
| return f; | |||||
| } | |||||
| char const *const * Cucul::get_font_list (void) | |||||
| { | |||||
| return cucul_get_font_list(); | |||||
| } | |||||
| unsigned int Cucul::get_font_width ( Cucul::Font *f) | |||||
| { | |||||
| return cucul_get_font_width(f->font); | |||||
| } | |||||
| unsigned int Cucul::get_font_height ( Cucul::Font *f) | |||||
| { | |||||
| return cucul_get_font_height(f->font); | |||||
| } | |||||
| void Cucul::render_canvas (Cucul::Font *f, unsigned char *c, unsigned int x, unsigned int y, unsigned int w) | |||||
| { | |||||
| cucul_render_canvas(qq, f->font, c, x,y,w); | |||||
| } | |||||
| void Cucul::free_font ( Cucul::Font *f) | |||||
| { | |||||
| cucul_free_font(f->font); | |||||
| } | |||||
| Cucul::Buffer * Cucul::create_export (char const *c) | |||||
| { | |||||
| Cucul::Buffer *b = new Cucul::Buffer(); | |||||
| b->buffer = cucul_create_export(qq, c); | |||||
| return b; | |||||
| } | |||||
| char const *const * Cucul::get_export_list (void) | |||||
| { | |||||
| return cucul_get_export_list(); | |||||
| } | |||||
| @@ -0,0 +1,112 @@ | |||||
| #ifndef _CUCUL_PP_H | |||||
| #define _CUCUL_PP_H | |||||
| #include "cucul.h" | |||||
| class Cucul { | |||||
| friend class Caca; | |||||
| public: | |||||
| Cucul(); | |||||
| Cucul(int width, int height); | |||||
| ~Cucul(); | |||||
| /* Ugly, I know */ | |||||
| class Font { | |||||
| friend class Cucul; | |||||
| protected: | |||||
| cucul_font *font; | |||||
| }; | |||||
| class Sprite { | |||||
| friend class Cucul; | |||||
| protected: | |||||
| cucul_sprite *sprite; | |||||
| }; | |||||
| class Dither { | |||||
| friend class Cucul; | |||||
| protected: | |||||
| cucul_dither *dither; | |||||
| }; | |||||
| class Buffer { | |||||
| friend class Cucul; | |||||
| protected: | |||||
| cucul_buffer *buffer; | |||||
| }; | |||||
| void set_size(unsigned int w, unsigned int h); | |||||
| unsigned int get_width(void); | |||||
| unsigned int get_height(void); | |||||
| void set_color(unsigned int f, unsigned int b); | |||||
| char const * get_color_name (unsigned int color); | |||||
| void putchar (int x, int y, char c); | |||||
| void putstr (int x, int y, char *str); | |||||
| void clear (); | |||||
| void blit ( int, int, Cucul* c1, Cucul* c2); | |||||
| void invert (); | |||||
| void flip (); | |||||
| void flop (); | |||||
| void rotate (); | |||||
| void draw_line ( int, int, int, int, char const *); | |||||
| void draw_polyline ( int const x[], int const y[], int, char const *); | |||||
| void draw_thin_line ( int, int, int, int); | |||||
| void draw_thin_polyline ( int const x[], int const y[], int); | |||||
| void draw_circle ( int, int, int, char const *); | |||||
| void draw_ellipse ( int, int, int, int, char const *); | |||||
| void draw_thin_ellipse ( int, int, int, int); | |||||
| void fill_ellipse ( int, int, int, int, char const *); | |||||
| void draw_box ( int, int, int, int, char const *); | |||||
| void draw_thin_box ( int, int, int, int); | |||||
| void fill_box ( int, int, int, int, char const *); | |||||
| void draw_triangle ( int, int, int, int, int, int, char const *); | |||||
| void draw_thin_triangle ( int, int, int, int, int, int); | |||||
| void fill_triangle ( int, int, int, int, int, int, char const *); | |||||
| int rand (int, int); | |||||
| unsigned int sqrt (unsigned int); | |||||
| Sprite * load_sprite (char const *); | |||||
| int get_sprite_frames (Cucul::Sprite const *); | |||||
| int get_sprite_width (Cucul::Sprite const *, int); | |||||
| int get_sprite_height (Cucul::Sprite const *, int); | |||||
| int get_sprite_dx (Cucul::Sprite const *, int); | |||||
| int get_sprite_dy (Cucul::Sprite const *, int); | |||||
| void draw_sprite ( int, int, Cucul::Sprite const *, int); | |||||
| void free_sprite (Cucul::Sprite*); | |||||
| Dither * create_dither (unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); | |||||
| void set_dither_palette (Cucul::Dither *, unsigned int r[], unsigned int g[], unsigned int b[], unsigned int a[]); | |||||
| void set_dither_brightness (Cucul::Dither *, float); | |||||
| void set_dither_gamma (Cucul::Dither *, float); | |||||
| void set_dither_contrast (Cucul::Dither *, float); | |||||
| void set_dither_invert (Cucul::Dither *, int); | |||||
| void set_dither_antialias (Cucul::Dither *, char const *); | |||||
| char const *const * get_dither_antialias_list (Cucul::Dither const *); | |||||
| void set_dither_color (Cucul::Dither *, char const *); | |||||
| char const *const * get_dither_color_list (Cucul::Dither const *); | |||||
| void set_dither_charset (Cucul::Dither *, char const *); | |||||
| char const *const * get_dither_charset_list (Cucul::Dither const *); | |||||
| void set_dither_mode (Cucul::Dither *, char const *); | |||||
| char const *const * get_dither_mode_list (Cucul::Dither const *); | |||||
| void dither_bitmap ( int, int, int, int, Cucul::Dither const *, void *); | |||||
| void free_dither (Cucul::Dither *); | |||||
| Font * load_font (void const *, unsigned int); | |||||
| char const *const * get_font_list (void); | |||||
| unsigned int get_font_width (Font *); | |||||
| unsigned int get_font_height (Font *); | |||||
| void render_canvas ( Font *, unsigned char *, unsigned int, unsigned int, unsigned int); | |||||
| void free_font (Font *); | |||||
| Buffer * create_export ( char const *); | |||||
| char const *const * get_export_list (void); | |||||
| protected: | |||||
| cucul_t *get_cucul_t(); | |||||
| private: | |||||
| cucul_t *qq; | |||||
| }; | |||||
| #endif /* _CUCUL_PP_H */ | |||||
| @@ -0,0 +1,12 @@ | |||||
| prefix=/usr/local | |||||
| exec_prefix=${prefix} | |||||
| libdir=${exec_prefix}/lib | |||||
| includedir=${prefix}/include | |||||
| Name: cucul++ | |||||
| Description: Canvas for ultrafast compositing of Unicode letters C++ binding | |||||
| Version: 0.10 | |||||
| Requires: | |||||
| Conflicts: | |||||
| Libs: -L${libdir} -lcucul -lcaca | |||||
| Cflags: -I${includedir} | |||||
| @@ -0,0 +1,12 @@ | |||||
| prefix=@prefix@ | |||||
| exec_prefix=@exec_prefix@ | |||||
| libdir=@libdir@ | |||||
| includedir=@includedir@ | |||||
| Name: cucul++ | |||||
| Description: Canvas for ultrafast compositing of Unicode letters C++ binding | |||||
| Version: @VERSION@ | |||||
| Requires: | |||||
| Conflicts: | |||||
| Libs: -L${libdir} -lcucul -lcaca | |||||
| Cflags: -I${includedir} | |||||