diff options
Diffstat (limited to 'chromium/media/tools/shader_bench/window_linux.cc')
-rw-r--r-- | chromium/media/tools/shader_bench/window_linux.cc | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/chromium/media/tools/shader_bench/window_linux.cc b/chromium/media/tools/shader_bench/window_linux.cc deleted file mode 100644 index a0a34932c50..00000000000 --- a/chromium/media/tools/shader_bench/window_linux.cc +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright (c) 2011 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 "media/tools/shader_bench/window.h" - -#include "media/tools/shader_bench/painter.h" - -#include <gdk/gdkx.h> -#include <gtk/gtk.h> - -namespace media { - -static gboolean OnDelete(GtkWidget* widget, GdkEventExpose* event) { - gtk_main_quit(); - return FALSE; -} - -static gboolean OnExpose(GtkWidget* widget, - GdkEventExpose* event, - gpointer data) { - Window* window = reinterpret_cast<Window*>(data); - if (window) - window->OnPaint(); - return FALSE; -} - -gfx::NativeWindow Window::CreateNativeWindow(int width, int height) { - GtkWidget* hwnd = gtk_window_new(GTK_WINDOW_TOPLEVEL); - - gtk_window_set_default_size(GTK_WINDOW(hwnd), width, height); - gtk_widget_set_double_buffered(hwnd, FALSE); - gtk_widget_set_app_paintable(hwnd, TRUE); - gtk_widget_show(hwnd); - - return GTK_WINDOW(hwnd); -} - -gfx::PluginWindowHandle Window::PluginWindow() { - return GDK_WINDOW_XWINDOW(GTK_WIDGET(window_handle_)->window); -} - -void Window::Start(int limit, const base::Closure& callback, - Painter* painter) { - running_ = true; - count_ = 0; - limit_ = limit; - callback_ = callback; - painter_ = painter; - - gtk_signal_connect(GTK_OBJECT(window_handle_), - "delete_event", - reinterpret_cast<GtkSignalFunc>(OnDelete), - NULL); - - gtk_signal_connect(GTK_OBJECT(window_handle_), - "expose_event", - reinterpret_cast<GtkSignalFunc>(OnExpose), - this); - - gtk_widget_queue_draw(GTK_WIDGET(window_handle_)); - MainLoop(); -} - -void Window::OnPaint() { - if (!running_) - return; - - if (count_ < limit_) { - painter_->OnPaint(); - count_++; - gtk_widget_queue_draw(GTK_WIDGET(window_handle_)); - } else { - running_ = false; - if (!callback_.is_null()) { - callback_.Run(); - callback_.Reset(); - } - gtk_main_quit(); - } -} - -void Window::MainLoop() { - gtk_main(); -} - -} // namespace media |