mirror of
https://github.com/reactos/reactos.git
synced 2025-05-30 14:39:46 +00:00
[FORMATTING]
Fix indentation, no code change svn path=/trunk/; revision=63090
This commit is contained in:
parent
779f0311f1
commit
a45e440cac
7 changed files with 1138 additions and 1069 deletions
|
@ -38,7 +38,8 @@ const LONG LINC[2] = {-1, 1};
|
|||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
BOOL FASTCALL
|
||||
BOOL
|
||||
FASTCALL
|
||||
IntEngGradientFillRect(
|
||||
IN SURFOBJ *psoDest,
|
||||
IN CLIPOBJ *pco,
|
||||
|
@ -92,20 +93,20 @@ IntEngGradientFillRect(
|
|||
RECTL FillRect;
|
||||
ULONG Color;
|
||||
|
||||
if(Horizontal)
|
||||
if (Horizontal)
|
||||
{
|
||||
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)
|
||||
{
|
||||
if(RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
|
||||
if (RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
|
||||
{
|
||||
HVINITCOL(Red, 0);
|
||||
HVINITCOL(Green, 1);
|
||||
HVINITCOL(Blue, 2);
|
||||
|
||||
for(y = rcSG.left; y < FillRect.right; y++)
|
||||
for (y = rcSG.left; y < FillRect.right; y++)
|
||||
{
|
||||
if(y >= FillRect.left)
|
||||
if (y >= FillRect.left)
|
||||
{
|
||||
Color = XLATEOBJ_iXlate(pxlo, RGB(c[0], c[1], c[2]));
|
||||
DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_VLine(
|
||||
|
@ -125,19 +126,22 @@ IntEngGradientFillRect(
|
|||
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)
|
||||
{
|
||||
if(RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
|
||||
if (RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
|
||||
{
|
||||
HVINITCOL(Red, 0);
|
||||
HVINITCOL(Green, 1);
|
||||
HVINITCOL(Blue, 2);
|
||||
|
||||
for(y = rcSG.top; y < FillRect.bottom; y++)
|
||||
for (y = rcSG.top; y < FillRect.bottom; y++)
|
||||
{
|
||||
if(y >= FillRect.top)
|
||||
if (y >= FillRect.top)
|
||||
{
|
||||
Color = XLATEOBJ_iXlate(pxlo, RGB(c[0], c[1], c[2]));
|
||||
DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_HLine(
|
||||
psoOutput, FillRect.left + Translate.x, FillRect.right + Translate.x, y + Translate.y, Color);
|
||||
DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_HLine(psoOutput,
|
||||
FillRect.left + Translate.x,
|
||||
FillRect.right + Translate.x,
|
||||
y + Translate.y,
|
||||
Color);
|
||||
}
|
||||
HVSTEPCOL(0);
|
||||
HVSTEPCOL(1);
|
||||
|
@ -146,7 +150,8 @@ IntEngGradientFillRect(
|
|||
}
|
||||
}
|
||||
|
||||
} while(EnumMore);
|
||||
}
|
||||
while (EnumMore);
|
||||
|
||||
return IntEngLeave(&EnterLeave);
|
||||
}
|
||||
|
@ -161,16 +166,20 @@ IntEngGradientFillRect(
|
|||
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)
|
||||
{
|
||||
if(RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
|
||||
if (RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
|
||||
{
|
||||
for(; FillRect.top < FillRect.bottom; FillRect.top++)
|
||||
for (; FillRect.top < FillRect.bottom; FillRect.top++)
|
||||
{
|
||||
DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_HLine(
|
||||
psoOutput, FillRect.left + Translate.x, FillRect.right + Translate.x, FillRect.top + Translate.y, Color);
|
||||
DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_HLine(psoOutput,
|
||||
FillRect.left + Translate.x,
|
||||
FillRect.right + Translate.x,
|
||||
FillRect.top + Translate.y,
|
||||
Color);
|
||||
}
|
||||
}
|
||||
}
|
||||
} while(EnumMore);
|
||||
}
|
||||
while (EnumMore);
|
||||
|
||||
return IntEngLeave(&EnterLeave);
|
||||
}
|
||||
|
@ -181,6 +190,7 @@ IntEngGradientFillRect(
|
|||
DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_HLine(psoOutput, max(sx[lineto], FillRect.left), min(sx[linefrom], FillRect.right), sy, Color); \
|
||||
else \
|
||||
DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_HLine(psoOutput, max(sx[linefrom], FillRect.left), min(sx[lineto], FillRect.right), sy, Color);
|
||||
|
||||
#define S_DOLINE(a,b,line) \
|
||||
ex[line] += dx[line]; \
|
||||
while(ex[line] > 0 && x[line] != destx[line]) \
|
||||
|
@ -189,11 +199,14 @@ IntEngGradientFillRect(
|
|||
sx[line] += incx[line]; \
|
||||
ex[line] -= dy[line]; \
|
||||
}
|
||||
|
||||
#define S_GOLINE(a,b,line) \
|
||||
if(y >= a->y && y <= b->y) \
|
||||
{
|
||||
|
||||
#define S_ENDLINE(a,b,line) \
|
||||
}
|
||||
|
||||
#define S_INITLINE(a,b,line) \
|
||||
x[line] = a->x; \
|
||||
sx[line] = a->x + pptlDitherOrg->x; \
|
||||
|
@ -209,6 +222,7 @@ IntEngGradientFillRect(
|
|||
dc[line][id] = abs((b->col >> 8) - c[line][id]); \
|
||||
ec[line][id] = -(dy[line]>>1); \
|
||||
ic[line][id] = LINC[(b->col >> 8) > c[line][id]]
|
||||
|
||||
#define STEPCOL(a,b,line,col,id) \
|
||||
ec[line][id] += dc[line][id]; \
|
||||
while(ec[line][id] > 0) \
|
||||
|
@ -216,11 +230,13 @@ IntEngGradientFillRect(
|
|||
c[line][id] += ic[line][id]; \
|
||||
ec[line][id] -= dy[line]; \
|
||||
}
|
||||
|
||||
#define FINITCOL(linefrom,lineto,colid) \
|
||||
gc[colid] = c[linefrom][colid]; \
|
||||
gd[colid] = abs(c[lineto][colid] - gc[colid]); \
|
||||
ge[colid] = -(gx >> 1); \
|
||||
gi[colid] = LINC[c[lineto][colid] > gc[colid]]
|
||||
|
||||
#define FDOCOL(linefrom,lineto,colid) \
|
||||
ge[colid] += gd[colid]; \
|
||||
while(ge[colid] > 0) \
|
||||
|
@ -228,6 +244,7 @@ IntEngGradientFillRect(
|
|||
gc[colid] += gi[colid]; \
|
||||
ge[colid] -= gx; \
|
||||
}
|
||||
|
||||
#define FILLLINE(linefrom,lineto) \
|
||||
gx = abs(sx[lineto] - sx[linefrom]); \
|
||||
gxi = LINC[sx[linefrom] < sx[lineto]]; \
|
||||
|
@ -245,6 +262,7 @@ IntEngGradientFillRect(
|
|||
FDOCOL(linefrom, lineto, 1); \
|
||||
FDOCOL(linefrom, lineto, 2); \
|
||||
}
|
||||
|
||||
#define DOLINE(a,b,line) \
|
||||
STEPCOL(a, b, line, Red, 0); \
|
||||
STEPCOL(a, b, line, Green, 1); \
|
||||
|
@ -256,11 +274,14 @@ IntEngGradientFillRect(
|
|||
sx[line] += incx[line]; \
|
||||
ex[line] -= dy[line]; \
|
||||
}
|
||||
|
||||
#define GOLINE(a,b,line) \
|
||||
if(y >= a->y && y <= b->y) \
|
||||
{
|
||||
|
||||
#define ENDLINE(a,b,line) \
|
||||
}
|
||||
|
||||
#define INITLINE(a,b,line) \
|
||||
x[line] = a->x; \
|
||||
sx[line] = a->x + pptlDitherOrg->x; \
|
||||
|
@ -269,17 +290,23 @@ IntEngGradientFillRect(
|
|||
incx[line] = LINC[b->x > a->x]; \
|
||||
ex[line] = -(dy[line]>>1); \
|
||||
destx[line] = b->x
|
||||
|
||||
#define DOINIT(a, b, line) \
|
||||
INITLINE(a, b, line); \
|
||||
INITCOL(a, b, line, Red, 0); \
|
||||
INITCOL(a, b, line, Green, 1); \
|
||||
INITCOL(a, b, line, Blue, 2);
|
||||
|
||||
#define SMALLER(a,b) (a->y < b->y) || (a->y == b->y && a->x < b->x)
|
||||
|
||||
#define SWAP(a,b,c) c = a;\
|
||||
a = b;\
|
||||
b = c
|
||||
|
||||
#define NLINES 3
|
||||
BOOL FASTCALL
|
||||
|
||||
BOOL
|
||||
FASTCALL
|
||||
IntEngGradientFillTriangle(
|
||||
IN SURFOBJ *psoDest,
|
||||
IN CLIPOBJ *pco,
|
||||
|
@ -311,18 +338,19 @@ IntEngGradientFillTriangle(
|
|||
v3 = (pVertex + gTriangle->Vertex3);
|
||||
|
||||
/* bubble sort */
|
||||
if(SMALLER(v2,v1))
|
||||
if (SMALLER(v2, v1))
|
||||
{
|
||||
TRIVERTEX *t;
|
||||
SWAP(v1,v2,t);
|
||||
SWAP(v1, v2, t);
|
||||
}
|
||||
if(SMALLER(v3,v2))
|
||||
|
||||
if (SMALLER(v3, v2))
|
||||
{
|
||||
TRIVERTEX *t;
|
||||
SWAP(v2,v3,t);
|
||||
if(SMALLER(v2,v1))
|
||||
SWAP(v2, v3, t);
|
||||
if (SMALLER(v2, v1))
|
||||
{
|
||||
SWAP(v1,v2,t);
|
||||
SWAP(v1, v2, t);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -330,12 +358,12 @@ IntEngGradientFillTriangle(
|
|||
/* FIXME: commented out because of an endless loop - fix triangles first */
|
||||
DPRINT1("FIXME: IntEngGradientFillTriangle is broken\n");
|
||||
|
||||
if(!IntEngEnter(&EnterLeave, psoDest, &FillRect, FALSE, &Translate, &psoOutput))
|
||||
if (!IntEngEnter(&EnterLeave, psoDest, &FillRect, FALSE, &Translate, &psoOutput))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//if(VCMPCLRS(v1, v2, v3))
|
||||
//if (VCMPCLRS(v1, v2, v3))
|
||||
//{
|
||||
// CLIPOBJ_cEnumStart(pco, FALSE, CT_RECTANGLES, CD_RIGHTDOWN, 0);
|
||||
// do
|
||||
|
@ -343,7 +371,7 @@ IntEngGradientFillTriangle(
|
|||
// EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
// for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++)
|
||||
// {
|
||||
// if(RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents))
|
||||
// if (RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents))
|
||||
// {
|
||||
// BOOL InY;
|
||||
|
||||
|
@ -355,7 +383,7 @@ IntEngGradientFillTriangle(
|
|||
// sy = v1->y + pptlDitherOrg->y;
|
||||
// bt = min(v3->y + pptlDitherOrg->y, FillRect.bottom);
|
||||
|
||||
// while(sy < bt)
|
||||
// while (sy < bt)
|
||||
// {
|
||||
// InY = !(sy < FillRect.top || sy >= FillRect.bottom);
|
||||
// GOLINE(v1, v3, 0);
|
||||
|
@ -377,7 +405,7 @@ IntEngGradientFillTriangle(
|
|||
// }
|
||||
// }
|
||||
// }
|
||||
// } while(EnumMore);
|
||||
// } while (EnumMore);
|
||||
|
||||
// return IntEngLeave(&EnterLeave);
|
||||
//}
|
||||
|
@ -391,7 +419,7 @@ IntEngGradientFillTriangle(
|
|||
// EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
// for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++)
|
||||
// {
|
||||
// if(RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents))
|
||||
// if (RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents))
|
||||
// {
|
||||
// S_INITLINE(v1, v3, 0);
|
||||
// S_INITLINE(v1, v2, 1);
|
||||
|
@ -401,7 +429,7 @@ IntEngGradientFillTriangle(
|
|||
// sy = v1->y + pptlDitherOrg->y;
|
||||
// bt = min(v3->y + pptlDitherOrg->y, FillRect.bottom);
|
||||
|
||||
// while(sy < bt)
|
||||
// while (sy < bt)
|
||||
// {
|
||||
// S_GOLINE(v1, v3, 0);
|
||||
// S_DOLINE(v1, v3, 0);
|
||||
|
@ -422,13 +450,14 @@ IntEngGradientFillTriangle(
|
|||
// }
|
||||
// }
|
||||
// }
|
||||
//} while(EnumMore);
|
||||
//} while (EnumMore);
|
||||
|
||||
return IntEngLeave(&EnterLeave);
|
||||
}
|
||||
|
||||
|
||||
static BOOL
|
||||
static
|
||||
BOOL
|
||||
IntEngIsNULLTriangle(TRIVERTEX *pVertex, GRADIENT_TRIANGLE *gt)
|
||||
{
|
||||
if(COMPAREVERTEX(VERTEX(Vertex1), VERTEX(Vertex2)))
|
||||
|
@ -441,7 +470,8 @@ IntEngIsNULLTriangle(TRIVERTEX *pVertex, GRADIENT_TRIANGLE *gt)
|
|||
}
|
||||
|
||||
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngGradientFill(
|
||||
_Inout_ SURFOBJ *psoDest,
|
||||
_In_ CLIPOBJ *pco,
|
||||
|
@ -472,10 +502,17 @@ EngGradientFill(
|
|||
case GRADIENT_FILL_RECT_V:
|
||||
{
|
||||
PGRADIENT_RECT gr = (PGRADIENT_RECT)pMesh;
|
||||
for(i = 0; i < nMesh; i++, gr++)
|
||||
for (i = 0; i < nMesh; i++, gr++)
|
||||
{
|
||||
if(!IntEngGradientFillRect(psoDest, pco, pxlo, pVertex, nVertex, gr, prclExtents,
|
||||
pptlDitherOrg, (ulMode == GRADIENT_FILL_RECT_H)))
|
||||
if (!IntEngGradientFillRect(psoDest,
|
||||
pco,
|
||||
pxlo,
|
||||
pVertex,
|
||||
nVertex,
|
||||
gr,
|
||||
prclExtents,
|
||||
pptlDitherOrg,
|
||||
(ulMode == GRADIENT_FILL_RECT_H)))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
@ -486,14 +523,20 @@ EngGradientFill(
|
|||
case GRADIENT_FILL_TRIANGLE:
|
||||
{
|
||||
PGRADIENT_TRIANGLE gt = (PGRADIENT_TRIANGLE)pMesh;
|
||||
for(i = 0; i < nMesh; i++, gt++)
|
||||
for (i = 0; i < nMesh; i++, gt++)
|
||||
{
|
||||
if(IntEngIsNULLTriangle(pVertex, gt))
|
||||
if (IntEngIsNULLTriangle(pVertex, gt))
|
||||
{
|
||||
/* skip empty triangles */
|
||||
continue;
|
||||
}
|
||||
if(!IntEngGradientFillTriangle(psoDest, pco, pxlo, pVertex, nVertex, gt, prclExtents,
|
||||
if (!IntEngGradientFillTriangle(psoDest,
|
||||
pco,
|
||||
pxlo,
|
||||
pVertex,
|
||||
nVertex,
|
||||
gt,
|
||||
prclExtents,
|
||||
pptlDitherOrg))
|
||||
{
|
||||
break;
|
||||
|
@ -507,7 +550,8 @@ EngGradientFill(
|
|||
return ret;
|
||||
}
|
||||
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
APIENTRY
|
||||
IntEngGradientFill(
|
||||
IN SURFOBJ *psoDest,
|
||||
IN CLIPOBJ *pco,
|
||||
|
@ -527,16 +571,31 @@ IntEngGradientFill(
|
|||
psurf = CONTAINING_RECORD(psoDest, SURFACE, SurfObj);
|
||||
ASSERT(psurf);
|
||||
|
||||
if(psurf->flags & HOOK_GRADIENTFILL)
|
||||
if (psurf->flags & HOOK_GRADIENTFILL)
|
||||
{
|
||||
Ret = GDIDEVFUNCS(psoDest).GradientFill(
|
||||
psoDest, pco, pxlo, pVertex, nVertex, pMesh, nMesh,
|
||||
prclExtents, pptlDitherOrg, ulMode);
|
||||
Ret = GDIDEVFUNCS(psoDest).GradientFill(psoDest,
|
||||
pco,
|
||||
pxlo,
|
||||
pVertex,
|
||||
nVertex,
|
||||
pMesh,
|
||||
nMesh,
|
||||
prclExtents,
|
||||
pptlDitherOrg,
|
||||
ulMode);
|
||||
}
|
||||
else
|
||||
{
|
||||
Ret = EngGradientFill(psoDest, pco, pxlo, pVertex, nVertex, pMesh, nMesh, prclExtents,
|
||||
pptlDitherOrg, ulMode);
|
||||
Ret = EngGradientFill(psoDest,
|
||||
pco,
|
||||
pxlo,
|
||||
pVertex,
|
||||
nVertex,
|
||||
pMesh,
|
||||
nMesh,
|
||||
prclExtents,
|
||||
pptlDitherOrg,
|
||||
ulMode);
|
||||
}
|
||||
|
||||
return Ret;
|
||||
|
|
|
@ -8,26 +8,28 @@
|
|||
*/
|
||||
HSEMAPHORE
|
||||
APIENTRY
|
||||
EngCreateSemaphore ( VOID )
|
||||
EngCreateSemaphore(VOID)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_95lz.htm
|
||||
PERESOURCE psem = ExAllocatePoolWithTag( NonPagedPool, sizeof(ERESOURCE), GDITAG_SEMAPHORE );
|
||||
if ( !psem )
|
||||
PERESOURCE psem = ExAllocatePoolWithTag(NonPagedPool, sizeof(ERESOURCE), GDITAG_SEMAPHORE);
|
||||
if (!psem)
|
||||
return NULL;
|
||||
if ( !NT_SUCCESS(ExInitializeResourceLite ( psem )) )
|
||||
|
||||
if (!NT_SUCCESS(ExInitializeResourceLite(psem)))
|
||||
{
|
||||
ExFreePoolWithTag ( psem, GDITAG_SEMAPHORE );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return (HSEMAPHORE)psem;
|
||||
}
|
||||
|
||||
VOID
|
||||
FASTCALL
|
||||
IntGdiAcquireSemaphore ( HSEMAPHORE hsem )
|
||||
IntGdiAcquireSemaphore(HSEMAPHORE hsem)
|
||||
{
|
||||
KeEnterCriticalRegion();
|
||||
ExAcquireResourceExclusiveLite ( (PERESOURCE)hsem, TRUE );
|
||||
ExAcquireResourceExclusiveLite ((PERESOURCE)hsem, TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -35,12 +37,12 @@ IntGdiAcquireSemaphore ( HSEMAPHORE hsem )
|
|||
*/
|
||||
VOID
|
||||
APIENTRY
|
||||
EngAcquireSemaphore ( IN HSEMAPHORE hsem )
|
||||
EngAcquireSemaphore(IN HSEMAPHORE hsem)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_14br.htm
|
||||
PTHREADINFO W32Thread;
|
||||
ASSERT(hsem);
|
||||
IntGdiAcquireSemaphore ( hsem );
|
||||
IntGdiAcquireSemaphore(hsem);
|
||||
W32Thread = PsGetThreadWin32Thread(PsGetCurrentThread());
|
||||
if (W32Thread) W32Thread->dwEngAcquireCount++;
|
||||
}
|
||||
|
@ -50,7 +52,7 @@ VOID
|
|||
FASTCALL
|
||||
IntGdiReleaseSemaphore ( HSEMAPHORE hsem )
|
||||
{
|
||||
ExReleaseResourceLite ( (PERESOURCE)hsem );
|
||||
ExReleaseResourceLite((PERESOURCE)hsem);
|
||||
KeLeaveCriticalRegion();
|
||||
}
|
||||
|
||||
|
@ -66,7 +68,7 @@ EngReleaseSemaphore ( IN HSEMAPHORE hsem )
|
|||
ASSERT(hsem);
|
||||
W32Thread = PsGetThreadWin32Thread(PsGetCurrentThread());
|
||||
if (W32Thread) --W32Thread->dwEngAcquireCount;
|
||||
IntGdiReleaseSemaphore ( hsem );
|
||||
IntGdiReleaseSemaphore(hsem);
|
||||
}
|
||||
|
||||
VOID
|
||||
|
@ -90,11 +92,10 @@ APIENTRY
|
|||
EngDeleteSemaphore ( IN HSEMAPHORE hsem )
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_13c7.htm
|
||||
ASSERT ( hsem );
|
||||
ASSERT(hsem);
|
||||
|
||||
ExDeleteResourceLite((PERESOURCE)hsem);
|
||||
|
||||
ExFreePoolWithTag( (PVOID)hsem, GDITAG_SEMAPHORE);
|
||||
ExFreePoolWithTag((PVOID)hsem, GDITAG_SEMAPHORE);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -118,7 +119,7 @@ EngIsSemaphoreOwnedByCurrentThread ( IN HSEMAPHORE hsem )
|
|||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_9yxz.htm
|
||||
ASSERT(hsem);
|
||||
return ExIsResourceAcquiredExclusiveLite ( (PERESOURCE)hsem );
|
||||
return ExIsResourceAcquiredExclusiveLite((PERESOURCE)hsem);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
void APIENTRY
|
||||
void
|
||||
APIENTRY
|
||||
EngSort(IN OUT PBYTE Buf, IN ULONG ElemSize, IN ULONG ElemCount, IN SORTCOMP CompFunc)
|
||||
{
|
||||
qsort(Buf, ElemCount, ElemSize, CompFunc);
|
||||
|
|
|
@ -10,8 +10,7 @@ APIENTRY
|
|||
STROBJ_bEnum(
|
||||
IN STROBJ *pstro,
|
||||
OUT ULONG *pc,
|
||||
OUT PGLYPHPOS *ppgpos
|
||||
)
|
||||
OUT PGLYPHPOS *ppgpos)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_65uv.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -20,7 +19,8 @@ STROBJ_bEnum(
|
|||
|
||||
DWORD
|
||||
APIENTRY
|
||||
STROBJ_dwGetCodePage ( IN STROBJ *pstro )
|
||||
STROBJ_dwGetCodePage(
|
||||
IN STROBJ *pstro)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_9jmv.htm
|
||||
PSTRGDI pStrGdi = (PSTRGDI) pstro;
|
||||
|
@ -29,7 +29,8 @@ STROBJ_dwGetCodePage ( IN STROBJ *pstro )
|
|||
|
||||
VOID
|
||||
APIENTRY
|
||||
STROBJ_vEnumStart ( IN STROBJ *pstro )
|
||||
STROBJ_vEnumStart(
|
||||
IN STROBJ *pstro)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_32uf.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -38,7 +39,8 @@ STROBJ_vEnumStart ( IN STROBJ *pstro )
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
APIENTRY
|
||||
STROBJ_bEnumPositionsOnly(
|
||||
IN STROBJ *StringObj,
|
||||
OUT ULONG *Count,
|
||||
|
@ -51,7 +53,8 @@ STROBJ_bEnumPositionsOnly(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
APIENTRY
|
||||
STROBJ_bGetAdvanceWidths(
|
||||
IN STROBJ *StringObj,
|
||||
IN ULONG First,
|
||||
|
@ -65,7 +68,8 @@ STROBJ_bGetAdvanceWidths(
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
FIX APIENTRY
|
||||
FIX
|
||||
APIENTRY
|
||||
STROBJ_fxBreakExtra(
|
||||
IN STROBJ *StringObj)
|
||||
{
|
||||
|
@ -77,13 +81,14 @@ STROBJ_fxBreakExtra(
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
FIX APIENTRY
|
||||
FIX
|
||||
APIENTRY
|
||||
STROBJ_fxCharacterExtra(
|
||||
IN STROBJ *StringObj)
|
||||
{
|
||||
PSTRGDI pStrGdi = (PSTRGDI) StringObj;
|
||||
if (pStrGdi->StrObj.flAccel & SO_CHARACTER_EXTRA) return pStrGdi->fxExtra;
|
||||
return (FIX) 0;
|
||||
return (FIX)0;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -8,13 +8,12 @@
|
|||
#define UNIMPLEMENTED DbgPrint("(%s:%i) WIN32K: %s UNIMPLEMENTED\n", __FILE__, __LINE__, __FUNCTION__ )
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngTextOut (
|
||||
EngTextOut(
|
||||
SURFOBJ *pso,
|
||||
STROBJ *pstro,
|
||||
FONTOBJ *pfo,
|
||||
|
@ -24,8 +23,7 @@ EngTextOut (
|
|||
BRUSHOBJ *pboFore,
|
||||
BRUSHOBJ *pboOpaque,
|
||||
POINTL *pptlOrg,
|
||||
MIX mix
|
||||
)
|
||||
MIX mix)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_4tgn.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -37,7 +35,7 @@ EngTextOut (
|
|||
*/
|
||||
PATHOBJ*
|
||||
APIENTRY
|
||||
CLIPOBJ_ppoGetPath ( IN CLIPOBJ *pco )
|
||||
CLIPOBJ_ppoGetPath(IN CLIPOBJ *pco)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_6hbb.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -49,7 +47,7 @@ CLIPOBJ_ppoGetPath ( IN CLIPOBJ *pco )
|
|||
*/
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngCheckAbort ( IN SURFOBJ *pso )
|
||||
EngCheckAbort(IN SURFOBJ *pso)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_3u7b.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -64,8 +62,7 @@ APIENTRY
|
|||
EngComputeGlyphSet(
|
||||
IN INT nCodePage,
|
||||
IN INT nFirstChar,
|
||||
IN INT cChars
|
||||
)
|
||||
IN INT cChars)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_9607.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -77,7 +74,7 @@ EngComputeGlyphSet(
|
|||
*/
|
||||
PATHOBJ*
|
||||
APIENTRY
|
||||
EngCreatePath ( VOID )
|
||||
EngCreatePath(VOID)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_4aav.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -89,7 +86,7 @@ EngCreatePath ( VOID )
|
|||
*/
|
||||
VOID
|
||||
APIENTRY
|
||||
EngDeletePath ( IN PATHOBJ *ppo )
|
||||
EngDeletePath(IN PATHOBJ *ppo)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_3fl3.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -100,14 +97,13 @@ EngDeletePath ( IN PATHOBJ *ppo )
|
|||
*/
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngEnumForms (
|
||||
EngEnumForms(
|
||||
IN HANDLE hPrinter,
|
||||
IN DWORD Level,
|
||||
OUT LPBYTE pForm,
|
||||
IN DWORD cbBuf,
|
||||
OUT LPDWORD pcbNeeded,
|
||||
OUT LPDWORD pcReturned
|
||||
)
|
||||
OUT LPDWORD pcReturned)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_5e07.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -119,15 +115,14 @@ EngEnumForms (
|
|||
*/
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngFillPath (
|
||||
EngFillPath(
|
||||
IN SURFOBJ *pso,
|
||||
IN PATHOBJ *ppo,
|
||||
IN CLIPOBJ *pco,
|
||||
IN BRUSHOBJ *pbo,
|
||||
IN POINTL *pptlBrushOrg,
|
||||
IN MIX mix,
|
||||
IN FLONG flOptions
|
||||
)
|
||||
IN FLONG flOptions)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_9pyf.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -143,8 +138,7 @@ EngFindResource(
|
|||
IN HANDLE h,
|
||||
IN int iName,
|
||||
IN int iType,
|
||||
OUT PULONG pulSize
|
||||
)
|
||||
OUT PULONG pulSize)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_7rjb.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -158,8 +152,7 @@ BOOL
|
|||
APIENTRY
|
||||
EngGetFileChangeTime(
|
||||
IN HANDLE h,
|
||||
OUT LARGE_INTEGER *pChangeTime
|
||||
)
|
||||
OUT LARGE_INTEGER *pChangeTime)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_1i1z.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -173,8 +166,7 @@ BOOL
|
|||
APIENTRY
|
||||
EngGetFilePath(
|
||||
IN HANDLE h,
|
||||
OUT WCHAR (*pDest)[MAX_PATH+1]
|
||||
)
|
||||
OUT WCHAR (*pDest)[MAX_PATH + 1])
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_5g2v.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -192,8 +184,7 @@ EngGetForm(
|
|||
IN DWORD Level,
|
||||
OUT LPBYTE pForm,
|
||||
IN DWORD cbBuf,
|
||||
OUT LPDWORD pcbNeeded
|
||||
)
|
||||
OUT LPDWORD pcbNeeded)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_5vvr.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -210,8 +201,7 @@ EngGetPrinter(
|
|||
IN DWORD dwLevel,
|
||||
OUT LPBYTE pPrinter,
|
||||
IN DWORD cbBuf,
|
||||
OUT LPDWORD pcbNeeded
|
||||
)
|
||||
OUT LPDWORD pcbNeeded)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_50h3.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -229,8 +219,7 @@ EngGetPrinterData(
|
|||
OUT LPDWORD pType,
|
||||
OUT LPBYTE pData,
|
||||
IN DWORD nSize,
|
||||
OUT LPDWORD pcbNeeded
|
||||
)
|
||||
OUT LPDWORD pcbNeeded)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_8t5z.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -242,7 +231,7 @@ EngGetPrinterData(
|
|||
*/
|
||||
LPWSTR
|
||||
APIENTRY
|
||||
EngGetPrinterDataFileName ( IN HDEV hdev )
|
||||
EngGetPrinterDataFileName(IN HDEV hdev)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_2giv.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -260,8 +249,7 @@ EngGetType1FontList(
|
|||
IN ULONG cjType1Buffer,
|
||||
OUT PULONG pulLocalFonts,
|
||||
OUT PULONG pulRemoteFonts,
|
||||
OUT LARGE_INTEGER *pLastModified
|
||||
)
|
||||
OUT LARGE_INTEGER *pLastModified)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_6e5j.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -273,7 +261,7 @@ EngGetType1FontList(
|
|||
*/
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngMarkBandingSurface ( IN HSURF hsurf )
|
||||
EngMarkBandingSurface(IN HSURF hsurf)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_2jon.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -287,8 +275,7 @@ EngMultiByteToWideChar(
|
|||
OUT LPWSTR WideCharString,
|
||||
IN INT BytesInWideCharString,
|
||||
IN LPSTR MultiByteString,
|
||||
IN INT BytesInMultiByteString
|
||||
)
|
||||
IN INT BytesInMultiByteString)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_32cn.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -297,7 +284,7 @@ EngMultiByteToWideChar(
|
|||
|
||||
VOID
|
||||
APIENTRY
|
||||
EngQueryLocalTime ( OUT PENG_TIME_FIELDS ptf )
|
||||
EngQueryLocalTime(OUT PENG_TIME_FIELDS ptf)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_389z.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -309,8 +296,7 @@ EngQueryPalette(
|
|||
IN HPALETTE hPal,
|
||||
OUT ULONG *piMode,
|
||||
IN ULONG cColors,
|
||||
OUT ULONG *pulColors
|
||||
)
|
||||
OUT ULONG *pulColors)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_21t3.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -324,8 +310,7 @@ EngSetPrinterData(
|
|||
IN LPWSTR pType,
|
||||
IN DWORD dwType,
|
||||
IN LPBYTE lpbPrinterData,
|
||||
IN DWORD cjPrinterData
|
||||
)
|
||||
IN DWORD cjPrinterData)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_8drb.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -344,8 +329,7 @@ EngStrokeAndFillPath(
|
|||
IN BRUSHOBJ *pboFill,
|
||||
IN POINTL *pptlBrushOrg,
|
||||
IN MIX mixFill,
|
||||
IN FLONG flOptions
|
||||
)
|
||||
IN FLONG flOptions)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_2xwn.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -362,8 +346,7 @@ EngStrokePath(
|
|||
IN BRUSHOBJ *pbo,
|
||||
IN POINTL *pptlBrushOrg,
|
||||
IN LINEATTRS *plineattrs,
|
||||
IN MIX mix
|
||||
)
|
||||
IN MIX mix)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_4yaw.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -377,8 +360,7 @@ EngWideCharToMultiByte(
|
|||
IN LPWSTR WideCharString,
|
||||
IN INT BytesInWideCharString,
|
||||
OUT LPSTR MultiByteString,
|
||||
IN INT BytesInMultiByteString
|
||||
)
|
||||
IN INT BytesInMultiByteString)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_35wn.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -387,12 +369,11 @@ EngWideCharToMultiByte(
|
|||
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngWritePrinter (
|
||||
EngWritePrinter(
|
||||
IN HANDLE hPrinter,
|
||||
IN LPVOID pBuf,
|
||||
IN DWORD cbBuf,
|
||||
OUT LPDWORD pcWritten
|
||||
)
|
||||
OUT LPDWORD pcWritten)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_9v6v.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -404,10 +385,9 @@ EngWritePrinter (
|
|||
*/
|
||||
ULONG
|
||||
APIENTRY
|
||||
FONTOBJ_cGetAllGlyphHandles (
|
||||
FONTOBJ_cGetAllGlyphHandles(
|
||||
IN FONTOBJ *FontObj,
|
||||
IN HGLYPH *Glyphs
|
||||
)
|
||||
IN HGLYPH *Glyphs)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
|
@ -423,8 +403,7 @@ FONTOBJ_cGetGlyphs(
|
|||
IN ULONG Mode,
|
||||
IN ULONG NumGlyphs,
|
||||
IN HGLYPH *GlyphHandles,
|
||||
IN PVOID *OutGlyphs
|
||||
)
|
||||
IN PVOID *OutGlyphs)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
|
@ -435,7 +414,7 @@ FONTOBJ_cGetGlyphs(
|
|||
*/
|
||||
IFIMETRICS*
|
||||
APIENTRY
|
||||
FONTOBJ_pifi ( IN FONTOBJ *FontObj )
|
||||
FONTOBJ_pifi(IN FONTOBJ *FontObj)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
|
@ -446,7 +425,7 @@ FONTOBJ_pifi ( IN FONTOBJ *FontObj )
|
|||
*/
|
||||
PVOID
|
||||
APIENTRY
|
||||
FONTOBJ_pvTrueTypeFontFile (
|
||||
FONTOBJ_pvTrueTypeFontFile(
|
||||
IN FONTOBJ *FontObj,
|
||||
IN ULONG *FileSize)
|
||||
{
|
||||
|
@ -459,7 +438,7 @@ FONTOBJ_pvTrueTypeFontFile (
|
|||
*/
|
||||
XFORMOBJ*
|
||||
APIENTRY
|
||||
FONTOBJ_pxoGetXform ( IN FONTOBJ *FontObj )
|
||||
FONTOBJ_pxoGetXform(IN FONTOBJ *FontObj)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
|
@ -470,7 +449,7 @@ FONTOBJ_pxoGetXform ( IN FONTOBJ *FontObj )
|
|||
*/
|
||||
VOID
|
||||
APIENTRY
|
||||
FONTOBJ_vGetInfo (
|
||||
FONTOBJ_vGetInfo(
|
||||
IN FONTOBJ *FontObj,
|
||||
IN ULONG InfoSize,
|
||||
OUT PFONTINFO FontInfo)
|
||||
|
@ -486,8 +465,7 @@ HT_ComputeRGBGammaTable(
|
|||
IN USHORT RedGamma,
|
||||
IN USHORT GreenGamma,
|
||||
IN USHORT BlueGamma,
|
||||
OUT LPBYTE pGammaTable
|
||||
)
|
||||
OUT LPBYTE pGammaTable)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_9dpj.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -500,8 +478,7 @@ HT_Get8BPPFormatPalette(
|
|||
OUT LPPALETTEENTRY pPaletteEntry,
|
||||
IN USHORT RedGamma,
|
||||
IN USHORT GreenGamma,
|
||||
IN USHORT BlueGamma
|
||||
)
|
||||
IN USHORT BlueGamma)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_8kvb.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -510,7 +487,7 @@ HT_Get8BPPFormatPalette(
|
|||
|
||||
BOOL
|
||||
APIENTRY
|
||||
PATHOBJ_bCloseFigure ( IN PATHOBJ *ppo )
|
||||
PATHOBJ_bCloseFigure(IN PATHOBJ *ppo)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_5mhz.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -519,10 +496,9 @@ PATHOBJ_bCloseFigure ( IN PATHOBJ *ppo )
|
|||
|
||||
BOOL
|
||||
APIENTRY
|
||||
PATHOBJ_bEnum (
|
||||
PATHOBJ_bEnum(
|
||||
IN PATHOBJ *ppo,
|
||||
OUT PATHDATA *ppd
|
||||
)
|
||||
OUT PATHDATA *ppd)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_98o7.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -534,8 +510,7 @@ APIENTRY
|
|||
PATHOBJ_bEnumClipLines(
|
||||
IN PATHOBJ *ppo,
|
||||
IN ULONG cb,
|
||||
OUT CLIPLINE *pcl
|
||||
)
|
||||
OUT CLIPLINE *pcl)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_4147.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -546,8 +521,7 @@ BOOL
|
|||
APIENTRY
|
||||
PATHOBJ_bMoveTo(
|
||||
IN PATHOBJ *ppo,
|
||||
IN POINTFIX ptfx
|
||||
)
|
||||
IN POINTFIX ptfx)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_70vb.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -559,8 +533,7 @@ APIENTRY
|
|||
PATHOBJ_bPolyBezierTo(
|
||||
IN PATHOBJ *ppo,
|
||||
IN POINTFIX *pptfx,
|
||||
IN ULONG cptfx
|
||||
)
|
||||
IN ULONG cptfx)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_2c9z.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -572,8 +545,7 @@ APIENTRY
|
|||
PATHOBJ_bPolyLineTo(
|
||||
IN PATHOBJ *ppo,
|
||||
IN POINTFIX *pptfx,
|
||||
IN ULONG cptfx
|
||||
)
|
||||
IN ULONG cptfx)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_0x47.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -582,7 +554,7 @@ PATHOBJ_bPolyLineTo(
|
|||
|
||||
VOID
|
||||
APIENTRY
|
||||
PATHOBJ_vEnumStart ( IN PATHOBJ *ppo )
|
||||
PATHOBJ_vEnumStart(IN PATHOBJ *ppo)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_74br.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -594,8 +566,7 @@ PATHOBJ_vEnumStartClipLines(
|
|||
IN PATHOBJ *ppo,
|
||||
IN CLIPOBJ *pco,
|
||||
IN SURFOBJ *pso,
|
||||
IN LINEATTRS *pla
|
||||
)
|
||||
IN LINEATTRS *pla)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_5grr.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -605,8 +576,7 @@ VOID
|
|||
APIENTRY
|
||||
PATHOBJ_vGetBounds(
|
||||
IN PATHOBJ *ppo,
|
||||
OUT PRECTFX prectfx
|
||||
)
|
||||
OUT PRECTFX prectfx)
|
||||
{
|
||||
// www.osr.com/ddk/graphics/gdifncs_8qp3.htm
|
||||
UNIMPLEMENTED;
|
||||
|
@ -615,7 +585,8 @@ PATHOBJ_vGetBounds(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
ULONG APIENTRY
|
||||
ULONG
|
||||
APIENTRY
|
||||
EngDitherColor(
|
||||
IN HDEV hdev,
|
||||
IN ULONG iMode,
|
||||
|
@ -629,7 +600,8 @@ EngDitherColor(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
HANDLE APIENTRY
|
||||
HANDLE
|
||||
APIENTRY
|
||||
BRUSHOBJ_hGetColorTransform(
|
||||
IN BRUSHOBJ *Brush)
|
||||
{
|
||||
|
@ -652,7 +624,8 @@ EngDeleteFile(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngGetPrinterDriver(
|
||||
IN HANDLE Printer,
|
||||
IN LPWSTR Environment,
|
||||
|
@ -668,7 +641,8 @@ EngGetPrinterDriver(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
ULONG APIENTRY
|
||||
ULONG
|
||||
APIENTRY
|
||||
EngHangNotification(
|
||||
IN HDEV Dev,
|
||||
IN PVOID Reserved)
|
||||
|
@ -680,7 +654,8 @@ EngHangNotification(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngLpkInstalled()
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -690,7 +665,8 @@ EngLpkInstalled()
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngPlgBlt(
|
||||
IN SURFOBJ *Dest,
|
||||
IN SURFOBJ *Source,
|
||||
|
@ -711,7 +687,8 @@ EngPlgBlt(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL APIENTRY
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngQueryDeviceAttribute(
|
||||
IN HDEV Device,
|
||||
IN ENG_DEVICE_ATTRIBUTE Attribute,
|
||||
|
@ -740,7 +717,8 @@ EngQueryFileTimeStamp(IN LPWSTR FileName)
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
FD_GLYPHSET * APIENTRY
|
||||
FD_GLYPHSET *
|
||||
APIENTRY
|
||||
FONTOBJ_pfdg(
|
||||
IN FONTOBJ *FontObj)
|
||||
{
|
||||
|
@ -751,7 +729,8 @@ FONTOBJ_pfdg(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
PBYTE APIENTRY
|
||||
PBYTE
|
||||
APIENTRY
|
||||
FONTOBJ_pjOpenTypeTablePointer(
|
||||
IN FONTOBJ *FontObj,
|
||||
IN ULONG Tag,
|
||||
|
@ -764,7 +743,8 @@ FONTOBJ_pjOpenTypeTablePointer(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
PFD_GLYPHATTR APIENTRY
|
||||
PFD_GLYPHATTR
|
||||
APIENTRY
|
||||
FONTOBJ_pQueryGlyphAttrs(
|
||||
IN FONTOBJ *FontObj,
|
||||
IN ULONG Mode)
|
||||
|
@ -776,7 +756,8 @@ FONTOBJ_pQueryGlyphAttrs(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LPWSTR APIENTRY
|
||||
LPWSTR
|
||||
APIENTRY
|
||||
FONTOBJ_pwszFontFilePaths(
|
||||
IN FONTOBJ *FontObj,
|
||||
OUT ULONG *PathLength)
|
||||
|
@ -788,7 +769,8 @@ FONTOBJ_pwszFontFilePaths(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG APIENTRY
|
||||
LONG
|
||||
APIENTRY
|
||||
HT_Get8BPPMaskPalette(
|
||||
IN OUT LPPALETTEENTRY PaletteEntry,
|
||||
IN BOOL Use8BPPMaskPal,
|
||||
|
@ -848,8 +830,7 @@ NtGdiAddFontMemResourceEx(
|
|||
IN DWORD cjBuffer,
|
||||
IN DESIGNVECTOR *pdv,
|
||||
IN ULONG cjDV,
|
||||
OUT DWORD *pNumFonts
|
||||
)
|
||||
OUT DWORD *pNumFonts)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
|
@ -1208,7 +1189,7 @@ NtGdiGetEudcTimeStampEx(
|
|||
*/
|
||||
BOOL
|
||||
APIENTRY
|
||||
NtGdiInitSpool()
|
||||
NtGdiInitSpool(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
|
@ -1219,7 +1200,8 @@ NtGdiInitSpool()
|
|||
*/
|
||||
INT
|
||||
APIENTRY
|
||||
NtGdiQueryFonts( OUT PUNIVERSAL_FONT_ID pufiFontList,
|
||||
NtGdiQueryFonts(
|
||||
OUT PUNIVERSAL_FONT_ID pufiFontList,
|
||||
IN ULONG nBufferSize,
|
||||
OUT PLARGE_INTEGER pTimeStamp)
|
||||
{
|
||||
|
@ -1232,7 +1214,8 @@ NtGdiQueryFonts( OUT PUNIVERSAL_FONT_ID pufiFontList,
|
|||
*/
|
||||
INT
|
||||
APIENTRY
|
||||
NtGdiGetSpoolMessage( DWORD u1,
|
||||
NtGdiGetSpoolMessage(
|
||||
DWORD u1,
|
||||
DWORD u2,
|
||||
DWORD u3,
|
||||
DWORD u4)
|
||||
|
@ -1559,7 +1542,7 @@ NtGdiIcmBrushInfo(
|
|||
*/
|
||||
BOOL
|
||||
APIENTRY
|
||||
NtGdiInit()
|
||||
NtGdiInit(VOID)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -1695,7 +1678,8 @@ EngControlSprites(
|
|||
|
||||
PVOID
|
||||
APIENTRY
|
||||
EngFntCacheAlloc(IN ULONG FastCheckSum,
|
||||
EngFntCacheAlloc(
|
||||
IN ULONG FastCheckSum,
|
||||
IN ULONG ulSize)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -1704,7 +1688,8 @@ EngFntCacheAlloc(IN ULONG FastCheckSum,
|
|||
|
||||
VOID
|
||||
APIENTRY
|
||||
EngFntCacheFault(IN ULONG ulFastCheckSum,
|
||||
EngFntCacheFault(
|
||||
IN ULONG ulFastCheckSum,
|
||||
IN ULONG iFaultMode)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -1712,7 +1697,8 @@ EngFntCacheFault(IN ULONG ulFastCheckSum,
|
|||
|
||||
PVOID
|
||||
APIENTRY
|
||||
EngFntCacheLookUp(IN ULONG FastCheckSum,
|
||||
EngFntCacheLookUp(
|
||||
IN ULONG FastCheckSum,
|
||||
OUT PULONG pulSize)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -1721,7 +1707,8 @@ EngFntCacheLookUp(IN ULONG FastCheckSum,
|
|||
|
||||
BOOLEAN
|
||||
APIENTRY
|
||||
EngNineGrid(IN SURFOBJ* pDestSurfaceObj,
|
||||
EngNineGrid(
|
||||
IN SURFOBJ* pDestSurfaceObj,
|
||||
IN SURFOBJ* pSourceSurfaceObj,
|
||||
IN CLIPOBJ* pClipObj,
|
||||
IN XLATEOBJ* pXlateObj,
|
||||
|
|
|
@ -11,8 +11,10 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
BOOL APIENTRY
|
||||
EngTransparentBlt(SURFOBJ *psoDest,
|
||||
BOOL
|
||||
APIENTRY
|
||||
EngTransparentBlt(
|
||||
SURFOBJ *psoDest,
|
||||
SURFOBJ *psoSource,
|
||||
CLIPOBJ *Clip,
|
||||
XLATEOBJ *ColorTranslation,
|
||||
|
@ -35,7 +37,7 @@ EngTransparentBlt(SURFOBJ *psoDest,
|
|||
|
||||
InputRect = *SourceRect;
|
||||
|
||||
if(!IntEngEnter(&EnterLeaveSource, psoSource, &InputRect, TRUE, &Translate, &InputObj))
|
||||
if (!IntEngEnter(&EnterLeaveSource, psoSource, &InputRect, TRUE, &Translate, &InputObj))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -56,24 +58,24 @@ EngTransparentBlt(SURFOBJ *psoDest,
|
|||
OutputRect.bottom = DestRect->top;
|
||||
}
|
||||
|
||||
if(Clip)
|
||||
if (Clip)
|
||||
{
|
||||
if(OutputRect.left < Clip->rclBounds.left)
|
||||
if (OutputRect.left < Clip->rclBounds.left)
|
||||
{
|
||||
InputRect.left += Clip->rclBounds.left - OutputRect.left;
|
||||
OutputRect.left = Clip->rclBounds.left;
|
||||
}
|
||||
if(Clip->rclBounds.right < OutputRect.right)
|
||||
if (Clip->rclBounds.right < OutputRect.right)
|
||||
{
|
||||
InputRect.right -= OutputRect.right - Clip->rclBounds.right;
|
||||
OutputRect.right = Clip->rclBounds.right;
|
||||
}
|
||||
if(OutputRect.top < Clip->rclBounds.top)
|
||||
if (OutputRect.top < Clip->rclBounds.top)
|
||||
{
|
||||
InputRect.top += Clip->rclBounds.top - OutputRect.top;
|
||||
OutputRect.top = Clip->rclBounds.top;
|
||||
}
|
||||
if(Clip->rclBounds.bottom < OutputRect.bottom)
|
||||
if (Clip->rclBounds.bottom < OutputRect.bottom)
|
||||
{
|
||||
InputRect.bottom -= OutputRect.bottom - Clip->rclBounds.bottom;
|
||||
OutputRect.bottom = Clip->rclBounds.bottom;
|
||||
|
@ -82,13 +84,13 @@ EngTransparentBlt(SURFOBJ *psoDest,
|
|||
|
||||
/* Check for degenerate case: if height or width of OutputRect is 0 pixels there's
|
||||
nothing to do */
|
||||
if(OutputRect.right <= OutputRect.left || OutputRect.bottom <= OutputRect.top)
|
||||
if (OutputRect.right <= OutputRect.left || OutputRect.bottom <= OutputRect.top)
|
||||
{
|
||||
IntEngLeave(&EnterLeaveSource);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if(!IntEngEnter(&EnterLeaveDest, psoDest, &OutputRect, FALSE, &Translate, &OutputObj))
|
||||
if (!IntEngEnter(&EnterLeaveDest, psoDest, &OutputRect, FALSE, &Translate, &OutputObj))
|
||||
{
|
||||
IntEngLeave(&EnterLeaveSource);
|
||||
return FALSE;
|
||||
|
@ -105,7 +107,7 @@ EngTransparentBlt(SURFOBJ *psoDest,
|
|||
DstWidth = OutputRect.right - OutputRect.left;
|
||||
SrcHeight = InputRect.bottom - InputRect.top;
|
||||
SrcWidth = InputRect.right - InputRect.left;
|
||||
switch(ClippingType)
|
||||
switch (ClippingType)
|
||||
{
|
||||
case DC_TRIVIAL:
|
||||
{
|
||||
|
@ -139,9 +141,9 @@ EngTransparentBlt(SURFOBJ *psoDest,
|
|||
RECT_ENUM RectEnum;
|
||||
BOOL EnumMore;
|
||||
|
||||
if(OutputObj == InputObj)
|
||||
if (OutputObj == InputObj)
|
||||
{
|
||||
if(OutputRect.top < InputRect.top)
|
||||
if (OutputRect.top < InputRect.top)
|
||||
{
|
||||
Direction = OutputRect.left < (InputRect.left ? CD_RIGHTDOWN : CD_LEFTDOWN);
|
||||
}
|
||||
|
@ -177,13 +179,14 @@ EngTransparentBlt(SURFOBJ *psoDest,
|
|||
|
||||
Ret = DibFunctionsForBitmapFormat[psoDest->iBitmapFormat].DIB_TransparentBlt(
|
||||
OutputObj, InputObj, &CombinedRect, &InputToCombinedRect, ColorTranslation, iTransColor);
|
||||
if(!Ret)
|
||||
if (!Ret)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} while(EnumMore && Ret);
|
||||
}
|
||||
while (EnumMore && Ret);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -199,8 +202,10 @@ EngTransparentBlt(SURFOBJ *psoDest,
|
|||
return Ret;
|
||||
}
|
||||
|
||||
BOOL FASTCALL
|
||||
IntEngTransparentBlt(SURFOBJ *psoDest,
|
||||
BOOL
|
||||
FASTCALL
|
||||
IntEngTransparentBlt(
|
||||
SURFOBJ *psoDest,
|
||||
SURFOBJ *psoSource,
|
||||
CLIPOBJ *Clip,
|
||||
XLATEOBJ *ColorTranslation,
|
||||
|
@ -230,12 +235,12 @@ IntEngTransparentBlt(SURFOBJ *psoDest,
|
|||
if (!Clip) Clip = &gxcoTrivial.ClipObj;
|
||||
|
||||
InputClippedRect = *DestRect;
|
||||
if(InputClippedRect.right < InputClippedRect.left)
|
||||
if (InputClippedRect.right < InputClippedRect.left)
|
||||
{
|
||||
InputClippedRect.left = DestRect->right;
|
||||
InputClippedRect.right = DestRect->left;
|
||||
}
|
||||
if(InputClippedRect.bottom < InputClippedRect.top)
|
||||
if (InputClippedRect.bottom < InputClippedRect.top)
|
||||
{
|
||||
InputClippedRect.top = DestRect->bottom;
|
||||
InputClippedRect.bottom = DestRect->top;
|
||||
|
@ -246,7 +251,7 @@ IntEngTransparentBlt(SURFOBJ *psoDest,
|
|||
* outside the surface */
|
||||
if (Clip->iDComplexity != DC_TRIVIAL)
|
||||
{
|
||||
if(!RECTL_bIntersectRect(&OutputRect, &InputClippedRect, &Clip->rclBounds))
|
||||
if (!RECTL_bIntersectRect(&OutputRect, &InputClippedRect, &Clip->rclBounds))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -266,19 +271,30 @@ IntEngTransparentBlt(SURFOBJ *psoDest,
|
|||
OutputRect = InputClippedRect;
|
||||
}
|
||||
|
||||
if(psurfDest->flags & HOOK_TRANSPARENTBLT)
|
||||
if (psurfDest->flags & HOOK_TRANSPARENTBLT)
|
||||
{
|
||||
Ret = GDIDEVFUNCS(psoDest).TransparentBlt(
|
||||
psoDest, psoSource, Clip, ColorTranslation, &OutputRect,
|
||||
&InputRect, iTransColor, Reserved);
|
||||
Ret = GDIDEVFUNCS(psoDest).TransparentBlt(psoDest,
|
||||
psoSource,
|
||||
Clip,
|
||||
ColorTranslation,
|
||||
&OutputRect,
|
||||
&InputRect,
|
||||
iTransColor,
|
||||
Reserved);
|
||||
}
|
||||
else
|
||||
Ret = FALSE;
|
||||
|
||||
if(!Ret)
|
||||
if (!Ret)
|
||||
{
|
||||
Ret = EngTransparentBlt(psoDest, psoSource, Clip, ColorTranslation,
|
||||
&OutputRect, &InputRect, iTransColor, Reserved);
|
||||
Ret = EngTransparentBlt(psoDest,
|
||||
psoSource,
|
||||
Clip,
|
||||
ColorTranslation,
|
||||
&OutputRect,
|
||||
&InputRect,
|
||||
iTransColor,
|
||||
Reserved);
|
||||
}
|
||||
|
||||
return Ret;
|
||||
|
|
Loading…
Reference in a new issue