![]() |
Qt 4.8
|
#include "qregion.h"#include "qpainterpath.h"#include "qpolygon.h"#include "qbuffer.h"#include "qimage.h"#include <qdebug.h>#include "qbitmap.h"#include <stdlib.h>#include <qatomic.h>#include <qsemaphore.h>#include "qregion_x11.cpp"#include <limits.h>Go to the source code of this file.
Classes | |
| struct | _EdgeTableEntry |
| struct | _POINTBLOCK |
| struct | _ScanLineList |
| struct | _ScanLineListBlock |
| struct | BRESINFO |
| struct | EdgeTable |
| class | QFastMutex |
| struct | QRegionPrivate |
Macros | |
| #define | _XREGION_H |
| #define | AddSpan |
| #define | BRESINCRPGON(d, minval, m, m1, incr1, incr2) |
| #define | BRESINCRPGONSTRUCT(bres) BRESINCRPGON(bres.d, bres.minor_axis, bres.m, bres.m1, bres.incr1, bres.incr2) |
| #define | BRESINITPGON(dy, x1, x2, xStart, d, m, m1, incr1, incr2) |
| #define | BRESINITPGONSTRUCT(dmaj, min1, min2, bres) |
| #define | CLOCKWISE 1 |
| #define | CONTAINSCHECK(r1, r2) |
| #define | COUNTERCLOCKWISE -1 |
| #define | EVALUATEEDGEEVENODD(pAET, pPrevAET, y) |
| #define | EVALUATEEDGEWINDING(pAET, pPrevAET, y, fixWAET) |
| #define | EvenOddRule 0 |
| #define | EXTENTCHECK(r1, r2) |
| #define | EXTENTS(r, idRect) |
| #define | LARGE_COORDINATE 1000000 |
| #define | MEMCHECK(dest, rect, firstrect) |
| #define | MERGERECT(r) |
| #define | NUMPTSTOBUFFER 200 |
| #define | private public |
| #define | RectangleIn 1 |
| #define | RectangleOut 0 |
| #define | RectanglePart 2 |
| #define | SLLSPERBLOCK 25 |
| #define | SMALL_COORDINATE -LARGE_COORDINATE |
| #define | WindingRule 1 |
Typedefs | |
| typedef struct _EdgeTableEntry | EdgeTableEntry |
| typedef void(* | NonOverlapFunc) (register QRegionPrivate &dest, register const QRect *r, const QRect *rEnd, register int y1, register int y2) |
| typedef void(* | OverlapFunc) (register QRegionPrivate &dest, register const QRect *r1, const QRect *r1End, register const QRect *r2, const QRect *r2End, register int y1, register int y2) |
| typedef struct _POINTBLOCK | POINTBLOCK |
| typedef struct _ScanLineList | ScanLineList |
| typedef struct _ScanLineListBlock | ScanLineListBlock |
Functions | |
| static void | computeWAET (register EdgeTableEntry *AET) |
| static void | CreateETandAET (register int count, register const QPoint *pts, EdgeTable *ET, EdgeTableEntry *AET, register EdgeTableEntry *pETEs, ScanLineListBlock *pSLLBlock) |
| static bool | EqualRegion (const QRegionPrivate *r1, const QRegionPrivate *r2) |
| static void | FreeStorage (register ScanLineListBlock *pSLLBlock) |
| static void | InsertEdgeInET (EdgeTable *ET, EdgeTableEntry *ETE, int scanline, ScanLineListBlock **SLLBlock, int *iSLLBlock) |
| static int | InsertionSort (register EdgeTableEntry *AET) |
| static bool | isEmptyHelper (const QRegionPrivate *preg) |
| static void | loadAET (register EdgeTableEntry *AET, register EdgeTableEntry *ETEs) |
| static int | miCoalesce (register QRegionPrivate &dest, int prevStart, int curStart) |
| static void | miIntersectO (register QRegionPrivate &dest, register const QRect *r1, const QRect *r1End, register const QRect *r2, const QRect *r2End, int y1, int y2) |
| static void | miRegionOp (register QRegionPrivate &dest, const QRegionPrivate *reg1, const QRegionPrivate *reg2, OverlapFunc overlapFunc, NonOverlapFunc nonOverlap1Func, NonOverlapFunc nonOverlap2Func) |
| static void | miSetExtents (QRegionPrivate &dest) |
| static void | miSubtractNonO1 (register QRegionPrivate &dest, register const QRect *r, const QRect *rEnd, register int y1, register int y2) |
| static void | miSubtractO (register QRegionPrivate &dest, register const QRect *r1, const QRect *r1End, register const QRect *r2, const QRect *r2End, register int y1, register int y2) |
| static void | miUnionNonO (register QRegionPrivate &dest, register const QRect *r, const QRect *rEnd, register int y1, register int y2) |
| static void | miUnionO (register QRegionPrivate &dest, register const QRect *r1, const QRect *r1End, register const QRect *r2, const QRect *r2End, register int y1, register int y2) |
| static void | OffsetRegion (register QRegionPrivate ®ion, register int x, register int y) |
| static bool | PointInRegion (QRegionPrivate *pRegion, int x, int y) |
| static QRegionPrivate * | PolygonRegion (const QPoint *Pts, int Count, int rule, QRegionPrivate *region) |
| static void | PtsToRegion (register int numFullPtBlocks, register int iCurPtBlock, POINTBLOCK *FirstPtBlock, QRegionPrivate *reg) |
| static QRegionPrivate * | qt_allocRegion () |
| static QRegionPrivate * | qt_allocRegion (const QRect &r) |
| static QRegionPrivate * | qt_allocRegion (const QRegionPrivate &r) |
| static QRegionPrivate * | qt_allocRegionMemory () |
| QRegionPrivate * | qt_bitmapToRegion (const QBitmap &bitmap, QRegionPrivate *region) |
| void | qt_freeRegion (QRegionPrivate *rp) |
| static void | qt_freeRegionMemory (QRegionPrivate *rp) |
| bool | qt_region_strictContains (const QRegion ®ion, const QRect &rect) |
| static bool | RectInRegion (register QRegionPrivate *region, int rx, int ry, uint rwidth, uint rheight) |
| static void | SubtractRegion (QRegionPrivate *regM, QRegionPrivate *regS, register QRegionPrivate &dest) |
| static void | UnionRectWithRegion (register const QRect *rect, const QRegionPrivate *source, QRegionPrivate &dest) |
| static void | UnionRegion (const QRegionPrivate *reg1, const QRegionPrivate *reg2, QRegionPrivate &dest) |
| static void | XorRegion (QRegionPrivate *sra, QRegionPrivate *srb, QRegionPrivate &dest) |
Variables | |
| static QFastMutex | qt_nextRegionLock |
| static QRegionPrivate * | qt_nextRegionPtr = 0 |
| #define _XREGION_H |
Definition at line 433 of file qregion_qws.cpp.
| #define AddSpan |
Referenced by qt_bitmapToRegion().
| #define BRESINCRPGON | ( | d, | |
| minval, | |||
| m, | |||
| m1, | |||
| incr1, | |||
| incr2 | |||
| ) |
Definition at line 1613 of file qregion_qws.cpp.
| #define BRESINCRPGONSTRUCT | ( | bres | ) | BRESINCRPGON(bres.d, bres.minor_axis, bres.m, bres.m1, bres.incr1, bres.incr2) |
Definition at line 1655 of file qregion_qws.cpp.
| #define BRESINITPGON | ( | dy, | |
| x1, | |||
| x2, | |||
| xStart, | |||
| d, | |||
| m, | |||
| m1, | |||
| incr1, | |||
| incr2 | |||
| ) |
Definition at line 1587 of file qregion_qws.cpp.
| #define BRESINITPGONSTRUCT | ( | dmaj, | |
| min1, | |||
| min2, | |||
| bres | |||
| ) |
Definition at line 1651 of file qregion_qws.cpp.
Referenced by CreateETandAET().
| #define CLOCKWISE 1 |
Definition at line 1709 of file qregion_qws.cpp.
| #define CONTAINSCHECK | ( | r1, | |
| r2 | |||
| ) |
Definition at line 89 of file qregion_qws.cpp.
Referenced by QRegionPrivate::contains(), and qt_bitmapToRegion().
| #define COUNTERCLOCKWISE -1 |
Definition at line 1710 of file qregion_qws.cpp.
| #define EVALUATEEDGEEVENODD | ( | pAET, | |
| pPrevAET, | |||
| y | |||
| ) |
Definition at line 1786 of file qregion_qws.cpp.
Referenced by PolygonRegion().
| #define EVALUATEEDGEWINDING | ( | pAET, | |
| pPrevAET, | |||
| y, | |||
| fixWAET | |||
| ) |
Definition at line 1763 of file qregion_qws.cpp.
Referenced by PolygonRegion().
| #define EvenOddRule 0 |
Definition at line 379 of file qregion_qws.cpp.
Referenced by PolygonRegion(), and qt_bitmapToRegion().
| #define EXTENTCHECK | ( | r1, | |
| r2 | |||
| ) |
Definition at line 443 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion(), RectInRegion(), SubtractRegion(), and XorRegion().
| #define EXTENTS | ( | r, | |
| idRect | |||
| ) |
Definition at line 452 of file qregion_qws.cpp.
| #define LARGE_COORDINATE 1000000 |
Definition at line 1851 of file qregion_qws.cpp.
Referenced by CreateETandAET().
| #define MEMCHECK | ( | dest, | |
| rect, | |||
| firstrect | |||
| ) |
Definition at line 466 of file qregion_qws.cpp.
Referenced by miIntersectO(), miSubtractNonO1(), miSubtractO(), and miUnionNonO().
| #define MERGERECT | ( | r | ) |
Referenced by miUnionO().
| #define NUMPTSTOBUFFER 200 |
Definition at line 478 of file qregion_qws.cpp.
Referenced by PolygonRegion(), and PtsToRegion().
| #define private public |
Definition at line 43 of file qregion_qws.cpp.
| #define RectangleIn 1 |
Definition at line 377 of file qregion_qws.cpp.
Referenced by RectInRegion().
| #define RectangleOut 0 |
Definition at line 376 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion(), and RectInRegion().
| #define RectanglePart 2 |
Definition at line 378 of file qregion_qws.cpp.
Referenced by RectInRegion().
| #define SLLSPERBLOCK 25 |
Definition at line 1741 of file qregion_qws.cpp.
Referenced by InsertEdgeInET().
| #define SMALL_COORDINATE -LARGE_COORDINATE |
Definition at line 1852 of file qregion_qws.cpp.
Referenced by CreateETandAET().
| #define WindingRule 1 |
Definition at line 380 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion().
| typedef struct _EdgeTableEntry EdgeTableEntry |
| typedef void(* NonOverlapFunc) (register QRegionPrivate &dest, register const QRect *r, const QRect *rEnd, register int y1, register int y2) |
Definition at line 367 of file qregion_qws.cpp.
| typedef void(* OverlapFunc) (register QRegionPrivate &dest, register const QRect *r1, const QRect *r1End, register const QRect *r2, const QRect *r2End, register int y1, register int y2) |
Definition at line 365 of file qregion_qws.cpp.
| typedef struct _POINTBLOCK POINTBLOCK |
| typedef struct _ScanLineList ScanLineList |
| typedef struct _ScanLineListBlock ScanLineListBlock |
|
static |
Definition at line 2074 of file qregion_qws.cpp.
Referenced by PolygonRegion().
|
static |
Definition at line 1943 of file qregion_qws.cpp.
Referenced by PolygonRegion().
|
static |
Definition at line 1400 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion(), qt_region_strictContains(), SubtractRegion(), UnionRectWithRegion(), UnionRegion(), and XorRegion().
|
static |
Definition at line 2141 of file qregion_qws.cpp.
Referenced by PolygonRegion().
|
static |
Definition at line 1863 of file qregion_qws.cpp.
Referenced by CreateETandAET().
|
static |
Definition at line 2108 of file qregion_qws.cpp.
Referenced by PolygonRegion().
|
inlinestatic |
Definition at line 235 of file qregion_qws.cpp.
Referenced by PointInRegion(), qt_bitmapToRegion(), qt_region_strictContains(), SubtractRegion(), UnionRectWithRegion(), UnionRegion(), and XorRegion().
|
static |
Definition at line 2030 of file qregion_qws.cpp.
Referenced by PolygonRegion().
|
static |
Definition at line 749 of file qregion_qws.cpp.
Referenced by miRegionOp().
|
static |
Definition at line 684 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion().
|
static |
Definition at line 878 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion(), SubtractRegion(), and UnionRegion().
|
static |
Definition at line 602 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion(), and SubtractRegion().
|
static |
Definition at line 1210 of file qregion_qws.cpp.
Referenced by SubtractRegion().
|
static |
Definition at line 1244 of file qregion_qws.cpp.
Referenced by SubtractRegion().
|
static |
Definition at line 1085 of file qregion_qws.cpp.
Referenced by UnionRegion().
|
static |
Definition at line 1121 of file qregion_qws.cpp.
Referenced by UnionRegion().
|
static |
Definition at line 648 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion().
|
static |
Definition at line 1422 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion().
|
static |
Definition at line 2227 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion().
|
static |
Definition at line 2160 of file qregion_qws.cpp.
Referenced by PolygonRegion().
|
static |
Definition at line 210 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion().
|
static |
Definition at line 216 of file qregion_qws.cpp.
|
static |
Definition at line 222 of file qregion_qws.cpp.
|
static |
Definition at line 175 of file qregion_qws.cpp.
Referenced by qt_allocRegion().
| QRegionPrivate* qt_bitmapToRegion | ( | const QBitmap & | bitmap, |
| QRegionPrivate * | region | ||
| ) |
Definition at line 2393 of file qregion_qws.cpp.
| void qt_freeRegion | ( | QRegionPrivate * | rp | ) |
Definition at line 228 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion().
|
static |
A false return value does not guarantee the opposite.
Definition at line 3057 of file qregion_qws.cpp.
|
static |
Definition at line 1441 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion().
|
static |
Definition at line 1345 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion(), and XorRegion().
|
static |
Definition at line 568 of file qregion_qws.cpp.
|
static |
Definition at line 1167 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion(), UnionRectWithRegion(), and XorRegion().
|
static |
Definition at line 1366 of file qregion_qws.cpp.
Referenced by qt_bitmapToRegion().
|
static |
Definition at line 173 of file qregion_qws.cpp.
|
static |
Definition at line 172 of file qregion_qws.cpp.
Referenced by qt_allocRegionMemory(), and qt_freeRegionMemory().