#include "ObjectStructure.h"Include dependency graph for drawFigureEntity.h:

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

Go to the source code of this file.
Functions | |
| int | drawFigureEntity (sciPointObj *pObj) |
| int drawFigureEntity | ( | sciPointObj * | pObj | ) |
Routine which draw a figure object
| pObj | the pointer on the figure object |
xclear will properly upgrade background if necessary
Definition at line 15 of file drawFigureEntity.c.
References sciFigure::auto_redraw, C2F, BCG::CurDrawFunction, dr(), GetDriverId(), L, MaybeSetWinhdc(), NULL, sciFigure::number, PD0, pFIGURE_FEATURE, PI0, sciFigure::pixmap, tagSons::pointobj, tagSons::pprev, ReleaseWinHdc(), sciDrawObj(), sciGetBackground(), sciGetInfoMessage(), sciGetLastSons(), sciGetScilabXgc(), and sciGetVisibility().
Referenced by sciDrawObj().
00016 { 00017 sciFigure * ppFigure = pFIGURE_FEATURE(pObj) ; 00018 sciSons * curSon = NULL ; 00019 int curWinNum = 0 ; 00020 int verbose = 0 ; 00021 int narg = 0 ; 00022 double dv = 0 ; 00023 int background = sciGetBackground (pObj) ; 00024 00025 if( !ppFigure->auto_redraw ) { return 0 ; } 00026 00028 #ifdef _MSC_VER 00029 flag_DO = MaybeSetWinhdc() ; 00030 #endif 00031 00032 /* select the right figure for drawing to avoid displaying in a wrong window */ 00033 C2F(dr)("xget","window",&verbose,&curWinNum,&narg,PI0,PI0,PI0,&dv,&dv,&dv,&dv,5L,7L); 00034 C2F(dr)("xset","window",&(ppFigure->number),PI0,PI0,PI0,PI0,PI0,&dv,&dv,&dv,&dv,5L,7L); 00035 00036 C2F(dr)("xset","pixmap",&(ppFigure->pixmap),PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L); 00037 00038 if ( ppFigure->pixmap == 0 || GetDriverId() != 0 ) 00039 { 00040 /* Change background BEFORE xclear F.Leray */ 00041 C2F(dr)("xset","background",&background,PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,5L,7L); 00042 C2F (dr) ("xclear", "v", PI0, PI0, PI0, PI0, PI0, PI0, PD0, PD0, PD0, PD0,0L, 0L); 00043 } 00044 else 00045 { 00046 C2F (dr) ("xset","wwpc", PI0, PI0, PI0, PI0, PI0, PI0, PD0, PD0, PD0, PD0,0L, 0L); 00047 } 00048 00049 C2F(dr)("xset","background",&background,PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,5L,7L); /* Change background F.Leray*/ 00050 C2F(dr)("xset","alufunction",&(sciGetScilabXgc(pObj)->CurDrawFunction),PI0,PI0,PI0, 00051 PI0,PI0,PD0,PD0,PD0,PD0,0L,0L); 00052 00053 #ifdef _MSC_VER 00054 if ( flag_DO == 1) { ReleaseWinHdc(); } 00055 #endif 00056 00057 /* STOP HERE if figure is invisible: */ 00058 if ( !sciGetVisibility(pObj) ) { return 0 ; } 00059 00060 curSon = sciGetLastSons(pObj); 00061 while ( curSon != NULL ) 00062 { 00063 sciDrawObj( curSon->pointobj ) ; 00064 curSon = curSon->pprev; 00065 } 00066 00067 /* draw the info Message */ 00068 C2F(dr)("xinfo",sciGetInfoMessage(pObj),PI0,PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,6L,0L); 00069 00070 /* return to the current window */ 00071 C2F(dr)("xset","window",&curWinNum,PI0,PI0,PI0,PI0,PI0,&dv,&dv,&dv,&dv,5L,7L); 00072 00073 return 0 ; 00074 }
Here is the call graph for this function:

Here is the caller graph for this function:

1.5.1