summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthestig@google.com <thestig@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-03 21:13:16 +0000
committerthestig@google.com <thestig@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-03 21:13:16 +0000
commit393fb93afa9f860680d6a6078b75699d651e777d (patch)
treea71bb09c586432ee74c7e5cc8a8d0cd5a86945cf
parentf5b50b81cdf4a883c1eba35394b7b2191179d246 (diff)
downloadchromium_src-393fb93afa9f860680d6a6078b75699d651e777d.zip
chromium_src-393fb93afa9f860680d6a6078b75699d651e777d.tar.gz
chromium_src-393fb93afa9f860680d6a6078b75699d651e777d.tar.bz2
Merge app/gfx/gtk_util into base/gfx/gtk_util.
BUG=none TEST=none Review URL: http://codereview.chromium.org/118174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17535 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--app/app.gyp2
-rw-r--r--app/gfx/gtk_util.cc41
-rw-r--r--app/gfx/gtk_util.h21
-rw-r--r--app/resource_bundle_linux.cc1
-rw-r--r--base/gfx/gtk_util.cc30
-rw-r--r--base/gfx/gtk_util.h7
-rw-r--r--chrome/browser/browser_theme_provider_gtk.cc2
-rw-r--r--chrome/browser/gtk/bookmark_bar_gtk.cc1
-rw-r--r--chrome/browser/gtk/bookmark_menu_controller_gtk.cc2
-rw-r--r--chrome/browser/gtk/hung_renderer_dialog_gtk.cc2
-rw-r--r--chrome/browser/gtk/infobar_gtk.cc1
-rw-r--r--chrome/browser/gtk/menu_gtk.cc2
-rw-r--r--chrome/browser/gtk/nine_box.cc1
-rw-r--r--chrome/browser/gtk/tabs/dragged_tab_gtk.cc2
14 files changed, 42 insertions, 73 deletions
diff --git a/app/app.gyp b/app/app.gyp
index 4a4c29b..3d1d0a5 100644
--- a/app/app.gyp
+++ b/app/app.gyp
@@ -77,8 +77,6 @@
'gfx/color_utils.cc',
'gfx/color_utils.h',
'gfx/favicon_size.h',
- 'gfx/gtk_util.cc',
- 'gfx/gtk_util.h',
'gfx/icon_util.cc',
'gfx/icon_util.h',
'gfx/insets.h',
diff --git a/app/gfx/gtk_util.cc b/app/gfx/gtk_util.cc
deleted file mode 100644
index e2c5ba4..0000000
--- a/app/gfx/gtk_util.cc
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (c) 2009 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 "app/gfx/gtk_util.h"
-
-#include "base/linux_util.h"
-#include "third_party/skia/include/core/SkBitmap.h"
-
-namespace {
-
-void FreePixels(guchar* pixels, gpointer data) {
- free(data);
-}
-
-} // namespace
-
-namespace gfx {
-
-GdkPixbuf* GdkPixbufFromSkBitmap(const SkBitmap* bitmap) {
- bitmap->lockPixels();
- int width = bitmap->width();
- int height = bitmap->height();
- int stride = bitmap->rowBytes();
- const guchar* orig_data = static_cast<guchar*>(bitmap->getPixels());
- guchar* data = base::BGRAToRGBA(orig_data, width, height, stride);
-
- // This pixbuf takes ownership of our malloc()ed data and will
- // free it for us when it is destroyed.
- GdkPixbuf* pixbuf = gdk_pixbuf_new_from_data(
- data,
- GDK_COLORSPACE_RGB, // The only colorspace gtk supports.
- true, // There is an alpha channel.
- 8,
- width, height, stride, &FreePixels, data);
-
- bitmap->unlockPixels();
- return pixbuf;
-}
-
-} // namespace gfx
diff --git a/app/gfx/gtk_util.h b/app/gfx/gtk_util.h
deleted file mode 100644
index 471d7f2..0000000
--- a/app/gfx/gtk_util.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright (c) 2009 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.
-
-#ifndef APP_GFX_GTK_UTIL_H_
-#define APP_GFX_GTK_UTIL_H_
-
-#include <gtk/gtk.h>
-
-typedef struct _GdkPixbuf GdkPixbuf;
-class SkBitmap;
-
-namespace gfx {
-
-// Convert and copy a SkBitmap to a GdkPixbuf. NOTE: this uses BGRAToRGBA, so
-// it is an expensive operation.
-GdkPixbuf* GdkPixbufFromSkBitmap(const SkBitmap* bitmap);
-
-} // namespace gfx
-
-#endif // APP_GFX_GTK_UTIL_H_
diff --git a/app/resource_bundle_linux.cc b/app/resource_bundle_linux.cc
index e27c7b6..f886eca 100644
--- a/app/resource_bundle_linux.cc
+++ b/app/resource_bundle_linux.cc
@@ -8,7 +8,6 @@
#include "app/app_paths.h"
#include "app/gfx/font.h"
-#include "app/gfx/gtk_util.h"
#include "app/l10n_util.h"
#include "base/base_paths.h"
#include "base/data_pack.h"
diff --git a/base/gfx/gtk_util.cc b/base/gfx/gtk_util.cc
index 03acfbf..005ec54 100644
--- a/base/gfx/gtk_util.cc
+++ b/base/gfx/gtk_util.cc
@@ -9,13 +9,43 @@
#include <stdlib.h>
#include "base/gfx/rect.h"
+#include "base/linux_util.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+namespace {
+
+void FreePixels(guchar* pixels, gpointer data) {
+ free(data);
+}
+
+} // namespace
namespace gfx {
const GdkColor kGdkWhite = GDK_COLOR_RGB(0xff, 0xff, 0xff);
const GdkColor kGdkBlack = GDK_COLOR_RGB(0x00, 0x00, 0x00);
const GdkColor kGdkGreen = GDK_COLOR_RGB(0x00, 0xff, 0x00);
+GdkPixbuf* GdkPixbufFromSkBitmap(const SkBitmap* bitmap) {
+ bitmap->lockPixels();
+ int width = bitmap->width();
+ int height = bitmap->height();
+ int stride = bitmap->rowBytes();
+ const guchar* orig_data = static_cast<guchar*>(bitmap->getPixels());
+ guchar* data = base::BGRAToRGBA(orig_data, width, height, stride);
+
+ // This pixbuf takes ownership of our malloc()ed data and will
+ // free it for us when it is destroyed.
+ GdkPixbuf* pixbuf = gdk_pixbuf_new_from_data(
+ data,
+ GDK_COLORSPACE_RGB, // The only colorspace gtk supports.
+ true, // There is an alpha channel.
+ 8,
+ width, height, stride, &FreePixels, data);
+
+ bitmap->unlockPixels();
+ return pixbuf;
+}
+
void SubtractRectanglesFromRegion(GdkRegion* region,
const std::vector<Rect>& cutouts) {
for (size_t i = 0; i < cutouts.size(); ++i) {
diff --git a/base/gfx/gtk_util.h b/base/gfx/gtk_util.h
index 0d21216..c219dab 100644
--- a/base/gfx/gtk_util.h
+++ b/base/gfx/gtk_util.h
@@ -13,8 +13,11 @@
#include "base/scoped_ptr.h"
typedef struct _GdkColor GdkColor;
+typedef struct _GdkPixbuf GdkPixbuf;
typedef struct _GdkRegion GdkRegion;
+class SkBitmap;
+
// Define a macro for creating GdkColors from RGB values. This is a macro to
// allow static construction of literals, etc. Use this like:
// GdkColor white = GDK_COLOR_RGB(0xff, 0xff, 0xff);
@@ -28,6 +31,10 @@ extern const GdkColor kGdkWhite;
extern const GdkColor kGdkBlack;
extern const GdkColor kGdkGreen;
+// Convert and copy a SkBitmap to a GdkPixbuf. NOTE: this uses BGRAToRGBA, so
+// it is an expensive operation.
+GdkPixbuf* GdkPixbufFromSkBitmap(const SkBitmap* bitmap);
+
// Modify the given region by subtracting the given rectangles.
void SubtractRectanglesFromRegion(GdkRegion* region,
const std::vector<Rect>& cutouts);
diff --git a/chrome/browser/browser_theme_provider_gtk.cc b/chrome/browser/browser_theme_provider_gtk.cc
index 0908d78..84ad293 100644
--- a/chrome/browser/browser_theme_provider_gtk.cc
+++ b/chrome/browser/browser_theme_provider_gtk.cc
@@ -4,7 +4,7 @@
#include "chrome/browser/browser_theme_provider.h"
-#include "app/gfx/gtk_util.h"
+#include "base/gfx/gtk_util.h"
#include "base/logging.h"
GdkPixbuf* BrowserThemeProvider::GetPixbufNamed(int id) {
diff --git a/chrome/browser/gtk/bookmark_bar_gtk.cc b/chrome/browser/gtk/bookmark_bar_gtk.cc
index 354d55d..9fd896c 100644
--- a/chrome/browser/gtk/bookmark_bar_gtk.cc
+++ b/chrome/browser/gtk/bookmark_bar_gtk.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/gtk/bookmark_bar_gtk.h"
-#include "app/gfx/gtk_util.h"
#include "app/gfx/text_elider.h"
#include "app/l10n_util.h"
#include "app/resource_bundle.h"
diff --git a/chrome/browser/gtk/bookmark_menu_controller_gtk.cc b/chrome/browser/gtk/bookmark_menu_controller_gtk.cc
index f94ef7f..0b4a60a 100644
--- a/chrome/browser/gtk/bookmark_menu_controller_gtk.cc
+++ b/chrome/browser/gtk/bookmark_menu_controller_gtk.cc
@@ -6,9 +6,9 @@
#include <gtk/gtk.h>
-#include "app/gfx/gtk_util.h"
#include "app/l10n_util.h"
#include "app/resource_bundle.h"
+#include "base/gfx/gtk_util.h"
#include "base/string_util.h"
#include "chrome/browser/bookmarks/bookmark_context_menu.h"
#include "chrome/browser/gtk/menu_gtk.h"
diff --git a/chrome/browser/gtk/hung_renderer_dialog_gtk.cc b/chrome/browser/gtk/hung_renderer_dialog_gtk.cc
index 0f16cf0..254336d 100644
--- a/chrome/browser/gtk/hung_renderer_dialog_gtk.cc
+++ b/chrome/browser/gtk/hung_renderer_dialog_gtk.cc
@@ -6,9 +6,9 @@
#include <gtk/gtk.h>
-#include "app/gfx/gtk_util.h"
#include "app/l10n_util.h"
#include "app/resource_bundle.h"
+#include "base/gfx/gtk_util.h"
#include "base/process_util.h"
#include "chrome/browser/browser_list.h"
#include "chrome/common/logging_chrome.h"
diff --git a/chrome/browser/gtk/infobar_gtk.cc b/chrome/browser/gtk/infobar_gtk.cc
index 1b8734b..fbf6b49 100644
--- a/chrome/browser/gtk/infobar_gtk.cc
+++ b/chrome/browser/gtk/infobar_gtk.cc
@@ -6,7 +6,6 @@
#include <gtk/gtk.h>
-#include "app/gfx/gtk_util.h"
#include "base/gfx/gtk_util.h"
#include "base/string_util.h"
#include "chrome/browser/gtk/custom_button.h"
diff --git a/chrome/browser/gtk/menu_gtk.cc b/chrome/browser/gtk/menu_gtk.cc
index dc1be83..2721843 100644
--- a/chrome/browser/gtk/menu_gtk.cc
+++ b/chrome/browser/gtk/menu_gtk.cc
@@ -4,8 +4,8 @@
#include "chrome/browser/gtk/menu_gtk.h"
-#include "app/gfx/gtk_util.h"
#include "app/l10n_util.h"
+#include "base/gfx/gtk_util.h"
#include "base/logging.h"
#include "base/stl_util-inl.h"
#include "base/string_util.h"
diff --git a/chrome/browser/gtk/nine_box.cc b/chrome/browser/gtk/nine_box.cc
index e1f3aa6..6a380ca 100644
--- a/chrome/browser/gtk/nine_box.cc
+++ b/chrome/browser/gtk/nine_box.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/gtk/nine_box.h"
-#include "app/gfx/gtk_util.h"
#include "app/resource_bundle.h"
#include "app/theme_provider.h"
#include "base/gfx/gtk_util.h"
diff --git a/chrome/browser/gtk/tabs/dragged_tab_gtk.cc b/chrome/browser/gtk/tabs/dragged_tab_gtk.cc
index 3963eac..48413ef 100644
--- a/chrome/browser/gtk/tabs/dragged_tab_gtk.cc
+++ b/chrome/browser/gtk/tabs/dragged_tab_gtk.cc
@@ -7,7 +7,7 @@
#include <gdk/gdk.h>
#include "app/gfx/canvas.h"
-#include "app/gfx/gtk_util.h"
+#include "base/gfx/gtk_util.h"
#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/browser/tabs/tab_strip_model.h"
#include "chrome/browser/gtk/tabs/tab_renderer_gtk.h"