evas: remove Evas Quartz backend.

SVN revision: 58358
devs/devilhorns/wayland_egl
Cedric BAIL 12 years ago
parent 442654b1ec
commit ad5a2f59c6
  1. 4
      legacy/evas/ChangeLog
  2. 4
      legacy/evas/Makefile.am
  3. 5
      legacy/evas/README.in
  4. 7
      legacy/evas/configure.ac
  5. 3
      legacy/evas/evas-quartz.pc.in
  6. 19
      legacy/evas/evas.spec.in
  7. 40
      legacy/evas/m4/evas_check_engine.m4
  8. 5
      legacy/evas/src/lib/Makefile.am
  9. 4
      legacy/evas/src/lib/file/evas_module.c
  10. 3
      legacy/evas/src/modules/engines/Makefile.am
  11. 25
      legacy/evas/src/modules/engines/quartz/Evas_Engine_Quartz.h
  12. 43
      legacy/evas/src/modules/engines/quartz/Makefile.am
  13. 32
      legacy/evas/src/modules/engines/quartz/README
  14. 1353
      legacy/evas/src/modules/engines/quartz/evas_engine.c
  15. 87
      legacy/evas/src/modules/engines/quartz/evas_engine.h
  16. 91
      legacy/evas/src/modules/engines/quartz/evas_quartz_private.h

@ -208,3 +208,7 @@
* Added Evas OpenGL interface to be able to get an OpenGL API for
rendering to image objects. This is the beginning so not
totally functional yet.
2011-04-05 Cedric Bail
* Remove Evas Quartz backend.

@ -93,10 +93,6 @@ if BUILD_ENGINE_GL_SDL
pkgconfig_DATA += evas-opengl-sdl.pc
endif
if BUILD_ENGINE_QUARTZ
pkgconfig_DATA += evas-quartz.pc
endif
if BUILD_ENGINE_GL_GLEW
pkgconfig_DATA += evas-opengl-glew.pc
endif

@ -352,11 +352,6 @@ windows direct-draw engine for evas
evas direct3d engine (experimental)
--enable-quartz[=static]
macos-x quartz engine (experimental)
--enable-gl-glew[=static]
opengl glew based gl engine for evas (experimental)

@ -103,7 +103,6 @@ want_evas_engine_xrender_xcb="no"
want_evas_engine_software_gdi="no"
want_evas_engine_software_ddraw="no"
want_evas_engine_direct3d="no"
want_evas_engine_quartz="no"
want_evas_engine_gl_glew="no"
want_evas_engine_software_sdl="no"
want_evas_engine_fb="no"
@ -149,7 +148,6 @@ case "$host_os" in
;;
darwin*)
want_evas_engine_software_xlib="auto"
want_evas_engine_quartz="auto"
;;
*)
want_evas_engine_software_xlib="auto"
@ -600,8 +598,6 @@ EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no],
EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
@ -1545,7 +1541,6 @@ evas-fb.pc
evas-opengl-glew.pc
evas-opengl-x11.pc
evas-opengl-sdl.pc
evas-quartz.pc
evas-software-buffer.pc
evas-software-x11.pc
evas-software-8-x11.pc
@ -1593,7 +1588,6 @@ src/modules/engines/gl_common/Makefile
src/modules/engines/gl_glew/Makefile
src/modules/engines/gl_x11/Makefile
src/modules/engines/gl_sdl/Makefile
src/modules/engines/quartz/Makefile
src/modules/engines/xrender_x11/Makefile
src/modules/engines/software_sdl/Makefile
src/modules/engines/software_8/Makefile
@ -1686,7 +1680,6 @@ dnl echo " Cairo X11..................: $have_evas_engine_cairo_x11"
echo " Software GDI...............: $have_evas_engine_software_gdi"
echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
echo " Direct3d...................: $have_evas_engine_direct3d"
echo " Quartz.....................: $have_evas_engine_quartz"
echo " OpenGL Glew................: $have_evas_engine_gl_glew"
echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"

@ -1,3 +0,0 @@
Name: evas-quartz
Description: Evas Quartz engine
Version: @VERSION@

@ -19,7 +19,6 @@
%bcond_with module_saver_edb
%bcond_with module_engine_directfb
%bcond_with module_engine_gl_x11
%bcond_with module_engine_quartz
%bcond_with module_engine_software_qtopia
%bcond_with module_engine_software_16_x11
%bcond_with module_engine_software_sdl
@ -75,7 +74,6 @@
%define ac_with_module_engine_fb --%{?with_module_engine_fb:en}%{!?with_module_engine_fb:dis}able-fb
%define ac_with_module_engine_xrender_x11 --%{?with_module_engine_xrender_x11:en}%{!?with_module_engine_xrender_x11:dis}able-xrender-x11
%define ac_with_module_engine_gl_x11 --%{?with_module_engine_gl_x11:en}%{!?with_module_engine_gl_x11:dis}able-gl-x11
%define ac_with_module_engine_quartz --%{?with_module_engine_quartz:en}%{!?with_module_engine_quartz:dis}able-quartz
%define ac_with_module_engine_directfb --%{?with_module_engine_directfb:en}%{!?with_module_engine_directfb:dis}able-directfb
%define ac_with_module_engine_software_16_x11 --%{?with_module_engine_software_16_x11:en}%{!?with_module_engine_software_16_x11:dis}able-software-16-x11
%define ac_with_module_engine_software_qtopia --%{?with_module_engine_software_qtopia:en}%{!?with_module_engine_software_qtopia:dis}able-software-qtopia
@ -327,16 +325,6 @@ Requires: evas
OpenGL under X11 rendering engine module for Evas
%endif
%if %{with module_engine_quartz}
%package module_engine_quartz
Summary: Quartz rendering engine module for Evas
Group: System Environment/Libraries
#BuildSuggests:
Requires: evas
%description module_engine_quartz
Quartz rendering engine module for Evas
%endif
%if %{with module_engine_directfb}
%package module_engine_directfb
Summary: Directfb rendering engine module for Evas
@ -426,7 +414,6 @@ Xrender XCB X11 rendering engine module for Evas
%{?ac_with_module_engine_fb} \
%{?ac_with_module_engine_xrender_x11} \
%{?ac_with_module_engine_gl_x11} \
%{?ac_with_module_engine_quartz} \
%{?ac_with_module_engine_directfb} \
%{?ac_with_module_engine_software_qtopia} \
%{?ac_with_module_engine_software_16_x11} \
@ -600,12 +587,6 @@ test "x$RPM_BUILD_ROOT" != "x/" && rm -rf $RPM_BUILD_ROOT
%{_libdir}/evas/modules/engines/gl_x11/*/module.so
%endif
%if %{with module_engine_quartz}
%files module_engine_quartz
%defattr(-, root, root)
%{_libdir}/evas/modules/engines/quartz/*/module.so
%endif
%if %{with module_engine_directfb}
%files module_engine_directfb
%defattr(-, root, root)

@ -422,46 +422,6 @@ fi
])
dnl use: EVAS_CHECK_ENGINE_DEP_QUARTZ(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
AC_DEFUN([EVAS_CHECK_ENGINE_DEP_QUARTZ],
[
have_dep="no"
evas_engine_[]$1[]_cflags=""
evas_engine_[]$1[]_libs=""
AC_REQUIRE([EVAS_MAYBE_GET_OBJCPP])
AS_IF([test "x${rw_cv_prog_objc_works}" = "xyes"],
[
m4_ifdef([AC_PROG_OBJC], [AC_LANG_PUSH([Objective C])])
AC_CHECK_HEADER([/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h], [
have_dep="yes"
evas_engine_[]$1[]_libs="-framework Cocoa"
],[
have_dep="no"
])
m4_ifdef([AC_PROG_OBJC], [AC_LANG_POP([Objective C])], [:])])
AC_SUBST([evas_engine_$1_cflags])
AC_SUBST([evas_engine_$1_libs])
if test "x${have_dep}" = "xyes" ; then
m4_default([$4], [:])
else
m4_default([$5], [:])
fi
])
dnl Helper macro for EVAS_CHECK_ENGINE_DEP_QUARTZ
AC_DEFUN([EVAS_MAYBE_GET_OBJCPP],
[AS_IF([test "x${rw_cv_prog_objc_works}" = "xyes"],
[m4_ifdef([AC_PROG_OBJC], [AC_PROG_OBJCPP], [:])])
])
dnl use: EVAS_CHECK_ENGINE_DEP_GL_GLEW(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
AC_DEFUN([EVAS_CHECK_ENGINE_DEP_GL_GLEW],

@ -51,11 +51,6 @@ EVAS_STATIC_MODULE += \
../modules/engines/gl_sdl/libevas_engine_gl_sdl.la
EVAS_STATIC_LIBADD += @evas_engine_gl_common_libs@ @evas_engine_gl_sdl_libs@
endif
if EVAS_STATIC_BUILD_QUARTZ
SUBDIRS += ../modules/engines/quartz/
EVAS_STATIC_MODULE += ../modules/engines/quartz/libevas_engine_quartz.la
EVAS_STATIC_LIBADD += @evas_engine_quartz_libs@
endif
if EVAS_STATIC_BUILD_SOFTWARE_16
SUBDIRS += ../modules/engines/software_16/
EVAS_STATIC_MODULE += ../modules/engines/software_16/libevas_engine_software_16.la

@ -98,7 +98,6 @@ EVAS_EINA_STATIC_MODULE_DEFINE(engine, fb);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, gl_glew);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, gl_x11);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, gl_sdl);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, quartz);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_ddraw);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_sdl);
@ -160,9 +159,6 @@ static const struct {
#ifdef EVAS_STATIC_BUILD_GL_SDL
EVAS_EINA_STATIC_MODULE_USE(engine, gl_sdl),
#endif
#ifdef EVAS_STATIC_BUILD_QUARTZ
EVAS_EINA_STATIC_MODULE_USE(engine, quartz),
#endif
#ifdef EVAS_STATIC_BUILD_SOFTWARE_16
EVAS_EINA_STATIC_MODULE_USE(engine, software_16),
#endif

@ -31,9 +31,6 @@ if !EVAS_STATIC_BUILD_GL_SDL
SUBDIRS += gl_sdl
endif
if !EVAS_STATIC_BUILD_QUARTZ
SUBDIRS += quartz
endif
if !EVAS_STATIC_BUILD_SOFTWARE_8
SUBDIRS += software_8
endif

@ -1,25 +0,0 @@
#ifndef _EVAS_ENGINE_QUARTZ_H
#define _EVAS_ENGINE_QUARTZ_H
#include <ApplicationServices/ApplicationServices.h>
typedef struct _Evas_Engine_Info_Quartz Evas_Engine_Info_Quartz;
struct _Evas_Engine_Info_Quartz
{
/* PRIVATE - don't mess with this baby or evas will poke its tongue out */
/* at you and make nasty noises */
Evas_Engine_Info magic;
/* engine specific data & parameters it needs to set up */
struct {
CGContextRef context;
} info;
/* non-blocking or blocking mode */
Evas_Engine_Render_Mode render_mode;
};
#endif

@ -1,43 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
AM_CPPFLAGS = \
-I. \
-I$(top_srcdir)/src/lib \
-I$(top_srcdir)/src/lib/include \
@evas_engine_quartz_cflags@ \
@FREETYPE_CFLAGS@ \
@EINA_CFLAGS@
if BUILD_ENGINE_QUARTZ
QUARTZ_SOURCES = evas_engine.c
QUARTZ_LIBADD = @evas_engine_quartz_libs@
includes_HEADERS = Evas_Engine_Quartz.h
includesdir = $(includedir)/evas-@VMAJ@
if !EVAS_STATIC_BUILD_QUARTZ
pkgdir = $(libdir)/evas/modules/engines/quartz/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
module_la_SOURCES = $(QUARTZ_SOURCES)
module_la_LIBADD = @EINA_LIBS@ $(QUARTZ_LIBADD) $(top_builddir)/src/lib/libevas.la
module_la_LDFLAGS = -module -avoid-version
module_la_LIBTOOLFLAGS = --tag=disable-static
else
noinst_LTLIBRARIES = libevas_engine_quartz.la
libevas_engine_quartz_la_SOURCES = $(QUARTZ_SOURCES)
libevas_engine_quartz_la_LIBADD = $(QUARTZ_LIBADD)
endif
endif
EXTRA_DIST = \
evas_engine.h \
evas_quartz_private.h

@ -1,32 +0,0 @@
================
==INSTALLATION==
================
Here's what I had to do to get Evas_Quartz working on a fresh install of Mac OS X Leopard (Evas_Quartz is currently not versions prior to 10.5):
1) Install all system software updates.
2) Install the XCode developer tools (this includes GCC).
3) Install macports.
4) Put /opt/local/bin in your path, permanently. (I put it in front of everything else, because the newer versions of autotools provided by ports are required to build evas)
5) With macports, install the following: m4, autoconf, automake, libtool, pkgconfig, zlib, libpng, jpeg, freetype, tiff.
6) Check out a version of Evas that includes Evas_Quartz (from CVS).
7) Set up your environment. You need to, at the very least, set:
CFLAGS=-I/opt/local/include
LDFLAGS=-L/opt/local/lib
8) Build and install eet.
9) Build and install evas. Make sure to use --enable-quartz when configuring!
==============
==KNOWN BUGS==
==============
**** A few different types of gradients don't currently draw.
** Textbox drawing is a little bit off (because of hardcoded constants that shouldn't exist).

File diff suppressed because it is too large Load Diff

@ -1,87 +0,0 @@
#ifndef EVAS_ENGINE_H
#define EVAS_ENGINE_H
#include <ApplicationServices/ApplicationServices.h>
/* log domain variable declared in evas_engine.c */
extern int _evas_engine_quartz_log_dom ;
#ifdef ERR
# undef ERR
#endif
#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_quartz_log_dom, __VA_ARGS__)
#ifdef DBG
# undef DBG
#endif
#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_quartz_log_dom, __VA_ARGS__)
#ifdef INF
# undef INF
#endif
#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_quartz_log_dom, __VA_ARGS__)
#ifdef WRN
# undef WRN
#endif
#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_quartz_log_dom, __VA_ARGS__)
#ifdef CRIT
# undef CRIT
#endif
#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_quartz_log_dom, __VA_ARGS__)
typedef struct _Evas_Quartz_Context Evas_Quartz_Context;
struct _Evas_Quartz_Context
{
int w, h;
struct
{
double r, g, b, a;
} col;
struct
{
double r, g, b, a;
int set : 1;
} mul;
unsigned char aa, clipped;
};
typedef struct _Evas_Quartz_Polygon Evas_Quartz_Polygon;
struct _Evas_Quartz_Polygon
{
Eina_List *points;
};
typedef struct _Evas_Quartz_Polygon_Point Evas_Quartz_Polygon_Point;
struct _Evas_Quartz_Polygon_Point
{
int x, y;
};
typedef struct _Evas_Quartz_Image Evas_Quartz_Image;
struct _Evas_Quartz_Image
{
RGBA_Image *im;
CGImageRef cgim;
int references;
};
typedef struct _Evas_Quartz_Font Evas_Quartz_Font;
struct _Evas_Quartz_Font
{
CTFontRef font;
CFDictionaryRef attr;
int hint;
int size;
};
#endif

@ -1,91 +0,0 @@
#ifndef _EVAS_QUARTZ_PRIVATE_H_
#define _EVAS_QUARTZ_PRIVATE_H_
#include "evas_common.h"/* Also includes international specific stuff */
#include "evas_engine.h"
CG_EXTERN void CGContextResetClip (CGContextRef); // undocumented CoreGraphics function to clear clip rect
static inline void flip_pixels(int *y, int *h, void *re);
static void *eng_info(Evas *e);
static void eng_info_free(Evas *e, void *info);
static void *eng_output_setup(CGContextRef context, int w, int h);
static int eng_setup(Evas *e, void *in);
static void eng_output_free(void *data);
static void eng_output_resize(void *data, int w, int h);
static void eng_output_redraws_rect_add(void *data, int x, int y, int w, int h);
static void eng_output_redraws_rect_del(void *data, int x, int y, int w, int h);
static void eng_output_redraws_clear(void *data);
static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
static void eng_output_flush(void *data);
static void *eng_context_new(void *data);
static void eng_context_free(void *data, void *context);
static void eng_context_clip_set(void *data, void *context, int x, int y, int w, int h);
static void eng_context_clip_unset(void *data, void *context);
static int eng_context_clip_get(void *data, void *context, int *x, int *y, int *w, int *h);
static void eng_context_color_set(void *data, void *context, int r, int g, int b, int a);
static int eng_context_color_get(void *data, void *context, int *r, int *g, int *b, int *a);
static void eng_context_multiplier_set(void *data, void *context, int r, int g, int b, int a);
static void eng_context_multiplier_unset(void *data, void *context);
static int eng_context_multiplier_get(void *data, void *context, int *r, int *g, int *b, int *a);
static void eng_context_cutout_add(void *data, void *context, int x, int y, int w, int h);
static void eng_context_cutout_clear(void *data, void *context);
static void eng_context_anti_alias_set(void *data, void *context, unsigned char aa);
static unsigned char eng_context_anti_alias_get(void *data, void *context);
static void eng_rectangle_draw(void *data, void *context, void *surface, int x, int y, int w, int h);
static void eng_line_draw(void *data, void *context, void *surface, int x1, int y1, int x2, int y2);
static void *eng_polygon_point_add(void *data, void *context, void *polygon, int x, int y);
static void *eng_polygon_points_clear(void *data, void *context, void *polygon);
static void eng_polygon_draw(void *data, void *context, void *surface, void *polygon);
static void *eng_image_load(void *data, const char *file, const char *key, int *error, Evas_Image_Load_Opts *lo);
static void *eng_image_new_from_data(void *data, int w, int h, DATA32 *image_data, int alpha, int cspace);
static void *eng_image_new_from_copied_data(void *data, int w, int h, DATA32 *image_data, int alpha, int cspace);
static void eng_image_free(void *data, void *image);
static void eng_image_size_get(void *data, void *image, int *w, int *h);
static void *eng_image_dirty_region(void *data, void *image, int x, int y, int w, int h);
static void *eng_image_alpha_set(void *data, void *image, int has_alpha);
static int eng_image_alpha_get(void *data, void *image);
static char *eng_image_comment_get(void *data, void *image, char *key);
static char *eng_image_format_get(void *data, void *image);
static void eng_image_colorspace_set(void *data, void *image, int cspace);
static int eng_image_colorspace_get(void *data, void *image);
static void eng_image_native_set(void *data, void *image, void *native);
static void *eng_image_native_get(void *data, void *image);
static void *eng_image_data_get(void *data, void *image, int to_write, DATA32 **image_data);
static void *eng_image_data_put(void *data, void *image, DATA32 *image_data);
static void *eng_image_size_set(void *data, void *image, int w, int h);
static void eng_image_draw(void *data, void *context, void *surface, void *image, int src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, int dst_w, int dst_h, int smooth);
static void *eng_font_add(void *data, void *font, const char *name, int size);
static Evas_Quartz_Font *quartz_font_from_ats(ATSFontContainerRef container, int size);
static void *eng_font_load(void *data, const char *name, int size);
static void *eng_font_memory_load(void *data, char *name, int size, const void *fdata, int fdata_size);
static void eng_font_free(void *data, void *font);
static int eng_font_ascent_get(void *data, void *font);
static int eng_font_descent_get(void *data, void *font);
static int eng_font_max_ascent_get(void *data, void *font);
static int eng_font_max_descent_get(void *data, void *font);
static void eng_font_string_size_get(void *data, void *font, const char *text, const Evas_Text_Props *intl_props, int *w, int *h);
static int eng_font_inset_get(void *data, void *font, const Evas_Text_Props *intl_props);
static int eng_font_right_inset_get(void *data, void *font, const Evas_Text_Props *intl_props);
static int eng_font_h_advance_get(void *data, void *font, const char *text, const Evas_Text_Props *intl_props);
static int eng_font_v_advance_get(void *data, void *font, const char *text, const Evas_Text_Props *intl_props);
static int eng_font_char_coords_get(void *data, void *font, const char *text, const Evas_Text_Props *intl_props, int pos, int *cx, int *cy, int *cw, int *ch);
static int eng_font_pen_coords_get(void *data, void *font, const char *text, const Evas_Text_Props *intl_props, int pos, int *cpen_x, int *cy, int *cadv, int *ch);
static Eina_Bool eng_font_text_props_info_create(void *data __UNUSED__, void *font, Eina_Unicode *text, Evas_Text_Props *intl_props, const Evas_BiDi_Paragraph_Props *par_props, size_t pos, size_t len);
static int eng_font_char_at_coords_get(void *data, void *font, const char *text, const Evas_Text_Props *intl_props, int x, int y, int *cx, int *cy, int *cw, int *ch);
static void eng_font_draw(void *data, void *context, void *surface, void *font, int x, int y, int w, int h, int ow, int oh, const char *text, const Evas_Text_Props *intl_props);
static void eng_font_hinting_set(void *data, void *font, int hinting);
static int eng_font_hinting_can_hint(void *data, int hinting);
#endif /* _EVAS_QUARTZ_PRIVATE_H_ */
Loading…
Cancel
Save