libscratchcpp
A library for C++ based Scratch project players
Loading...
Searching...
No Matches
rect.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
3#pragma once
4
5#include "global.h"
6#include "spimpl.h"
7
8namespace libscratchcpp
9{
10
11class RectPrivate;
12
15{
16 public:
17 Rect(double left, double top, double right, double bottom);
18 Rect();
19
20 double left() const;
21 void setLeft(double left);
22
23 double top() const;
24 void setTop(double top);
25
26 double right() const;
27 void setRight(double right);
28
29 double bottom() const;
30 void setBottom(double bottom);
31
32 double width() const;
33 double height() const;
34
35 void clamp(double left, double top, double right, double bottom);
36 void snapToInt();
37
38 bool intersects(const Rect &rect) const;
39 bool contains(double x, double y) const;
40
41 static void intersected(const Rect &a, const Rect &b, Rect &dst);
42 static void united(const Rect &a, const Rect &b, Rect &dst);
43
44 private:
45 spimpl::impl_ptr<RectPrivate> impl;
46};
47
48} // namespace libscratchcpp
void setBottom(double bottom)
Definition rect.cpp:64
void setLeft(double left)
Definition rect.cpp:28
double width() const
Definition rect.cpp:70
void clamp(double left, double top, double right, double bottom)
Definition rect.cpp:92
Rect(double left, double top, double right, double bottom)
Definition rect.cpp:10
bool intersects(const Rect &rect) const
Definition rect.cpp:107
double left() const
Definition rect.cpp:22
double bottom() const
Definition rect.cpp:58
double top() const
Definition rect.cpp:34
void setRight(double right)
Definition rect.cpp:52
void setTop(double top)
Definition rect.cpp:40
bool contains(double x, double y) const
Definition rect.cpp:126
static void intersected(const Rect &a, const Rect &b, Rect &dst)
Definition rect.cpp:142
double right() const
Definition rect.cpp:46
double height() const
Definition rect.cpp:76
static void united(const Rect &a, const Rect &b, Rect &dst)
Definition rect.cpp:151
void snapToInt()
Definition rect.cpp:82
#define LIBSCRATCHCPP_EXPORT
Definition global.h:17
The main namespace of the library.
Definition asset.h:10