172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// found in the LICENSE file. 472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/memory/scoped_ptr.h" 672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "testing/gtest/include/gtest/gtest.h" 772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "third_party/skia/include/core/SkBitmap.h" 872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "ui/gfx/image.h" 972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "ui/gfx/image_unittest.h" 1072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#if defined(OS_LINUX) 1272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include <gtk/gtk.h> 1372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "ui/gfx/gtk_util.h" 1472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif 1572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#if defined(TOOLKIT_VIEWS) 1772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "views/controls/image_view.h" 1872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "views/view.h" 1972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif 2072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 2172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsennamespace { 2272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 2372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#if defined(TOOLKIT_VIEWS) 2472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenTEST(UiGfxImageTest, ViewsImageView) { 25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen gfx::Image image(gfx::test::CreatePlatformImage()); 2672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 2772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen scoped_ptr<views::View> container(new views::View()); 2872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen container->SetBounds(0, 0, 200, 200); 2972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen container->SetVisible(true); 3072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen scoped_ptr<views::ImageView> image_view(new views::ImageView()); 3272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen image_view->SetImage(image); 3372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen container->AddChildView(image_view.get()); 3472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 3572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif 3672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#if defined(OS_LINUX) 3872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenTEST(UiGfxImageTest, GtkImageView) { 3972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 4072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen gtk_window_resize(GTK_WINDOW(window), 200, 200); 4172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen gtk_window_move(GTK_WINDOW(window), 300, 300); 4272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 4372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen GtkWidget* fixed = gtk_fixed_new(); 4472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen gtk_container_add(GTK_CONTAINER(window), fixed); 4572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 46ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen gfx::Image image(gfx::test::CreateBitmap()); 4772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen GtkWidget* image_view = gtk_image_new_from_pixbuf(image); 4872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen gtk_fixed_put(GTK_FIXED(fixed), image_view, 10, 10); 4972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen gtk_widget_set_size_request(image_view, 25, 25); 5072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 5172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen gtk_widget_show_all(window); 5272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 5372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen gtk_widget_destroy(window); 5472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 5572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif 5672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 5772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} // namespace 58