summaryrefslogtreecommitdiffstats
path: root/cc/stubs/int_rect.h
blob: c55ef96e59f7beebbb2bdc1e5577c37e8a2a42b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// Copyright (c) 2012 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.

#ifndef CC_STUBS_INTRECT_H_
#define CC_STUBS_INTRECT_H_

#include "IntPoint.h"
#include "IntSize.h"
#if INSIDE_WEBKIT_BUILD
#include "Source/WebCore/platform/graphics/IntRect.h"
#else
#include "third_party/WebKit/Source/WebCore/platform/graphics/IntRect.h"
#endif
#include "ui/gfx/rect.h"

#if defined(OS_MACOSX)
#include <ApplicationServices/ApplicationServices.h>
#endif

namespace cc {

class IntRect : public WebCore::IntRect {
public:
    IntRect() { }

    IntRect(const IntPoint& location, const IntSize& size)
        : WebCore::IntRect(location, size)
    {
    }

    IntRect(int x, int y, int width, int height)
        : WebCore::IntRect(x, y, width, height)
    {
    }

    IntRect(WebCore::IntRect rect)
        : WebCore::IntRect(rect.x(), rect.y(), rect.width(), rect.height())
    {

    }

    explicit IntRect(gfx::Rect rect)
        : WebCore::IntRect(rect.x(), rect.y(), rect.width(), rect.height())
    {
    }

    operator gfx::Rect() const { return gfx::Rect(x(), y(), width(), height()); }

    IntPoint location() const { return WebCore::IntRect::location(); }
    IntSize size() const { return WebCore::IntRect::size(); }

private:
#if defined(OS_MACOSX)
    operator CGRect() const;
#endif
};

}

#endif