Move geometric types to a separate, more lightweight target.

[email protected]
http://crbug.com/327489

Review URL: https://codereview.chromium.org/109433013

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241649 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ui/gfx/geometry/insets.cc b/ui/gfx/geometry/insets.cc
new file mode 100644
index 0000000..300de456
--- /dev/null
+++ b/ui/gfx/geometry/insets.cc
@@ -0,0 +1,38 @@
+// 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 "ui/gfx/geometry/insets.h"
+
+#if defined(TOOLKIT_GTK)
+#include <gtk/gtk.h>
+#endif
+
+#include "base/strings/stringprintf.h"
+
+namespace gfx {
+
+template class InsetsBase<Insets, int>;
+
+Insets::Insets() : InsetsBase<Insets, int>(0, 0, 0, 0) {}
+
+Insets::Insets(int top, int left, int bottom, int right)
+    : InsetsBase<Insets, int>(top, left, bottom, right) {}
+
+#if defined(TOOLKIT_GTK)
+Insets::Insets(const GtkBorder& border)
+    : InsetsBase<Insets, int>(border.top,
+                              border.left,
+                              border.bottom,
+                              border.right) {
+}
+#endif
+
+Insets::~Insets() {}
+
+std::string Insets::ToString() const {
+  // Print members in the same order of the constructor parameters.
+  return base::StringPrintf("%d,%d,%d,%d", top(),  left(), bottom(), right());
+}
+
+}  // namespace gfx