home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / unixtex-6.1b-src.tgz / tar.out / contrib / unixtex / web2c / mf / MFwindow / x10.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-28  |  1.5 KB  |  70 lines

  1. /*
  2.  * X Version 10 Window interface for Metafont
  3.  *
  4.  * Tim Morgan  2/13/88
  5.  */
  6.  
  7. #define    EXTERN    extern
  8. #include "../mfd.h"
  9.  
  10. #ifdef    X10WIN
  11. #include <X/Xlib.h>
  12.  
  13. static Display *my_display;
  14. static Window my_window;
  15.  
  16. /* Return 1 if display opened successfully, else 0 */
  17. mf_x10_initscreen()
  18. {
  19.     char default_geometry[50];
  20.     OpaqueFrame outer_frame;
  21.  
  22.     my_display = XOpenDisplay("");
  23.     if (!my_display) return(0);
  24.     (void) sprintf(default_geometry, "=%dx%d", screenwidth, screendepth);
  25.     outer_frame.bdrwidth = 2;
  26.     outer_frame.border = BlackPixmap;
  27.     outer_frame.background = BlackPixmap;
  28.     my_window = XCreate("Metafont", "mf", (char *) 0,
  29.     default_geometry, &outer_frame, screenwidth, screendepth);
  30.     XMapWindow(my_window);
  31.     return(1);
  32. }
  33.  
  34. /* Make sure the screen is up to date */
  35. mf_x10_updatescreen()
  36. {
  37.     XFlush();
  38. }
  39.  
  40. mf_x10_blankrectangle(left, right, top, bottom)
  41. screencol left, right;
  42. screenrow top, bottom;
  43. {
  44.     XPixSet(my_window, (int) left, (int) top, (int) (right-left+1),
  45.     (int) (bottom-top+1), WhitePixel);
  46. }
  47.  
  48. mf_x10_paintrow(row, init_color, tvect, vector_size)
  49. screenrow row;
  50. pixelcolor init_color;
  51. transspec tvect;
  52. register screencol vector_size;
  53. {
  54.     register int color, col;
  55.  
  56.     color = (init_color == 0) ? WhitePixel : BlackPixel;
  57.  
  58.     do {
  59.     col = *tvect++;
  60.     XLine(my_window, col, (int) row, (int) (*tvect-1), (int) row,
  61.         1, 1, color, GXcopy, AllPlanes);
  62.     if (color == WhitePixel) color = BlackPixel;
  63.     else color = WhitePixel;
  64.     } while (--vector_size > 0);
  65. }
  66.  
  67. #else
  68. int x10_dummy;
  69. #endif /* X10WIN */
  70.