Compare commits

...

84 Commits

Author SHA1 Message Date
Savio Sena 78fc05ac91 expedite-cxx: Fix deadlock. 9 years ago
Savio Sena d7cfdd0557 expedite-cxx: Port last missing test. 9 years ago
Savio Sena 0afccbf4e1 expedite-cxx: Just tag a comment so we can keep track of warts. 9 years ago
Savio Sena e03125e56d expedite-cxx: Increase samples count to make measures a bit more steady. 9 years ago
Savio Sena c58e2e4047 expedite-cxx: Rephrase a test to better perform. 9 years ago
Savio Sena 309e04e44a expedite-cxx: Add missing C++ tests. 9 years ago
Savio Sena ef428b5c31 expedite-cxx: Merge Felipe's c3e798c with local changes. 9 years ago
Felipe Magno de Almeida c3e798cfd0 Re-add C tests together with C++ so it is easier to compare 9 years ago
Savio S. Machado bc5d56877e expedite-cxx: Remove XXX and made some minor improvements. 9 years ago
Savio S. Machado 3434b132b8 expedite-cxx: Added remaining tests. 9 years ago
Savio Sena 2360632b37 expedite-cxx: Unfinished widget tests. 9 years ago
Savio Sena 55a7eae96f expedite-cxx: Finished textblock tests. 9 years ago
Savio Sena 2a2cc7260c expedite-cxx: Finished all image, line, rect, font and text tests. 9 years ago
Savio Sena c9984a38ad expedite-cxx: Fixed more tests. 9 years ago
Savio Sena 428f271bcf expedite-cxx: Fix bug in image_crossfade.cc 9 years ago
Savio Sena 93c095a3fb expedite-cxx: Fix some bugs. 9 years ago
Savio Sena f097281c9d Use C++ style loops. 9 years ago
Savio Sena 08f95c4bfe expedite-cxx: Add parent_set(nullptr) to all _cleanups. 9 years ago
Savio Sena 9dccf53084 expedite-cxx: Fix size_set. 9 years ago
Savio Sena fb28488bdc expedite-cxx: Fix position_set. 9 years ago
Savio Sena 691498bfa6 expedite-cxx: Get rid of global pointer. 9 years ago
Savio Sena 3f1b05bd0b expedite-cxx: image_blend_* globals as pointers, not instances. 9 years ago
Savio Sena 9ee8b2a45b Add a comment. 9 years ago
Savio Sena 4a6fb1ef93 Fix variable name. 9 years ago
Savio Sena f1ea8fafa1 Merge branch 'local-rebase' into github-master 9 years ago
Savio Sena d1d04667ad Enabled all tests. 9 years ago
Savio Sena cc37a06018 Temporarily disable tests on hold. 9 years ago
Savio Sena c43478a984 More translation. Now compiling. 9 years ago
Savio Sena b4070dde1c Fix wrong API. 9 years ago
Savio Sena d810de418e Fixed some casts. 9 years ago
Savio Sena a67e3ea4b9 Disable 3d temporarily. 9 years ago
Savio Sena 21216c5dff Translated some _loops and _setups to C++. 9 years ago
Savio Sena 46a88189ca Enable only image tests. 9 years ago
Savio Sena ad066eb17e Add missing _loop and FNAME. 9 years ago
Savio Sena bbb7e27b03 Convert _cleanup. 9 years ago
Savio Sena 99d7f53948 Minor changes. 9 years ago
Savio Sena a61c25ee27 Mark trick as XXX. 9 years ago
Savio Sena 583d48e392 partially convert _setup implementation. 9 years ago
Savio Sena 365de8d7d3 Use "includes" instead of <includes>. 9 years ago
Savio Sena 762466f0e0 Add #undef ICON_SIZE. 9 years ago
Savio Sena f051eef702 Updated and fixed test listing. 9 years ago
Savio Sena d9a9594744 Add missing FNAME(void) definition. 9 years ago
Savio Sena acc4a6f195 Add missing include files. 9 years ago
Savio Sena 26a234effd Prepend "(C++)" to all test titles. 9 years ago
Savio Sena ce1d410301 Delete bad files. 9 years ago
Savio Sena 12e33a9c12 Convert all o_images to efl::evas::list<evas::image>. 9 years ago
Savio Sena 95e8ec6f9e Added more test. 9 years ago
Savio Sena d90d23bdd6 Initial listing of remaining tests. 9 years ago
Savio Sena 095e9141b7 expedite-cxx: Set visibility to hidden upon destruction. 9 years ago
Savio Sena 0691d96d6c Rebased branch 'master' of enlightenment into github-master 9 years ago
Savio Sena ab1945dc31 Add EFL_CXX_NO_EXCEPTIONS flag to compilation. 9 years ago
Savio Sena e60ba2ee1f Added more image/C++ tests. 9 years ago
Savio Sena 7975d43856 Added more image/C++ tests. 9 years ago
Savio Sena 2edb6402d6 Added more image/C++ tests. 9 years ago
Savio Sena a6d52a1876 Added missing function. 9 years ago
Savio Sena 7a3096883d Added C++ image_blend_border_recolor. 9 years ago
Savio Sena 6940737f17 Fixed evas image example. 9 years ago
Savio Sena f1ce0c028f Refactored around a bit. 9 years ago
Savio Sena 7e8108ad75 Add some logs to help investigating evas::image. 9 years ago
Savio Sena a9145b99c8 Fixed global variables. 9 years ago
Savio Sena 23aefd6470 Removed include-once guards from test file. 9 years ago
Savio Sena 2351346646 Fixed cxx/image_blend_border test. 9 years ago
Savio Sena 22f097ed64 Fixed missing evas -> G_evas. 9 years ago
Savio Sena 43516b12df Deleted main.hh. We can now work properly with main.h. 9 years ago
Savio Sena e4c333f3eb Renamed global variable evas to G_evas. 9 years ago
Savio Sena f0dbeca426 expedite++: First C++ test. 9 years ago
Savio Sena 1a3b5e8d7d autotools: Introduce C++11 requirement. 9 years ago
Savio Sena 9792784abd Add EFL_CXX_NO_EXCEPTIONS flag to compilation. 9 years ago
Savio Sena 1efc8c8a30 Added more image/C++ tests. 9 years ago
Savio Sena c895eba3fd Added more image/C++ tests. 9 years ago
Savio Sena 3f32d142fc Added more image/C++ tests. 9 years ago
Savio Sena bbb0568606 Added missing function. 9 years ago
Savio Sena ef9f34edfd Added C++ image_blend_border_recolor. 9 years ago
Savio Sena a35c3791ad Fixed evas image example. 9 years ago
Savio Sena c7cabe8da6 Refactored around a bit. 9 years ago
Savio Sena 07b4407c26 Add some logs to help investigating evas::image. 9 years ago
Savio Sena a4b7b0ba31 Fixed global variables. 9 years ago
Savio Sena bab92da5cf Removed include-once guards from test file. 9 years ago
Savio Sena 6b928ebec4 Fixed cxx/image_blend_border test. 9 years ago
Savio Sena 155888f2c5 Fixed missing evas -> G_evas. 9 years ago
Savio Sena 37bbc4fae5 Deleted main.hh. We can now work properly with main.h. 9 years ago
Savio Sena d29bf887ec Renamed global variable evas to G_evas. 9 years ago
Savio Sena bebe73caa4 expedite++: First C++ test. 9 years ago
Savio Sena 8682064e4c autotools: Introduce C++11 requirement. 9 years ago
  1. 11
      configure.ac
  2. 136
      m4/efl_stdcxx_11.m4
  3. 205
      src/bin/Makefile.am
  4. 2
      src/bin/about.c
  5. 8
      src/bin/about.h
  6. 72
      src/bin/cxx/font_effect_blur_alpha.cc
  7. 30
      src/bin/cxx/font_effect_blur_alpha_capi.h
  8. 72
      src/bin/cxx/font_effect_blur_color.cc
  9. 31
      src/bin/cxx/font_effect_blur_color_capi.h
  10. 80
      src/bin/cxx/image_blend_border.cc
  11. 32
      src/bin/cxx/image_blend_border_capi.h
  12. 81
      src/bin/cxx/image_blend_border_recolor.cc
  13. 32
      src/bin/cxx/image_blend_border_recolor_capi.h
  14. 81
      src/bin/cxx/image_blend_fade_pow2_unscaled.cc
  15. 33
      src/bin/cxx/image_blend_fade_pow2_unscaled_capi.h
  16. 78
      src/bin/cxx/image_blend_fade_unscaled.cc
  17. 33
      src/bin/cxx/image_blend_fade_unscaled_capi.h
  18. 80
      src/bin/cxx/image_blend_many_smooth_same_scaled.cc
  19. 30
      src/bin/cxx/image_blend_many_smooth_same_scaled_capi.h
  20. 78
      src/bin/cxx/image_blend_nearest_same_scaled.cc
  21. 30
      src/bin/cxx/image_blend_nearest_same_scaled_capi.h
  22. 78
      src/bin/cxx/image_blend_nearest_scaled.cc
  23. 30
      src/bin/cxx/image_blend_nearest_scaled_capi.h
  24. 78
      src/bin/cxx/image_blend_nearest_solid_same_scaled.cc
  25. 30
      src/bin/cxx/image_blend_nearest_solid_same_scaled_capi.h
  26. 78
      src/bin/cxx/image_blend_nearest_solid_scaled.cc
  27. 30
      src/bin/cxx/image_blend_nearest_solid_scaled_capi.h
  28. 91
      src/bin/cxx/image_blend_occlude1.cc
  29. 30
      src/bin/cxx/image_blend_occlude1_capi.h
  30. 94
      src/bin/cxx/image_blend_occlude1_few.cc
  31. 30
      src/bin/cxx/image_blend_occlude1_few_capi.h
  32. 93
      src/bin/cxx/image_blend_occlude1_many.cc
  33. 30
      src/bin/cxx/image_blend_occlude1_many_capi.h
  34. 94
      src/bin/cxx/image_blend_occlude1_very_many.cc
  35. 30
      src/bin/cxx/image_blend_occlude1_very_many_capi.h
  36. 92
      src/bin/cxx/image_blend_occlude2.cc
  37. 30
      src/bin/cxx/image_blend_occlude2_capi.h
  38. 94
      src/bin/cxx/image_blend_occlude2_few.cc
  39. 30
      src/bin/cxx/image_blend_occlude2_few_capi.h
  40. 96
      src/bin/cxx/image_blend_occlude2_many.cc
  41. 30
      src/bin/cxx/image_blend_occlude2_many_capi.h
  42. 94
      src/bin/cxx/image_blend_occlude2_very_many.cc
  43. 30
      src/bin/cxx/image_blend_occlude2_very_many_capi.h
  44. 93
      src/bin/cxx/image_blend_occlude3.cc
  45. 30
      src/bin/cxx/image_blend_occlude3_capi.h
  46. 96
      src/bin/cxx/image_blend_occlude3_few.cc
  47. 30
      src/bin/cxx/image_blend_occlude3_few_capi.h
  48. 92
      src/bin/cxx/image_blend_occlude3_many.cc
  49. 30
      src/bin/cxx/image_blend_occlude3_many_capi.h
  50. 93
      src/bin/cxx/image_blend_occlude3_very_many.cc
  51. 30
      src/bin/cxx/image_blend_occlude3_very_many_capi.h
  52. 79
      src/bin/cxx/image_blend_smooth_same_scaled.cc
  53. 30
      src/bin/cxx/image_blend_smooth_same_scaled_capi.h
  54. 78
      src/bin/cxx/image_blend_smooth_scaled.cc
  55. 30
      src/bin/cxx/image_blend_smooth_scaled_capi.h
  56. 78
      src/bin/cxx/image_blend_smooth_solid_same_scaled.cc
  57. 30
      src/bin/cxx/image_blend_smooth_solid_same_scaled_capi.h
  58. 78
      src/bin/cxx/image_blend_smooth_solid_scaled.cc
  59. 30
      src/bin/cxx/image_blend_smooth_solid_scaled_capi.h
  60. 79
      src/bin/cxx/image_blend_solid_border.cc
  61. 34
      src/bin/cxx/image_blend_solid_border_capi.h
  62. 78
      src/bin/cxx/image_blend_solid_fade_pow2_unscaled.cc
  63. 33
      src/bin/cxx/image_blend_solid_fade_pow2_unscaled_capi.h
  64. 78
      src/bin/cxx/image_blend_solid_fade_unscaled.cc
  65. 32
      src/bin/cxx/image_blend_solid_fade_unscaled_capi.h
  66. 79
      src/bin/cxx/image_blend_solid_middle_border.cc
  67. 30
      src/bin/cxx/image_blend_solid_middle_border_capi.h
  68. 77
      src/bin/cxx/image_blend_solid_middle_unscaled.cc
  69. 30
      src/bin/cxx/image_blend_solid_middle_unscaled_capi.h
  70. 76
      src/bin/cxx/image_blend_solid_unscaled.cc
  71. 32
      src/bin/cxx/image_blend_solid_unscaled_capi.h
  72. 75
      src/bin/cxx/image_blend_unscaled.cc
  73. 30
      src/bin/cxx/image_blend_unscaled_capi.h
  74. 77
      src/bin/cxx/image_crossfade.cc
  75. 30
      src/bin/cxx/image_crossfade_capi.h
  76. 94
      src/bin/cxx/image_data_argb.cc
  77. 103
      src/bin/cxx/image_data_argb_alpha.cc
  78. 30
      src/bin/cxx/image_data_argb_alpha_capi.h
  79. 30
      src/bin/cxx/image_data_argb_capi.h
  80. 112
      src/bin/cxx/image_data_ycbcr601pl.cc
  81. 30
      src/bin/cxx/image_data_ycbcr601pl_capi.h
  82. 116
      src/bin/cxx/image_data_ycbcr601pl_map_nearest_solid_rotate.cc
  83. 30
      src/bin/cxx/image_data_ycbcr601pl_map_nearest_solid_rotate_capi.h
  84. 116
      src/bin/cxx/image_data_ycbcr601pl_map_solid_rotate.cc
  85. 30
      src/bin/cxx/image_data_ycbcr601pl_map_solid_rotate_capi.h
  86. 145
      src/bin/cxx/image_data_ycbcr601pl_wide_stride.cc
  87. 30
      src/bin/cxx/image_data_ycbcr601pl_wide_stride_capi.h
  88. 234
      src/bin/cxx/image_map_3d_1.cc
  89. 30
      src/bin/cxx/image_map_3d_1_capi.h
  90. 232
      src/bin/cxx/image_map_3d_2.cc
  91. 30
      src/bin/cxx/image_map_3d_2_capi.h
  92. 228
      src/bin/cxx/image_map_3d_3.cc
  93. 30
      src/bin/cxx/image_map_3d_3_capi.h
  94. 223
      src/bin/cxx/image_map_3d_4.cc
  95. 30
      src/bin/cxx/image_map_3d_4_capi.h
  96. 214
      src/bin/cxx/image_map_3d_5.cc
  97. 30
      src/bin/cxx/image_map_3d_5_capi.h
  98. 211
      src/bin/cxx/image_map_3d_6.cc
  99. 30
      src/bin/cxx/image_map_3d_6_capi.h
  100. 206
      src/bin/cxx/image_map_3d_flow.cc
  101. Some files were not shown because too many files have changed in this diff Show More

@ -10,7 +10,7 @@ AC_CONFIG_HEADERS([config.h])
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([1.6 dist-bzip2])
AM_INIT_AUTOMAKE([1.6 dist-bzip2 subdir-objects])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
PKG_PROG_PKG_CONFIG
@ -35,7 +35,9 @@ AC_PROG_CC
LT_PROG_RC
### Check for C++11
EFL_CXX_COMPILE_STDCXX_11([ext], [mandatory])
### Checks for libraries
@ -55,6 +57,9 @@ PKG_CHECK_MODULES([EFL], eina >= 1.7.99 efl >= 1.11.99 eo >= 1.7.99 evas >= 1.7.
EFL_ENABLE_EO_API_SUPPORT
EFL_ENABLE_BETA_API_SUPPORT
# EFL++ dependencies
PKG_CHECK_MODULES([EFL_CXX], efl-cxx >= 1.11.99 eina-cxx >= 1.11.99 eo-cxx >= 1.11.99 evas-cxx >= 1.11.99 eet-cxx >= 1.11.99)
### Checks for header files
@ -92,8 +97,10 @@ AC_MSG_CHECKING([whether the compiler supports -fno-rtti -fno-exceptions])
AC_MSG_RESULT([${have_cxx_flags}])
CXXFLAGS="${CXXFLAGS_save}"
if test "x${have_cxx_flags}" = "xyes" ; then
EXPEDITE_CXXFLAGS="-fno-rtti -fno-exceptions"
EXPEDITE_CXXFLAGS="-fno-rtti -fno-exceptions -DEFL_CXX_NO_EXCEPTIONS"
fi
CXXFLAGS="${CXXFLAGS} -std=c++11"
AC_LANG_POP([C++])
AC_SUBST(EXPEDITE_CXXFLAGS)

@ -0,0 +1,136 @@
# ============================================================================
# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
# ============================================================================
#
# SYNOPSIS
#
# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
#
# DESCRIPTION
#
# Check for baseline language coverage in the compiler for the C++11
# standard; if necessary, add switches to CXXFLAGS to enable support.
#
# The first argument, if specified, indicates whether you insist on an
# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
# -std=c++11). If neither is specified, you get whatever works, with
# preference for an extended mode.
#
# The second argument, if specified 'mandatory' or if left unspecified,
# indicates that baseline C++11 support is required and that the macro
# should error out if no mode with that support is found. If specified
# 'optional', then configuration proceeds regardless, after defining
# HAVE_CXX11 if and only if a supporting mode is found.
#
# LICENSE
#
# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved. This file is offered as-is, without any
# warranty.
#serial 3
m4_define([_EFL_CXX_COMPILE_STDCXX_11_testbody], [
template <typename T>
struct check
{
static_assert(sizeof(int) <= sizeof(T), "not big enough");
};
typedef check<check<bool>> right_angle_brackets;
int a;
decltype(a) b;
typedef check<int> check_type;
check_type c;
check_type&& cr = static_cast<check_type&&>(c);
struct A { A(int); };
struct B : A { using A::A; }; // inheriting constructors
auto d = a;
])
AC_DEFUN([EFL_CXX_COMPILE_STDCXX_11], [dnl
m4_if([$1], [], [],
[$1], [ext], [],
[$1], [noext], [],
[m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
[$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
[$2], [optional], [ax_cxx_compile_cxx11_required=false],
[m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])dnl
AC_LANG_PUSH([C++])dnl
ac_success=no
AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
ax_cv_cxx_compile_cxx11,
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([_EFL_CXX_COMPILE_STDCXX_11_testbody])],
[ax_cv_cxx_compile_cxx11=yes],
[ax_cv_cxx_compile_cxx11=no])])
if test x$ax_cv_cxx_compile_cxx11 = xyes; then
ac_success=yes
fi
m4_if([$1], [noext], [], [dnl
if test x$ac_success = xno; then
for switch in -std=gnu++11; do
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
$cachevar,
[ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $switch"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_EFL_CXX_COMPILE_STDCXX_11_testbody])],
[eval $cachevar=yes],
[eval $cachevar=no])
CXXFLAGS="$ac_save_CXXFLAGS"])
if eval test x\$$cachevar = xyes; then
CXXFLAGS="$CXXFLAGS $switch"
ac_success=yes
break
fi
done
fi])
m4_if([$1], [ext], [], [dnl
if test x$ac_success = xno; then
for switch in -std=c++11; do
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
$cachevar,
[ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $switch"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_EFL_CXX_COMPILE_STDCXX_11_testbody])],
[eval $cachevar=yes],
[eval $cachevar=no])
CXXFLAGS="$ac_save_CXXFLAGS"])
if eval test x\$$cachevar = xyes; then
CXXFLAGS="$CXXFLAGS $switch"
ac_success=yes
break
fi
done
fi])
AC_LANG_POP([C++])
if test x$ax_cxx_compile_cxx11_required = xtrue; then
if test x$ac_success = xno; then
AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
fi
else
if test x$ac_success = xno; then
HAVE_CXX11=0
AC_MSG_NOTICE([No compiler with C++11 support was found])
else
HAVE_CXX11=1
AC_DEFINE(HAVE_CXX11,1,
[define if the compiler supports basic C++11 syntax])
fi
AC_SUBST(HAVE_CXX11)
fi
])

@ -7,11 +7,208 @@ AM_CPPFLAGS = \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
@EFL_CFLAGS@ \
@EFL_CXX_CFLAGS@ \
@EVIL_CFLAGS@
bin_PROGRAMS = expedite
bin_SCRIPTS = expedite-cmp
# XXX
cxx_sources = \
cxx/image_blend_border.cc \
cxx/image_blend_border_capi.h \
cxx/image_blend_border_recolor.cc \
cxx/image_blend_border_recolor_capi.h \
cxx/image_blend_fade_pow2_unscaled.cc \
cxx/image_blend_fade_pow2_unscaled_capi.h \
cxx/image_blend_fade_unscaled.cc \
cxx/image_blend_fade_unscaled_capi.h \
cxx/image_blend_many_smooth_same_scaled.cc \
cxx/image_blend_many_smooth_same_scaled_capi.h \
cxx/image_blend_nearest_same_scaled.cc \
cxx/image_blend_nearest_same_scaled_capi.h \
cxx/image_blend_nearest_scaled.cc \
cxx/image_blend_nearest_scaled_capi.h \
cxx/image_blend_nearest_solid_same_scaled.cc \
cxx/image_blend_nearest_solid_same_scaled_capi.h \
cxx/image_blend_nearest_solid_scaled.cc \
cxx/image_blend_nearest_solid_scaled_capi.h \
cxx/image_blend_occlude1.cc \
cxx/image_blend_occlude1_capi.h \
cxx/image_blend_occlude1_few.cc \
cxx/image_blend_occlude1_few_capi.h \
cxx/image_blend_occlude1_many.cc \
cxx/image_blend_occlude1_many_capi.h \
cxx/image_blend_occlude1_very_many.cc \
cxx/image_blend_occlude1_very_many_capi.h \
cxx/image_blend_occlude2.cc \
cxx/image_blend_occlude2_capi.h \
cxx/image_blend_occlude2_few.cc \
cxx/image_blend_occlude2_few_capi.h \
cxx/image_blend_occlude2_many.cc \
cxx/image_blend_occlude2_many_capi.h \
cxx/image_blend_occlude2_very_many.cc \
cxx/image_blend_occlude2_very_many_capi.h \
cxx/image_blend_occlude3.cc \
cxx/image_blend_occlude3_capi.h \
cxx/image_blend_occlude3_few.cc \
cxx/image_blend_occlude3_few_capi.h \
cxx/image_blend_occlude3_many.cc \
cxx/image_blend_occlude3_many_capi.h \
cxx/image_blend_occlude3_very_many.cc \
cxx/image_blend_occlude3_very_many_capi.h \
cxx/image_blend_occlude_capi.h \
cxx/image_blend_smooth_same_scaled.cc \
cxx/image_blend_smooth_same_scaled_capi.h \
cxx/image_blend_smooth_scaled.cc \
cxx/image_blend_smooth_scaled_capi.h \
cxx/image_blend_smooth_solid_same_scaled.cc \
cxx/image_blend_smooth_solid_same_scaled_capi.h \
cxx/image_blend_smooth_solid_scaled.cc \
cxx/image_blend_smooth_solid_scaled_capi.h \
cxx/image_blend_solid_border.cc \
cxx/image_blend_solid_border_capi.h \
cxx/image_blend_solid_fade_pow2_unscaled.cc \
cxx/image_blend_solid_fade_pow2_unscaled_capi.h \
cxx/image_blend_solid_fade_unscaled.cc \
cxx/image_blend_solid_fade_unscaled_capi.h \
cxx/image_blend_solid_middle_border.cc \
cxx/image_blend_solid_middle_border_capi.h \
cxx/image_blend_solid_middle_unscaled.cc \
cxx/image_blend_solid_middle_unscaled_capi.h \
cxx/image_blend_solid_unscaled.cc \
cxx/image_blend_solid_unscaled_capi.h \
cxx/image_blend_unscaled.cc \
cxx/image_blend_unscaled_capi.h \
cxx/image_crossfade.cc \
cxx/image_crossfade_capi.h \
cxx/image_data_argb.cc \
cxx/image_data_argb_alpha.cc \
cxx/image_data_argb_alpha_capi.h \
cxx/image_data_argb_capi.h \
cxx/image_data_ycbcr601pl.cc \
cxx/image_data_ycbcr601pl_capi.h \
cxx/image_data_ycbcr601pl_map_nearest_solid_rotate.cc \
cxx/image_data_ycbcr601pl_map_nearest_solid_rotate_capi.h \
cxx/image_data_ycbcr601pl_map_solid_rotate.cc \
cxx/image_data_ycbcr601pl_map_solid_rotate_capi.h \
cxx/image_data_ycbcr601pl_wide_stride.cc \
cxx/image_data_ycbcr601pl_wide_stride_capi.h \
cxx/image_map_3d_1.cc \
cxx/image_map_3d_1_capi.h \
cxx/image_map_3d_2.cc \
cxx/image_map_3d_2_capi.h \
cxx/image_map_3d_3.cc \
cxx/image_map_3d_3_capi.h \
cxx/image_map_3d_4.cc \
cxx/image_map_3d_4_capi.h \
cxx/image_map_3d_5.cc \
cxx/image_map_3d_5_capi.h \
cxx/image_map_3d_6.cc \
cxx/image_map_3d_6_capi.h \
cxx/image_map_3d_flow.cc \
cxx/image_map_3d_flow_capi.h \
cxx/image_map_color_alpha_nearest_rotate.cc \
cxx/image_map_color_alpha_nearest_rotate_capi.h \
cxx/image_map_color_alpha_nearest_solid_rotate.cc \
cxx/image_map_color_alpha_nearest_solid_rotate_capi.h \
cxx/image_map_color_alpha_rotate.cc \
cxx/image_map_color_alpha_rotate_capi.h \
cxx/image_map_color_alpha_solid_rotate.cc \
cxx/image_map_color_alpha_solid_rotate_capi.h \
cxx/image_map_color_nearest_rotate.cc \
cxx/image_map_color_nearest_rotate_capi.h \
cxx/image_map_color_nearest_solid_rotate.cc \
cxx/image_map_color_nearest_solid_rotate_capi.h \
cxx/image_map_color_rotate.cc \
cxx/image_map_color_rotate_capi.h \
cxx/image_map_color_solid_rotate.cc \
cxx/image_map_color_solid_rotate_capi.h \
cxx/image_map_nearest_rotate.cc \
cxx/image_map_nearest_rotate_capi.h \
cxx/image_map_nearest_solid_rotate.cc \
cxx/image_map_nearest_solid_rotate_capi.h \
cxx/image_map_rotate.cc \
cxx/image_map_rotate_capi.h \
cxx/image_map_solid_rotate.cc \
cxx/image_map_solid_rotate_capi.h \
cxx/image_quality_scale.cc \
cxx/image_quality_scale_capi.h \
cxx/poly_blend.cc \
cxx/poly_blend_capi.h \
cxx/line_blend.cc \
cxx/line_blend_capi.h \
cxx/proxy_image.cc \
cxx/proxy_image_capi.h \
cxx/proxy_image_offscreen.cc \
cxx/proxy_image_offscreen_capi.h \
cxx/proxy_text_fixed.cc \
cxx/proxy_text_fixed_capi.h \
cxx/proxy_text_random.cc \
cxx/proxy_text_random_capi.h \
cxx/rect_blend.cc \
cxx/rect_blend_capi.h \
cxx/rect_blend_few.cc \
cxx/rect_blend_few_capi.h \
cxx/rect_blend_pow2.cc \
cxx/rect_blend_pow2_capi.h \
cxx/rect_blend_pow2_few.cc \
cxx/rect_blend_pow2_few_capi.h \
cxx/rect_solid.cc \
cxx/rect_solid_capi.h \
cxx/rect_solid_few.cc \
cxx/rect_solid_few_capi.h \
cxx/text_basic.cc \
cxx/text_basic_capi.h \
cxx/text_change.cc \
cxx/text_change_capi.h \
cxx/text_styles.cc \
cxx/text_styles_capi.h \
cxx/text_styles_different_strings.cc \
cxx/text_styles_different_strings_capi.h \
cxx/textblock_auto_align.cc \
cxx/textblock_auto_align_capi.h \
cxx/textblock_basic.cc \
cxx/textblock_basic_capi.h \
cxx/textblock_intl.cc \
cxx/textblock_intl_capi.h \
cxx/textblock_text_append.cc \
cxx/textblock_text_append_capi.h \
cxx/widgets_file_icons.cc \
cxx/widgets_file_icons_2.cc \
cxx/widgets_file_icons_2_capi.h \
cxx/widgets_file_icons_2_grouped.cc \
cxx/widgets_file_icons_2_grouped_capi.h \
cxx/widgets_file_icons_2_same.cc \
cxx/widgets_file_icons_2_same_capi.h \
cxx/widgets_file_icons_2_same_grouped.cc \
cxx/widgets_file_icons_2_same_grouped_capi.h \
cxx/widgets_file_icons_3.cc \
cxx/widgets_file_icons_3_capi.h \
cxx/widgets_file_icons_4.cc \
cxx/widgets_file_icons_4_capi.h \
cxx/widgets_file_icons_capi.h \
cxx/widgets_list_1.cc \
cxx/widgets_list_1_capi.h \
cxx/widgets_list_1_grouped.cc \
cxx/widgets_list_1_grouped_capi.h \
cxx/widgets_list_2.cc \
cxx/widgets_list_2_capi.h \
cxx/widgets_list_2_grouped.cc \
cxx/widgets_list_2_grouped_capi.h \
cxx/widgets_list_3.cc \
cxx/widgets_list_3_capi.h \
cxx/widgets_list_3_grouped.cc \
cxx/widgets_list_3_grouped_capi.h \
cxx/widgets_list_4.cc \
cxx/widgets_list_4_capi.h \
cxx/widgets_list_4_grouped.cc \
cxx/widgets_list_4_grouped_capi.h \
cxx/font_effect_blur_alpha.cc \
cxx/font_effect_blur_alpha_capi.h \
cxx/font_effect_blur_color.cc \
cxx/font_effect_blur_color_capi.h
expedite_SOURCES = \
main.c main.h \
ui.c ui.h \
@ -48,9 +245,9 @@ image_blend_nearest_solid_same_scaled.c \
image_blend_smooth_same_scaled.c \
image_blend_smooth_solid_same_scaled.c \
image_blend_border.c \
image_blend_border_recolor.c \
image_blend_solid_middle_border.c \
image_blend_solid_border.c \
image_blend_border_recolor.c \
image_map_rotate.c \
image_map_solid_rotate.c \
image_map_nearest_rotate.c \
@ -111,7 +308,9 @@ proxy_text_random.c \
line_blend.c \
image_blend_many_smooth_same_scaled.c \
font_effect_blur_alpha.c \
font_effect_blur_color.c
font_effect_blur_color.c \
${cxx_sources}
# \
# image_mask.c \
# image_mask_2.c \
@ -131,7 +330,7 @@ font_effect_blur_color.c
expedite_CFLAGS = @WIN32_CFLAGS@
expedite_CXXFLAGS = @EXPEDITE_CXXFLAGS@
expedite_LDADD = @EFL_LIBS@ @EVIL_LIBS@ -lm
expedite_LDADD = @EFL_LIBS@ @EFL_CXX_LIBS@ @EVIL_LIBS@ -lm
expedite_LDFLAGS = @lt_enable_auto_import@
.rc.lo:

@ -8,7 +8,7 @@ _setup(void)
Evas_Object *o;
Evas_Textblock_Style *st;
o = eo_add(EVAS_TEXTBLOCK_CLASS, evas);
o = eo_add(EVAS_TEXTBLOCK_CLASS, G_evas);
eo_do(o, evas_obj_position_set(10, 40),
evas_obj_size_set(win_w - 20, win_h - 50),
evas_obj_visibility_set(EINA_TRUE));

@ -1,6 +1,14 @@
#ifndef ABOUT_H
#define ABOUT_H
#ifdef __cplusplus
extern "C" {
#endif
void about_start(void);
#ifdef __cplusplus
}
#endif
#endif

@ -0,0 +1,72 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "Eo.h"
#include "Evas.h"
#include "Eo.hh"
#include "Eina.hh"
#include "Evas.hh"
#include "main.h"
#define EXPEDITE_CXX_TEST_IMPL
#include "font_effect_blur_alpha_capi.h"
/* standard var */
static int done = 0;
extern int win_w, win_h;
/* private data */
static evas::text *text;
static const int MAX_BLUR = 100;
/* setup */
static void _setup(void)
{
int w,h;
evas::canvas canvas(::eo_ref(G_evas));
evas::text *o = new evas::text(efl::eo::parent = canvas);
o->evas::object::color_set(0, 0, 0, 255);
o->font_set("Vera-Bold", 80);
o->text_set("Font Effect");
o->visibility_set(true);
o->evas::object::size_get(&w, &h);
o->evas::object::position_set((win_w / 2) - (w / 2) - MAX_BLUR, (win_h / 2) - (h / 2) - MAX_BLUR);
text = o;
done = 0;
}
/* cleanup */
static void _cleanup(void)
{
text->visibility_set(false);
delete text;
}
/* loop - do things */
static void _loop(double t, int f)
{
if (text)
{
char buf[256];
char *str = "padding_set(%d);blur(%d,color=black);";
sprintf(buf, str, MAX_BLUR, ((f % MAX_BLUR) + 1));
text->filter_program_set(buf);
}
FPS_STD(NAME);
}
/* prepend special key handlers if interactive (before STD) */
static void _key(char *key)
{
KEY_STD;
}
extern "C" void FNAME(void)
{
ui_func_set(_key, _loop);
_setup();
}

@ -0,0 +1,30 @@
#ifdef __cplusplus
extern "C" {
#endif
#undef FNAME
#undef NAME
#undef ICON
/* metadata */
#define FNAME font_effect_blur_alpha_cxx_start
#define NAME "(C++) Font Effect Blur (Alpha)"
#define ICON "text.png"
#ifdef UI
_ui_menu_item_add(ICON, NAME, FNAME);
#endif
#ifdef PROTO
void FNAME(void);
#endif
#ifndef EXPEDITE_CXX_TEST_IMPL
#undef FNAME
#undef NAME
#undef ICON
#endif
#ifdef __cplusplus
}
#endif

@ -0,0 +1,72 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "Eo.h"
#include "Evas.h"
#include "Eo.hh"
#include "Eina.hh"
#include "Evas.hh"
#include "main.h"
#define EXPEDITE_CXX_TEST_IMPL
#include "font_effect_blur_color_capi.h"
/* standard var */
static int done = 0;
extern int win_w, win_h;
/* private data */
static evas::text *text;
static const int MAX_BLUR = 100;
/* setup */
static void _setup(void)
{
evas::canvas canvas(::eo_ref(G_evas));
int w, h;
evas::text *o = new evas::text(efl::eo::parent = canvas);
o->evas::object::color_set(0, 0, 0, 255);
o->font_set("Vera-Bold", 80);
o->text_set("Font Effect");
o->visibility_set(true);
o->evas::object::size_get(&w, &h);
o->evas::object::position_set((win_w / 2) - (w / 2) - MAX_BLUR, (win_h / 2) - (h / 2) - MAX_BLUR);
text = o;
done = 0;
}
/* cleanup */
static void _cleanup(void)
{
text->visibility_set(false);
delete text;
}
/* loop - do things */
static void _loop(double t, int f)
{
if (text)
{
char buf[256];
const char *str = "buffer:a(rgba);padding_set(%d);blend(dst=a,color=darkblue);blur(%d,src=a);";
sprintf(buf, str, MAX_BLUR, ((f % MAX_BLUR) + 1));
text->filter_program_set(buf);
}
FPS_STD(NAME);
}
/* prepend special key handlers if interactive (before STD) */
static void _key(char *key)
{
KEY_STD;
}
extern "C" void FNAME(void)
{
ui_func_set(_key, _loop);
_setup();
}

@ -0,0 +1,31 @@
#ifdef __cplusplus
extern "C" {
#endif
#undef FNAME
#undef NAME
#undef ICON
/* metadata */
#define FNAME font_effect_blur_color_cxx_start
#define NAME "(C++) Font Effect Blur (Color)"
#define ICON "text.png"
#ifdef UI
_ui_menu_item_add(ICON, NAME, FNAME);
#endif
#ifdef PROTO
void FNAME(void);
#endif
#ifndef EXPEDITE_CXX_TEST_IMPL
#undef FNAME
#undef NAME
#undef ICON
#endif
#ifdef __cplusplus
}
#endif

@ -0,0 +1,80 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "Eo.h"
#include "Evas.h"
#include "Eo.hh"
#include "Eina.hh"
#include "Evas.hh"
#include "main.h"
#define EXPEDITE_CXX_TEST_IMPL
#include "image_blend_border_capi.h"
static efl::eina::list<evas::image> images;
/* standard var */
static int done = 0;
/* setup */
static void _setup()
{
evas::canvas canvas(::eo_ref(G_evas));
for (int i = 0; i < OBNUM; i++)
{
evas::image o(efl::eo::parent = canvas);
images.push_back(o);
eo_do(o._eo_ptr(), efl_file_set(build_path("bar.png"), NULL)); // XXX
o.border_set(6, 6, 6, 6);
o.visibility_set(true);
}
done = 0;
}
/* cleanup */
static void _cleanup()
{
for (evas::image& i : images)
i.parent_set(efl::eo::base(nullptr));
images.clear();
}
/* loop - do things */
static void _loop(double t, int f)
{
Evas_Coord x, y, w, h, w0, h0;
int i = 0;
for (evas::image& img : images)
{
w0 = 80;
h0 = 80;
w = 5 + ((1.0 + cos((double)(f + (i * 10)) / (7.4 * SLOW) )) * w0 * 2);
h = 5 + ((1.0 + sin((double)(f + (i * 19)) / (12.6 * SLOW) )) * h0 * 2);
x = (win_w / 2) - (w / 2);
x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w0 / 2);
y = (win_h / 2) - (h / 2);
y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h0 / 2);
img.evas::object::position_set(x, y);
img.evas::object::size_set(w, h);
img.fill_set(0, 0, w, h);
++i;
}
FPS_STD(NAME);
}
/* prepend special key handlers if interactive (before STD) */
static void _key(char *key)
{
KEY_STD;
}
extern "C" void FNAME(void)
{
ui_func_set(_key, _loop);
_setup();
}

@ -0,0 +1,32 @@
#ifdef __cplusplus
extern "C" {
#endif
#undef FNAME
#undef NAME
#undef ICON
/* metadata */
#define FNAME image_blend_border_cxx_start
#define NAME "(C++) Image Blend Border (C++)"
#define ICON "blend.png"
#ifdef UI
_ui_menu_item_add(ICON, NAME, FNAME);
#endif
#ifdef PROTO
void FNAME(void);
#endif
#ifndef EXPEDITE_CXX_TEST_IMPL
#undef FNAME
#undef NAME
#undef ICON
#endif
#ifdef __cplusplus
}
#endif

@ -0,0 +1,81 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "Eo.h"
#include "Evas.h"
#include "Eo.hh"
#include "Eina.hh"
#include "Evas.hh"
#include "main.h"
#define EXPEDITE_CXX_TEST_IMPL
#include "image_blend_border_recolor_capi.h"
efl::eina::list<evas::image> images;
/* standard var */
static int done = 0;
/* setup */
static void _setup(void)
{
evas::canvas canvas(::eo_ref(G_evas));
for (int i = 0; i < OBNUM; i++)
{
evas::image o(efl::eo::parent = canvas);
images.push_back(o);
eo_do(o._eo_ptr(), efl_file_set(::build_path("pan.png"), NULL)); // XXX
o.color_set(64, 64, 64, 255);
o.border_set(3, 3, 3, 3);
o.visibility_set(true);
}
done = 0;
}
/* cleanup */
static void _cleanup(void)
{
for (evas::image& i : images)
i.parent_set(efl::eo::base(nullptr));
images.clear();
}
/* loop - do things */
static void _loop(double t, int f)
{
int i = 0;
Evas_Coord x, y, w, h, w0, h0;
for (auto it = images.begin(), end = images.end(); it != end; it++, i++)
{
w0 = 80;
h0 = 80;
w = 5 + ((1.0 + cos((double)(f + (i * 10)) / (7.4 * SLOW) )) * w0 * 2);
h = 5 + ((1.0 + sin((double)(f + (i * 19)) / (12.6 * SLOW) )) * h0 * 2);
x = (win_w / 2) - (w / 2);
x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w0 / 2);
y = (win_h / 2) - (h / 2);
y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h0 / 2);
(*it).position_set(x, y);
(*it).evas::object::size_set(w, h);
(*it).fill_set(0, 0, w, h);
}
FPS_STD(NAME);
}
/* prepend special key handlers if interactive (before STD) */
static void _key(char *key)
{
KEY_STD;
}
extern "C" void FNAME(void)
{
ui_func_set(_key, _loop);
_setup();
}

@ -0,0 +1,32 @@
#ifdef __cplusplus
extern "C" {
#endif
#undef FNAME
#undef NAME
#undef ICON
/* metadata */
#define FNAME image_blend_border_recolor_cxx_start
#define NAME "(C++) Image Blend Border Recolor (C++)"
#define ICON "blend.png"
#ifdef UI
_ui_menu_item_add(ICON, NAME, FNAME);
#endif
#ifdef PROTO
void FNAME(void);
#endif
#ifndef EXPEDITE_CXX_TEST_IMPL
#undef FNAME
#undef NAME
#undef ICON
#endif
#ifdef __cplusplus
}
#endif

@ -0,0 +1,81 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "Eo.h"
#include "Evas.h"
#include "Eo.hh"
#include "Eina.hh"
#include "Evas.hh"
#include "main.h"
#define EXPEDITE_CXX_TEST_IMPL
#include "image_blend_fade_pow2_unscaled_capi.h"
static efl::eina::list<evas::image> images;
/* standard var */
static int done = 0;
/* setup */
static void _setup(void)
{
evas::canvas canvas(::eo_ref(G_evas));