ui_gfx_image_unittest.cc revision 72a454cd3513ac24fbdd0e0cb9ad70b86a99b801
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
572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "base/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 Monsenusing namespace ui::gfx::test;
2472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
2572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#if defined(TOOLKIT_VIEWS)
2672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenTEST(UiGfxImageTest, ViewsImageView) {
2772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  ui::gfx::Image image(CreatePlatformImage());
2872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
2972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  scoped_ptr<views::View> container(new views::View());
3072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  container->SetBounds(0, 0, 200, 200);
3172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  container->SetVisible(true);
3272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
3372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  scoped_ptr<views::ImageView> image_view(new views::ImageView());
3472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  image_view->SetImage(image);
3572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  container->AddChildView(image_view.get());
3672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen}
3772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif
3872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
3972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#if defined(OS_LINUX)
4072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenTEST(UiGfxImageTest, GtkImageView) {
4172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
4272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  gtk_window_resize(GTK_WINDOW(window), 200, 200);
4372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  gtk_window_move(GTK_WINDOW(window), 300, 300);
4472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
4572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  GtkWidget* fixed = gtk_fixed_new();
4672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  gtk_container_add(GTK_CONTAINER(window), fixed);
4772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
4872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  ui::gfx::Image image(CreateBitmap());
4972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  GtkWidget* image_view = gtk_image_new_from_pixbuf(image);
5072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  gtk_fixed_put(GTK_FIXED(fixed), image_view, 10, 10);
5172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  gtk_widget_set_size_request(image_view, 25, 25);
5272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
5372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  gtk_widget_show_all(window);
5472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
5572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  gtk_widget_destroy(window);
5672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen}
5772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif
5872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
5972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen}  // namespace
60