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 10namespace views { 11 12void 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 47