- add wglUseFontOutlines, wglUseFontBitmaps

- code ported (rearranged, simplified, fixed memory leaks, removed unneeded variables) from Mesa3D glDirect driver (c) SciTech Software, Inc
- more work needed but 3D text screen saver finally renders at least something

svn path=/trunk/; revision=43232
This commit is contained in:
Kamil Hornicek 2009-09-30 12:12:56 +00:00
parent 4127b55a9e
commit 6f17454af4
4 changed files with 1218 additions and 15 deletions

File diff suppressed because it is too large Load diff

View file

@ -40,6 +40,7 @@ extern "C" {
#include <ndk/ntndk.h> #include <ndk/ntndk.h>
#include <GL/gl.h> #include <GL/gl.h>
#include <GL/glu.h>
/* gl function list */ /* gl function list */
#include "glfuncs.h" #include "glfuncs.h"
@ -190,6 +191,14 @@ extern GLPROCESSDATA OPENGL32_processdata;
GLDRIVERDATA *OPENGL32_LoadICD( LPCWSTR driver ); GLDRIVERDATA *OPENGL32_LoadICD( LPCWSTR driver );
BOOL OPENGL32_UnloadICD( GLDRIVERDATA *icd ); BOOL OPENGL32_UnloadICD( GLDRIVERDATA *icd );
BOOL APIENTRY rosglMakeCurrent( HDC hdc, HGLRC hglrc ); BOOL APIENTRY rosglMakeCurrent( HDC hdc, HGLRC hglrc );
BOOL APIENTRY IntUseFontBitmapsA( HDC hDC, DWORD first, DWORD count, DWORD listBase );
BOOL APIENTRY IntUseFontBitmapsW( HDC hDC, DWORD first, DWORD count, DWORD listBase );
BOOL APIENTRY IntUseFontOutlinesA( HDC hDC, DWORD first, DWORD count, DWORD listBase,
FLOAT chordalDeviation, FLOAT extrusion, INT format,
GLYPHMETRICSFLOAT *glyphMetricsFloatArray );
BOOL APIENTRY IntUseFontOutlinesW( HDC hDC, DWORD first, DWORD count, DWORD listBase,
FLOAT chordalDeviation, FLOAT extrusion, INT format,
GLYPHMETRICSFLOAT *glyphMetricsFloatArray );
/* empty gl functions from gl.c */ /* empty gl functions from gl.c */
int WINAPI glEmptyFunc0( void ); int WINAPI glEmptyFunc0( void );

View file

@ -5,7 +5,9 @@
<library>gdi32</library> <library>gdi32</library>
<library>user32</library> <library>user32</library>
<library>advapi32</library> <library>advapi32</library>
<library>glu32</library>
<pch>opengl32.h</pch> <pch>opengl32.h</pch>
<file>font.c</file>
<file>gl.c</file> <file>gl.c</file>
<file>opengl32.c</file> <file>opengl32.c</file>
<file>wgl.c</file> <file>wgl.c</file>

View file

@ -1209,33 +1209,26 @@ rosglSwapLayerBuffers( HDC hdc, UINT fuPlanes )
BOOL BOOL
APIENTRY APIENTRY
rosglUseFontBitmapsA( HDC hdc, DWORD first, DWORD count, DWORD listBase ) rosglUseFontBitmapsA( HDC hdc, DWORD first, DWORD count, DWORD listBase )
{ {
UNIMPLEMENTED; return IntUseFontBitmapsA(hdc, first, count, listBase);
SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
return FALSE;
} }
BOOL BOOL
APIENTRY APIENTRY
rosglUseFontBitmapsW( HDC hdc, DWORD first, DWORD count, DWORD listBase ) rosglUseFontBitmapsW( HDC hdc, DWORD first, DWORD count, DWORD listBase )
{ {
UNIMPLEMENTED; return IntUseFontBitmapsW(hdc, first, count, listBase);
SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
return FALSE;
} }
BOOL BOOL
APIENTRY APIENTRY
rosglUseFontOutlinesA( HDC hdc, DWORD first, DWORD count, DWORD listBase, rosglUseFontOutlinesA( HDC hdc, DWORD first, DWORD count, DWORD listBase,
FLOAT deviation, FLOAT extrusion, int format, FLOAT deviation, FLOAT extrusion, int format,
GLYPHMETRICSFLOAT *pgmf ) GLYPHMETRICSFLOAT *pgmf )
{ {
UNIMPLEMENTED; return IntUseFontOutlinesA(hdc, first, count, listBase, deviation, extrusion, format, pgmf);
SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
return FALSE;
} }
@ -1245,9 +1238,7 @@ rosglUseFontOutlinesW( HDC hdc, DWORD first, DWORD count, DWORD listBase,
FLOAT deviation, FLOAT extrusion, int format, FLOAT deviation, FLOAT extrusion, int format,
GLYPHMETRICSFLOAT *pgmf ) GLYPHMETRICSFLOAT *pgmf )
{ {
UNIMPLEMENTED; return IntUseFontOutlinesW(hdc, first, count, listBase, deviation, extrusion, format, pgmf);
SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
return FALSE;
} }
#ifdef __cplusplus #ifdef __cplusplus