1/*
2 * Copyright (C) 2011 Research In Motion Limited. All rights reserved.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17 */
18
19#include "config.h"
20#include "FloatRect.h"
21
22#include <BlackBerryPlatformPrimitives.h>
23
24namespace WebCore {
25
26FloatRect::FloatRect(const BlackBerry::Platform::FloatRect& rect)
27    : m_location(rect.x(), rect.y())
28    , m_size(rect.width(), rect.height())
29{
30}
31
32FloatRect::operator BlackBerry::Platform::FloatRect() const
33{
34    return BlackBerry::Platform::FloatRect(x(), y(), width(), height());
35}
36
37FloatRect FloatRect::normalized() const
38{
39    FloatRect normalizedRect = *this;
40
41    if (width() < 0) {
42        normalizedRect.setX(x() + width());
43        normalizedRect.setWidth(-width());
44    }
45    if (height() < 0) {
46        normalizedRect.setY(y() + height());
47        normalizedRect.setHeight(-height());
48    }
49    return normalizedRect;
50}
51
52} // namespace WebCore
53