#include <gtk/gtk.h>
#include <memory>
#include <numbers>
#include <vector>
#include "base/check_op.h"
#include "base/compiler_specific.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "remoting/base/string_resources.h"
#include "remoting/host/client_session_control.h"
#include "remoting/host/host_window.h"
#include "ui/base/glib/scoped_gsignal.h"
#include "ui/base/l10n/l10n_util.h"
namespace remoting {
namespace {
class DisconnectWindowGtk : public HostWindow { … };
void AddRoundRectPath(cairo_t* cairo_context,
int width,
int height,
int radius) { … }
void DrawBackground(cairo_t* cairo_context, int width, int height) { … }
DisconnectWindowGtk::DisconnectWindowGtk()
: … { … }
DisconnectWindowGtk::~DisconnectWindowGtk() { … }
void DisconnectWindowGtk::Start(
const base::WeakPtr<ClientSessionControl>& client_session_control) { … }
void DisconnectWindowGtk::OnClicked(GtkButton* button) { … }
gboolean DisconnectWindowGtk::OnDelete(GtkWidget* window, GdkEvent* event) { … }
gboolean DisconnectWindowGtk::OnConfigure(GtkWidget* widget,
GdkEventConfigure* event) { … }
gboolean DisconnectWindowGtk::OnDraw(GtkWidget* widget, cairo_t* cr) { … }
gboolean DisconnectWindowGtk::OnButtonPress(GtkWidget* widget,
GdkEventButton* event) { … }
}
std::unique_ptr<HostWindow> HostWindow::CreateDisconnectWindow() { … }
}