#include "modules/desktop_capture/linux/x11/window_list_utils.h"
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <string.h>
#include <algorithm>
#include "modules/desktop_capture/linux/x11/x_error_trap.h"
#include "modules/desktop_capture/linux/x11/x_window_property.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
namespace webrtc {
namespace {
class DeferXFree { … };
DeferXFree::~DeferXFree() { … }
::Window GetApplicationWindow(XAtomCache* cache, ::Window window) { … }
bool IsDesktopElement(XAtomCache* cache, ::Window window) { … }
}
int32_t GetWindowState(XAtomCache* cache, ::Window window) { … }
bool GetWindowList(XAtomCache* cache,
rtc::FunctionView<bool(::Window)> on_window) { … }
bool GetWindowRect(::Display* display,
::Window window,
DesktopRect* rect,
XWindowAttributes* attributes ) { … }
}