summaryrefslogtreecommitdiff
path: root/src/Fl_Gl_Window.cxx
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>1998-11-08 15:55:23 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>1998-11-08 15:55:23 +0000
commit32d18a35914c8b09165a43ec0eb8bfaa83d2712e (patch)
tree5136f8457ba87675af1e941960f515829ccbd338 /src/Fl_Gl_Window.cxx
parent0768612ddbeef6977a756a13f909bbb83ee2d9c6 (diff)
Added 8-bit palette for OpenGL (3:3:2 RGB). This should fix all of the
OpenGL colormap problems... git-svn-id: file:///fltk/svn/fltk/trunk@73 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Gl_Window.cxx')
-rw-r--r--src/Fl_Gl_Window.cxx21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/Fl_Gl_Window.cxx b/src/Fl_Gl_Window.cxx
index c5b0ab16b..1f596ebee 100644
--- a/src/Fl_Gl_Window.cxx
+++ b/src/Fl_Gl_Window.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Gl_Window.cxx,v 1.7 1998/10/21 14:20:06 mike Exp $"
+// "$Id: Fl_Gl_Window.cxx,v 1.8 1998/11/08 15:55:22 mike Exp $"
//
// OpenGL window code for the Fast Light Tool Kit (FLTK).
//
@@ -59,6 +59,14 @@
#define SWAP_TYPE SWAP
#endif
+//
+// Windows may need a different color palette...
+//
+
+#if defined(WIN32) && HAVE_GL
+extern HPALETTE fl_gl_palette;
+#endif
+
////////////////////////////////////////////////////////////////
int Fl_Gl_Window::can_do(int a, const int *b) {
@@ -123,6 +131,7 @@ int Fl_Gl_Window::mode(int m, const int *a) {
void Fl_Gl_Window::make_current() {
#ifdef WIN32
HDC hdc = fl_private_dc(this, mode_,&g);
+
if (!context) {
context = wglCreateContext(hdc);
if (fl_first_context) wglShareLists(fl_first_context, (GLXContext)context);
@@ -138,6 +147,14 @@ void Fl_Gl_Window::make_current() {
}
glXMakeCurrent(fl_display, fl_xid(this), (GLXContext)context);
#endif
+
+# if USE_COLORMAP
+ if (fl_gl_palette) {
+ SelectPalette(fl_gc, fl_gl_palette, FALSE);
+ RealizePalette(fl_gc);
+ }
+# endif // USE_COLORMAP
+
glDrawBuffer(GL_BACK);
}
@@ -310,5 +327,5 @@ void Fl_Gl_Window::draw_overlay() {}
#endif
//
-// End of "$Id: Fl_Gl_Window.cxx,v 1.7 1998/10/21 14:20:06 mike Exp $".
+// End of "$Id: Fl_Gl_Window.cxx,v 1.8 1998/11/08 15:55:22 mike Exp $".
//