+++ /dev/null
-Makefile
-Makefile.in
-aclocal.m4
-autom4te.cache
-config.guess
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-depcomp
-install-sh
-libtool
-ltmain.sh
-missing
-stamp-h1
-compile
+++ /dev/null
-dnl Process this file with autoconf to produce a configure script.
-
-# get rid of that stupid cache mechanism
-rm -f config.cache
-
-AC_INIT(expedite, 0.6.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(config.h)
-
-AC_ISC_POSIX
-AC_PROG_CXX
-AC_PROG_CC
-AM_PROG_CC_STDC
-AC_HEADER_STDC
-AC_C_CONST
-AM_PROG_CC_C_O
-
-WIN32_CFLAGS=""
-lt_enable_auto_import=""
-case "$host_os" in
- cegcc)
- WIN32_CFLAGS="-mwin32"
- lt_enable_auto_import="-Wl,--enable-auto-import"
- ;;
-esac
-AC_SUBST(WIN32_CFLAGS)
-AC_SUBST(lt_enable_auto_import)
-
-PKG_CHECK_MODULES([EVAS], evas)
-
-#######################################
-## Simple X11 build/link
-
-AC_ARG_ENABLE(simple-x11,
- AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
- [ want_evas_simple_x11=$enableval ]
-)
-
-### Software X11
-EXPEDITE_CHECK_ENGINE([software-x11], [Software X11], "yes")
-
-### XRender X11
-EXPEDITE_CHECK_ENGINE([xrender-x11], [XRender X11], "yes")
-
-### OpenGL X11
-EXPEDITE_CHECK_ENGINE([opengl-x11], [OpenGL X11], "yes")
-
-### Software XCB
-EXPEDITE_CHECK_ENGINE([software-xcb], [Software XCB], "yes")
-
-# TODO: Check availability of libs
-### DirectDraw
-EXPEDITE_CHECK_ENGINE([software-ddraw], [Software DirectDraw], "yes", [ddraw_libs="-lddraw -ldxguid"])
-
-# TODO: Check availability of libs
-### Direct3D
-EXPEDITE_CHECK_ENGINE([direct3d], [Direct3D], "yes", [d3d_libs="-ld3d9 -ld3dx9d"])
-
-### OpenGL GLEW
-EXPEDITE_CHECK_ENGINE([opengl-glew], [OpenGL Glew], "yes", [glew_libs="-lglew32 -lgdi32"])
-
-### Software SDL
-EXPEDITE_CHECK_ENGINE([software-sdl], [Software SDL], "yes")
-
-### FB
-EXPEDITE_CHECK_ENGINE([fb], [Framebuffer], "yes")
-
-### DIRECTFB
-EXPEDITE_CHECK_ENGINE([directfb], [DirectFB], "yes")
-
-### Software 16bit X11
-EXPEDITE_CHECK_ENGINE([software-16-x11], [Software 16 bits X11], "yes")
-
-# TODO: Check availability of libs
-### 16bit DirectDraw
-EXPEDITE_CHECK_ENGINE([software-16-ddraw], [Software 16 bits DirectDraw], "yes", [ddraw_libs="-lddraw -ldxguid"])
-
-# TODO: Check availability of libs
-### 16bit WinCE
-EXPEDITE_CHECK_ENGINE([software-16-wince], [Software 16 bits WinCE], "yes", [wince_16_libs="-laygshell"])
-
-if test "x$have_software_x11" = "xyes" -o "x$have_software_16_x11" = "xyes" -o "x$have_xrender_x11" = "xyes" -o "x$have_opengl_x11" = "xyes"; then
- AC_PATH_XTRA
- AC_CHECK_HEADERS(X11/Xlib.h X11/Xutil.h,
- [ have_x11="yes" ],
- [ have_x11="no" ])
- if test "x$want_evas_simple_x11" = "xyes"; then
- x_libs="${x_libs} -lX11 -lXext"
- else
- x_dir=${x_dir:-/usr/X11R6}
- x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
- x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
- fi
-fi
-AM_CONDITIONAL(BUILD_X11, test "x$have_x11" = "xyes")
-
-if test "x$have_software_xcb" = "xyes"; then
- PKG_CHECK_MODULES([XCB], xcb xcb-keysyms,
- [ have_software_xcb="yes" ],
- [ have_software_xcb="no" ])
-fi
-AM_CONDITIONAL(BUILD_XCB, test "x$have_xcb" = "xyes")
-
-if test "x$have_software_sdl" = "xyes"; then
- PKG_CHECK_MODULES([SDL], sdl,
- [ have_sdl="yes" ],
- [ have_sdl="no" ])
-fi
-AM_CONDITIONAL(BUILD_SDL, test "x$have_sdl" = "xyes")
-
-if test "x$have_directfb" = "xyes"; then
- PKG_CHECK_MODULES([DIRECTFB], directfb,
- [ have_directfb="yes" ],
- [ have_directfb="no" ])
-fi
-AM_CONDITIONAL(BUILD_DIRECTFB, test "x$have_directfb" = "xyes")
-
-AC_SUBST(x_cflags)
-AC_SUBST(x_libs)
-AC_SUBST(ddraw_libs)
-AC_SUBST(ddraw_16_libs)
-AC_SUBST(d3d_libs)
-AC_SUBST(wince_16_libs)
-AC_SUBST(glew_libs)
-
-AC_OUTPUT([
-Makefile
-src/Makefile
-src/bin/Makefile
-data/Makefile
-])
-
-echo
-echo " $PACKAGE $VERSION"
-echo
-echo " Engines:"
-echo " Software X11.................: ${have_software_x11}"
-echo " X Render X11.................: ${have_xrender_x11}"
-echo " Open GL X11..................: ${have_opengl_x11}"
-echo " Software XCB.................: ${have_software_xcb}"
-echo " Software DirectDraw..........: ${have_software_ddraw}"
-echo " Direct3D.....................: ${have_direct3d}"
-echo " Open GL Glew.................: ${have_opengl_glew}"
-echo " Software SDL.................: ${have_software_sdl}"
-echo " FB...........................: ${have_fb}"
-echo " DirectFB.....................: ${have_directfb}"
-echo " Software X11 16 bits.........: ${have_software_16_x11}"
-echo " Software DirectDraw 16 bits..: ${have_software_16_ddraw}"
-echo " Software WinCE 16 bits.......: ${have_software_16_wince}"
-echo
-echo " Installation:"
-echo " prefix.......................: ${prefix}"
-echo
+++ /dev/null
-DESCRIPTION = "Expedite Evas benchmark/test suite"
-HOMEPAGE = "http://www.enlightenment.org"
-MAINTAINER = "Carsten Haitzler (Rasterman) <raster@rasterman.com>"
-SECTION = "e/test"
-PRIORITY = "optional"
-DEPENDS = "evas"
-PV = "0.6.0"
-PR = "1"
-
-do_prepsources () {
- make clean distclean || true
-}
-addtask prepsources after do_fetch before do_unpack
-SRC_URI = "file://./"
-S = "${WORKDIR}/expedite"
-
-inherit autotools pkgconfig binconfig
-
-EXTRA_OECONF = ""
-
-FILES_${PN} = "${bindir}/* ${datadir}"
+++ /dev/null
-# Note that this is NOT a relocatable package
-%define ver 0.6.0
-%define rel 1
-%define prefix /usr
-
-Summary: expedite
-Name: expedite
-Version: %ver
-Release: %rel
-Copyright: BSD
-Group: System Environment/Desktops
-Source: ftp://ftp.enlightenment.org/pub/enlightenment/expedite-%{ver}.tar.gz
-BuildRoot: /var/tmp/expedite-root
-Packager: The Rasterman <raster@rasterman.com>
-URL: http://www.enlightenment.org/
-BuildRequires: evas-devel
-Requires: evas
-
-%description
-
-Expedite Evas benchmark/test suite
-
-%prep
-rm -rf $RPM_BUILD_ROOT
-
-%setup -q
-
-%build
-./configure --prefix=%prefix
-
-if [ "$SMP" != "" ]; then
- (make "MAKE=make -k -j $SMP"; exit 0)
- make
-else
- make
-fi
-###########################################################################
-
-%install
-make DESTDIR=$RPM_BUILD_ROOT install
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%post
-
-%postun
-
-%files
-%defattr(-,root,root)
-%attr(755,root,root) %{prefix}/bin/*
-%attr(755,root,root) %{prefix}/share/expedite
-%doc AUTHORS
-%doc COPYING
-%doc COPYING-PLAIN
-%doc README
-
-%changelog
-* Sat Jun 23 2001 The Rasterman <raster@rasterman.com>
-- Created spec file
+++ /dev/null
-#include "main.h"
-
-#include <windowsx.h>
-#include <Evas_Engine_Software_16_DDraw.h>
-
-
-static HWND window;
-
-
-static int
-_directdraw_init (HWND window,
- int width,
- int height,
- LPDIRECTDRAW *object,
- LPDIRECTDRAWSURFACE *surface_primary,
- LPDIRECTDRAWSURFACE *surface_back,
- LPDIRECTDRAWSURFACE *surface_source,
- int *depth)
-{
- DDSURFACEDESC surface_desc;
- DDPIXELFORMAT pixel_format;
- LPDIRECTDRAW o;
- void *source;
- HRESULT res;
-
- res = DirectDrawCreate (NULL, &o, NULL);
- if (FAILED(res))
- return 0;
-
- res = o->SetCooperativeLevel (window, DDSCL_NORMAL);
- if (FAILED(res))
- {
- o->Release ();
- return 0;
- }
-
- memset(&surface_desc, 0, sizeof(surface_desc));
- surface_desc.dwSize = sizeof(surface_desc);
- surface_desc.dwFlags = DDSD_CAPS;
- surface_desc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
-
- res = o->CreateSurface (&surface_desc, surface_primary, NULL);
- if (FAILED(res))
- {
- o->Release ();
- return 0;
- }
-
- memset (&surface_desc, 0, sizeof(surface_desc));
- surface_desc.dwSize = sizeof(surface_desc);
- surface_desc.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;
- surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
- surface_desc.dwWidth = width;
- surface_desc.dwHeight = height;
-
- res = o->CreateSurface (&surface_desc, surface_back, NULL);
- if (FAILED(res))
- {
- (*surface_primary)->Release ();
- o->Release ();
- return 0;
- }
-
- ZeroMemory(&pixel_format, sizeof(pixel_format));
- pixel_format.dwSize = sizeof(pixel_format);
- (*surface_primary)->GetPixelFormat(&pixel_format);
-
- source = malloc(width * height * 2);
- if (!source)
- {
- (*surface_primary)->Release ();
- o->Release ();
- return 0;
- }
-
- memset (&surface_desc, 0, sizeof (surface_desc));
- surface_desc.dwSize = sizeof (surface_desc);
- surface_desc.dwFlags =
- DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH |
- DDSD_LPSURFACE | DDSD_PITCH | DDSD_PIXELFORMAT;
- surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_SYSTEMMEMORY;
- surface_desc.dwWidth = width;
- surface_desc.dwHeight = height;
- surface_desc.lPitch = 2 * surface_desc.dwWidth;
- surface_desc.lpSurface = source;
- surface_desc.ddpfPixelFormat = pixel_format;
-
- if (FAILED(o->CreateSurface(&surface_desc, surface_source, NULL)))
- {
- free(source);
- (*surface_primary)->Release ();
- o->Release ();
- return 0;
- }
-
- *object = o;
- *depth = pixel_format.dwRGBBitCount;
-
- return 1;
-}
-
-static LRESULT CALLBACK
-MainWndProc(HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam)
-{
- switch (uMsg)
- {
- case WM_CREATE:
- return 0;
- case WM_DESTROY:
- PostQuitMessage(0);
- return 0;
- case WM_CLOSE:
- PostQuitMessage(0);
- return 0;
- case WM_WINDOWPOSCHANGED: {
- PAINTSTRUCT ps;
- HDC hdc;
-
- hdc = BeginPaint (window, &ps);
- evas_damage_rectangle_add(evas,
- ps.rcPaint.left, ps.rcPaint.top,
- ps.rcPaint.right - ps.rcPaint.left,
- ps.rcPaint.bottom - ps.rcPaint.top);
- EndPaint(window, &ps);
- return 0;
- }
- case WM_SIZING:
- {
- PRECT rect = (PRECT)lParam;
-
- evas_output_size_set(evas,
- rect->right - rect->left,
- rect->bottom - rect->top);
- return 0;
- }
- case WM_RBUTTONDOWN:
- evas_event_feed_mouse_move(evas, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), 0, NULL);
- evas_event_feed_mouse_down(evas, 3, EVAS_BUTTON_NONE, 0, NULL);
- return 0;
- case WM_LBUTTONDOWN:
- evas_event_feed_mouse_move(evas, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), 0, NULL);
- evas_event_feed_mouse_down(evas, 1, EVAS_BUTTON_NONE, 0, NULL);
- return 0;
- case WM_LBUTTONUP:
- evas_event_feed_mouse_move(evas, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), 0, NULL);
- evas_event_feed_mouse_up(evas, 1, EVAS_BUTTON_NONE, 0, NULL);
- return 0;
- case WM_RBUTTONUP:
- evas_event_feed_mouse_move(evas, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), 0, NULL);
- evas_event_feed_mouse_up(evas, 3, EVAS_BUTTON_NONE, 0, NULL);
- return 0;
- case WM_MOUSEMOVE:
- if (!evas_pointer_inside_get(evas)) evas_event_feed_mouse_in(evas, 0, NULL);
- evas_event_feed_mouse_move(evas, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), 0, NULL);
- return 0;
- case WM_MOUSELEAVE:
- evas_event_feed_mouse_out(evas, 0, NULL);
- return 0;
- /* FIXME : can't find an event when the mouse is entering */
- case WM_KEYDOWN:
- case WM_SYSKEYDOWN: {
- int key;
-
- key = LOWORD(wParam);
-
- if ((key == VK_SHIFT) ||
- (key == VK_LSHIFT) ||
- (key == VK_RSHIFT))
- evas_key_modifier_on(evas, "Shift");
- if ((key == VK_CONTROL) ||
- (key == VK_LCONTROL) ||
- (key == VK_RCONTROL))
- evas_key_modifier_on(evas, "Control");
- if ((key == VK_MENU) ||
- (key == VK_LMENU) ||
- (key == VK_RMENU))
- evas_key_modifier_on(evas, "Alt");
- if ((key == VK_LWIN) ||
- (key == VK_RWIN))
- evas_key_modifier_on(evas, "Super");
-
- if (key == VK_CAPITAL)
- {
- if (evas_key_lock_is_set(evas_key_lock_get(evas), "Caps_Lock"))
- evas_key_lock_off(evas, "Caps_Lock");
- else
- evas_key_lock_on(evas, "Caps_Lock");
- }
- if (key == VK_NUMLOCK)
- {
- if (evas_key_lock_is_set(evas_key_lock_get(evas), "Num_Lock"))
- evas_key_lock_off(evas, "Num_Lock");
- else
- evas_key_lock_on(evas, "Num_Lock");
- }
- if (key == VK_SCROLL)
- {
- if (evas_key_lock_is_set(evas_key_lock_get(evas), "Scroll_Lock"))
- evas_key_lock_off(evas, "Scroll_Lock");
- else
- evas_key_lock_on(evas, "Scroll_Lock");
- }
- if (key == VK_ESCAPE)
- evas_event_feed_key_down(evas, "Escape", "Escape", NULL, NULL, 0, NULL);
- if (key == VK_RETURN)
- evas_event_feed_key_down(evas, "Return", "Return", NULL, NULL, 0, NULL);
- if (key == VK_LEFT)
- evas_event_feed_key_down(evas, "Left", "Left", NULL, NULL, 0, NULL);
- if (key == VK_RIGHT)
- evas_event_feed_key_down(evas, "Right", "Right", NULL, NULL, 0, NULL);
- if (key == 81)
- evas_event_feed_key_down(evas, "Q", "Q", NULL, NULL, 0, NULL);
- if (key == 113)
- evas_event_feed_key_down(evas, "q", "q", NULL, NULL, 0, NULL);
- return 0;
- }
- case WM_KEYUP:
- case WM_SYSKEYUP: {
- int key;
-
- key = LOWORD(wParam);
-
- if ((key == VK_SHIFT) ||
- (key == VK_LSHIFT) ||
- (key == VK_RSHIFT))
- evas_key_modifier_off(evas, "Shift");
- if ((key == VK_CONTROL) ||
- (key == VK_LCONTROL) ||
- (key == VK_RCONTROL))
- evas_key_modifier_off(evas, "Control");
- if ((key == VK_MENU) ||
- (key == VK_LMENU) ||
- (key == VK_RMENU))
- evas_key_modifier_off(evas, "Alt");
- if ((key == VK_LWIN) ||
- (key == VK_RWIN))
- evas_key_modifier_off(evas, "Super");
- if (key == VK_ESCAPE)
- evas_event_feed_key_up(evas, "Escape", "Escape", NULL, NULL, 0, NULL);
- if (key == VK_RETURN)
- evas_event_feed_key_up(evas, "Return", "Return", NULL, NULL, 0, NULL);
- if (key == VK_LEFT)
- evas_event_feed_key_up(evas, "Left", "Left", NULL, NULL, 0, NULL);
- if (key == VK_RIGHT)
- evas_event_feed_key_up(evas, "Right", "Right", NULL, NULL, 0, NULL);
- if (key == 81)
- evas_event_feed_key_up(evas, "Q", "Q", NULL, NULL, 0, NULL);
- if (key == 113)
- evas_event_feed_key_up(evas, "q", "q", NULL, NULL, 0, NULL);
- return 0;
- }
- default:
- return DefWindowProc(hwnd, uMsg, wParam, lParam);
- }
-}
-
-int
-engine_software_16_ddraw_args(int argc, char **argv)
-{
- WNDCLASS wc;
- RECT rect;
- HINSTANCE instance;
- LPDIRECTDRAW object;
- LPDIRECTDRAWSURFACE surface_primary;
- LPDIRECTDRAWSURFACE surface_back;
- LPDIRECTDRAWSURFACE surface_source;
- Evas_Engine_Info_Software_16_DDraw *einfo;
- DWORD style;
- DWORD exstyle;
- int depth;
- int i;
- int ok = 0;
-
- for (i = 1; i < argc; i++)
- {
- if ((!strcmp(argv[i], "-e")) && (i < (argc - 1)))
- {
- i++;
- if (!strcmp(argv[i], "ddraw-16")) ok = 1;
- }
- }
- if (!ok) return 0;
-
- instance = GetModuleHandle(NULL);
- if (!instance) return 0;
-
- wc.style = CS_HREDRAW | CS_VREDRAW;
- wc.lpfnWndProc = MainWndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = instance;
- wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);
- wc.hCursor = LoadCursor (NULL, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
- wc.lpszMenuName = NULL;
- wc.lpszClassName = "Evas_Software_16_DDraw_Test";
-
- if(!RegisterClass(&wc))
- goto free_library;
-
- style = WS_OVERLAPPEDWINDOW | WS_SIZEBOX;
- exstyle = 0;
-
- rect.left = 0;
- rect.top = 0;
- rect.right = win_w;
- rect.bottom = win_h;
- AdjustWindowRectEx(&rect, style, FALSE, exstyle);
-
- window = CreateWindowEx(exstyle,
- "Evas_Software_16_DDraw_Test",
- "Evas_Software_16_DDraw_Test",
- style,
- CW_USEDEFAULT, CW_USEDEFAULT,
- rect.right - rect.left, rect.bottom - rect.top,
- NULL, NULL, instance, NULL);
- if (!window)
- goto unregister_class;
-
- /* make the window non resizable */
- style = GetWindowLong(window, GWL_STYLE);
- style &= ~WS_THICKFRAME;
- if (!SetWindowLong(window, GWL_STYLE, style))
- goto unregister_class;
-
- if (!_directdraw_init(window, win_w, win_h,
- &object,
- &surface_primary,
- &surface_back,
- &surface_source,
- &depth))
- goto destroy_window;
-
- evas_output_method_set(evas, evas_render_method_lookup("software_16_ddraw"));
- einfo = (Evas_Engine_Info_Software_16_DDraw *)evas_engine_info_get(evas);
- if (!einfo)
- {
- fprintf(stderr, "Evas does not support the 16 bits Software DirectDraw Engine\n");
- /* should shutdown ddraw */
- goto destroy_window;
- }
-
- einfo->info.window = window;
- einfo->info.object = object;
- einfo->info.surface_primary = surface_primary;
- einfo->info.surface_back = surface_back;
- einfo->info.surface_source = surface_source;
- einfo->info.depth = depth;
- einfo->info.rotation = 0;
- evas_engine_info_set(evas, (Evas_Engine_Info *) einfo);
-
- /* the second parameter is ignored, as it's the first call of ShowWindow */
- ShowWindow(window, SW_SHOWDEFAULT);
- UpdateWindow(window);
-
- return 1;
-
- destroy_window:
- DestroyWindow(window);
- unregister_class:
- UnregisterClass("Evas_Software_16_DDraw_Test", instance);
- free_library:
- FreeLibrary(instance);
-
- return 0;
-}
-
-void
-engine_software_16_ddraw_loop(void)
-{
- MSG msg;
- int res;
-
- again:
- if (!PeekMessage (&msg, window, 0, 0, PM_NOREMOVE))
- return;
-
- res = GetMessage (&msg, NULL, 0, 0);
- TranslateMessage (&msg);
- DispatchMessage (&msg);
-
- goto again;
-}
+++ /dev/null
-#ifndef __ENGINE_SOFTWARE_16_DDRAW_H__
-#define __ENGINE_SOFTWARE_16_DDRAW_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-int engine_software_16_ddraw_args(int argc, char **argv);
-void engine_software_16_ddraw_loop(void);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* __ENGINE_SOFTWARE_16_DDRAW_H__ */
+++ /dev/null
-#include "main.h"
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <Evas_Engine_Software_X11.h>
-
-static Display *disp = NULL;
-static Window win = 0;
-
-int
-engine_software_x11_args(int argc, char **argv)
-{
- XSetWindowAttributes attr;
- XClassHint chint;
- XSizeHints szhints;
- Evas_Engine_Info_Software_X11 *einfo;
- int i;
- int ok = 0;
-
- for (i = 1; i < argc; i++)
- {
- if ((!strcmp(argv[i], "-e")) && (i < (argc - 1)))
- {
- i++;
- if (!strcmp(argv[i], "x11")) ok = 1;
- }
- }
- if (!ok) return 0;
-
- disp = XOpenDisplay(NULL);
- if (!disp) return 0;
-
- evas_output_method_set(evas, evas_render_method_lookup("software_x11"));
- einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(evas);
- if (!einfo)
- {
- printf("Evas does not support the Software X11 Engine\n");
- return 0;
- }
-
- einfo->info.display = disp;
- einfo->info.visual = einfo->func.best_visual_get(disp, DefaultScreen(disp));
- einfo->info.colormap = einfo->func.best_colormap_get(disp, DefaultScreen(disp));
- einfo->info.depth = einfo->func.best_depth_get(disp, DefaultScreen(disp));
- einfo->info.rotation = 0;
- einfo->info.debug = 0;
- attr.backing_store = NotUseful;
- attr.colormap = einfo->info.colormap;
- attr.border_pixel = 0;
- attr.background_pixmap = None;
- attr.event_mask =
- ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask |
- StructureNotifyMask | EnterWindowMask | LeaveWindowMask |
- KeyPressMask | KeyReleaseMask;
- attr.bit_gravity = ForgetGravity;
- win = XCreateWindow(disp, DefaultRootWindow(disp),
- 0, 0, win_w, win_h, 0,
- einfo->info.depth, InputOutput,
- einfo->info.visual,
- CWBackingStore | CWColormap |
- CWBackPixmap | CWBorderPixel |
- CWBitGravity | CWEventMask,
- &attr);
- einfo->info.drawable = win;
- evas_engine_info_set(evas, (Evas_Engine_Info *) einfo);
-
- XStoreName(disp, win, "Expedite - Evas Test Suite");
- chint.res_name = "expedite";
- chint.res_class = "Expedite";
- XSetClassHint(disp, win, &chint);
- szhints.flags = PMinSize | PMaxSize | PSize | USSize;
- szhints.min_width = szhints.max_width = win_w;
- szhints.min_height = szhints.max_height = win_h;
- XSetWMNormalHints(disp, win, &szhints);
- XMapWindow(disp, win);
- XSync(disp, False);
- return 1;
-}
-
-void
-engine_software_x11_loop(void)
-{
- XEvent ev;
- KeySym ks;
- char *kstr;
-
- again:
- if (!XCheckMaskEvent(disp,
- ExposureMask |
- StructureNotifyMask |
- KeyPressMask |
- KeyReleaseMask |
- ButtonPressMask |
- ButtonReleaseMask |
- PointerMotionMask |
- EnterWindowMask |
- LeaveWindowMask, &ev))
- return;
- switch (ev.type)
- {
- case ButtonPress:
- evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, 0, NULL);
- evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, 0, NULL);
- break;
- case ButtonRelease:
- evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, 0, NULL);
- evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, 0, NULL);
- break;
- case MotionNotify:
- evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, 0, NULL);
- break;
- case Expose:
- evas_damage_rectangle_add(evas,
- ev.xexpose.x,
- ev.xexpose.y,
- ev.xexpose.width,
- ev.xexpose.height);
- break;
- case ConfigureNotify:
- evas_output_size_set(evas,
- ev.xconfigure.width,
- ev.xconfigure.height);
- break;
- case EnterNotify:
- evas_event_feed_mouse_in(evas, 0, NULL);
- break;
- case LeaveNotify:
- evas_event_feed_mouse_out(evas, 0, NULL);
- break;
- case KeyPress:
- ks = XKeycodeToKeysym(ev.xkey.display, ev.xkey.keycode, 0);
- kstr = XKeysymToString(ks);
- if (kstr)
- {
- if ((!strcmp(kstr, "Shift_L")) ||
- (!strcmp(kstr, "Shift_R")))
- evas_key_modifier_on(evas, "Shift");
- if ((!strcmp(kstr, "Control_L")) ||
- (!strcmp(kstr, "Control_R")))
- evas_key_modifier_on(evas, "Control");
- if ((!strcmp(kstr, "Alt_L")) ||
- (!strcmp(kstr, "Alt_R")))
- evas_key_modifier_on(evas, "Alt");
- if ((!strcmp(kstr, "Super_L")) ||
- (!strcmp(kstr, "Super_R")))
- evas_key_modifier_on(evas, "Super");
- if (!strcmp(kstr, "Caps_Lock"))
- {
- if (evas_key_lock_is_set(evas_key_lock_get(evas), "Caps_Lock"))
- evas_key_lock_off(evas, "Caps_Lock");
- else
- evas_key_lock_on(evas, "Caps_Lock");
- }
- if (!strcmp(kstr, "Num_Lock"))
- {
- if (evas_key_lock_is_set(evas_key_lock_get(evas), "Num_Lock"))
- evas_key_lock_off(evas, "Num_Lock");
- else
- evas_key_lock_on(evas, "Num_Lock");
- }
- if (!strcmp(kstr, "Scroll_Lock"))
- {
- if (evas_key_lock_is_set(evas_key_lock_get(evas), "Scroll_Lock"))
- evas_key_lock_off(evas, "Scroll_Lock");
- else
- evas_key_lock_on(evas, "Scroll_Lock");
- }
- if (kstr) evas_event_feed_key_down(evas, kstr, kstr, NULL, NULL, 0, NULL);
- }
- break;
- case KeyRelease:
- ks = XKeycodeToKeysym(ev.xkey.display, ev.xkey.keycode, 0);
- kstr = XKeysymToString(ks);
- if (kstr)
- {
- if ((!strcmp(kstr, "Shift_L")) ||
- (!strcmp(kstr, "Shift_R")))
- evas_key_modifier_off(evas, "Shift");
- if ((!strcmp(kstr, "Control_L")) ||
- (!strcmp(kstr, "Control_R")))
- evas_key_modifier_off(evas, "Control");
- if ((!strcmp(kstr, "Alt_L")) ||
- (!strcmp(kstr, "Alt_R")))
- evas_key_modifier_off(evas, "Alt");
- if ((!strcmp(kstr, "Super_L")) ||
- (!strcmp(kstr, "Super_R")))
- evas_key_modifier_off(evas, "Super");
- evas_event_feed_key_up(evas, kstr, kstr, NULL, NULL, 0, NULL);
- }
- break;
- default:
- break;
- }
- goto again;
-}
+++ /dev/null
-#ifndef ENGINE_SOFTWARE_X11_H
-#define ENGINE_SOFTWARE_X11_H
-
-int engine_software_x11_args(int argc, char **argv);
-void engine_software_x11_loop(void);
-
-#endif