~ubuntu-branches/ubuntu/vivid/freerdp/vivid

« back to all changes in this revision

Viewing changes to server/X11/xf_event.h

  • Committer: Package Import Robot
  • Author(s): Iain Lane
  • Date: 2014-11-11 12:20:50 UTC
  • mfrom: (1.1.9) (9.1.17 sid)
  • Revision ID: package-import@ubuntu.com-20141111122050-wyr8hrnwco9fcmum
Tags: 1.1.0~git20140921.1.440916e+dfsg1-2ubuntu1
* Merge with Debian unstable, remaining changes
  - Disable ffmpeg support
* Disable gstreamer support, this relies on gstreamer 0.10 and we don't want
  to add any more deps on that.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/**
2
 
 * FreeRDP: A Remote Desktop Protocol Client
3
 
 * X11 Server Event Handling
4
 
 *
5
 
 * Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
6
 
 *
7
 
 * Licensed under the Apache License, Version 2.0 (the "License");
8
 
 * you may not use this file except in compliance with the License.
9
 
 * You may obtain a copy of the License at
10
 
 *
11
 
 *     http://www.apache.org/licenses/LICENSE-2.0
12
 
 *
13
 
 * Unless required by applicable law or agreed to in writing, software
14
 
 * distributed under the License is distributed on an "AS IS" BASIS,
15
 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
 
 * See the License for the specific language governing permissions and
17
 
 * limitations under the License.
18
 
 */
19
 
 
20
 
#ifndef __XF_EVENT_H
21
 
#define __XF_EVENT_H
22
 
 
23
 
typedef struct xf_event xfEvent;
24
 
typedef struct xf_event_queue xfEventQueue;
25
 
typedef struct xf_event_region xfEventRegion;
26
 
 
27
 
#include <pthread.h>
28
 
#include "xfreerdp.h"
29
 
 
30
 
#include "xf_peer.h"
31
 
 
32
 
enum xf_event_type
33
 
{
34
 
        XF_EVENT_TYPE_REGION,
35
 
        XF_EVENT_TYPE_FRAME_TICK
36
 
};
37
 
 
38
 
struct xf_event
39
 
{
40
 
        int type;
41
 
};
42
 
 
43
 
struct xf_event_queue
44
 
{
45
 
        int size;
46
 
        int count;
47
 
        int pipe_fd[2];
48
 
        xfEvent** events;
49
 
        pthread_mutex_t mutex;
50
 
};
51
 
 
52
 
struct xf_event_region
53
 
{
54
 
        int type;
55
 
 
56
 
        int x;
57
 
        int y;
58
 
        int width;
59
 
        int height;
60
 
};
61
 
 
62
 
void xf_event_push(xfEventQueue* event_queue, xfEvent* event);
63
 
xfEvent* xf_event_peek(xfEventQueue* event_queue);
64
 
xfEvent* xf_event_pop(xfEventQueue* event_queue);
65
 
 
66
 
xfEventRegion* xf_event_region_new(int x, int y, int width, int height);
67
 
void xf_event_region_free(xfEventRegion* event_region);
68
 
 
69
 
xfEvent* xf_event_new(int type);
70
 
void xf_event_free(xfEvent* event);
71
 
 
72
 
xfEventQueue* xf_event_queue_new();
73
 
void xf_event_queue_free(xfEventQueue* event_queue);
74
 
 
75
 
#endif /* __XF_EVENT_H */