#include "qtcanvas.h"
#include <QtGui/QApplication>
#include <QtGui/QBitmap>
#include <QtGui/QDesktopWidget>
#include <QtGui/QImage>
#include <QtGui/QPainter>
#include <QtCore/QTimer>
#include <QtCore/qhash.h>
#include <QtCore/qset.h>
#include <QtCore/qalgorithms.h>
#include <QtGui/qevent.h>
#include <QtGui/qpainterpath.h>
#include <stdlib.h>
Classes | |
struct | _EdgeTableEntry |
struct | _ScanLineList |
struct | _ScanLineListBlock |
struct | BRESINFO |
struct | DDXPointRec |
struct | EdgeTable |
class | QPolygonalProcessor |
class | QtCanvasChunk |
class | QtCanvasClusterizer |
class | QtCanvasData |
class | QtCanvasItemExtra |
class | QtCanvasItemLess |
class | QtCanvasPolygonScanner |
class | QtCanvasViewData |
class | QtCanvasWidget |
class | QtPolygonScanner |
Macros | |
#define | BRESINCRPGON(d, minval, m, m1, incr1, incr2) |
#define | BRESINCRPGONSTRUCT(bres) BRESINCRPGON(bres.d, bres.minor, 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 | EVALUATEEDGEEVENODD(pAET, pPrevAET, y) |
#define | EVALUATEEDGEWINDING(pAET, pPrevAET, y, fixWAET) |
#define | MAXINT 0x7fffffff |
#define | MININT -MAXINT |
#define | NUMPTSTOBUFFER 200 |
#define | SLLSPERBLOCK 25 |
Typedefs | |
typedef struct DDXPointRec * | DDXPointPtr |
typedef struct _EdgeTableEntry | EdgeTableEntry |
typedef struct _ScanLineList | ScanLineList |
typedef struct _ScanLineListBlock | ScanLineListBlock |
Functions | |
static bool | collision_double_dispatch (const QtCanvasSprite *s1, const QtCanvasPolygonalItem *p1, const QtCanvasRectangle *r1, const QtCanvasEllipse *e1, const QtCanvasText *t1, const QtCanvasSprite *s2, const QtCanvasPolygonalItem *p2, const QtCanvasRectangle *r2, const QtCanvasEllipse *e2, const QtCanvasText *t2) |
static const QBrush & | defaultPolygonBrush () |
static const QPen & | defaultPolygonPen () |
static int | gcd (int a, int b) |
static void | include (QRect &r, const QRect &rect) |
static void | micomputeWAET (EdgeTableEntry *AET) |
static bool | miCreateETandAET (int count, DDXPointPtr pts, EdgeTable *ET, EdgeTableEntry *AET, EdgeTableEntry *pETEs, ScanLineListBlock *pSLLBlock) |
static void | miFreeStorage (ScanLineListBlock *pSLLBlock) |
static bool | miInsertEdgeInET (EdgeTable *ET, EdgeTableEntry *ETE, int scanline, ScanLineListBlock **SLLBlock, int *iSLLBlock) |
static int | miInsertionSort (EdgeTableEntry *AET) |
static void | miloadAET (EdgeTableEntry *AET, EdgeTableEntry *ETEs) |
bool | qt_testCollision (const QtCanvasSprite *s1, const QtCanvasSprite *s2) |
static int | scm (int a, int b) |
#define BRESINCRPGON | ( | d, | |
minval, | |||
m, | |||
m1, | |||
incr1, | |||
incr2 | |||
) |
#define BRESINCRPGONSTRUCT | ( | bres | ) | BRESINCRPGON(bres.d, bres.minor, 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 EVALUATEEDGEEVENODD | ( | pAET, | |
pPrevAET, | |||
y | |||
) |
#define EVALUATEEDGEWINDING | ( | pAET, | |
pPrevAET, | |||
y, | |||
fixWAET | |||
) |
#define MAXINT 0x7fffffff |
#define MININT -MAXINT |
#define NUMPTSTOBUFFER 200 |
#define SLLSPERBLOCK 25 |
typedef struct DDXPointRec * DDXPointPtr |
typedef struct _EdgeTableEntry EdgeTableEntry |
typedef struct _ScanLineList ScanLineList |
typedef struct _ScanLineListBlock ScanLineListBlock |
|
static |
References QtCanvasEllipse::angleLength(), QtCanvasPolygonalItem::areaPointsAdvanced(), QtCanvasItem::boundingRectAdvanced(), QtCanvasEllipse::height(), qt_testCollision(), QtCanvasEllipse::width(), QtCanvasItem::x(), QtCanvasItem::xVelocity(), QtCanvasItem::y(), and QtCanvasItem::yVelocity().
|
static |
|
static |
|
static |
|
static |
|
static |
References _EdgeTableEntry::ClockWise, _EdgeTableEntry::next, and _EdgeTableEntry::nextWETE.
|
static |
|
static |
References _ScanLineListBlock::next.
|
static |
|
static |
References _EdgeTableEntry::back, _EdgeTableEntry::bres, BRESINFO::minor, and _EdgeTableEntry::next.
|
static |
References _EdgeTableEntry::back, _EdgeTableEntry::bres, BRESINFO::minor, and _EdgeTableEntry::next.
bool qt_testCollision | ( | const QtCanvasSprite * | s1, |
const QtCanvasSprite * | s2 | ||
) |
References QtCanvasItem::boundingRectAdvanced(), and QtCanvasSprite::imageAdvanced().
Referenced by collision_double_dispatch().