Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(305)

Unified Diff: remoting/client/display/gl_canvas.cc

Issue 2591363002: Adding drawable to CRD andorid and iOS gl rendering pipeline. (Closed)
Patch Set: More like GetZIndex. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/client/display/gl_canvas.cc
diff --git a/remoting/client/display/gl_canvas.cc b/remoting/client/display/gl_canvas.cc
index 31d6b959e7dc4f20e0ded8f9f3eca18c40c65356..c61a43c1dec17018118d3fd8ff9446eb5f2f61f6 100644
--- a/remoting/client/display/gl_canvas.cc
+++ b/remoting/client/display/gl_canvas.cc
@@ -65,7 +65,8 @@ const char kDrawTexFrag[] =
namespace remoting {
-GlCanvas::GlCanvas(int gl_version) : gl_version_(gl_version) {
+GlCanvas::GlCanvas(int gl_version)
+ : gl_version_(gl_version), weak_factory_(this) {
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size_);
vertex_shader_ = CompileShader(GL_VERTEX_SHADER, kTexCoordToViewVert);
@@ -96,6 +97,17 @@ GlCanvas::~GlCanvas() {
glDeleteShader(fragment_shader_);
}
+void GlCanvas::Clear() {
+#ifndef NDEBUG
+ // Set the background clear color to bright green for debugging purposes.
+ glClearColor(0.0f, 1.0f, 0.0f, 1.0f);
+#else
+ // Set the background clear color to black.
+ glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+#endif
+ glClear(GL_COLOR_BUFFER_BIT);
+}
+
void GlCanvas::SetTransformationMatrix(const std::array<float, 9>& matrix) {
DCHECK(thread_checker_.CalledOnValidThread());
std::array<float, 9> transposed_matrix = matrix;
@@ -114,8 +126,8 @@ void GlCanvas::SetViewSize(int width, int height) {
}
void GlCanvas::DrawTexture(int texture_id,
- GLuint texture_handle,
- GLuint vertex_buffer,
+ int texture_handle,
+ int vertex_buffer,
float alpha_multiplier) {
DCHECK(thread_checker_.CalledOnValidThread());
if (!view_size_set_ || !transformation_set_) {
@@ -137,7 +149,7 @@ void GlCanvas::DrawTexture(int texture_id,
glBindTexture(GL_TEXTURE_2D, 0);
}
-int GlCanvas::GetGlVersion() const {
+int GlCanvas::GetVersion() const {
return gl_version_;
}
@@ -145,4 +157,9 @@ int GlCanvas::GetMaxTextureSize() const {
return max_texture_size_;
}
+base::WeakPtr<Canvas> GlCanvas::GetWeakPtr() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ return weak_factory_.GetWeakPtr();
+}
+
} // namespace remoting

Powered by Google App Engine
This is Rietveld 408576698