and vtorri's wince support for elementary. god forbid. we support windows! :)

SVN revision: 38214
This commit is contained in:
Carsten Haitzler 2008-12-19 00:34:56 +00:00
parent 56bb7d664a
commit b3aab18f67
12 changed files with 180 additions and 48 deletions

View File

@ -4,6 +4,8 @@ rm -f config.cache
AC_INIT(elementary, 0.1.0.0, enlightenment-devel@lists.sourceforge.net)
AC_PREREQ(2.52)
AC_CONFIG_SRCDIR(configure.in)
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE(1.6 dist-bzip2)
AM_CONFIG_HEADER(elementary_config.h)
@ -28,39 +30,82 @@ VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
AC_SUBST(version_info)
PKG_PROG_PKG_CONFIG
PKG_CHECK_MODULES([ELEMENTARY], [
eina-0
eet
evas
ecore
ecore-evas
ecore-job
ecore-txt
ecore-file
edje
edbus
])
lt_enable_auto_import=""
ELM_UNIX_DEF="#undef"
ELM_WIN32_DEF="#undef"
ELM_WINCE_DEF="#undef"
case "$host_os" in
mingw32* | cegcc*)
PKG_CHECK_MODULES([EVIL], [evil])
AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
dnl needed for correct definition of EAPI
AC_DEFINE(ELEMENTARY_BUILD, 1, [Define to mention that evas is built])
lt_enable_auto_import="-Wl,--enable-auto-import"
ELM_WINCE_DEF="#define"
;;
mingw*)
PKG_CHECK_MODULES([EVIL], [evil])
AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
dnl needed for correct definition of EAPI
AC_DEFINE(ELEMENTARY_BUILD, 1, [Define to mention that evas is built])
lt_enable_auto_import="-Wl,--enable-auto-import"
ELM_WIN32_DEF="#define"
;;
*)
ELM_UNIX_DEF="#define"
;;
esac
AC_SUBST(lt_enable_auto_import)
AC_SUBST(ELM_UNIX_DEF)
AC_SUBST(ELM_WIN32_DEF)
AC_SUBST(ELM_WINCE_DEF)
PKG_CHECK_MODULES([ELEMENTARY],
[
eina-0
eet
evas
ecore
ecore-evas
ecore-job
ecore-txt
ecore-file
edje
]
)
have_elementary_x="no"
PKG_CHECK_MODULES([ELEMENTARY_X], [ecore-x], [
AC_DEFINE(HAVE_ELEMENTARY_X, 1, [X11 support for Elementary])
have_elementary_x="yes"
], [
have_elementary_x="no"
])
AC_SUBST(ELEMENTARY_X_CFLAGS)
AC_SUBST(ELEMENTARY_X_LIBS)
PKG_CHECK_MODULES([ELEMENTARY_X],
[ecore-x],
[
AC_DEFINE(HAVE_ELEMENTARY_X, 1, [X11 support for Elementary])
have_elementary_x="yes"
],
[have_elementary_x="no"]
)
have_elementary_fb="no"
PKG_CHECK_MODULES([ELEMENTARY_FB], [ecore-fb], [
AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary])
have_elementary_fb="yes"
], [
have_elementary_fb="no"
])
PKG_CHECK_MODULES([ELEMENTARY_FB],
[ecore-fb],
[
AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary])
have_elementary_fb="yes"
],
[have_elementary_fb="no"]
)
have_elementary_wince="no"
PKG_CHECK_MODULES([ELEMENTARY_WINCE],
[ecore-wince],
[
AC_DEFINE(HAVE_ELEMENTARY_WINCE, 1, [Windows CE support for Elementary])
have_elementary_wince="yes"
],
[have_elementary_wince="no"]
)
my_libs="-lm"
AC_SUBST(my_libs)
@ -70,6 +115,7 @@ Makefile
elementary.pc
src/Makefile
src/lib/Makefile
src/lib/Elementary.h
src/bin/Makefile
data/Makefile
data/themes/Makefile
@ -93,6 +139,7 @@ echo
echo "Engines:"
echo " X11...........: ${have_elementary_x}"
echo " Framebuffer...: ${have_elementary_fb}"
echo " Windows CE....: ${have_elementary_wince}"
echo
echo "------------------------------------------------------------------------"
echo

View File

@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = 1.4 foreign
MAINTAINERCLEANFILES = Makefile.in
EDJE_CC = edje_cc
EDJE_FLAGS = -v -id $(top_srcdir)/data -fd $(top_srcdir)/data
EDJE_FLAGS = -v -id $(top_srcdir)/data/objects -fd $(top_srcdir)/data/objects
filesdir = $(datadir)/elementary/objects

View File

@ -68,6 +68,25 @@ outdent-bottom.png \
updown.png \
leftright.png \
hoversel_entry_bg.png \
cur_box.png \
cur_hi.png \
cur_shad.png \
cur_shine.png \
cur_glow.png \
bubble_3.png \
bubble_shine3.png \
bubble_4.png \
bubble_shine4.png \
bubble_1.png \
bubble_shine.png \
bubble_2.png \
icon_home.png \
icon_close.png \
icon_apps.png \
icon_arrow_up.png \
icon_arrow_down.png \
icon_arrow_left.png \
icon_arrow_right.png \
bt_dis_shine.png \
icon_left_arrow.png \
icon_right_arrow.png \

View File

@ -8,5 +8,5 @@ Description: Mobile device touchscreen widget library
Requires: evas ecore ecore-x ecore-evas ecore-job ecore-txt ecore-file eet edje
Version: @VERSION@
Libs: -L${libdir} -lelementary
Libs.private: @my_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@
Cflags: -I${includedir} -I${includedir}/elementary @ELEMENTARY_CFLAGS@ @ELEMENTARY_X_CFLAGS@ @ELEMENTARY_FB_CFLAGS@
Libs.private: @my_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WINCE_LIBS@
Cflags: -I${includedir} -I${includedir}/elementary @ELEMENTARY_CFLAGS@ @ELEMENTARY_X_CFLAGS@ @ELEMENTARY_FB_CFLAGS@ @ELEMENTARY_WINCE_CFLAGS@

View File

@ -7,11 +7,13 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib \
-I$(top_srcdir)/src/bin \
-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
@ELEMENTARY_CFLAGS@ @ELEMENTARY_X_CFLAGS@ @ELEMENTARY_FB_CFLAGS@
@ELEMENTARY_CFLAGS@ \
@ELEMENTARY_X_CFLAGS@ \
@ELEMENTARY_FB_CFLAGS@ \
@ELEMENTARY_WINCE_CFLAGS@
bin_PROGRAMS = elementary_test
elementary_test_SOURCES = test.c
elementary_test_LDADD = $(top_builddir)/src/lib/libelementary.la
elementary_test_LDFLAGS =
elementary_test_DEPENDENCIES = $(top_builddir)/src/lib/libelementary.la

View File

@ -16,6 +16,10 @@
*
*/
@ELM_UNIX_DEF@ ELM_UNIX
@ELM_WIN32_DEF@ ELM_WIN32
@ELM_WINCE_DEF@ ELM_WINCE
/* Standard headers for standard system calls etc. */
#include <stdio.h>
#include <stdlib.h>
@ -51,6 +55,34 @@
#include <Ecore_File.h>
#include <Edje.h>
#ifdef EAPI
# undef EAPI
#endif
#ifdef _WIN32
# ifdef ELEMENTARY_BUILD
# ifdef DLL_EXPORT
# define EAPI __declspec(dllexport)
# else
# define EAPI
# endif /* ! DLL_EXPORT */
# else
# define EAPI __declspec(dllimport)
# endif /* ! EFL_EVAS_BUILD */
#else
# ifdef __GNUC__
# if __GNUC__ >= 4
# define EAPI __attribute__ ((visibility("default")))
# else
# define EAPI
# endif
# else
# define EAPI
# endif
#endif /* ! _WIN32 */
/* allow usage from c++ */
#ifdef __cplusplus
extern "C" {
@ -315,8 +347,8 @@ extern "C" {
typedef enum _Elm_Icon_Type
{
ELM_ICON_NONE,
ELM_ICON_FILE,
ELM_ICON_STANDARD
ELM_ICON_FILE,
ELM_ICON_STANDARD
} Elm_Icon_Type;
typedef struct _Elm_Hoversel_Item Elm_Hoversel_Item;
EAPI Evas_Object *elm_hoversel_add(Evas_Object *parent);
@ -326,13 +358,17 @@ extern "C" {
EAPI void elm_hoversel_hover_end(Evas_Object *obj);
EAPI Elm_Hoversel_Item *elm_hoversel_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data);
EAPI void elm_hoversel_item_del(Elm_Hoversel_Item *item);
/* smart callbacks called:
*/
typedef struct _Elm_Toolbar_Item Elm_Toolbar_Item;
EAPI Evas_Object *elm_toolbar_add(Evas_Object *parent);
EAPI Elm_Toolbar_Item *elm_toolbar_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data);
EAPI void elm_toolbar_item_del(Elm_Toolbar_Item *item);
EAPI void elm_toolbar_item_select(Elm_Toolbar_Item *item);
EAPI void elm_toolbar_scrollable_set(Evas_Object *obj, Evas_Bool scrollable);
/* smart callbacks called:
*/
////////////////////////////////////////////////////////////////////////////
/// FIXME: TODO LIST ///////////////////////////////////////////////////////

View File

@ -7,7 +7,10 @@ AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/src/lib \
-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
@ELEMENTARY_CFLAGS@ @ELEMENTARY_X_CFLAGS@ @ELEMENTARY_FB_CFLAGS@
@ELEMENTARY_CFLAGS@ \
@ELEMENTARY_X_CFLAGS@ \
@ELEMENTARY_FB_CFLAGS@ \
@ELEMENTARY_WINCE_CFLAGS@
lib_LTLIBRARIES = libelementary.la
@ -54,11 +57,6 @@ els_icon.c \
els_icon.h
libelementary_la_CFLAGS =
libelementary_la_LIBADD = @my_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@
libelementary_la_LDFLAGS = -version-info @version_info@
libelementary_la_DEPENDENCIES = $(top_builddir)/elementary_config.h
clean-local:
@rm -rf *.gcno
libelementary_la_CFLAGS =
libelementary_la_LIBADD = @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WINCE_LIBS@ @my_libs@
libelementary_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@

View File

@ -1,3 +1,5 @@
#include <string.h>
#include <Elementary.h>
#include "elm_priv.h"

View File

@ -1,3 +1,11 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#ifdef HAVE_EVIL
# include <Evil.h>
#endif
#include <Elementary.h>
#include "elm_priv.h"
@ -107,6 +115,10 @@ elm_init(int argc, char **argv)
(!strcasecmp(elm_engine, "opengl-x11")) ||
(!strcasecmp(elm_engine, "opengl_x11")))
_elm_config->engine = ELM_OPENGL_X11;
else if ((!strcasecmp(elm_engine, "wince-fb")) ||
(!strcasecmp(elm_engine, "software-16-wince-fb")) ||
(!strcasecmp(elm_engine, "software_16_wince_fb")))
_elm_config->engine = ELM_SOFTWARE_16_WINCE;
}
_elm_config->thumbscroll_enable = 1;
@ -121,7 +133,8 @@ elm_init(int argc, char **argv)
if ((_elm_config->engine == ELM_SOFTWARE_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11))
(_elm_config->engine == ELM_OPENGL_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_WINCE))
{
#ifdef HAVE_ELEMENTARY_X
int val = 1000;
@ -179,7 +192,8 @@ elm_shutdown(void)
if ((_elm_config->engine == ELM_SOFTWARE_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11))
(_elm_config->engine == ELM_OPENGL_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_WINCE))
{
#ifdef HAVE_ELEMENTARY_X
ecore_event_handler_del(_elm_event_property_change);

View File

@ -1,7 +1,9 @@
#ifndef ELM_PRIV_H
#define ELM_PRIV_H
#include "elementary_config.h"
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#ifdef HAVE_ELEMENTARY_X
#include <Ecore_X.h>
@ -9,6 +11,9 @@
#ifdef HAVE_ELEMENTARY_FB
#include <Ecore_Fb.h>
#endif
#ifdef HAVE_ELEMENTARY_WINCE
/* #include <Ecore_WinCE.h> */
#endif
#ifdef HAVE_ALLOCA_H
#include <alloca.h>
#endif
@ -27,7 +32,8 @@ typedef enum _Elm_Engine
ELM_SOFTWARE_FB,
ELM_SOFTWARE_16_X11,
ELM_XRENDER_X11,
ELM_OPENGL_X11
ELM_OPENGL_X11,
ELM_SOFTWARE_16_WINCE
} Elm_Engine;
typedef struct _Elm_Config Elm_Config;

View File

@ -83,6 +83,7 @@ _elm_win_obj_intercept_resize(void *data, Evas_Object *obj, Evas_Coord w, Evas_C
switch (_elm_config->engine)
{
case ELM_SOFTWARE_FB:
case ELM_SOFTWARE_16_WINCE:
break;
case ELM_SOFTWARE_X11:
case ELM_SOFTWARE_16_X11:
@ -245,6 +246,7 @@ _elm_win_xwindow_get(Elm_Win *win)
if (win->ee) win->xwin = ecore_evas_software_x11_window_get(win->ee);
break;
case ELM_SOFTWARE_FB:
case ELM_SOFTWARE_16_WINCE:
break;
case ELM_SOFTWARE_16_X11:
if (win->ee) win->xwin = ecore_evas_software_x11_16_window_get(win->ee);
@ -393,6 +395,9 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
case ELM_OPENGL_X11:
win->ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 1, 1);
break;
case ELM_SOFTWARE_16_WINCE:
win->ee = ecore_evas_software_wince_fb_new(NULL, 0, 0, 1, 1);
break;
default:
break;
}
@ -454,6 +459,7 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
switch (_elm_config->engine)
{
case ELM_SOFTWARE_16_WINCE:
case ELM_SOFTWARE_FB:
ecore_evas_fullscreen_set(win->ee, 1);
break;

View File

@ -1,3 +1,5 @@
#include <string.h>
#include <Elementary.h>
#include "elm_priv.h"