From 4778beb76129fa68dd57b74ac2f25fd604465289 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 22 Aug 2003 13:47:08 +0000 Subject: [PATCH] updates from Daniel Borca --- docs/README.DJ | 2 +- src/glut/dos/util.c | 71 ++++++++++++++++++++++++++++++++++++++++++++ src/mesa/Makefile.DJ | 4 ++- src/mesa/Makefile.mgw | 2 ++ src/mesa/drivers/dos/dmesa.c | 4 +-- 5 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 src/glut/dos/util.c diff --git a/docs/README.DJ b/docs/README.DJ index 0ca4791..fe3435e 100644 --- a/docs/README.DJ +++ b/docs/README.DJ @@ -210,7 +210,7 @@ v1.3 (mar-2003) * switched to DXE3 v1.4 (aug-2003) - + enabled fonts with DXE + + enabled GLUT fonts with DXE + truly added multi-window support in GLUT * accomodated makefiles with the new sourcetree * hacked and slashed the 3dfx driver (w/ help from Hiroshi Morii) diff --git a/src/glut/dos/util.c b/src/glut/dos/util.c new file mode 100644 index 0000000..3eec961 --- /dev/null +++ b/src/glut/dos/util.c @@ -0,0 +1,71 @@ +/* + * Mesa 3-D graphics library + * Version: 3.4 + * Copyright (C) 1995-1998 Brian Paul + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* + * DOS/DJGPP glut driver v1.4 for Mesa + * + * Copyright (C) 2002 - Borca Daniel + * Email : dborca@yahoo.com + * Web : http://www.geocities.com/dborca + */ + + +#include "glutint.h" +#include "glutbitmap.h" +#include "glutstroke.h" + + + +#ifdef GLUT_IMPORT_LIB +extern StrokeFontRec glutStrokeRoman, glutStrokeMonoRoman; +extern BitmapFontRec glutBitmap8By13, glutBitmap9By15, glutBitmapTimesRoman10, glutBitmapTimesRoman24, glutBitmapHelvetica10, glutBitmapHelvetica12, glutBitmapHelvetica18; + +/* To get around the fact that DJGPP DXEs only allow functions + to be exported and no data addresses (as Unix DSOs support), the + GLUT API constants such as GLUT_STROKE_ROMAN have to get passed + through a case statement to get mapped to the actual data structure + address. */ +void *__glutFont (void *font) +{ + switch ((int)font) { + case (int)GLUT_STROKE_ROMAN: + return &glutStrokeRoman; + case (int)GLUT_STROKE_MONO_ROMAN: + return &glutStrokeMonoRoman; + case (int)GLUT_BITMAP_9_BY_15: + return &glutBitmap9By15; + case (int)GLUT_BITMAP_8_BY_13: + return &glutBitmap8By13; + case (int)GLUT_BITMAP_TIMES_ROMAN_10: + return &glutBitmapTimesRoman10; + case (int)GLUT_BITMAP_TIMES_ROMAN_24: + return &glutBitmapTimesRoman24; + case (int)GLUT_BITMAP_HELVETICA_10: + return &glutBitmapHelvetica10; + case (int)GLUT_BITMAP_HELVETICA_12: + return &glutBitmapHelvetica12; + case (int)GLUT_BITMAP_HELVETICA_18: + return &glutBitmapHelvetica18; + default: /* NOTREACHED */ + __glutFatalError("bad font!"); + return NULL; + } +} +#endif diff --git a/src/mesa/Makefile.DJ b/src/mesa/Makefile.DJ index 2d9c2d9..893a91b 100644 --- a/src/mesa/Makefile.DJ +++ b/src/mesa/Makefile.DJ @@ -106,6 +106,8 @@ MAIN_SOURCES = \ main/api_validate.c \ main/accum.c \ main/arbprogram.c \ + main/arbfragparse.c \ + main/arbvertparse.c \ main/attrib.c \ main/blend.c \ main/bufferobj.c \ @@ -343,7 +345,7 @@ ifeq ($(HAVEDXE3),) $(warning Missing DXE3 package... Skipping $(GL_DXE)) else ifeq ($(FX),1) - -dxe3gen -o $(LIBDIR)/$(GL_DXE) -Y $(LIBDIR)/$(GL_IMP) -D $(LIBNAME) -E _gl -E _DMesa -P glid3.dxe -U $^ + -dxe3gen -o $(LIBDIR)/$(GL_DXE) -Y $(LIBDIR)/$(GL_IMP) -D $(LIBNAME) -E _gl -E _DMesa -P glide3x.dxe -U $^ else -dxe3gen -o $(LIBDIR)/$(GL_DXE) -Y $(LIBDIR)/$(GL_IMP) -D $(LIBNAME) -E _gl -E _DMesa -U $^ endif diff --git a/src/mesa/Makefile.mgw b/src/mesa/Makefile.mgw index 3d72ae3..d8fb47c 100644 --- a/src/mesa/Makefile.mgw +++ b/src/mesa/Makefile.mgw @@ -97,6 +97,8 @@ MAIN_SOURCES = \ main/api_validate.c \ main/accum.c \ main/arbprogram.c \ + main/arbfragparse.c \ + main/arbvertparse.c \ main/attrib.c \ main/blend.c \ main/bufferobj.c \ diff --git a/src/mesa/drivers/dos/dmesa.c b/src/mesa/drivers/dos/dmesa.c index 7918fe9..73b4756 100644 --- a/src/mesa/drivers/dos/dmesa.c +++ b/src/mesa/drivers/dos/dmesa.c @@ -1474,7 +1474,7 @@ void DMesaDestroyVisual (DMesaVisual v) #endif #else - fxMesaDestroyContext((tdfxContextPtr)v); + fxMesaDestroyContext((fxMesaContext)v); #endif } @@ -1645,7 +1645,7 @@ GLboolean DMesaMakeCurrent (DMesaContext c, DMesaBuffer b) } #else - fxMesaMakeCurrent((tdfxContextPtr)c); + fxMesaMakeCurrent((fxMesaContext)c); #endif return GL_TRUE; -- 2.7.4