2024-09-30 16:06:20 +00:00
|
|
|
// Copyright The Mumble Developers. All rights reserved.
|
2016-05-08 15:34:59 +00:00
|
|
|
// Use of this source code is governed by a BSD-style license
|
|
|
|
// that can be found in the LICENSE file at the root of the
|
|
|
|
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
|
2005-10-03 22:25:41 +00:00
|
|
|
|
2013-01-13 00:14:44 +00:00
|
|
|
#ifndef MUMBLE_INTERNAL_OVERLAY_H_
|
|
|
|
#define MUMBLE_INTERNAL_OVERLAY_H_
|
2005-10-03 22:25:41 +00:00
|
|
|
|
2011-10-02 16:44:08 +00:00
|
|
|
// overlay message protocol version number
|
2009-10-02 14:24:45 +00:00
|
|
|
#define OVERLAY_MAGIC_NUMBER 0x00000005
|
|
|
|
|
2010-01-21 20:21:25 +00:00
|
|
|
struct OverlayMsgHeader {
|
|
|
|
unsigned int uiMagic;
|
|
|
|
int iLength;
|
|
|
|
unsigned int uiType;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define OVERLAY_MSGTYPE_INIT 0
|
|
|
|
struct OverlayMsgInit {
|
|
|
|
unsigned int uiWidth;
|
|
|
|
unsigned int uiHeight;
|
|
|
|
};
|
|
|
|
|
2010-01-22 00:10:46 +00:00
|
|
|
#define OVERLAY_MSGTYPE_SHMEM 1
|
|
|
|
struct OverlayMsgShmem {
|
|
|
|
char a_cName[2048];
|
|
|
|
};
|
|
|
|
|
|
|
|
#define OVERLAY_MSGTYPE_BLIT 2
|
2010-01-21 20:21:25 +00:00
|
|
|
struct OverlayMsgBlit {
|
|
|
|
unsigned int x, y, w, h;
|
|
|
|
};
|
|
|
|
|
2010-01-22 16:54:19 +00:00
|
|
|
#define OVERLAY_MSGTYPE_ACTIVE 3
|
|
|
|
struct OverlayMsgActive {
|
|
|
|
unsigned int x, y, w, h;
|
|
|
|
};
|
|
|
|
|
2010-02-17 14:12:34 +00:00
|
|
|
#define OVERLAY_MSGTYPE_PID 4
|
|
|
|
struct OverlayMsgPid {
|
|
|
|
unsigned int pid;
|
|
|
|
};
|
|
|
|
|
2010-04-28 18:22:28 +00:00
|
|
|
#define OVERLAY_MSGTYPE_FPS 5
|
|
|
|
struct OverlayMsgFps {
|
2010-04-29 13:28:05 +00:00
|
|
|
float fps;
|
2010-04-28 18:22:28 +00:00
|
|
|
};
|
2010-04-29 13:28:05 +00:00
|
|
|
#define OVERLAY_FPS_INTERVAL 0.25f
|
|
|
|
|
2010-09-07 20:58:25 +00:00
|
|
|
#define OVERLAY_MSGTYPE_INTERACTIVE 6
|
|
|
|
struct OverlayMsgInteractive {
|
|
|
|
bool state;
|
|
|
|
};
|
2010-04-28 18:22:28 +00:00
|
|
|
|
2010-01-22 00:10:46 +00:00
|
|
|
struct OverlayMsg {
|
|
|
|
union {
|
|
|
|
char headerbuffer[1];
|
2010-01-22 19:06:21 +00:00
|
|
|
struct OverlayMsgHeader omh;
|
2010-01-22 00:10:46 +00:00
|
|
|
};
|
|
|
|
union {
|
|
|
|
char msgbuffer[1];
|
2010-01-22 19:06:21 +00:00
|
|
|
struct OverlayMsgShmem oms;
|
|
|
|
struct OverlayMsgInit omi;
|
|
|
|
struct OverlayMsgBlit omb;
|
|
|
|
struct OverlayMsgActive oma;
|
2010-02-17 14:12:34 +00:00
|
|
|
struct OverlayMsgPid omp;
|
2010-04-28 18:22:28 +00:00
|
|
|
struct OverlayMsgFps omf;
|
2010-09-07 20:58:25 +00:00
|
|
|
struct OverlayMsgInteractive omin;
|
2010-01-22 00:10:46 +00:00
|
|
|
};
|
2010-01-21 20:21:25 +00:00
|
|
|
};
|
|
|
|
|
2005-10-03 22:25:41 +00:00
|
|
|
#endif
|