Add WTF::move()
[WebKit-https.git] / Source / WebCore / platform / LengthSize.h
1 /*
2     Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3     Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14
15     You should have received a copy of the GNU Library General Public License
16     along with this library; see the file COPYING.LIB.  If not, write to
17     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18     Boston, MA 02110-1301, USA.
19 */
20
21 #ifndef LengthSize_h
22 #define LengthSize_h
23
24 #include "Length.h"
25
26 namespace WebCore {
27
28 struct LengthSize {
29 public:
30     LengthSize()
31     {
32     }
33     
34     LengthSize(Length width, Length height)
35         : m_width(WTF::move(width))
36         , m_height(WTF::move(height))
37     {
38     }
39
40     bool operator==(const LengthSize& o) const
41     {
42         return m_width == o.m_width && m_height == o.m_height;
43     }
44
45     void setWidth(Length width) { m_width = WTF::move(width); }
46     const Length& width() const { return m_width; }
47
48     void setHeight(Length height) { m_height = WTF::move(height); }
49     const Length& height() const { return m_height; }
50
51     LengthSize blend(const LengthSize& from, double progress) const
52     {
53         return LengthSize(m_width.blend(from.width(), progress), m_height.blend(from.height(), progress));
54     }
55
56 private:
57     Length m_width;
58     Length m_height;
59 };
60
61 } // namespace WebCore
62
63 #endif // LengthSize_h