1 #ifndef __lib_gdi_region_h
2 #define __lib_gdi_region_h
12 std::vector<eRect>::const_iterator r,
13 std::vector<eRect>::const_iterator &rBandEnd,
14 std::vector<eRect>::const_iterator rEnd,
19 while ((rBandEnd != rEnd) && (rBandEnd->y1 == ry1))
23 inline void AppendRegions(
24 std::vector<eRect>::const_iterator r,
25 std::vector<eRect>::const_iterator rEnd)
30 int do_coalesce(
int prevStart,
unsigned int curStart);
31 inline void coalesce(
int &prevBand,
unsigned int curBand)
33 if (curBand - prevBand ==
rects.size() - curBand) {
34 prevBand = do_coalesce(prevBand, curBand);
39 void appendNonO(std::vector<eRect>::const_iterator r,
40 std::vector<eRect>::const_iterator rEnd,
int y1,
int y2);
43 std::vector<eRect>::const_iterator r1,
44 std::vector<eRect>::const_iterator r1End,
45 std::vector<eRect>::const_iterator r2,
46 std::vector<eRect>::const_iterator r2End,
50 std::vector<eRect>::const_iterator r1,
51 std::vector<eRect>::const_iterator r1End,
52 std::vector<eRect>::const_iterator r2,
53 std::vector<eRect>::const_iterator r2End,
57 std::vector<eRect>::const_iterator r1,
58 std::vector<eRect>::const_iterator r1End,
59 std::vector<eRect>::const_iterator r2,
60 std::vector<eRect>::const_iterator r2End,
63 void regionOp(
const gRegion ®1,
const gRegion ®2,
int opcode,
int &overlap);
101 void scale(
int x_n,
int x_d,
int y_n,
int y_d);
static eRect invalidRect()
Definition: erect.h:119
bool valid() const
Definition: erect.h:141
bool empty() const
Definition: erect.h:138
void intersect(const gRegion &r1, const gRegion &r2)
Definition: region.cpp:332
gRegion & operator&=(const gRegion &r2)
Definition: region.cpp:410
void merge(const gRegion &r1, const gRegion &r2)
Definition: region.cpp:367
void subtract(const gRegion &r1, const gRegion &r2)
Definition: region.cpp:355
virtual ~gRegion()
Definition: region.cpp:37
gRegion & operator|=(const gRegion &r2)
Definition: region.cpp:424
friend bool operator==(const gRegion &, const gRegion &)
Definition: region.cpp:446
std::vector< eRect > rects
Definition: region.h:65
friend bool operator!=(const gRegion &, const gRegion &)
Definition: region.cpp:460
@ OP_UNION
Definition: region.h:73
@ OP_SUBTRACT
Definition: region.h:72
@ OP_INTERSECT
Definition: region.h:71
gRegion operator-(const gRegion &r2) const
Definition: region.cpp:396
void moveBy(ePoint offset)
Definition: region.cpp:431
gRegion operator|(const gRegion &r2) const
Definition: region.cpp:403
eRect extends
Definition: region.h:66
void scale(int x_n, int x_d, int y_n, int y_d)
Definition: region.cpp:439
bool valid() const
Definition: region.h:97
gRegion & operator-=(const gRegion &r2)
Definition: region.cpp:417
gRegion()
Definition: region.cpp:33
bool empty() const
Definition: region.h:96
static gRegion invalidRegion()
Definition: region.h:99
gRegion operator&(const gRegion &r2) const
Definition: region.cpp:389
bool operator==(const gRegion &, const gRegion &)
Definition: region.cpp:446
bool operator!=(const gRegion &, const gRegion &)
Definition: region.cpp:460