Browse Source

* Added preliminary C++ bindings

tags/v0.99.beta14
Jean-Yves Lamoureux jylam 18 years ago
parent
commit
3b166c5603
13 changed files with 1269 additions and 2 deletions
  1. +1
    -1
      Makefile.am
  2. +28
    -1
      configure.ac
  3. +32
    -0
      cpp/Makefile.am
  4. +541
    -0
      cpp/Makefile.in
  5. +69
    -0
      cpp/caca++.cpp
  6. +46
    -0
      cpp/caca++.h
  7. +12
    -0
      cpp/caca++.pc
  8. +12
    -0
      cpp/caca++.pc.in
  9. +59
    -0
      cpp/cpptest.cpp
  10. +333
    -0
      cpp/cucul++.cpp
  11. +112
    -0
      cpp/cucul++.h
  12. +12
    -0
      cpp/cucul++.pc
  13. +12
    -0
      cpp/cucul++.pc.in

+ 1
- 1
Makefile.am View File

@@ -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


+ 28
- 1
configure.ac View File

@@ -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


+ 32
- 0
cpp/Makefile.am View File

@@ -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@

+ 541
- 0
cpp/Makefile.in View File

@@ -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:

+ 69
- 0
cpp/caca++.cpp View File

@@ -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);
}

+ 46
- 0
cpp/caca++.h View File

@@ -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 */

+ 12
- 0
cpp/caca++.pc View File

@@ -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}

+ 12
- 0
cpp/caca++.pc.in View File

@@ -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}

+ 59
- 0
cpp/cpptest.cpp View File

@@ -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;
}

+ 333
- 0
cpp/cucul++.cpp View File

@@ -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();
}

+ 112
- 0
cpp/cucul++.h View File

@@ -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 */

+ 12
- 0
cpp/cucul++.pc View File

@@ -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}

+ 12
- 0
cpp/cucul++.pc.in View File

@@ -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}

Loading…
Cancel
Save