aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb
diff options
context:
space:
mode:
Diffstat (limited to 'common/rfb')
-rw-r--r--common/rfb/Region.cxx70
1 files changed, 45 insertions, 25 deletions
diff --git a/common/rfb/Region.cxx b/common/rfb/Region.cxx
index cfdf0ca2..cf80fc6f 100644
--- a/common/rfb/Region.cxx
+++ b/common/rfb/Region.cxx
@@ -28,93 +28,112 @@ extern "C" {
#include <pixman.h>
}
-static rfb::LogWriter vlog("Region");
+using namespace rfb;
-rfb::Region::Region() {
+static LogWriter vlog("Region");
+
+Region::Region()
+{
rgn = new struct pixman_region16;
pixman_region_init(rgn);
}
-rfb::Region::Region(const Rect& r) {
+Region::Region(const Rect& r)
+{
rgn = new struct pixman_region16;
pixman_region_init_rect(rgn, r.tl.x, r.tl.y, r.width(), r.height());
}
-rfb::Region::Region(const rfb::Region& r) {
+Region::Region(const Region& r)
+{
rgn = new struct pixman_region16;
pixman_region_init(rgn);
pixman_region_copy(rgn, r.rgn);
}
-rfb::Region::~Region() {
+Region::~Region()
+{
pixman_region_fini(rgn);
delete rgn;
}
-rfb::Region& rfb::Region::operator=(const rfb::Region& r) {
+Region& Region::operator=(const Region& r)
+{
pixman_region_copy(rgn, r.rgn);
return *this;
}
-void rfb::Region::clear() {
+void Region::clear()
+{
// pixman_region_clear() isn't available on some older systems
pixman_region_fini(rgn);
pixman_region_init(rgn);
}
-void rfb::Region::reset(const Rect& r) {
+void Region::reset(const Rect& r)
+{
pixman_region_fini(rgn);
pixman_region_init_rect(rgn, r.tl.x, r.tl.y, r.width(), r.height());
}
-void rfb::Region::translate(const Point& delta) {
+void Region::translate(const Point& delta)
+{
pixman_region_translate(rgn, delta.x, delta.y);
}
-void rfb::Region::assign_intersect(const rfb::Region& r) {
+void Region::assign_intersect(const Region& r)
+{
pixman_region_intersect(rgn, rgn, r.rgn);
}
-void rfb::Region::assign_union(const rfb::Region& r) {
+void Region::assign_union(const Region& r)
+{
pixman_region_union(rgn, rgn, r.rgn);
}
-void rfb::Region::assign_subtract(const rfb::Region& r) {
+void Region::assign_subtract(const Region& r)
+{
pixman_region_subtract(rgn, rgn, r.rgn);
}
-rfb::Region rfb::Region::intersect(const rfb::Region& r) const {
- rfb::Region ret;
+Region Region::intersect(const Region& r) const
+{
+ Region ret;
pixman_region_intersect(ret.rgn, rgn, r.rgn);
return ret;
}
-rfb::Region rfb::Region::union_(const rfb::Region& r) const {
- rfb::Region ret;
+Region Region::union_(const Region& r) const
+{
+ Region ret;
pixman_region_union(ret.rgn, rgn, r.rgn);
return ret;
}
-rfb::Region rfb::Region::subtract(const rfb::Region& r) const {
- rfb::Region ret;
+Region Region::subtract(const Region& r) const
+{
+ Region ret;
pixman_region_subtract(ret.rgn, rgn, r.rgn);
return ret;
}
-bool rfb::Region::operator==(const rfb::Region& r) const {
+bool Region::operator==(const Region& r) const
+{
return pixman_region_equal(rgn, r.rgn);
}
-bool rfb::Region::operator!=(const rfb::Region& r) const {
+bool Region::operator!=(const Region& r) const
+{
return !pixman_region_equal(rgn, r.rgn);
}
-int rfb::Region::numRects() const {
+int Region::numRects() const
+{
return pixman_region_n_rects(rgn);
}
-bool rfb::Region::get_rects(std::vector<Rect>* rects,
- bool left2right, bool topdown) const
+bool Region::get_rects(std::vector<Rect>* rects,
+ bool left2right, bool topdown) const
{
int nRects;
const pixman_box16_t* boxes;
@@ -156,14 +175,15 @@ bool rfb::Region::get_rects(std::vector<Rect>* rects,
return !rects->empty();
}
-rfb::Rect rfb::Region::get_bounding_rect() const {
+Rect Region::get_bounding_rect() const
+{
const pixman_box16_t* extents;
extents = pixman_region_extents(rgn);
return Rect(extents->x1, extents->y1, extents->x2, extents->y2);
}
-void rfb::Region::debug_print(const char* prefix) const
+void Region::debug_print(const char* prefix) const
{
Rect extents;
std::vector<Rect> rects;