summaryrefslogtreecommitdiffstats
path: root/views/window/window_shape.cc
diff options
context:
space:
mode:
Diffstat (limited to 'views/window/window_shape.cc')
-rw-r--r--views/window/window_shape.cc46
1 files changed, 46 insertions, 0 deletions
diff --git a/views/window/window_shape.cc b/views/window/window_shape.cc
new file mode 100644
index 0000000..dd234bf
--- /dev/null
+++ b/views/window/window_shape.cc
@@ -0,0 +1,46 @@
+// Copyright (c) 2010 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 "views/window/window_shape.h"
+
+#include "gfx/path.h"
+#include "gfx/size.h"
+
+namespace views {
+
+void GetDefaultWindowMask(const gfx::Size &size, gfx::Path *window_mask) {
+ // Redefine the window visible region for the new size.
+ window_mask->moveTo(0, 3);
+ window_mask->lineTo(1, 2);
+ window_mask->lineTo(1, 1);
+ window_mask->lineTo(2, 1);
+ window_mask->lineTo(3, 0);
+
+ window_mask->lineTo(SkIntToScalar(size.width() - 3), 0);
+ window_mask->lineTo(SkIntToScalar(size.width() - 2), 1);
+ window_mask->lineTo(SkIntToScalar(size.width() - 1), 1);
+ window_mask->lineTo(SkIntToScalar(size.width() - 1), 2);
+ window_mask->lineTo(SkIntToScalar(size.width()), 3);
+
+ window_mask->lineTo(SkIntToScalar(size.width()),
+ SkIntToScalar(size.height() - 3));
+ window_mask->lineTo(SkIntToScalar(size.width() - 1),
+ SkIntToScalar(size.height() - 3));
+ window_mask->lineTo(SkIntToScalar(size.width() - 1),
+ SkIntToScalar(size.height() - 1));
+ window_mask->lineTo(SkIntToScalar(size.width() - 3),
+ SkIntToScalar(size.height() - 2));
+ window_mask->lineTo(SkIntToScalar(size.width() - 3),
+ SkIntToScalar(size.height()));
+
+ window_mask->lineTo(3, SkIntToScalar(size.height()));
+ window_mask->lineTo(2, SkIntToScalar(size.height() - 2));
+ window_mask->lineTo(1, SkIntToScalar(size.height() - 1));
+ window_mask->lineTo(1, SkIntToScalar(size.height() - 3));
+ window_mask->lineTo(0, SkIntToScalar(size.height() - 3));
+
+ window_mask->close();
+}
+
+} // namespace views