From 31cf8cd63754b8444ebcda962e58cda42b479184 Mon Sep 17 00:00:00 2001 From: Jinkun Jang Date: Wed, 13 Mar 2013 01:54:42 +0900 Subject: Tizen 2.1 base --- LICENSE.MIT | 20 +++ Makefile.am | 40 +++++ NOTICE | 3 + autogen.sh | 12 ++ configure.ac | 34 ++++ gestureconst.h | 79 +++++++++ gestureproto.h | 295 ++++++++++++++++++++++++++++++++++ gestureproto.pc.in | 9 ++ packaging/xorg-x11-proto-gesture.spec | 54 +++++++ 9 files changed, 546 insertions(+) create mode 100644 LICENSE.MIT create mode 100644 Makefile.am create mode 100644 NOTICE create mode 100755 autogen.sh create mode 100644 configure.ac create mode 100755 gestureconst.h create mode 100755 gestureproto.h create mode 100644 gestureproto.pc.in create mode 100644 packaging/xorg-x11-proto-gesture.spec diff --git a/LICENSE.MIT b/LICENSE.MIT new file mode 100644 index 0000000..1c81bdc --- /dev/null +++ b/LICENSE.MIT @@ -0,0 +1,20 @@ +Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without +fee, provided that the above copyright notice appear in all copies +and that both that copyright notice and this permission notice +appear in supporting documentation, and that the name of Red Hat +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. Red +Hat makes no representations about the suitability of this software +for any purpose. It is provided "as is" without express or implied +warranty. + +THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN +NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..dda053f --- /dev/null +++ b/Makefile.am @@ -0,0 +1,40 @@ +# Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of Red Hat not be used in +# advertising or publicity pertaining to distribution of the software without +# specific, written prior permission. Red Hat makes no +# representations about the suitability of this software for any purpose. It +# is provided "as is" without express or implied warranty. +# +# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. +# + +gesturedir = $(includedir)/X11/extensions +gesture_HEADERS = \ + gestureconst.h \ + gestureproto.h + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = gestureproto.pc + + +MAINTAINERCLEANFILES = ChangeLog INSTALL + +.PHONY: ChangeLog INSTALL + +ChangeLog: + $(CHANGELOG_CMD) +INSTALL: + $(INSTALL_CMD) + +dist-hook: ChangeLog INSTALL diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..c10a9c5 --- /dev/null +++ b/NOTICE @@ -0,0 +1,3 @@ +Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved. +Except as noted, this software is licensed under MIT License. +Please, see the LICENSE.MIT file for MIT License terms and conditions. diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..904cd67 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..1138d55 --- /dev/null +++ b/configure.ac @@ -0,0 +1,34 @@ +# Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of Red Hat not be used in +# advertising or publicity pertaining to distribution of the software without +# specific, written prior permission. Red Hat makes no +# representations about the suitability of this software for any purpose. It +# is provided "as is" without express or implied warranty. +# +# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. +# + +AC_PREREQ([2.60]) +AC_INIT([x11proto-gesture], [0.1.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AM_INIT_AUTOMAKE([foreign dist-bzip2]) +AM_MAINTAINER_MODE + +# Require xorg-macros: XORG_DEFAULT_OPTIONS +m4_ifndef([XORG_MACROS_VERSION], + [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.3) +XORG_DEFAULT_OPTIONS + +AC_OUTPUT([Makefile + gestureproto.pc]) diff --git a/gestureconst.h b/gestureconst.h new file mode 100755 index 0000000..e8f63db --- /dev/null +++ b/gestureconst.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of Red Hat + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. Red + * Hat makes no representations about the suitability of this software + * for any purpose. It is provided "as is" without express or implied + * warranty. + * + * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + + +#ifndef _GESTUREPROTO_CONST_H_ +#define _GESTUREPROTO_CONST_H_ + +/* Reply status */ +#define GestureSuccess 0 + +#define GestureUngrabSuccess 0 +#define GestureUngrabNotGrabbed 1 +#define GestureUngrabAbnormal 2 + +#define GestureGrabSuccess 0 +#define GestureGrabAbnormal 1 +#define GestureGrabbedAlready 2 +#define GestureGrabInvalidTime 3 +#define GestureInvalidReply 4 + +/* Events */ +#define GestureNotifyFlick 0 +#define GestureNotifyPan 1 +#define GestureNotifyPinchRotation 2 +#define GestureNotifyTap 3 +#define GestureNotifyTapNHold 4 +#define GestureNotifyHold 5 +#define GestureNotifyGroup 6 +#define GestureNumberEvents (GestureNotifyGroup + 1) + +#define GestureMaskNone 0L +#define GestureFlickMask (1L << 0) +#define GesturePanMask (1L << 1) +#define GesturePinchRotationMask (1L << 2) +#define GestureTapMask (1L << 3) +#define GestureTapNHoldMask (1L << 4) +#define GestureHoldMask (1L << 5) +#define GestureGroupMask (1L << 6) + +/* "Kinds" of events for GestureNotifyGroup */ +#define GestureGroupRemoved 0 +#define GestureGroupAdded 1 +#define GestureGroupCurrent 2 + +/* "Kinds" of events for GestureNotifyFlick ~ GestureNotifyHold */ +#define GestureEnd 0 +#define GestureBegin 1 +#define GestureUpdate 2 +#define GestureDone 3 + +/* Errors */ +#define GestureClientNotLocal 0 +#define GestureInValidMask 1 +#define GestureOperationNotSupported 2 +#define GestureNumberErrors (GestureOperationNotSupported + 1) + +#endif//_GESTUREPROTO_CONST_H_ + diff --git a/gestureproto.h b/gestureproto.h new file mode 100755 index 0000000..16d6f95 --- /dev/null +++ b/gestureproto.h @@ -0,0 +1,295 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of Red Hat + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. Red + * Hat makes no representations about the suitability of this software + * for any purpose. It is provided "as is" without express or implied + * warranty. + * + * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + +#ifndef _GESTUREPROTO_H_ +#define _GESTUREPROTO_H_ + +#include +#include +#include + +#define Fixed INT32 + +#define GESTURE_EXT_NAME "X Gesture Extension" + +#define GESTURE_MAJOR 0 /* current version numbers */ +#define GESTURE_MINOR 1 +#define GESTURE_PATCH 0 + +// Requests +#define X_GestureQueryVersion 0 +#define X_GestureSelectEvents 1 +#define X_GestureGetSelectedEvents 2 +#define X_GestureGrabEvent 3 +#define X_GestureUngrabEvent 4 + +//requests +typedef struct _GestureSelectEvents { + CARD8 reqType; /* always GestureReqCode */ + CARD8 gestureReqType; /* always X_GestureSelectEvents */ + CARD16 length B16; + CARD32 window B32; + CARD32 mask B32; +} xGestureSelectEventsReq; +#define sz_xGestureSelectEventsReq 12 + +typedef struct _GestureGetSelectedEvents { + CARD8 reqType; /* always GestureReqCode */ + CARD8 gestureReqType; /* always X_GestureGetSelectedEvents */ + CARD16 length B16; + CARD32 window B32; +} xGestureGetSelectedEventsReq; +#define sz_xGestureGetSelectedEventsReq 8 + +typedef struct _GestureGrabEvent { + CARD8 reqType; /* always GestureReqCode */ + CARD8 gestureReqType; /* always X_GestureGrabEvent */ + CARD16 length B16; + CARD32 window B32; + CARD32 eventType B32; /* gesture event type such as "GestureNotifyFlick" */ + CARD8 num_finger; /* number of fingers in a gesture event */ + CARD8 pad1; + CARD16 pad2 B16; + Time time B32; /* client request timestamp */ +} xGestureGrabEventReq; +#define sz_xGestureGrabEventReq 20 + +typedef struct _GestureUngrabEvent { + CARD8 reqType; /* always GestureReqCode */ + CARD8 gestureReqType; /* always X_GestureUngrabEvent */ + CARD16 length B16; + CARD32 window B32; + CARD32 eventType B32; /* gesture event type such as "GestureNotifyFlick" */ + CARD8 num_finger; /* number of fingers in a gesture event */ + CARD8 pad1; + CARD16 pad2 B16; + Time time B32; /* client request timestamp */ +} xGestureUngrabEventReq; +#define sz_xGestureUngrabEventReq 20 + +typedef struct _GestureQueryVersion { + CARD8 reqType; /* always GestureReqCode */ + CARD8 gestureReqType; /* always X_GestureQueryVersion */ + CARD16 length B16; +} xGestureQueryVersionReq; +#define sz_xGestureQueryVersionReq 4 + +//replys for synchronous reqs +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 mask; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xGestureGetSelectedEventsReply; +#define sz_xGestureGetSelectedEventsReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE status; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xGestureGrabEventReply; +#define sz_xGestureGrabEventReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE status; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xGestureUngrabEventReply; +#define sz_xGestureUngrabEventReply 32 + +typedef struct { + BYTE type; /* X_Reply */ + BOOL pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; /* major version of Gesture extension protocol */ + CARD16 minorVersion B16; /* minor version of Gesture extension protocol */ + CARD32 patchVersion B32; /* patch version of Gesture extension protocol */ + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xGestureQueryVersionReply; +#define sz_xGestureQueryVersionReply 32 + +//events +typedef struct _GestureNotifyGroup { + BYTE type; /* always GestureEventBase + event type */ + BYTE kind; /* subevent type : GestureNotifyGroup */ + CARD16 sequenceNumber B16; + Window window B32; + Time time B32; /* server timestamp when event happened */ + CARD8 groupid; + CARD8 num_group; + CARD16 pad1 B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xGestureNotifyGroupEvent; +#define sz_xGestureNotifyGroupEvent 32 + +typedef struct _GestureNotifyFlick { + BYTE type; /* always GestureEventBase + event type */ + BYTE kind; /* subevent type : GestureNotifyFlick */ + CARD16 sequenceNumber B16; + Window window B32; + Time time B32; /* server timestamp when event happened */ + CARD8 num_finger; + CARD8 direction; /* 8 way direction (0 ~ 7) */ + CARD16 distance B16; /* distance between first point and last point (pixel) */ + Time duration B32; /* time difference between press and release (ms) */ + Fixed angle B32; /* angel difference between horizontal line and flick line (radian) */ + CARD32 pad1 B32; + CARD32 pad2 B32; +} xGestureNotifyFlickEvent; +#define sz_xGestureNotifyFlickEvent 32 + +typedef struct _GestureNotifyPan { + BYTE type; /* always GestureEventBase + event type */ + BYTE kind; /* subevent type : GestureNotifyPan */ + CARD16 sequenceNumber B16; + Window window B32; + Time time B32; /* server timestamp when event happened */ + CARD8 num_finger; + CARD8 direction; /* 8 way direction (0 ~ 7) */ + CARD16 distance B16; /* distance between first point and last point (pixel)*/ + Time duration B32; /* time difference between press and release (ms) */ + CARD16 dx B16; /* x coordinate delta */ + CARD16 dy B16; /* y coordinate delta */ + CARD32 pad1 B32; + CARD32 pad2 B32; +} xGestureNotifyPanEvent; +#define sz_xGestureNotifyPanEvent 32 + +typedef struct _GestureNotifyPinchRotation { + BYTE type; /* always GestureEventBase + event type */ + BYTE kind; /* subevent type : GestureNotifyPinchRotation */ + CARD16 sequenceNumber B16; + Window window B32; + Time time B32; /* server timestamp when event happened */ + CARD8 num_finger; + CARD8 pad1; + CARD16 distance B16; /* distance from center (pixel) */ + CARD16 cx B16; /* center x coordinate */ + CARD16 cy B16; /* center y coordinate */ + Fixed zoom B32; /* zoom factor (base : 1.0) */ + Fixed angle B32; /* angel difference between first line and current line (radian) */ + CARD32 pad2 B32; +} xGestureNotifyPinchRotationEvent; +#define sz_xGestureNotifyPinchRotationEvent 32 + +typedef struct _GestureNotifyTap { + BYTE type; /* always GestureEventBase + event type */ + BYTE kind; /* subevent type : GestureNotifyTap */ + CARD16 sequenceNumber B16; + Window window B32; + Time time B32; /* server timestamp when event happened */ + CARD8 num_finger; + CARD8 pad1; + CARD16 cx B16; /* center x coordinate */ + CARD16 cy B16; /* center y coordinate */ + CARD8 tap_repeat; /* tap repeats such as SINGLE_TAP, DBL_TAP and so on */ + CARD8 pad2; + CARD32 interval; /* time difference between tap and previous tap (ms) */ + CARD32 pad3 B32; + CARD32 pad4 B32; +} xGestureNotifyTapEvent; +#define sz_xGestureNotifyTapEvent 32 + +typedef struct _GestureNotifyTapNHold { + BYTE type; /* always GestureEventBase + event type */ + BYTE kind; /* subevent type : GestureNotifyTapNHold */ + CARD16 sequenceNumber B16; + Window window B32; + Time time B32; /* server timestamp when event happened */ + CARD8 num_finger; + CARD8 pad1; + CARD16 cx B16; /* center x coordinate */ + CARD16 cy B16; /* center y coordinate */ + CARD16 pad2 B16; + Time interval B32; /* time difference between tap and hold (ms) */ + Time holdtime B32; /* hold time (ms) */ + CARD32 pad3 B32; +} xGestureNotifyTapNHoldEvent; +#define sz_xGestureNotifyTapNHoldEvent 32 + +typedef struct _GestureNotifyHold { + BYTE type; /* always GestureEventBase + event type */ + BYTE kind; /* subevent type : GestureNotifyHold */ + CARD16 sequenceNumber B16; + Window window B32; + Time time B32; /* server timestamp when event happened */ + CARD8 num_finger; + CARD8 pad1; + CARD16 cx B16; /* center x coordinate */ + CARD16 cy B16; /* center y coordinate */ + CARD16 pad2 B16; + Time holdtime B32; /* hold time (ms) */ + CARD32 pad3 B32; + CARD32 pad4 B32; +} xGestureNotifyHoldEvent; +#define sz_xGestureNotifyHoldEvent 32 + +union _xGestureCommonEvent { + struct { + BYTE type; + BYTE kind; + CARD16 sequenceNumber B16; + Window window B32; + Time time B32; + } any; + xGestureNotifyGroupEvent gev; + xGestureNotifyFlickEvent fev; + xGestureNotifyPanEvent pev; + xGestureNotifyPinchRotationEvent pcrev; + xGestureNotifyTapEvent tev; + xGestureNotifyTapNHoldEvent thev; + xGestureNotifyHoldEvent hev; +}; + +typedef union _xGestureCommonEvent xGestureCommonEvent; + +#endif//_GESTUREPROTO_H_ + diff --git a/gestureproto.pc.in b/gestureproto.pc.in new file mode 100644 index 0000000..6ec1c48 --- /dev/null +++ b/gestureproto.pc.in @@ -0,0 +1,9 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: AppleWMProto +Description: AppleWM extension headers +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} diff --git a/packaging/xorg-x11-proto-gesture.spec b/packaging/xorg-x11-proto-gesture.spec new file mode 100644 index 0000000..af8f279 --- /dev/null +++ b/packaging/xorg-x11-proto-gesture.spec @@ -0,0 +1,54 @@ +Name: xorg-x11-proto-gesture +Summary: X.Org X11 Protocol gestureproto +Version: 0.1.0 +Release: 3 +Group: Development/System +License: MIT +URL: http://www.x.org +Source0: %{name}-%{version}.tar.gz +Provides: gestureproto + +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +BuildRequires: pkgconfig +BuildRequires: pkgconfig(xorg-macros) + +%description +Description: %{summary} +This package provides development headers describing the wire protocol +for the Gesture extension, used to control all manner of options related +to gesture event handling. + +More information about X.Org can be found at: + + + + +This package is built from the X.org gestureproto proto module. + +%prep +%setup -q + +%build + +./autogen.sh +%reconfigure --disable-static \ + --libdir=%{_datadir} \ + --without-xmlto + +# Call make instruction with smp support +make %{?jobs:-j%jobs} + +%install +rm -rf %{buildroot} +%make_install + +%remove_docs + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%{_includedir}/X11/extensions/*.h +%{_datadir}/pkgconfig/*.pc -- cgit v1.2.3