Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

128 lines
3.7 KiB

/******************************Module*Header*******************************\
* Module Name: solline.hxx
*
* This contains the structures used in fastline
*
* Created: 16-Aug-1993
* Author: Mark Enstrom Marke
*
* Copyright (c) 1993-1999 Microsoft Corporation
\**************************************************************************/
typedef struct _LINEPARAM {
PUCHAR pjDst;
LONG lDelta;
LONG AdrIncr;
ULONG iSolidColor;
ULONG ulFormat;
LONG x0;
LONG y0;
LONG x1;
LONG y1;
LONG dx;
LONG dy;
LONG d;
LONG incrE;
LONG incrNE;
ULONG ulFlags;
} LINEPARAM,*PLINEPARAM;
typedef struct _DDALINE /* dl */
{
ULONG ulFlags;
POINTL ptlStart;
LONG cPels;
LONG dMajor;
LONG dMinor;
LONG lErrorTerm;
LONG xInc;
} DDALINE,*PDDALINE;
#define FL_SOL_FLIP_D 0x0001L // Diagonal flip
#define FL_SOL_FLIP_V 0x0002L // Vertical flip
#define FL_SOL_FLIP_H 0x0004L // Horizontal flip
#define FL_SOL_FLIP_SLOPE_ONE 0x0008L // Normalized line has exactly slope one
#define FL_SOL_FLIP_MASK (HW_FLIP_D | HW_FLIP_V | HW_FLIP_H)
#define FL_SOL_RECTLCLIP_MASK 0x00000003L // .... .... .... ..11
#define FL_SOL_RECTLCLIP_SHIFT 2
VOID
vSolidLine (
SURFACE*,
PATHOBJ*,
POINTFIX*,
CLIPOBJ*,
ULONG
);
VOID
vDrawLine (
POINTFIX *pptfx0,
POINTFIX *pptfx1,
PUCHAR pjDst,
LONG lDelta,
ULONG iSolidColor,
PRECTL prclClip,
ULONG FormatIndex
);
BOOL bGIQtoIntegerLine(
POINTFIX* pptfxStart,
POINTFIX* pptfxEnd,
PRECTL prclClip,
DDALINE* pDDALine
);
VOID
vVertical8(
ULONG Count,
PUCHAR pjDstTmp,
LONG lDeltaDst,
ULONG iSolidColor
);
VOID
vHorizontal8(
ULONG Count,
PUCHAR pjDstTmp,
ULONG iSolidColor
);
VOID vLine1Octant07 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine1Octant34 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine1Octant16 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine1Octant25 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine4Octant07 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine4Octant34 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine4Octant16 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine4Octant25 (PDDALINE,PUCHAR,LONG,ULONG);
extern "C" VOID vLine8Octant07 (PDDALINE,PUCHAR,LONG,ULONG);
extern "C" VOID vLine8Octant16 (PDDALINE,PUCHAR,LONG,ULONG);
extern "C" VOID vLine8Octant34 (PDDALINE,PUCHAR,LONG,ULONG);
extern "C" VOID vLine8Octant25 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine16Octant07 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine16Octant16 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine16Octant34 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine16Octant25 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine24Octant07 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine24Octant16 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine24Octant34 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine24Octant25 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine32Octant07 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine32Octant16 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine32Octant34 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vLine32Octant25 (PDDALINE,PUCHAR,LONG,ULONG);
VOID vHorizontalLine1(PUCHAR,LONG,LONG,ULONG);
VOID vHorizontalLine4(PUCHAR,LONG,LONG,ULONG);
VOID vHorizontalLine8(PUCHAR,LONG,LONG,ULONG);
VOID vHorizontalLine16(PUCHAR,LONG,LONG,ULONG);
VOID vHorizontalLine24(PUCHAR,LONG,LONG,ULONG);
VOID vHorizontalLine32(PUCHAR,LONG,LONG,ULONG);
typedef VOID (*PFN_OCTANT)(PDDALINE,PUCHAR,LONG,ULONG);
typedef VOID (*PFN_HORZ)(PUCHAR,LONG,LONG,ULONG);