Eneboo - Documentación para desarrolladores
Clases | 'defines' | 'typedefs'
Referencia del Archivo src/qt/src/kernel/qpolygonscanner.cpp
#include "qpolygonscanner.h"
#include "qpointarray.h"
#include <stdlib.h>

Clases

struct  BRESINFO
struct  _EdgeTableEntry
struct  _ScanLineList
struct  EdgeTable
struct  _ScanLineListBlock
struct  DDXPointRec

'defines'

#define BRESINITPGON(dy, x1, x2, xStart, d, m, m1, incr1, incr2)
#define BRESINCRPGON(d, minval, m, m1, incr1, incr2)
#define BRESINITPGONSTRUCT(dmaj, min1, min2, bres)
#define BRESINCRPGONSTRUCT(bres)   BRESINCRPGON(bres.d, bres.minor, bres.m, bres.m1, bres.incr1, bres.incr2)
#define SLLSPERBLOCK   25
#define NUMPTSTOBUFFER   200
#define EVALUATEEDGEWINDING(pAET, pPrevAET, y, fixWAET)
#define EVALUATEEDGEEVENODD(pAET, pPrevAET, y)
#define MAXINT   0x7fffffff
#define MININT   -MAXINT

'typedefs'

typedef struct _EdgeTableEntry EdgeTableEntry
typedef struct _ScanLineList ScanLineList
typedef struct _ScanLineListBlock ScanLineListBlock
typedef struct DDXPointRecDDXPointPtr

Documentación de los 'defines'

#define BRESINCRPGON (   d,
  minval,
  m,
  m1,
  incr1,
  incr2 
)
Valor:
{ \
    if (m1 > 0) { \
        if (d > 0) { \
            minval += m1; \
            d += incr1; \
        } \
        else { \
            minval += m; \
            d += incr2; \
        } \
    } else {\
        if (d >= 0) { \
            minval += m1; \
            d += incr1; \
        } \
        else { \
            minval += m; \
            d += 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 
)
Valor:
{ \
    int dx;      /* local storage */ \
\
    /* \
     *  if the edge is horizontal, then it is ignored \
     *  and assumed not to be processed.  Otherwise, do this stuff. \
     */ \
    if ((dy) != 0) { \
        xStart = (x1); \
        dx = (x2) - xStart; \
        if (dx < 0) { \
            m = dx / (dy); \
            m1 = m - 1; \
            incr1 = -2 * dx + 2 * (dy) * m1; \
            incr2 = -2 * dx + 2 * (dy) * m; \
            d = 2 * m * (dy) - 2 * dx - 2 * (dy); \
        } else { \
            m = dx / (dy); \
            m1 = m + 1; \
            incr1 = 2 * dx - 2 * (dy) * m1; \
            incr2 = 2 * dx - 2 * (dy) * m; \
            d = -2 * m * (dy) + 2 * dx; \
        } \
    } \
}
#define BRESINITPGONSTRUCT (   dmaj,
  min1,
  min2,
  bres 
)
Valor:
BRESINITPGON(dmaj, min1, min2, bres.minor, bres.d, \
                     bres.m, bres.m1, bres.incr1, bres.incr2)
#define EVALUATEEDGEEVENODD (   pAET,
  pPrevAET,
 
)
Valor:
{ \
   if (pAET->ymax == y) {          /* leaving this edge */ \
      pPrevAET->next = pAET->next; \
      pAET = pPrevAET->next; \
      if (pAET) \
         pAET->back = pPrevAET; \
   } \
   else { \
      BRESINCRPGONSTRUCT(pAET->bres) \
      pPrevAET = pAET; \
      pAET = pAET->next; \
   } \
}
#define EVALUATEEDGEWINDING (   pAET,
  pPrevAET,
  y,
  fixWAET 
)
Valor:
{ \
   if (pAET->ymax == y) {          /* leaving this edge */ \
      pPrevAET->next = pAET->next; \
      pAET = pPrevAET->next; \
      fixWAET = 1; \
      if (pAET) \
         pAET->back = pPrevAET; \
   } \
   else { \
      BRESINCRPGONSTRUCT(pAET->bres); \
      pPrevAET = pAET; \
      pAET = pAET->next; \
   } \
}
#define MAXINT   0x7fffffff
#define MININT   -MAXINT
#define NUMPTSTOBUFFER   200
#define SLLSPERBLOCK   25

Documentación de los 'typedefs'

typedef struct DDXPointRec * DDXPointPtr
typedef struct _ScanLineList ScanLineList
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'