- add sources.
[platform/framework/web/crosswalk.git] / src / ui / views / window / window_shape.cc
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ui/views/window/window_shape.h"
6
7 #include "ui/gfx/path.h"
8 #include "ui/gfx/size.h"
9
10 namespace views {
11
12 void GetDefaultWindowMask(const gfx::Size &size, gfx::Path *window_mask) {
13   // Redefine the window visible region for the new size.
14   window_mask->moveTo(0, 3);
15   window_mask->lineTo(1, 2);
16   window_mask->lineTo(1, 1);
17   window_mask->lineTo(2, 1);
18   window_mask->lineTo(3, 0);
19
20   window_mask->lineTo(SkIntToScalar(size.width() - 3), 0);
21   window_mask->lineTo(SkIntToScalar(size.width() - 2), 1);
22   window_mask->lineTo(SkIntToScalar(size.width() - 1), 1);
23   window_mask->lineTo(SkIntToScalar(size.width() - 1), 2);
24   window_mask->lineTo(SkIntToScalar(size.width()), 3);
25
26   window_mask->lineTo(SkIntToScalar(size.width()),
27                       SkIntToScalar(size.height() - 3));
28   window_mask->lineTo(SkIntToScalar(size.width() - 1),
29                       SkIntToScalar(size.height() - 3));
30   window_mask->lineTo(SkIntToScalar(size.width() - 1),
31                       SkIntToScalar(size.height() - 1));
32   window_mask->lineTo(SkIntToScalar(size.width() - 3),
33                       SkIntToScalar(size.height() - 2));
34   window_mask->lineTo(SkIntToScalar(size.width() - 3),
35                       SkIntToScalar(size.height()));
36
37   window_mask->lineTo(3, SkIntToScalar(size.height()));
38   window_mask->lineTo(2, SkIntToScalar(size.height() - 2));
39   window_mask->lineTo(1, SkIntToScalar(size.height() - 1));
40   window_mask->lineTo(1, SkIntToScalar(size.height() - 3));
41   window_mask->lineTo(0, SkIntToScalar(size.height() - 3));
42
43   window_mask->close();
44 }
45
46 } // namespace views