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