pidgin/plugins/gestures/gstroke-internal.h

Sun, 05 Apr 2020 20:55:28 +0100

author
David Woodhouse <dwmw2@infradead.org>
date
Sun, 05 Apr 2020 20:55:28 +0100
branch
release-2.x.y
changeset 40394
3c8f61de927c
parent 15435
4b933b06d75e
child 16238
33bf2fd32108
child 18068
b6554e3c8224
child 20478
46933dc62880
permissions
-rw-r--r--

screenshare: Add XDP portal ScreenCast support

With Wayland we can't just share X11 windows/screens; we need to ask for
a stream from the compositor. Add support for that, falling back to the
direct mode if it isn't present (since *Pidgin* can be using X11 even
when the system is Wayland).

https://flatpak.github.io/xdg-desktop-portal/portal-docs.html

4390
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /* This file is to be used internally by the libgstroke implementation.
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 It should not be installed or used elsewhere.
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 See the file COPYING for distribution information.
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 #ifndef _GSTROKE_INTERNAL_H_
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 #define _GSTROKE_INTERNAL_H_
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 /* metrics for stroke, they are used while processing a stroke, this
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 structure should be stored in local widget storage */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 struct gstroke_metrics {
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 GSList *pointList; /* point list */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 gint min_x;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 gint min_y;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 gint max_x;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 gint max_y;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 gint point_count;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 };
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 #define GSTROKE_METRICS "gstroke_metrics"
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 /* translate stroke to sequence */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 gint _gstroke_trans (gchar *sequence, struct gstroke_metrics *metrics);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 gint _gstroke_canonical (gchar* sequence, struct gstroke_metrics *metrics);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27 /* record point in stroke */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28 void _gstroke_record (gint x, gint y, struct gstroke_metrics *metrics);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 /* initialize stroke functions */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31 void _gstroke_init (struct gstroke_metrics*);
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 /* structure for holding point data */
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34 struct s_point {
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 gint x;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 gint y;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 };
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39 typedef struct s_point *p_point;
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40
590cb1708f57 [gaim-migrate @ 4656]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 #endif

mercurial