| Index: chrome/gpu/gpu_view_x.cc
|
| ===================================================================
|
| --- chrome/gpu/gpu_view_x.cc (revision 65168)
|
| +++ chrome/gpu/gpu_view_x.cc (working copy)
|
| @@ -1,115 +0,0 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/gpu/gpu_view_x.h"
|
| -
|
| -#include "app/gfx/gl/gl_bindings.h"
|
| -#include "base/scoped_ptr.h"
|
| -#include "chrome/common/gpu_messages.h"
|
| -#include "chrome/gpu/gpu_backing_store_glx.h"
|
| -#include "chrome/gpu/gpu_backing_store_glx_context.h"
|
| -#include "chrome/gpu/gpu_thread.h"
|
| -#include "chrome/gpu/gpu_video_layer_glx.h"
|
| -
|
| -// X stuff must be last since it does "#define Status int" which messes up some
|
| -// of the header files we indirectly pull in.
|
| -#include <X11/Xutil.h>
|
| -
|
| -GpuViewX::GpuViewX(GpuThread* gpu_thread,
|
| - XID parent,
|
| - int32 routing_id)
|
| - : gpu_thread_(gpu_thread),
|
| - routing_id_(routing_id),
|
| - window_(parent) {
|
| - gpu_thread_->AddRoute(routing_id_, this);
|
| -}
|
| -
|
| -GpuViewX::~GpuViewX() {
|
| - gpu_thread_->RemoveRoute(routing_id_);
|
| - // TODO(brettw) may want to delete any dangling backing stores, or perhaps
|
| - // assert if one still exists.
|
| -}
|
| -
|
| -GLXContext GpuViewX::BindContext() {
|
| - GLXContext ctx = gpu_thread_->GetGLXContext()->BindContext(window_);
|
| - CHECK(ctx);
|
| - return ctx;
|
| -}
|
| -
|
| -void GpuViewX::OnMessageReceived(const IPC::Message& msg) {
|
| - IPC_BEGIN_MESSAGE_MAP(GpuViewX, msg)
|
| - IPC_MESSAGE_HANDLER(GpuMsg_NewBackingStore, OnNewBackingStore)
|
| - IPC_MESSAGE_HANDLER(GpuMsg_NewVideoLayer, OnNewVideoLayer)
|
| - IPC_MESSAGE_HANDLER(GpuMsg_WindowPainted, OnWindowPainted)
|
| - IPC_END_MESSAGE_MAP_EX()
|
| -}
|
| -
|
| -void GpuViewX::OnChannelConnected(int32 peer_pid) {
|
| -}
|
| -
|
| -void GpuViewX::OnChannelError() {
|
| - // TODO(brettw) do we need to delete ourselves now?
|
| -}
|
| -
|
| -void GpuViewX::DidScrollBackingStoreRect(int dx, int dy,
|
| - const gfx::Rect& rect) {
|
| -}
|
| -
|
| -void GpuViewX::Repaint() {
|
| - BindContext();
|
| -
|
| - const gfx::Size& size = backing_store_->size();
|
| -
|
| - glViewport(0, 0, size.width(), size.height());
|
| -
|
| - // TODO(apatrick): These functions are not available in GLES2.
|
| - // glMatrixMode(GL_MODELVIEW);
|
| - // glLoadIdentity();
|
| -
|
| - glEnable(GL_TEXTURE_2D);
|
| - glBindTexture(GL_TEXTURE_2D, backing_store_->texture_id());
|
| -
|
| - // TODO(brettw) use vertex buffers.
|
| - // TODO(brettw) make this so we use the texture size rather than the whole
|
| - // area size so we don't stretch bitmaps.
|
| - // TODO(apatrick): These functions are not available in GLES2.
|
| - // glBegin(GL_QUADS);
|
| - // glTexCoord2f(0.0f, 0.0f);
|
| - // glVertex2f(-1.0, 1.0);
|
| -
|
| - // glTexCoord2f(0.0f, 1.0f);
|
| - // glVertex2f(-1.0, -1.0);
|
| -
|
| - // glTexCoord2f(1.0f, 1.0f);
|
| - // glVertex2f(1.0, -1.0);
|
| -
|
| - // glTexCoord2f(1.0f, 0.0f);
|
| - // glVertex2f(1.0, 1.0);
|
| - // glEnd();
|
| - DCHECK(glGetError() == GL_NO_ERROR);
|
| -
|
| - if (video_layer_.get()) {
|
| - video_layer_->Render(backing_store_->size());
|
| - DCHECK(glGetError() == GL_NO_ERROR);
|
| - }
|
| -
|
| - // TODO(brettw) when we no longer stretch non-fitting bitmaps, we should
|
| - // paint white over any unpainted area here.
|
| -
|
| - glXSwapBuffers(gpu_thread_->display(), window_);
|
| -}
|
| -
|
| -void GpuViewX::OnNewBackingStore(int32 routing_id, const gfx::Size& size) {
|
| - backing_store_.reset(
|
| - new GpuBackingStoreGLX(this, gpu_thread_, routing_id, size));
|
| -}
|
| -
|
| -void GpuViewX::OnNewVideoLayer(int32 routing_id, const gfx::Size& size) {
|
| - video_layer_.reset(
|
| - new GpuVideoLayerGLX(this, gpu_thread_, routing_id, size));
|
| -}
|
| -
|
| -void GpuViewX::OnWindowPainted() {
|
| - Repaint();
|
| -}
|
|
|