Author: ianmacarthur
Date: 2010-04-09 10:01:58 -0700 (Fri, 09 Apr 2010)
New Revision: 7475
Log:
Second part of STR #2214 rework.

This is the simplification of GL font selection under X11 made possible
by the earlier patches from ucko.



Modified:
   branches/branch-1.3/src/gl_draw.cxx

Modified: branches/branch-1.3/src/gl_draw.cxx
===================================================================
--- branches/branch-1.3/src/gl_draw.cxx 2010-04-09 16:46:45 UTC (rev 7474)
+++ branches/branch-1.3/src/gl_draw.cxx 2010-04-09 17:01:58 UTC (rev 7475)
@@ -82,26 +82,17 @@
 #else // Fltk-1.1.8 style GL font selection
 
 #if defined (USE_X11) // X-windows options follow, either XFT or "plain" X
-#  if USE_XFT // XFT case
-#    warning We really need a glXUseXftFont implementation here...
-//    fl_xfont = fl_xxfont();
-    XFontStruct *font = fl_xxfont();
-    int base = font->min_char_or_byte2;
-    int count = font->max_char_or_byte2-base+1;
-    fl_fontsize->listbase = glGenLists(256);
-    glXUseXFont(font->fid, base, count, fl_fontsize->listbase+base);
-#  else // plain X
-#    warning GL font selection is basically wrong here
-/* OksiD has a fairly sophisticated scheme for storing multiple X fonts in a 
XUtf8FontStruct,
+#  warning Ideally, for XFT, we really need a glXUseXftFont implementation 
here...
+#  warning GL font selection is basically wrong here
+/* OksiD had a fairly sophisticated scheme for storing multiple X fonts in a 
XUtf8FontStruct,
  * then sorting through them at draw time (for normal X rendering) to find 
which one can
  * render the current glyph... But for now, just use the first font in the 
list for GL...
  */
-    XFontStruct *tmp_font = fl_fontsize->font->fonts[0];  // this is certainly 
wrong!
-    int base = tmp_font->min_char_or_byte2;
-    int count = tmp_font->max_char_or_byte2-base+1;
+    XFontStruct *font = fl_xfont;
+    int base = font->min_char_or_byte2;
+    int count = font->max_char_or_byte2-base+1;
     fl_fontsize->listbase = glGenLists(256);
-    glXUseXFont(tmp_font->fid, base, count, fl_fontsize->listbase+base);
-#  endif // USE_XFT
+    glXUseXFont(font->fid, base, count, fl_fontsize->listbase+base);
 # elif defined(WIN32)
     int base = fl_fontsize->metr.tmFirstChar;
     int count = fl_fontsize->metr.tmLastChar-base+1;

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to