home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / xfedor.zip / XFree86 / src / xfedor / tr_test.c < prev    next >
C/C++ Source or Header  |  1999-03-02  |  3KB  |  165 lines

  1. /* Copyright 1989 GROUPE BULL -- See licence conditions in file COPYRIGHT */
  2. #include <stdio.h>
  3. #include "couche.h"     /* myEvent */
  4. #include "clientimage.h"
  5. #include "fedor.h"    /* fedchar , BdfHeader */
  6.  
  7. extern fedchar chartab[MAXFONTCARD] ;    /* pour test fonte */
  8. extern BdfHeader header ;
  9. extern root, nf_tabbord ;
  10. extern int BackColor ;
  11. extern fedchar cartrav, carback ;
  12. extern int Baseback, BackLeft,Xleft,Baseliney ;
  13.     
  14. int Init_test() ;
  15. int Autom_cars();
  16. int Autom_test();
  17. int Test() ;             /* pour le menu TEST dans tr_tabbord */
  18.  
  19. int nf_test    ;    /* sous fenetre test souris */
  20. int nf_cars  ;        /* fenetre test cars de la fonte courante */
  21.  
  22. #define XCARS (10 + 120) 
  23. #define YCARS (10 + 80)
  24. #define WCARS 600
  25. #define HCARS 400
  26.  
  27. #include "tabbord.h"
  28.  
  29. #define XTEST (WCAR+1)
  30. #define YTEST (HTAB+2)
  31. #define WTEST (WTAB-WCAR-4)
  32. #define HTEST (HTABB-HTAB-5)
  33.  
  34. static int x,y ;    /* position ecriture test fonte */
  35.  
  36. Init_test()
  37. {
  38.     nf_test = w_ouvrir(nf_tabbord, XTEST, YTEST, WTEST, HTEST,
  39.             "",CURS2,
  40.             EnterWindow|LeaveWindow|ButtonPressed,WMOFF);
  41.     
  42.     nf_cars = w_ouvrir(root, XCARS, YCARS, WCARS, HCARS,
  43.             "xfedor_test",CURS1,
  44.             EnterWindow|ButtonPressed|LeaveWindow|KeyPressed,
  45.             WMON);
  46.  
  47.     w_montrer(nf_test) ;
  48. }
  49.  
  50. static Reaffich(fen)
  51. int fen ;
  52. {
  53.      if (fen == nf_test) {     
  54.      w_gris(nf_test,1,1,(WTAB-WCAR)/2,HCAR/2);
  55.      w_fore(nf_test,1,HCAR/2,(WTAB-WCAR)/2,HCAR);
  56.      }
  57. }
  58.  
  59. Test(click) 
  60.     int click ;
  61. {    
  62.   ClientImage * forimage, * maskimage ;
  63.  
  64.     if (click==1)  {
  65.       Rast_Init(&forimage,cartrav.hsize+2,cartrav.down-cartrav.up+2,0);
  66.       Rast_Init(&maskimage,cartrav.hsize+2,cartrav.down-cartrav.up+2,0);
  67.       Rast_Op_n1(cartrav.image,&forimage,
  68.              Xleft,Baseliney+cartrav.up,
  69.              1,1,
  70.              cartrav.hsize,cartrav.down-cartrav.up,
  71.              VIDSTR,BackColor);
  72.       Rast_Op_n1(carback.image,&maskimage,
  73.              BackLeft,Baseback+carback.up,
  74.              0,0,
  75.              cartrav.hsize+2,cartrav.down-cartrav.up+2,
  76.              VIDSTR,BackColor);
  77.  
  78.       w_souris(nf_test,
  79.            forimage,maskimage,
  80.            cartrav.hsize+2,cartrav.down-cartrav.up+2,
  81.            -cartrav.hadj,-cartrav.up) ;
  82.       Rast_Free(&forimage);
  83.       Rast_Free(&maskimage);
  84.     }
  85.     else {
  86.         w_montrer(nf_cars) ;
  87.         w_clear(nf_cars) ;
  88.         x = 10 ;
  89.         y = header.Size  ;
  90.     }
  91. }
  92.  
  93.  
  94. static Echo(code)
  95.     int code ;
  96.  
  97. {    
  98.  
  99.     if ((code <0) || (code >= MAXFONTCARD)) return ;
  100.     if (code == 13) {
  101.          y+= header.Size ;
  102.          x = 10 ;
  103.          return;
  104.     }
  105.     if (chartab[code].hsize <= 0) return ;
  106.     w_bitblt(nf_cars,chartab[code].image,
  107.             0,0,chartab[code].hsize,
  108.             chartab[code].down-chartab[code].up,
  109.             x+chartab[code].hadj,
  110.             y+chartab[code].up);
  111.     x+= chartab[code].hincr ;
  112.     if (x>WCARS) {    
  113.          y+= header.Size ;
  114.          x = 10 ;
  115.     }
  116.     if (y>HCARS) {
  117.         y = header.Size ;
  118.         x = 10 ;
  119.         w_clear(nf_cars) ;
  120.     }        
  121. }
  122.  
  123.  
  124.  
  125. int Autom_cars(pev)
  126.     myEvent * pev ;
  127. {
  128.    switch(pev->type){
  129.     case EnterWindow   : 
  130.                 Afficher_boutons("Exit","Quit") ;
  131.         break;   
  132.     case KeyPressed :  
  133.             Echo(pev->key);
  134.                 break ;
  135.     case ButtonPressed : 
  136.     case CloseWindow :
  137.         w_cacher(nf_cars) ;
  138.         break ;
  139.         case LeaveWindow : 
  140.         Afficher_boutons("","") ; 
  141.         break ;
  142.    }
  143. }
  144.  
  145. int Autom_test(pev)
  146.     myEvent * pev ;
  147. {
  148.    switch(pev->type){
  149.     case Exposure :
  150.         Reaffich(pev->window);
  151.         break ;
  152.     case EnterWindow   : 
  153.                 Afficher_boutons("Mouse","Font") ;
  154.         break;   
  155.     case ButtonPressed :  
  156.             Test(pev->click);        
  157.                 break ;
  158.        case LeaveWindow :    
  159.         Afficher_boutons("","") ; 
  160.          break ;
  161.     case CloseWindow : break;
  162.    }
  163. }
  164.  
  165.