Ignore:
Timestamp:
May 12, 2009, 5:26:25 PM (15 years ago)
Author:
garnier
Message:

remise a jour

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc

    r1038 r1039  
    5757  setFocusPolicy(Qt::StrongFocus); // enable keybord events
    5858#endif
    59   fNeedRepaint =false;
     59  hasToRepaint =false;
    6060
    6161  if (fViewId < 0) return;  // In case error in base class instantiation.
     
    7878 
    7979  readyToPaint = true;
    80 #ifdef G4DEBUG_VIS_OGL
    81   printf("G4OpenGLStoredQtViewer::Initialise END\n");
    82 #endif
    8380}
    8481
     
    9996
    10097  if (fSceneHandler.GetScene() == 0) {
    101     fNeedRepaint =false;
     98    hasToRepaint =false;
    10299  } else {
    103     fNeedRepaint =true;
     100    hasToRepaint =true;
    104101  }
    105102
     
    120117  // And we loose the redraw of things !
    121118 
    122   // avoid problems at initialisation
    123   if (readyToPaint) {
    124     ComputeView();
    125   }
    126 
     119  ComputeView();
    127120#ifdef G4DEBUG_VIS_OGL
    128121  printf("G4OpenGLStoredQtViewer::DrawView  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
     
    133126
    134127#ifdef G4DEBUG_VIS_OGL
    135   printf("G4OpenGLStoredQtViewer::ComputeView  VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n");
     128  printf("G4OpenGLStoredQtViewer::ComputeView %d %d   VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n",getWinWidth(), getWinHeight());
    136129#endif
    137130  makeCurrent();
     
    202195
    203196#ifdef G4DEBUG_VIS_OGL
    204   printf("G4OpenGLStoredQtViewer::ComputeView ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n");
    205 #endif
     197  printf("G4OpenGLStoredQtViewer::ComputeView %d %d ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n",getWinWidth(), getWinHeight());
     198#endif
     199  hasToRepaint =true;
    206200}
    207201
     
    211205*/
    212206void G4OpenGLStoredQtViewer::resizeGL(
    213  int aWidth
    214 ,int aHeight)
     207                                      int aWidth
     208                                      ,int aHeight)
    215209
    216210  // Set new size, it will be update when next Repaint()->SetView() called
    217   ResizeGLView(aWidth,aHeight);
    218   //  fNeedRepaint = true;
     211  ResizeWindow(aWidth,aHeight);
     212  hasToRepaint = sizeHasChanged();
    219213}
    220214
     
    229223    return;
    230224  }
    231   RepaintGLView();
    232 
     225  // DO NOT RESIZE IF SIZE HAS NOT CHANGE :
     226  //    WHEN CLICK ON THE FRAME FOR EXAMPLE
     227  //    EXECEPT WHEN MOUSE MOVE EVENT
     228  if ( !hasToRepaint) {
     229    if (((getWinWidth() == (unsigned int)width())) &&(getWinHeight() == (unsigned int) height())) {
     230      return;
     231    }
     232  }
     233#ifdef G4DEBUG_VIS_OGL
     234  printf("G4OpenGLStoredQtViewer::paintGL VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV ready %d\n",readyToPaint);
     235#endif
     236
     237  SetView();
     238         
     239  ClearView (); //ok, put the background correct
     240  ComputeView();
     241     
     242  hasToRepaint =false;
     243     
    233244#ifdef G4DEBUG_VIS_OGL
    234245  printf("G4OpenGLStoredQtViewer::paintGL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ready %d\n",readyToPaint);
     
    277288
    278289void G4OpenGLStoredQtViewer::updateQWidget() {
    279   fNeedRepaint= true;
     290  hasToRepaint= true;
    280291  updateGL();
    281   fNeedRepaint= false;
     292  hasToRepaint= false;
    282293}
    283294
Note: See TracChangeset for help on using the changeset viewer.