Back to index

tetex-bin  3.0
Classes | Defines | Functions
regions.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  region
struct  edgelist

Defines

#define Interior(p, rule)   t1_Interior(p,rule)
#define Union(a1, a2)   t1_Union(a1,a2)
#define Intersect(a1, a2)   t1_Intersect(a1,a2)
#define Complement(area)   t1_Complement(area)
#define Overlap(a1, a2)   t1_OverLap(a1,a2)
#define INFINITY   t1_Infinity
#define ChangeDirection(type, R, x, y, dy)   t1_ChangeDirection(type,R,x,y,dy)
#define CD_FIRST   -1 /* enumeration of ChangeDirection type */
#define CD_CONTINUE   0 /* enumeration of ChangeDirection type */
#define CD_LAST   1 /* enumeration of ChangeDirection type */
#define MoreWorkArea(R, x1, y1, x2, y2)   t1_MoreWorkArea(R,x1,y1,x2,y2)
#define KillRegion(area)   t1_KillRegion(area)
#define CopyRegion(area)   t1_CopyRegion(area)
#define BoxClip(R, xmin, ymin, xmax, ymax)   t1_BoxClip(R,xmin,ymin,xmax,ymax)
#define SortSwath(a, p, f)   t1_SortSwath(a,p,f)
#define SwathUnion(b, e)   t1_SwathUnion(b,e)
#define RegionBounds(r)   t1_RegionBounds(r)
#define CoerceRegion(p)   t1_CoerceRegion(p)
#define MoveEdges(R, dx, dy)   t1_MoveEdges(R,dx,dy)
#define UnJumble(R)   t1_UnJumble(R)
#define GOING_TO(R, x1, y1, x2, y2, dy)
#define MINPEL   (-1<<(8*sizeof(pel)-1)) /* smallest value fitting in a pel */
#define MAXPEL   ((1<<(8*sizeof(pel)-1))-1)/* largest value fitting in a pel */
#define ConsumeRegion(R)   MAKECONSUME(R,KillRegion(R))
#define UniqueRegion(R)   MAKEUNIQUE(R,CopyRegion(R))
#define ISCOMPLEMENT(flag)   ((flag)&0x80)
#define ISJUMBLED(flag)   ((flag)&0x40)
#define ISINFINITE(flag)   ((flag)&0x20)
#define ISRECTANGULAR(flag)   ((flag)&0x08)
#define EmptyRegion   t1_EmptyRegion
#define VALIDEDGE(p)   ((p)!=NULL&&(p)->ymin<(p)->ymax)
#define ISDOWN(f)   ((f)&0x80)
#define ISAMBIGUOUS(f)   ((f)&0x40)
#define WINDINGRULE   -2
#define EVENODDRULE   -3
#define CONTINUITY   0x80 /* can be added to above rules; e.g. WINDINGRULE+CONTINUITY */

Functions

struct regiont1_Interior ()
struct regiont1_Union ()
struct regiont1_Intersect ()
struct regiont1_Complement ()
int t1_Overlap ()
void t1_ChangeDirection ()
void t1_MoreWorkArea ()
struct regiont1_CopyRegion ()
void t1_KillRegion ()
struct regiont1_BoxClip ()
struct edgelistt1_SortSwath ()
struct edgelistt1_SwathUnion ()
struct segmentt1_RegionBounds ()
struct regiont1_CoerceRegion ()
void t1_MoveEdges ()
void t1_UnJumble ()

Class Documentation

struct edgelist

Definition at line 94 of file fontfcn.c.

Collaboration diagram for edgelist:
Class Members
fractpel fpx1
fractpel fpx2
fractpel fpy1
fractpel fpy2
XOBJ_COMMON struct edgelist * link
struct edgelist * subpath
pel xmax
pel xmin
pel * xvalues
pel ymax
pel ymin

Define Documentation

#define BoxClip (   R,
  xmin,
  ymin,
  xmax,
  ymax 
)    t1_BoxClip(R,xmin,ymin,xmax,ymax)

Definition at line 58 of file regions.h.

#define CD_CONTINUE   0 /* enumeration of ChangeDirection type */

Definition at line 52 of file regions.h.

#define CD_FIRST   -1 /* enumeration of ChangeDirection type */

Definition at line 51 of file regions.h.

#define CD_LAST   1 /* enumeration of ChangeDirection type */

Definition at line 53 of file regions.h.

#define ChangeDirection (   type,
  R,
  x,
  y,
  dy 
)    t1_ChangeDirection(type,R,x,y,dy)

Definition at line 48 of file regions.h.

#define CoerceRegion (   p)    t1_CoerceRegion(p)

Definition at line 62 of file regions.h.

#define Complement (   area)    t1_Complement(area)

Definition at line 34 of file regions.h.

#define ConsumeRegion (   R)    MAKECONSUME(R,KillRegion(R))

Definition at line 108 of file regions.h.

#define CONTINUITY   0x80 /* can be added to above rules; e.g. WINDINGRULE+CONTINUITY */

Definition at line 207 of file regions.h.

#define CopyRegion (   area)    t1_CopyRegion(area)

Definition at line 57 of file regions.h.

#define EmptyRegion   t1_EmptyRegion

Definition at line 169 of file regions.h.

#define EVENODDRULE   -3

Definition at line 205 of file regions.h.

#define GOING_TO (   R,
  x1,
  y1,
  x2,
  y2,
  dy 
)
Value:
{ \
   if (dy < 0) { \
      if (R->lastdy >= 0) \
          ChangeDirection(CD_CONTINUE, R, x1, y1, dy); \
      if (y2 < R->edgeYstop) \
          MoreWorkArea(R, x1, y1, x2, y2); \
   } \
   else if (dy > 0) { \
      if (R->lastdy <= 0) \
          ChangeDirection(CD_CONTINUE, R, x1, y1, dy); \
      if (y2 > R->edgeYstop) \
          MoreWorkArea(R, x1, y1, x2, y2); \
   } \
   else /* dy == 0 */ ChangeDirection(CD_CONTINUE, R, x1, y1, dy); \
   if (x2 < R->edgexmin) R->edgexmin = x2; \
   else if (x2 > R->edgexmax) R->edgexmax = x2; \
}

Definition at line 80 of file regions.h.

#define INFINITY   t1_Infinity

Definition at line 43 of file regions.h.

#define Interior (   p,
  rule 
)    t1_Interior(p,rule)

Definition at line 31 of file regions.h.

#define Intersect (   a1,
  a2 
)    t1_Intersect(a1,a2)

Definition at line 33 of file regions.h.

#define ISAMBIGUOUS (   f)    ((f)&0x40)

Definition at line 196 of file regions.h.

#define ISCOMPLEMENT (   flag)    ((flag)&0x80)

Definition at line 150 of file regions.h.

#define ISDOWN (   f)    ((f)&0x80)

Definition at line 194 of file regions.h.

#define ISINFINITE (   flag)    ((flag)&0x20)

Definition at line 159 of file regions.h.

#define ISJUMBLED (   flag)    ((flag)&0x40)

Definition at line 154 of file regions.h.

#define ISRECTANGULAR (   flag)    ((flag)&0x08)

Definition at line 164 of file regions.h.

#define KillRegion (   area)    t1_KillRegion(area)

Definition at line 56 of file regions.h.

#define MAXPEL   ((1<<(8*sizeof(pel)-1))-1)/* largest value fitting in a pel */

Definition at line 100 of file regions.h.

#define MINPEL   (-1<<(8*sizeof(pel)-1)) /* smallest value fitting in a pel */

Definition at line 99 of file regions.h.

#define MoreWorkArea (   R,
  x1,
  y1,
  x2,
  y2 
)    t1_MoreWorkArea(R,x1,y1,x2,y2)

Definition at line 55 of file regions.h.

#define MoveEdges (   R,
  dx,
  dy 
)    t1_MoveEdges(R,dx,dy)

Definition at line 63 of file regions.h.

#define Overlap (   a1,
  a2 
)    t1_OverLap(a1,a2)

Definition at line 35 of file regions.h.

#define RegionBounds (   r)    t1_RegionBounds(r)

Definition at line 61 of file regions.h.

#define SortSwath (   a,
  p,
  f 
)    t1_SortSwath(a,p,f)

Definition at line 59 of file regions.h.

#define SwathUnion (   b,
  e 
)    t1_SwathUnion(b,e)

Definition at line 60 of file regions.h.

#define Union (   a1,
  a2 
)    t1_Union(a1,a2)

Definition at line 32 of file regions.h.

#define UniqueRegion (   R)    MAKEUNIQUE(R,CopyRegion(R))

Definition at line 109 of file regions.h.

#define UnJumble (   R)    t1_UnJumble(R)

Definition at line 64 of file regions.h.

#define VALIDEDGE (   p)    ((p)!=NULL&&(p)->ymin<(p)->ymax)

Definition at line 189 of file regions.h.

#define WINDINGRULE   -2

Definition at line 204 of file regions.h.


Function Documentation

struct region* t1_BoxClip ( ) [read]
struct region* t1_CoerceRegion ( ) [read]
struct region* t1_Complement ( ) [read]
struct region* t1_CopyRegion ( ) [read]
struct region* t1_Interior ( ) [read]
struct region* t1_Intersect ( ) [read]
struct segment* t1_RegionBounds ( ) [read]
struct edgelist* t1_SortSwath ( ) [read]
struct edgelist* t1_SwathUnion ( ) [read]
struct region* t1_Union ( ) [read]