#include "remoting/client/display/gl_renderer.h"
#include <algorithm>
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/task/single_thread_task_runner.h"
#include "remoting/client/display/drawable.h"
#include "remoting/client/display/gl_canvas.h"
#include "remoting/client/display/gl_math.h"
#include "remoting/client/display/gl_renderer_delegate.h"
#include "remoting/client/display/sys_opengl.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
namespace remoting {
namespace {
bool CompareDrawableZOrder(base::WeakPtr<Drawable> a,
base::WeakPtr<Drawable> b) { … }
}
GlRenderer::GlRenderer() { … }
GlRenderer::~GlRenderer() { … }
void GlRenderer::SetDelegate(base::WeakPtr<GlRendererDelegate> delegate) { … }
void GlRenderer::RequestCanvasSize() { … }
void GlRenderer::OnPixelTransformationChanged(
const std::array<float, 9>& matrix) { … }
void GlRenderer::OnCursorMoved(float x, float y) { … }
void GlRenderer::OnCursorInputFeedback(float x, float y, float diameter) { … }
void GlRenderer::OnCursorVisibilityChanged(bool visible) { … }
void GlRenderer::OnFrameReceived(std::unique_ptr<webrtc::DesktopFrame> frame,
base::OnceClosure done) { … }
void GlRenderer::OnCursorShapeChanged(const protocol::CursorShapeInfo& shape) { … }
void GlRenderer::OnSurfaceCreated(std::unique_ptr<Canvas> canvas) { … }
void GlRenderer::OnSurfaceChanged(int view_width, int view_height) { … }
void GlRenderer::OnSurfaceDestroyed() { … }
base::WeakPtr<GlRenderer> GlRenderer::GetWeakPtr() { … }
void GlRenderer::RequestRender() { … }
void GlRenderer::AddDrawable(base::WeakPtr<Drawable> drawable) { … }
void GlRenderer::OnRender() { … }
std::unique_ptr<GlRenderer> GlRenderer::CreateGlRendererWithDesktop() { … }
}