periWin.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void C2F() drawarc ()
void C2F() fillarcs ()
void C2F() drawarcs ()
void C2F() fillpolyline ()
void C2F() drawaxis ()
void C2F() cleararea ()
void C2F() clearwindow ()
void C2F() xclick ()
void C2F() xclick_any ()
void C2F() xgetmouse ()
void C2F() xend ()
void C2F() fillarc ()
void C2F() viderbuff ()
void C2F() fillrectangle ()
void C2F() MissileGCget ()
void C2F() initgraphic ()
void C2F() drawpolyline ()
void C2F() drawClippedPolyline ()
void C2F() fillpolylines ()
void C2F() drawpolylines ()
void C2F() drawpolymark ()
void C2F() setpopupname ()
void C2F() getFontMaxSize ()
void C2F() displaynumbers ()
void C2F() drawrectangle ()
void C2F() drawrectangles ()
void C2F() drawsegments ()
void C2F() xselgraphic ()
void C2F() MissileGCset ()
void C2F() SetDriver ()
void C2F() displaystring ()
void C2F() boundingbox ()
void C2F() drawarrows ()
void C2F() loadfamily ()
void C2F() queryfamily ()
void C2F() xinfo ()
void C2F() setforeground (integer *num, integer *v2, integer *v3, integer *v4)
void C2F() setbackground (integer *num, integer *v2, integer *v3, integer *v4)
void C2F() xsetfont (integer *fontid, integer *fontsize, integer *v3, integer *v4)
void C2F() xgetfont (integer *verbose, integer *font, integer *nargs, double *dummy)
void C2F() xsetmark (integer *number, integer *size, integer *v3, integer *v4)
void C2F() xgetmark (integer *verbose, integer *symb, integer *narg, double *dummy)
void C2F() getwins (integer *Num, integer Ids[], integer *flag)
void getcolordef (integer *screenc)
void setcolordef (integer screenc)
int SwitchWindow (integer *intnum)
void wininfo (char *fmt,...)
void deletePoints (void)
int MaybeSetWinhdc (void)
void ReleaseWinHdc (void)
void set_clip_box (integer xxleft, integer xxright, integer yybot, integer yytop)
void clip_line (integer x1, integer yy1, integer x2, integer y2, integer *x1n, integer *yy1n, integer *x2n, integer *y2n, integer *flag)
int CheckColormap (int *m)
void get_r (int i, float *r)
void get_g (int i, float *g)
void get_b (int i, float *b)
void C2F() getwindowdim (integer *verbose, integer *x, integer *narg, double *dummy)
int C2F() sedeco (int *flag)
int C2F() store_points (integer n, integer *vx, integer *vy, integer onemore)
int C2F() AllocVectorStorage (void)
void SetWinhdc (void)
void SciMouseCapture (void)
void SciMouseRelease (void)
void DeleteSGWin (integer intnum)
void CPixmapResize1 (void)
void SciG_Font_Printer (int scale)
void ResetScilabXgc (void)
void SciG_Font (void)
void C2F() DispStringAngle (integer *x0, integer *yy0, char *string, double *angle)


Function Documentation

int C2F() AllocVectorStorage ( void   ) 

Definition at line 4662 of file periWin.c.

References MALLOC, MESSAGE4, NBPOINTS, and sciprint().

Referenced by initgraphic().

04663 {
04664   nbpoints = NBPOINTS;
04665   points = (POINT *) MALLOC( nbpoints * sizeof (POINT)); 
04666   if ( points == 0) { sciprint(MESSAGE4);return(0);}
04667   else return(1);
04668 }

Here is the call graph for this function:

Here is the caller graph for this function:

void C2F() boundingbox (  ) 

int CheckColormap ( int m  ) 

Definition at line 2532 of file periWin.c.

Referenced by FileInitFromScreenGif(), FileInitFromScreenPos(), FileInitFromScreenXfig(), set_color(), and set_pattern_or_color().

02534 {
02535   if (  ScilabXgc != (struct BCG *) 0 )
02536     {
02537       *m =  ScilabXgc->Numcolors;
02538       if ( ScilabXgc->CmapFlag  != 1) 
02539         return 1;
02540       else 
02541         return 0;
02542     }
02543   else {
02544     *m=0;
02545     return(0);}
02546 }

Here is the caller graph for this function:

void C2F() cleararea (  ) 

void C2F() clearwindow (  ) 

void clip_line ( integer  x1,
integer  yy1,
integer  x2,
integer  y2,
integer x1n,
integer yy1n,
integer x2n,
integer y2n,
integer flag 
)

Definition at line 4728 of file periWin.c.

Referenced by sciChamp2DRealToPixel().

04737 {
04738   integer x, y, dx, dy, x_intr[2], y_intr[2], count, pos1, pos2;
04739 
04740   *x1n=x1; *yy1n=yy1; *x2n=x2; *y2n=y2; *flag=4;
04741   pos1 = clip_point(x1, yy1);
04742   pos2 = clip_point(x2, y2);
04743   if (pos1 || pos2) {
04744     if (pos1 & pos2) { *flag=0;return;}   
04745     /* segment is totally out. */
04746 
04747     /* Here part of the segment MAy be inside. test the intersection
04748      * of this segment with the 4 boundaries for hopefully 2 intersections
04749      * in. If non found segment is totaly out.
04750      */
04751     count = 0;
04752     dx = x2 - x1;
04753     dy = y2 - yy1;
04754 
04755     /* Find intersections with the x parallel bbox lines: */
04756     if (dy != 0) {
04757       x = (int) ((ybot - y2)  * ((double) dx / (double) dy) + x2);
04758       /* Test for ybot boundary. */
04759       if (x >= xleft && x <= xright) {
04760         x_intr[count] = x;
04761         y_intr[count++] = ybot;
04762       }
04763       x = (int) ((ytop - y2) * ((double) dx / (double) dy) + x2); 
04764       /* Test for ytop boundary. */
04765       if (x >= xleft && x <= xright) {
04766         x_intr[count] = x;
04767         y_intr[count++] = ytop;
04768       }
04769     }
04770     if ( count < 2 ) 
04771       {
04772         /* Find intersections with the y parallel bbox lines: */
04773         if (dx != 0) {
04774           y = (int) ((xleft - x2) * ((double) dy / (double) dx) + y2);   
04775           /* Test for xleft boundary. */
04776           if (y >= ybot && y <= ytop) {
04777             x_intr[count] = xleft;
04778             y_intr[count++] = y;
04779           }
04780           if ( count < 2 ) 
04781             {
04782               y = (int) ((xright - x2) * ((double) dy / (double) dx) + y2);  
04783               /* Test for xright boundary. */
04784               if (y >= ybot && y <= ytop) {
04785                 x_intr[count] = xright;
04786                 y_intr[count++] = y;
04787               }
04788             }
04789         }
04790       }
04791 
04792     if (count == 2) {
04793       if (pos1 && pos2) {          /* Both were out - update both */
04794         *x1n = x_intr[0];
04795         *yy1n = y_intr[0];
04796         *x2n = x_intr[1];
04797         *y2n = y_intr[1];
04798         *flag=3;return;
04799       }
04800       else if (pos1) {       /* Only x1/yy1 was out - update only it */
04801         if (dx * (x2 - x_intr[0]) + dy * (y2 - y_intr[0]) >= 0) {
04802           *x1n = x_intr[0];
04803           *yy1n = y_intr[0];
04804           *flag=1;return;
04805         }
04806         else {
04807           *x1n = x_intr[1];
04808           *yy1n = y_intr[1];
04809           *flag=1;return;
04810         }
04811       }
04812       else {             /* Only x2/y2 was out - update only it */
04813         if (dx * (x_intr[0] - x1) + dy * (y_intr[0] - yy1) >= 0) {
04814           *x2n = x_intr[0];
04815           *y2n = y_intr[0];
04816           *flag=2;return;
04817         }
04818         else {
04819           *x2n = x_intr[1];
04820           *y2n = y_intr[1];
04821           *flag=2;return;
04822         }
04823       }
04824     }
04825     else 
04826       {
04827         /* count != 0 */
04828         *flag=0;return;
04829       }
04830   }
04831 }

Here is the caller graph for this function:

void CPixmapResize1 ( void   ) 

Definition at line 531 of file periWin.c.

Referenced by GPopupResize(), scig_resize(), and setwindowdim().

Here is the caller graph for this function:

void deletePoints ( void   ) 

Definition at line 4653 of file periWin.c.

Referenced by closeGraphicModule().

04654 {
04655   if( points != NULL )
04656   {
04657     FREE( points ) ;
04658     points = NULL ;
04659   }
04660 }

Here is the caller graph for this function:

void DeleteSGWin ( integer  intnum  ) 

destruction d'une fenetre

No more graphic window ;

fix the new current graphic window

Definition at line 3705 of file periWin.c.

References curwin(), BCG::CurWindow, del_window_scale(), DeleteWindowToList(), get_window_scale(), getFirstWindow(), isWindowListEmpty(), NULL, ResetScilabXgc(), and ScilabXgc.

Referenced by C2F(), Delete(), and SendCountDelete().

03706 {
03707   int curwin;
03708   if ( ScilabXgc == NULL ) { return ; }
03709   curwin = ScilabXgc->CurWindow ;
03710   DeleteWindowToList( intnum ) ;
03711   /*XXXX: jpc 2000: I also delete the scale list associated to that window */
03712   del_window_scale(intnum);
03713   if ( curwin  == intnum )
03714     {
03715       if ( isWindowListEmpty() )
03716         {
03718           ScilabXgc = NULL ;
03719         }
03720       else
03721         {
03723           ScilabXgc = getFirstWindow() ;
03724           ResetScilabXgc() ;
03725           get_window_scale(ScilabXgc->CurWindow,NULL);
03726         }
03727     }
03728 }

Here is the call graph for this function:

Here is the caller graph for this function:

void C2F() displaynumbers (  ) 

void C2F() displaystring (  ) 

void C2F() DispStringAngle ( integer x0,
integer yy0,
char *  string,
double *  angle 
)

Definition at line 2853 of file periWin.c.

References BCG::Cdrawable, BCG::CurPixmapStatus, BCG::CWindow, font, BCG::FontId, BCG::FontSize, M_PI, ScilabXgc, and XRotDrawString().

Referenced by displaystring().

02854 {
02855 
02856   HFONT hfnt, hfntPrev;
02857   size_t pcch;
02858   LOGFONT lf;
02859   char *p;
02860   
02861  memset(&lf, 0, sizeof(LOGFONT));
02862  strncpy(lf.lfFaceName,(*FontTab)[ScilabXgc->FontId].fname,LF_FACESIZE);
02863 
02864  lf.lfHeight  = - size_n_[ScilabXgc->FontSize]*scale_font_size;
02865  lf.lfCharSet = DEFAULT_CHARSET;
02866  if ( (p = strstr((*FontTab)[ScilabXgc->FontId].fname," Italic")) != (LPSTR)NULL ) {
02867    lf.lfFaceName[ (unsigned int)(p- (*FontTab)[ScilabXgc->FontId].fname) ] = '\0';
02868    lf.lfItalic = TRUE;
02869  }
02870  if ( (p = strstr((*FontTab)[ScilabXgc->FontId].fname," Bold")) != (LPSTR)NULL ) {
02871    lf.lfFaceName[ (unsigned int)(p- (*FontTab)[ScilabXgc->FontId].fname) ] = '\0';
02872    lf.lfWeight = FW_BOLD;
02873  }
02874    
02875  SetBkMode(hdc, TRANSPARENT); 
02876  
02877  /* hfnt = CreateFontIndirect((LOGFONT FAR *)&lf);*/
02878  
02879  lf.lfEscapement = (int) (-(*angle)*10);
02880 
02881  hfnt = CreateFontIndirect((LOGFONT FAR *)&lf); 
02882  hfntPrev = SelectObject(hdc, hfnt);
02883         
02884  pcch = strlen(string);
02885 
02886  TextOut(hdc, *x0, *yy0, string, pcch); 
02887  SelectObject(hdc, hfntPrev); 
02888 
02889  DeleteObject(hfnt); 
02890  
02891  // Reset the background mode to its default. 
02892  
02893  SetBkMode(hdc, OPAQUE); 
02894  
02895 }

Here is the call graph for this function:

Here is the caller graph for this function:

void C2F() drawarc (  ) 

void C2F() drawarcs (  ) 

void C2F() drawarrows (  ) 

void C2F() drawaxis (  ) 

void C2F() drawClippedPolyline (  ) 

Referenced by drawpolylines(), fillpolylines(), and xcall_in_word_set().

Here is the caller graph for this function:

void C2F() drawpolyline (  ) 

void C2F() drawpolylines (  ) 

void C2F() drawpolymark (  ) 

void C2F() drawrectangle (  ) 

void C2F() drawrectangles (  ) 

void C2F() drawsegments (  ) 

void C2F() fillarc (  ) 

void C2F() fillarcs (  ) 

void C2F() fillpolyline (  ) 

void C2F() fillpolylines (  ) 

void C2F() fillrectangle (  ) 

void get_b ( int  i,
float *  b 
)

Definition at line 2562 of file periWin.c.

Referenced by FileInitFromScreenGif(), FileInitFromScreenPos(), and FileInitFromScreenXfig().

02565 {
02566   *b = ScilabXgc->Blue[i];
02567 }

Here is the caller graph for this function:

void get_g ( int  i,
float *  g 
)

Definition at line 2555 of file periWin.c.

Referenced by FileInitFromScreenGif(), FileInitFromScreenPos(), and FileInitFromScreenXfig().

02558 {
02559   *g = ScilabXgc->Green[i];
02560 }

Here is the caller graph for this function:

void get_r ( int  i,
float *  r 
)

Definition at line 2548 of file periWin.c.

Referenced by FileInitFromScreenGif(), FileInitFromScreenPos(), and FileInitFromScreenXfig().

02551 {
02552   *r = ScilabXgc->Red[i];
02553 }

Here is the caller graph for this function:

void getcolordef ( integer screenc  ) 

Definition at line 4090 of file periWin.c.

Referenced by create_color_panel(), InitMissileXgc(), InitScilabGCGif(), InitScilabGCPos(), setwindowdimGif(), and xg2psofig().

04091 {
04092   *screenc= screencolor;
04093 }

Here is the caller graph for this function:

void C2F() getFontMaxSize (  ) 

Referenced by xcall_in_word_set().

Here is the caller graph for this function:

void C2F() getwindowdim ( integer verbose,
integer x,
integer narg,
double *  dummy 
)

To get the drawbox window size : used by periGif

Definition at line 1037 of file periWin.c.

Referenced by fill_grid_rectangles(), fill_grid_rectangles1(), initgraphicfromscreenGif(), and initgraphicGif().

01038 {     
01039   *narg = 2;
01040   /* on renvoie la taille de la fenetre virtuelle */
01041   /* windows devrait s'occupper de tout afficher correctement */
01042   x[0]= ScilabXgc->CWindowWidth;
01043   x[1]= ScilabXgc->CWindowHeight;
01044   if (*verbose == 1) 
01045     sciprint("\n CWindow dim :%d,%d\r\n",(int) x[0],(int) x[1]);
01046 } 

Here is the caller graph for this function:

void C2F() getwins ( integer Num,
integer  Ids[],
integer flag 
)

void C2F() initgraphic (  ) 

void C2F() loadfamily (  ) 

int MaybeSetWinhdc ( void   ) 

Definition at line 324 of file periWin.c.

References BCG::CWindow, GetDriverId(), hdc, sciGetPixmapStatus(), ScilabXgc, and TryToGetDC().

Referenced by drawArcEntity(), drawAxesEntity(), drawFecEntity(), drawFigureEntity(), drawGrayplotEntity(), drawLegendEntity(), DrawMerge3d(), drawPolylineEntity(), drawRectangleEntity(), drawSegsEntity(), drawSubWinEntity(), drawSurfaceEntity(), drawTextEntity(), fill_grid_rectangles(), and fill_grid_rectangles1().

00325 {
00326   int DiD = GetDriverId();      /* F.Leray 26.07.04 */
00327   if(  DiD != 0)
00328     return 0;
00329 
00331   if ( hdc == (HDC) 0)  
00332     {
00333       if ( sciGetPixmapStatus() == 1) 
00334         {
00335           hdc   = ScilabXgc->hdcCompat;
00336 
00337           /* 09.02.04 et 16.02.04 Leray*/
00338           /* IL FAUDRA RETOURNER UNE VALEUR MAIS LAQUELLE ???*/
00339           // return( ?? );
00340           // je mets un return(1) pour le moment pour rester cohérent
00341           // avec SetWinhdc (cf. ci-dessus).
00342           return(1);
00343         }
00344       else
00345         {
00346           hdc=TryToGetDC(ScilabXgc->CWindow);
00347           return(1);
00348         }
00349     }
00350   else 
00351     {
00352       return(0);
00353     }
00354 }

Here is the call graph for this function:

Here is the caller graph for this function:

void C2F() MissileGCget (  ) 

void C2F() MissileGCset (  ) 

void C2F() queryfamily (  ) 

Referenced by xcall_in_word_set().

Here is the caller graph for this function:

void ReleaseWinHdc ( void   ) 

Definition at line 356 of file periWin.c.

References BCG::CWindow, GetDriverId(), hdc, sciGetPixmapStatus(), and ScilabXgc.

Referenced by dr(), drawArcEntity(), drawAxesEntity(), drawFecEntity(), drawFigureEntity(), drawGrayplotEntity(), drawLegendEntity(), DrawMerge3d(), drawPolylineEntity(), drawRectangleEntity(), drawSegsEntity(), drawSubWinEntity(), drawSurfaceEntity(), drawTextEntity(), fill_grid_rectangles(), fill_grid_rectangles1(), I3dRotation(), SetGHdc(), SwitchWindow(), and zoom_get_rectangle().

00357 {
00358   int DiD = GetDriverId();      /* F.Leray 26.07.04 */
00359   if(  DiD != 0)
00360     { /* Nothing to do */
00361     }
00362   else
00363     {
00364       if ( ScilabXgc != (struct BCG *) 0 && ScilabXgc->CWindow != (HWND) 0)
00365         {
00366           if ( sciGetPixmapStatus() != 1) 
00367             ReleaseDC(ScilabXgc->CWindow,hdc);
00368           hdc = (HDC) 0;
00369         }
00370     }
00371 }

Here is the call graph for this function:

Here is the caller graph for this function:

void ResetScilabXgc ( void   ) 

Utilise le ScilabXgc courant pour reinitialiser le gc XWindow cela est utilis'e quand on change de fenetre graphique

wininfo("Reset Scilab Xgc avec %d %d\r\n",i,j);

Definition at line 4103 of file periWin.c.

References C2F, BCG::ClipRegionSet, BCG::CurClipRegion, BCG::CurColor, BCG::CurColorStatus, BCG::CurDashStyle, BCG::CurDrawFunction, BCG::CurHardSymb, BCG::CurHardSymbSize, BCG::CurLineWidth, BCG::CurPattern, BCG::CurVectorStyle, DefaultForeground, BCG::FontId, BCG::FontSize, i, j, BCG::NumBackground, BCG::NumForeground, BCG::NumHidden3d, PI0, ScilabXgc, setabsourel(), setalufunction1(), setbackground(), setclip(), setdash(), setforeground(), sethidden3d(), setpattern(), setthickness(), unsetclip(), xsetfont(), and xsetmark().

Referenced by DeleteSGWin(), scig_replay_hdc(), setpixmapOn(), and SwitchWindow().

04104 { 
04105   integer i,j, clip[4];
04106   i= ScilabXgc->FontId;
04107   j= ScilabXgc->FontSize;
04108   C2F(xsetfont)(&i,&j,PI0,PI0);
04110   i= ScilabXgc->CurHardSymb;
04111   j= ScilabXgc->CurHardSymbSize;
04112   C2F(xsetmark)(&i,&j,PI0,PI0);
04113   
04114   i= ScilabXgc->CurLineWidth;
04115   C2F(setthickness)(&i,PI0,PI0,PI0);
04116   
04117   i= ScilabXgc->CurVectorStyle;
04118   C2F(setabsourel)(&i,PI0,PI0,PI0);
04119   
04120   i= ScilabXgc->CurDrawFunction;
04121   C2F(setalufunction1)(&i,PI0,PI0,PI0);
04122   
04123   if (ScilabXgc->ClipRegionSet == 1) 
04124     {
04125       for ( i= 0 ; i < 4; i++) clip[i]=ScilabXgc->CurClipRegion[i];
04126       C2F(setclip)(clip,clip+1,clip+2,clip+3);
04127     }
04128   else
04129     C2F(unsetclip)(PI0,PI0,PI0,PI0);
04130 
04131   if (ScilabXgc->CurColorStatus == 0) 
04132     {
04133       /* remise des couleurs a vide */
04134       ScilabXgc->CurColorStatus = 1;
04135       C2F(setpattern)((i=DefaultForeground,&i),PI0,PI0,PI0);
04136       /* passage en n&b */
04137       ScilabXgc->CurColorStatus = 0;
04138       i= ScilabXgc->CurPattern + 1;
04139       C2F(setpattern)(&i,PI0,PI0,PI0);
04140       i= ScilabXgc->CurDashStyle + 1;
04141       C2F(setdash)(&i,PI0,PI0,PI0);
04142       i= ScilabXgc->NumHidden3d+1;
04143       C2F(sethidden3d)(&i,PI0,PI0,PI0);
04144     }
04145   else 
04146     {
04147       /* remise a zero des patterns et dash */
04148       /* remise des couleurs a vide */
04149       ScilabXgc->CurColorStatus = 0;
04150       C2F(setpattern)((i=1,&i),PI0,PI0,PI0);
04151       C2F(setdash)((i=1,&i),PI0,PI0,PI0);
04152       /* passage en couleur  */
04153       ScilabXgc->CurColorStatus = 1;
04154       i= ScilabXgc->CurColor + 1;
04155       C2F(setpattern)(&i,PI0,PI0,PI0);
04156       i= ScilabXgc->NumBackground+1;
04157       C2F(setbackground)(&i,PI0,PI0,PI0);
04158       i= ScilabXgc->NumForeground+1;
04159       C2F(setforeground)(&i,PI0,PI0,PI0);
04160       i= ScilabXgc->NumHidden3d+1;
04161       C2F(sethidden3d)(&i,PI0,PI0,PI0);
04162     }
04163 }

Here is the call graph for this function:

Here is the caller graph for this function:

void SciG_Font ( void   ) 

Definition at line 4512 of file periWin.c.

References FontInfoTab, FontTab, ListOffset, scale_font_size, and SymbOffset.

Referenced by scig_replay_hdc().

04513 {
04514   FontTab = &FontInfoTab;
04515   SymbOffset = &ListOffset;
04516   scale_font_size = 1; 
04517 }

Here is the caller graph for this function:

void SciG_Font_Printer ( int  scale  ) 

Definition at line 4501 of file periWin.c.

References CleanFonts(), FontInfoTabPrinter, FontTab, ListOffsetPrint, LoadFonts(), scale_font_size, and SymbOffset.

Referenced by scig_replay_hdc().

04502 {
04503   static int last_scale= -1;
04504   FontTab = &FontInfoTabPrinter;
04505   SymbOffset = &ListOffsetPrint;
04506   if ( last_scale != -1 && last_scale != scale ) 
04507     CleanFonts();
04508   scale_font_size = last_scale = scale;
04509   LoadFonts();
04510 }

Here is the call graph for this function:

Here is the caller graph for this function:

void SciMouseCapture ( void   ) 

Definition at line 898 of file periWin.c.

References BCG::CWindow, and ScilabXgc.

Referenced by I3dRotation(), and zoom_get_rectangle().

00899 {
00900   SetCapture(ScilabXgc->CWindow);
00901 }

Here is the caller graph for this function:

void SciMouseRelease ( void   ) 

Definition at line 903 of file periWin.c.

Referenced by I3dRotation(), and zoom_get_rectangle().

00904 {
00905   ReleaseCapture();
00906 }

Here is the caller graph for this function:

int C2F() sedeco ( int flag  ) 

Definition at line 2024 of file periWin.c.

Referenced by sci_xset().

02025 {
02026   set_default_colormap_flag = *flag;
02027   return(0);
02028 }

Here is the caller graph for this function:

void set_clip_box ( integer  xxleft,
integer  xxright,
integer  yybot,
integer  yytop 
)

Definition at line 4711 of file periWin.c.

Referenced by sciChamp2DRealToPixel().

04715 {
04716   xleft=xxleft;
04717   xright=xxright;
04718   ybot=yybot;
04719   ytop=yytop;
04720 }

Here is the caller graph for this function:

void C2F() setbackground ( integer num,
integer v2,
integer v3,
integer v4 
)

set and get the number of the background or foreground

A finir XXXX if (ScilabXgc->Cdrawable != (Drawable) ScilabXgc->CWindow ) { XSetWindowBackground(dpy, ScilabXgc->CWindow,px); }

Definition at line 2424 of file periWin.c.

References C2F, COLORREF, BCG::Colors, BCG::CurColorStatus, BCG::CurDrawFunction, DefaultBackground, Max, Min, NULL, BCG::NumBackground, BCG::Numcolors, PI0, ScilabXgc, and setalufunction1().

Referenced by InitMissileXgc(), pal_setcolormap(), ResetScilabXgc(), and setcolormapg().

02425 {
02426   if (ScilabXgc->CurColorStatus == 1)
02427     {
02428       COLORREF px;
02429       ScilabXgc->NumBackground = Max(0,Min(*num - 1,ScilabXgc->Numcolors + 1));
02430       C2F(setalufunction1)(&ScilabXgc->CurDrawFunction,PI0,PI0,PI0);
02431       px = (ScilabXgc->Colors == NULL) ? DefaultBackground :  ScilabXgc->Colors[ScilabXgc->NumBackground];
02432 
02439     }
02440 }

Here is the call graph for this function:

Here is the caller graph for this function:

void setcolordef ( integer  screenc  ) 

Definition at line 4095 of file periWin.c.

Referenced by initColors().

04096 {
04097   screencolor = screenc;
04098 }

Here is the caller graph for this function:

void C2F() SetDriver (  ) 

void C2F() setforeground ( integer num,
integer v2,
integer v3,
integer v4 
)

set and get the number of the background or foreground

XX inutile

Definition at line 2462 of file periWin.c.

References C2F, COLORREF, BCG::Colors, BCG::CurColorStatus, BCG::CurDrawFunction, DefaultForeground, Max, Min, NULL, BCG::Numcolors, BCG::NumForeground, PI0, ScilabXgc, and setalufunction1().

Referenced by InitMissileXgc(), pal_setcolormap(), ResetScilabXgc(), and setcolormapg().

02463 {
02464   if (ScilabXgc->CurColorStatus == 1)
02465     {
02466       COLORREF px;
02467       ScilabXgc->NumForeground = Max(0,Min(*num - 1,ScilabXgc->Numcolors + 1));
02468       C2F(setalufunction1)(&ScilabXgc->CurDrawFunction,PI0,PI0,PI0);
02469       px = (ScilabXgc->Colors == NULL) ? DefaultForeground 
02470         :  ScilabXgc->Colors[ScilabXgc->NumForeground];
02472     }
02473 }

Here is the call graph for this function:

Here is the caller graph for this function:

void C2F() setpopupname (  ) 

Referenced by xcall_in_word_set().

Here is the caller graph for this function:

void SetWinhdc ( void   ) 

Definition at line 313 of file periWin.c.

References BCG::CWindow, hdc, sciGetPixmapStatus(), ScilabXgc, and TryToGetDC().

Referenced by dr(), I3dRotation(), initgraphic(), SwitchWindow(), and zoom_get_rectangle().

00314 {
00315   if ( ScilabXgc != (struct BCG *) 0 && ScilabXgc->CWindow != (HWND) 0)
00316     {
00317       if ( sciGetPixmapStatus() == 1) 
00318         hdc = ScilabXgc->hdcCompat;
00319       else
00320         hdc=TryToGetDC(ScilabXgc->CWindow);
00321     }
00322 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() store_points ( integer  n,
integer vx,
integer vy,
integer  onemore 
)

Definition at line 4616 of file periWin.c.

Referenced by drawpolyline(), drawpolymark(), and fillpolyline().

04617 { 
04618   integer i,n1;
04619   if ( onemore == 1) n1=n+1;
04620   else n1=n;
04621   if (ReallocVector(n1) == 1)
04622     {
04623       for (i = 0; i < n; i++){
04624         points[i].x = INT_2_16B( vx[i] ) ;
04625         points[i].y = INT_2_16B( vy[i] ) ;
04626       }
04627       if (onemore == 1) {
04628         points[n].x=(short) points[0].x;
04629         points[n].y=(short) points[0].y;
04630       }
04631       return(1);
04632     }
04633   else return(0);
04634 }

Here is the caller graph for this function:

int SwitchWindow ( integer intnum  ) 

Definition at line 1223 of file periWin.c.

References C2F, get_window_scale(), getWindowXgcNumber(), ierr, initgraphic(), NULL, PD0, PI0, ReleaseWinHdc(), ResetScilabXgc(), ScilabXgc, and SetWinhdc().

Referenced by scig_replay_hdc(), scig_toPs(), setcurwin(), and xset_curwin().

01224 {
01226   struct BCG *SXgc;
01227   integer ierr;
01228   SXgc = getWindowXgcNumber(*intnum);
01229   if ( SXgc != (struct BCG *) 0 ) 
01230     {
01236       ReleaseWinHdc();
01237       ScilabXgc = SXgc;
01238       SetWinhdc();
01239       ResetScilabXgc ();
01242       get_window_scale(*intnum,NULL);
01243     }
01244   else 
01245     {
01247       C2F(initgraphic)("",intnum,&ierr,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0);
01248     }
01249   return(0);
01250 }

Here is the call graph for this function:

Here is the caller graph for this function:

void C2F() viderbuff (  ) 

void wininfo ( char *  fmt,
  ... 
)

Definition at line 4008 of file periWin.c.

Referenced by Delete(), drawSubWinEntity(), I3dRotation(), SavePs(), sciInitIs3d(), SendGraphMacro(), set_rotation_angles_property(), and setwresize().

04009 {
04010   int count;
04011   char buf[MAXPRINTF];
04012   va_list args;
04013   va_start(args,fmt);
04014   count = vsprintf(buf,fmt,args);
04015   if ( ScilabXgc != (struct BCG *) 0 && ScilabXgc->Statusbar != (HWND) 0)
04016     {
04017       (BOOL)SendMessage(ScilabXgc->Statusbar, SB_SETTEXT, (WPARAM) 0, 
04018                         (LPARAM) (LPSTR) buf);
04019     }
04020 }

Here is the caller graph for this function:

void C2F() xclick (  ) 

void C2F() xclick_any (  ) 

Referenced by xcall_in_word_set().

Here is the caller graph for this function:

void C2F() xend (  ) 

void C2F() xgetfont ( integer verbose,
integer font,
integer nargs,
double *  dummy 
)

Definition at line 4325 of file periWin.c.

References BCG::FontId, BCG::FontSize, FontTab, ScilabXgc, sciprint(), and size_.

04326 {
04327   *nargs=2;
04328   font[0]= ScilabXgc->FontId ;
04329   font[1] =ScilabXgc->FontSize ;
04330   if (*verbose == 1) 
04331     {
04332       sciprint("\r\nFontId : %d ", ScilabXgc->FontId );
04333       sciprint("--> %s at size %s pts\r\n",
04334                (*FontTab)[ScilabXgc->FontId].fname,
04335                size_[ScilabXgc->FontSize]);
04336     }
04337 }

Here is the call graph for this function:

void C2F() xgetmark ( integer verbose,
integer symb,
integer narg,
double *  dummy 
)

Definition at line 4354 of file periWin.c.

References BCG::CurHardSymb, BCG::CurHardSymbSize, ScilabXgc, sciprint(), and size_.

Referenced by drawpolylines().

04355 {
04356   *narg =2 ;
04357   symb[0] = ScilabXgc->CurHardSymb ;
04358   symb[1] = ScilabXgc->CurHardSymbSize ;
04359   if (*verbose == 1) 
04360     {
04361       sciprint("\nMark : %d ",ScilabXgc->CurHardSymb);
04362       sciprint("at size %s pts\r\n", size_[ScilabXgc->CurHardSymbSize]);
04363     }
04364 }

Here is the call graph for this function:

Here is the caller graph for this function:

void C2F() xgetmouse (  ) 

void C2F() xinfo (  ) 

void C2F() xselgraphic (  ) 

void C2F() xsetfont ( integer fontid,
integer fontsize,
integer v3,
integer v4 
)

Definition at line 4292 of file periWin.c.

References FontAlias::alias, C2F, BCG::FontId, FONTMAXSIZE, FONTNUMBER, BCG::FontSize, FontTab, fonttab, hdc, i, loadfamily(), Max, Min, ok, PD0, PI0, ScilabXgc, sciprint(), and Scistring().

Referenced by drawpolymark(), InitMissileXgc(), and ResetScilabXgc().

04293 { 
04294   integer i,fsiz;
04295   i = Min(FONTNUMBER-1,Max(*fontid,0));
04296   fsiz = Min(FONTMAXSIZE-1,Max(*fontsize,0));
04297   if ( (*FontTab)[i].ok !=1 )
04298     { 
04299       // if (i != FONTNUMBER-1 ) F.Leray test here 26.02.04
04300       if (i != FONTNUMBER )
04301         {
04302           C2F(loadfamily)(fonttab[i].alias,&i,PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0);
04303         }
04304       else 
04305         {
04306           sciprint(" The Font Id %d is not affected \r\n",(int)i);
04307           Scistring(" use xlfont to set it \n");
04308           return;
04309         }
04310     }
04311   ScilabXgc->FontId = i;
04312   ScilabXgc->FontSize = fsiz;
04313   SelectFont(hdc, (*FontTab)[i].hf[fsiz]);
04314 }

Here is the call graph for this function:

Here is the caller graph for this function:

void C2F() xsetmark ( integer number,
integer size,
integer v3,
integer v4 
)

Definition at line 4343 of file periWin.c.

References BCG::CurHardSymb, BCG::CurHardSymbSize, FONTMAXSIZE, Max, Min, ScilabXgc, and SYMBOLNUMBER.

Referenced by drawpolylines(), InitMissileXgc(), and ResetScilabXgc().

04344 { 
04345   ScilabXgc->CurHardSymb = Max(Min(SYMBOLNUMBER-1,*number),0);
04346   ScilabXgc->CurHardSymbSize = Max(Min(FONTMAXSIZE-1,*size),0);
04347 }

Here is the caller graph for this function:


Generated on Sun Mar 4 15:26:45 2007 for Scilab [trunk] by  doxygen 1.5.1