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