mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 21:32:56 +00:00
- simplify the code a bit
svn path=/trunk/; revision=43233
This commit is contained in:
parent
6f17454af4
commit
ebe5bb75c0
1 changed files with 22 additions and 68 deletions
|
@ -36,39 +36,6 @@ static DWORD VertBufSize;
|
||||||
static DWORD VertBufIndex;
|
static DWORD VertBufIndex;
|
||||||
static GLenum TessErrorOccurred;
|
static GLenum TessErrorOccurred;
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* InitLineBuf
|
|
||||||
*
|
|
||||||
* Initializes the global LineBuf and its associated size and current-element
|
|
||||||
* counters.
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
INT InitLineBuf(VOID)
|
|
||||||
{
|
|
||||||
if (!(LineBuf = (FLOAT*)
|
|
||||||
HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (LineBufSize = LINE_BUF_QUANT) * sizeof(FLOAT))))
|
|
||||||
return 0;
|
|
||||||
LineBufIndex = 0;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* InitVertBuf
|
|
||||||
*
|
|
||||||
* Initializes the global VertBuf and its associated size and current-element
|
|
||||||
* counters.
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
INT InitVertBuf(VOID)
|
|
||||||
{
|
|
||||||
if (!(VertBuf = (FLOAT*)
|
|
||||||
HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (VertBufSize = VERT_BUF_QUANT) * sizeof(FLOAT))))
|
|
||||||
return 0;
|
|
||||||
VertBufIndex = 0;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* AppendToLineBuf
|
* AppendToLineBuf
|
||||||
*
|
*
|
||||||
|
@ -81,8 +48,9 @@ INT AppendToLineBuf(FLOAT value)
|
||||||
if (LineBufIndex >= LineBufSize)
|
if (LineBufIndex >= LineBufSize)
|
||||||
{
|
{
|
||||||
FLOAT* f;
|
FLOAT* f;
|
||||||
|
LineBufSize += LINE_BUF_QUANT;
|
||||||
|
|
||||||
f = (FLOAT*) HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, LineBuf, (LineBufSize += LINE_BUF_QUANT) * sizeof(FLOAT));
|
f = (FLOAT*) HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, LineBuf, (LineBufSize) * sizeof(FLOAT));
|
||||||
if (!f)
|
if (!f)
|
||||||
return 0;
|
return 0;
|
||||||
LineBuf = f;
|
LineBuf = f;
|
||||||
|
@ -109,36 +77,6 @@ INT AppendToVertBuf(FLOAT value)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* FreeLineBuf
|
|
||||||
*
|
|
||||||
* Cleans up vertex buffer structure.
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
VOID FreeLineBuf(VOID)
|
|
||||||
{
|
|
||||||
if (LineBuf)
|
|
||||||
{
|
|
||||||
HeapFree(GetProcessHeap(), 0, LineBuf);
|
|
||||||
LineBuf = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* FreeVertBuf
|
|
||||||
*
|
|
||||||
* Cleans up vertex buffer structure.
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
VOID FreeVertBuf(VOID)
|
|
||||||
{
|
|
||||||
if (VertBuf)
|
|
||||||
{
|
|
||||||
HeapFree(GetProcessHeap(), 0, VertBuf);
|
|
||||||
VertBuf = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* GetWord
|
* GetWord
|
||||||
*
|
*
|
||||||
|
@ -634,9 +572,14 @@ INT DrawGlyph(UCHAR* glyphBuf, DWORD glyphSize, FLOAT chordalDeviation, FLOAT ex
|
||||||
/*
|
/*
|
||||||
* Initialize the global buffer into which we place the outlines:
|
* Initialize the global buffer into which we place the outlines:
|
||||||
*/
|
*/
|
||||||
if (!InitLineBuf())
|
LineBuf = (FLOAT*) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (LINE_BUF_QUANT) * sizeof(FLOAT));
|
||||||
|
|
||||||
|
if(!LineBuf)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
|
LineBufSize = LINE_BUF_QUANT;
|
||||||
|
LineBufIndex = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert the glyph outlines to a set of polyline loops.
|
* Convert the glyph outlines to a set of polyline loops.
|
||||||
* (See MakeLinesFromGlyph() for the format of the loop data
|
* (See MakeLinesFromGlyph() for the format of the loop data
|
||||||
|
@ -681,8 +624,14 @@ INT DrawGlyph(UCHAR* glyphBuf, DWORD glyphSize, FLOAT chordalDeviation, FLOAT ex
|
||||||
* auxiliary routines for drawing.
|
* auxiliary routines for drawing.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!InitVertBuf())
|
VertBuf = (FLOAT*) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (VERT_BUF_QUANT) * sizeof(FLOAT));
|
||||||
|
|
||||||
|
if (!VertBuf)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
|
VertBufSize = VERT_BUF_QUANT;
|
||||||
|
VertBufIndex = 0;
|
||||||
|
|
||||||
if (!(tess = gluNewTess()))
|
if (!(tess = gluNewTess()))
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
|
@ -799,11 +748,16 @@ INT DrawGlyph(UCHAR* glyphBuf, DWORD glyphSize, FLOAT chordalDeviation, FLOAT ex
|
||||||
|
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
FreeLineBuf();
|
|
||||||
|
if(LineBuf)
|
||||||
|
HeapFree(GetProcessHeap(), 0, LineBuf);
|
||||||
|
|
||||||
|
if(VertBuf)
|
||||||
|
HeapFree(GetProcessHeap(), 0, VertBuf);
|
||||||
|
|
||||||
if (tess)
|
if (tess)
|
||||||
gluDeleteTess(tess);
|
gluDeleteTess(tess);
|
||||||
|
|
||||||
FreeVertBuf();
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue