/[emacs]/emacs/oldXMenu/Create.c
ViewVC logotype

Diff of /emacs/oldXMenu/Create.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by fx, Sun Oct 3 19:34:56 1999 UTC revision 1.1.18.1 by miles, Fri Apr 4 06:20:52 2003 UTC
# Line 98  char *x_get_resource_string (); Line 98  char *x_get_resource_string ();
98    
99    
100    
101  static Status  static Status
102  XAllocDisplayColor(display, map, colorName, color, junk)  XAllocDisplayColor(display, map, colorName, color, junk)
103      Display *display;      Display *display;
104      Colormap map;      Colormap map;
# Line 189  XMenuCreate(display, parent, def_env) Line 189  XMenuCreate(display, parent, def_env)
189    Pixmap stipple_pixmap;        /* Stipple mask for half-tone text. */    Pixmap stipple_pixmap;        /* Stipple mask for half-tone text. */
190    unsigned long valuemask;    unsigned long valuemask;
191    XGCValues *values;    XGCValues *values;
192        
193    Window root = RootWindow (display, DefaultScreen (display));    Window root = RootWindow (display, DefaultScreen (display));
194    
195    /*    /*
# Line 205  XMenuCreate(display, parent, def_env) Line 205  XMenuCreate(display, parent, def_env)
205      _XMErrorCode = XME_CALLOC;      _XMErrorCode = XME_CALLOC;
206      return(NULL);      return(NULL);
207    }    }
208        
209    /*    /*
210     * Create the XAssocTable     * Create the XAssocTable
211     */     */
212    assoc_tab = (XAssocTable *)XCreateAssocTable(XASSOC_TABLE_SIZE);    assoc_tab = (XAssocTable *)XCreateAssocTable(XASSOC_TABLE_SIZE);
# Line 266  XMenuCreate(display, parent, def_env) Line 266  XMenuCreate(display, parent, def_env)
266      if (strcmp(def_val, "box") == 0) menu_mode = BOX;      if (strcmp(def_val, "box") == 0) menu_mode = BOX;
267      else if (strcmp(def_val, "invert") == 0) menu_mode = INVERT;      else if (strcmp(def_val, "invert") == 0) menu_mode = INVERT;
268    }    }
269        
270    def_val = x_get_resource_string ("menuMouse", "MenuMouse");    def_val = x_get_resource_string ("menuMouse", "MenuMouse");
271    if (    if (
272        def_val != NULL &&        def_val != NULL &&
273        DisplayCells(display, DefaultScreen(display)) > 2 &&        DisplayCells(display, DefaultScreen(display)) > 2 &&
274        XAllocDisplayColor(display,        XAllocDisplayColor(display,
275                           DefaultColormap(display, DefaultScreen(display)),                           DefaultColormap(display, DefaultScreen(display)),
276                           def_val,                           def_val,
277                           &mouse_color, &color_def)                           &mouse_color, &color_def)
278        );        );
279    else if (reverse &&    else if (reverse &&
# Line 282  XMenuCreate(display, parent, def_env) Line 282  XMenuCreate(display, parent, def_env)
282                                "white",                                "white",
283                                &mouse_color, &color_def)                                &mouse_color, &color_def)
284             );             );
285        
286    else if (XAllocDisplayColor(display,    else if (XAllocDisplayColor(display,
287                                DefaultColormap(display, DefaultScreen(display)),                                DefaultColormap(display, DefaultScreen(display)),
288                                "black",                                "black",
289                                &mouse_color, &color_def)                                &mouse_color, &color_def)
290             );             );
291        
292    else ;    else ;
293    
294    def_val = x_get_resource_string ("menuBackground", "MenuBackground");    def_val = x_get_resource_string ("menuBackground", "MenuBackground");
# Line 335  XMenuCreate(display, parent, def_env) Line 335  XMenuCreate(display, parent, def_env)
335    def_val = x_get_resource_string ("paneForeground", "PaneForeground");    def_val = x_get_resource_string ("paneForeground", "PaneForeground");
336    if (    if (
337        def_val != NULL &&        def_val != NULL &&
338        DisplayCells(display, DefaultScreen(display)) > 2        DisplayCells(display, DefaultScreen(display)) > 2
339        )        )
340      XAllocDisplayColor(display, DefaultColormap(display,      XAllocDisplayColor(display, DefaultColormap(display,
341                                                  DefaultScreen(display)),                                                  DefaultScreen(display)),
342                         def_val,                         def_val,
343                         &p_frg_color, &color_def);                         &p_frg_color, &color_def);
344              
345    else if (reverse) XAllocDisplayColor(display,    else if (reverse) XAllocDisplayColor(display,
346                                         DefaultColormap(display,                                         DefaultColormap(display,
347                                                         DefaultScreen(display)),                                                         DefaultScreen(display)),
348                                         "white",                                         "white",
349                                         &p_frg_color, &color_def);                                         &p_frg_color, &color_def);
# Line 362  XMenuCreate(display, parent, def_env) Line 362  XMenuCreate(display, parent, def_env)
362                           &p_bdr_color, &color_def)                           &p_bdr_color, &color_def)
363        );        );
364    else if (reverse &&    else if (reverse &&
365             XAllocDisplayColor(display,             XAllocDisplayColor(display,
366                                DefaultColormap(display, DefaultScreen(display)),                                DefaultColormap(display, DefaultScreen(display)),
367                                "white",                                "white",
368                                &p_bdr_color, &color_def)                                &p_bdr_color, &color_def)
369             );             );
370    else XAllocDisplayColor(display,    else XAllocDisplayColor(display,
371                            DefaultColormap(display, DefaultScreen(display)),                            DefaultColormap(display, DefaultScreen(display)),
372                            "black",                            "black",
373                            &p_bdr_color, &color_def);                            &p_bdr_color, &color_def);
374        
375    def_val = x_get_resource_string ("paneBorderWidth", "PaneBorderWidth");    def_val = x_get_resource_string ("paneBorderWidth", "PaneBorderWidth");
376    if (def_val != NULL) p_bdr_width = atoi(def_val);    if (def_val != NULL) p_bdr_width = atoi(def_val);
377        
378    def_val = x_get_resource_string ("paneSpread", "PaneSpread");    def_val = x_get_resource_string ("paneSpread", "PaneSpread");
379    if (def_val != NULL) p_spread = atof(def_val);    if (def_val != NULL) p_spread = atof(def_val);
380    
# Line 396  XMenuCreate(display, parent, def_env) Line 396  XMenuCreate(display, parent, def_env)
396                           DefaultColormap(display, DefaultScreen(display)),                           DefaultColormap(display, DefaultScreen(display)),
397                           def_val,                           def_val,
398                           &s_frg_color, &color_def)                           &s_frg_color, &color_def)
399        );        );
400    else if (reverse &&    else if (reverse &&
401             XAllocDisplayColor(display,             XAllocDisplayColor(display,
402                                DefaultColormap(display, DefaultScreen(display)),                                DefaultColormap(display, DefaultScreen(display)),
# Line 409  XMenuCreate(display, parent, def_env) Line 409  XMenuCreate(display, parent, def_env)
409                                &s_frg_color, &color_def)                                &s_frg_color, &color_def)
410             ) ;             ) ;
411    else ;    else ;
412        
413    
414    def_val = x_get_resource_string ("selectionBorder", "SelectionBorder");    def_val = x_get_resource_string ("selectionBorder", "SelectionBorder");
415    if (    if (
# Line 421  XMenuCreate(display, parent, def_env) Line 421  XMenuCreate(display, parent, def_env)
421                           &s_bdr_color, &color_def)                           &s_bdr_color, &color_def)
422        ) ;        ) ;
423    else if (reverse &&    else if (reverse &&
424             XAllocDisplayColor(display,             XAllocDisplayColor(display,
425                                DefaultColormap(display, DefaultScreen(display)),                                DefaultColormap(display, DefaultScreen(display)),
426                                "white",                                "white",
427                                &s_bdr_color, &color_def)                                &s_bdr_color, &color_def)
# Line 435  XMenuCreate(display, parent, def_env) Line 435  XMenuCreate(display, parent, def_env)
435    
436    def_val = x_get_resource_string ("selectionBorderWidth", "SelectionBorderWidth");    def_val = x_get_resource_string ("selectionBorderWidth", "SelectionBorderWidth");
437    if (def_val != NULL) s_bdr_width = atoi(def_val);    if (def_val != NULL) s_bdr_width = atoi(def_val);
438        
439    def_val = x_get_resource_string ("selectionSpread", "SelectionSpread");    def_val = x_get_resource_string ("selectionSpread", "SelectionSpread");
440    if (def_val != NULL) s_spread = atof(def_val);    if (def_val != NULL) s_spread = atof(def_val);
441    
# Line 446  XMenuCreate(display, parent, def_env) Line 446  XMenuCreate(display, parent, def_env)
446      char *data = NULL;      char *data = NULL;
447      int width, height;      int width, height;
448    
449      switch (inact_pnum)      switch (inact_pnum)
450        {        {
451        case 0:        case 0:
452          data = (char *)dimple1_bits;          data = (char *)dimple1_bits;
# Line 495  XMenuCreate(display, parent, def_env) Line 495  XMenuCreate(display, parent, def_env)
495    /*    /*
496     * Load the mouse cursor.     * Load the mouse cursor.
497     */     */
498              
499    switch (menu_style) {    switch (menu_style) {
500    case LEFT:    case LEFT:
501      cursor = XCreateBitmapFromData(display,      cursor = XCreateBitmapFromData(display,
# Line 510  XMenuCreate(display, parent, def_env) Line 510  XMenuCreate(display, parent, def_env)
510                                          left_ptrmsk_height);                                          left_ptrmsk_height);
511      mouse_cursor = XCreatePixmapCursor(      mouse_cursor = XCreatePixmapCursor(
512                                         display,                                         display,
513                                         cursor, cursor_mask,                                         cursor, cursor_mask,
514                                         &mouse_color, &bkgnd_color,                                         &mouse_color, &bkgnd_color,
515                                         left_ptr_x_hot,                                         left_ptr_x_hot,
516                                         left_ptr_y_hot                                         left_ptr_y_hot
517                                         );                                         );
518      XFreePixmap(display, cursor);      XFreePixmap(display, cursor);
519      XFreePixmap(display, cursor_mask);            XFreePixmap(display, cursor_mask);
520      break;      break;
521    case RIGHT:    case RIGHT:
522      cursor = XCreateBitmapFromData(display,      cursor = XCreateBitmapFromData(display,
# Line 537  XMenuCreate(display, parent, def_env) Line 537  XMenuCreate(display, parent, def_env)
537                                         right_ptr_y_hot                                         right_ptr_y_hot
538                                         );                                         );
539      XFreePixmap(display, cursor);      XFreePixmap(display, cursor);
540      XFreePixmap(display, cursor_mask);            XFreePixmap(display, cursor_mask);
541      break;      break;
542    case CENTER:    case CENTER:
543      cursor = XCreateBitmapFromData(display,      cursor = XCreateBitmapFromData(display,
# Line 558  XMenuCreate(display, parent, def_env) Line 558  XMenuCreate(display, parent, def_env)
558                                         cntr_ptr_y_hot                                         cntr_ptr_y_hot
559                                         );                                         );
560      XFreePixmap(display, cursor);      XFreePixmap(display, cursor);
561      XFreePixmap(display, cursor_mask);            XFreePixmap(display, cursor_mask);
562      break;      break;
563    default:    default:
564      /* Error! Invalid style parameter. */      /* Error! Invalid style parameter. */
# Line 573  XMenuCreate(display, parent, def_env) Line 573  XMenuCreate(display, parent, def_env)
573    /*    /*
574     * Open the pane and selection fonts.     * Open the pane and selection fonts.
575     */     */
576        
577    p_fnt_info = XLoadQueryFont(display, p_fnt_name);    p_fnt_info = XLoadQueryFont(display, p_fnt_name);
578    if (p_fnt_info == NULL) {    if (p_fnt_info == NULL) {
579      _XMErrorCode = XME_OPEN_FONT;      _XMErrorCode = XME_OPEN_FONT;
580      return(NULL);      return(NULL);
581            
582    }    }
583    
584    s_fnt_info = XLoadQueryFont(display, s_fnt_name);    s_fnt_info = XLoadQueryFont(display, s_fnt_name);
# Line 619  XMenuCreate(display, parent, def_env) Line 619  XMenuCreate(display, parent, def_env)
619     * Initialize the internal pane and selection creation queues.     * Initialize the internal pane and selection creation queues.
620     */     */
621    _XMWinQueInit();    _XMWinQueInit();
622        
623    /*    /*
624     * Create pane, active, and inactive GC's.     * Create pane, active, and inactive GC's.
625     */     */
# Line 634  XMenuCreate(display, parent, def_env) Line 634  XMenuCreate(display, parent, def_env)
634    values->background = bkgnd_color.pixel;    values->background = bkgnd_color.pixel;
635    values->font = p_fnt_info->fid;    values->font = p_fnt_info->fid;
636    values->line_width = p_bdr_width;    values->line_width = p_bdr_width;
637        
638    pane_GC = XCreateGC(    pane_GC = XCreateGC(
639                        display,                        display,
640                        root,                        root,
641                        valuemask,                        valuemask,
642                        values);                        values);
# Line 648  XMenuCreate(display, parent, def_env) Line 648  XMenuCreate(display, parent, def_env)
648    values->background = bkgnd_color.pixel;    values->background = bkgnd_color.pixel;
649    values->font = s_fnt_info->fid;    values->font = s_fnt_info->fid;
650    values->line_width = s_bdr_width;    values->line_width = s_bdr_width;
651    normal_select_GC = XCreateGC(display,    normal_select_GC = XCreateGC(display,
652                                 root,                                 root,
653                                 valuemask,                                 valuemask,
654                                 values);                                 values);
# Line 656  XMenuCreate(display, parent, def_env) Line 656  XMenuCreate(display, parent, def_env)
656     * Inverse video selection.     * Inverse video selection.
657     */     */
658    
659    values->foreground = bkgnd_color.pixel;                  values->foreground = bkgnd_color.pixel;
660    values->background = s_frg_color.pixel;    values->background = s_frg_color.pixel;
661    values->font = s_fnt_info->fid;    values->font = s_fnt_info->fid;
662    values->line_width = s_bdr_width;    values->line_width = s_bdr_width;
663    inverse_select_GC = XCreateGC(display,    inverse_select_GC = XCreateGC(display,
664                                  root,                                  root,
665                                  valuemask,                                  valuemask,
666                                  values);                                  values);
667    stipple_pixmap = XCreateBitmapFromData(display,    stipple_pixmap = XCreateBitmapFromData(display,
668                                           root,                                           root,
669                                           stipple_bits,                                                     stipple_bits,
670                                           stipple_width,                                                   stipple_width,
671                                           stipple_height);                                                 stipple_height);
672        
673    /*    /*
674     * Finally, inactive pane header and selections     * Finally, inactive pane header and selections
675     */     */
# Line 680  XMenuCreate(display, parent, def_env) Line 680  XMenuCreate(display, parent, def_env)
680    values->line_width = s_bdr_width;    values->line_width = s_bdr_width;
681    values->fill_style = FillStippled;    values->fill_style = FillStippled;
682    values->stipple = stipple_pixmap;    values->stipple = stipple_pixmap;
683            
684    inact_GC = XCreateGC(display,    inact_GC = XCreateGC(display,
685                         root,                         root,
686                         valuemask,                         valuemask,
687                         values);                         values);
688    
689    valuemask |= (GCGraphicsExposures);    valuemask |= (GCGraphicsExposures);
690    values->graphics_exposures = False;    values->graphics_exposures = False;
691    inact_GC_noexpose = XCreateGC (display,    inact_GC_noexpose = XCreateGC (display,
692                                   root,                                   root,
693                                   valuemask, values);                                   valuemask, values);
694    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.1.18.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26