Geant4 Cross Reference |
>> 1 // This code implementation is the intellectual property of >> 2 // the GEANT4 collaboration. 1 // 3 // 2 // ******************************************* << 4 // By copying, distributing or modifying the Program (or any work 3 // * License and Disclaimer << 5 // based on the Program) you indicate your acceptance of this statement, 4 // * << 6 // and all its terms. 5 // * The Geant4 software is copyright of th << 6 // * the Geant4 Collaboration. It is provided << 7 // * conditions of the Geant4 Software License << 8 // * LICENSE and available at http://cern.ch/ << 9 // * include a list of copyright holders. << 10 // * << 11 // * Neither the authors of this software syst << 12 // * institutes,nor the agencies providing fin << 13 // * work make any representation or warran << 14 // * regarding this software system or assum << 15 // * use. Please see the license in the file << 16 // * for the full disclaimer and the limitatio << 17 // * << 18 // * This code implementation is the result << 19 // * technical work of the GEANT4 collaboratio << 20 // * By using, copying, modifying or distri << 21 // * any work based on the software) you ag << 22 // * use in resulting scientific publicati << 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* << 25 // << 26 // 7 // >> 8 // $Id: G4OpenGLXmWindowHandlingCallbacks.cc,v 1.3 1999/12/15 14:54:11 gunter Exp $ >> 9 // GEANT4 tag $Name: geant4-01-01 $ 27 // 10 // 28 // 11 // 29 // Andrew Walkden 16th June 1997 12 // Andrew Walkden 16th June 1997 30 // G4OpenGLXmWindowHandlingCallbacks : Callbac 13 // G4OpenGLXmWindowHandlingCallbacks : Callback functions for 31 // (Motif) 14 // (Motif) widgets to use. 32 // in hand 15 // in handling (Xm) windows 33 16 >> 17 #ifdef G4VIS_BUILD_OPENGLXM_DRIVER >> 18 34 #include "G4OpenGLXmViewer.hh" 19 #include "G4OpenGLXmViewer.hh" 35 20 36 void G4OpenGLXmViewer::resize_callback (Widget 21 void G4OpenGLXmViewer::resize_callback (Widget w, 37 XtPointer clientData, 22 XtPointer clientData, 38 XtPointer x) << 23 XtPointer) 39 { 24 { 40 expose_callback(w,clientData,x); << 25 Dimension width, height; >> 26 G4OpenGLXmViewer* pView = (G4OpenGLXmViewer*) clientData; >> 27 >> 28 XtVaGetValues (w, >> 29 XmNwidth, &width, >> 30 XmNheight, &height, >> 31 NULL); >> 32 >> 33 pView->WinSize_x = (G4int) width; >> 34 pView->WinSize_y = (G4int) height; 41 } 35 } 42 36 43 37 44 38 45 void G4OpenGLXmViewer::expose_callback (Widget 39 void G4OpenGLXmViewer::expose_callback (Widget w, 46 XtPointer clientData, 40 XtPointer clientData, 47 XtPointer) 41 XtPointer) 48 { 42 { 49 G4OpenGLXmViewer* pView = (G4OpenGLXmViewer* 43 G4OpenGLXmViewer* pView = (G4OpenGLXmViewer*) clientData; 50 Dimension width, height; 44 Dimension width, height; 51 45 52 XtVaGetValues (w, 46 XtVaGetValues (w, 53 XmNwidth, &width, 47 XmNwidth, &width, 54 XmNheight, &height, 48 XmNheight, &height, 55 NULL); 49 NULL); 56 50 57 pView->ResizeWindow(width,height); << 51 pView->WinSize_x = (G4int) width; >> 52 pView->WinSize_y = (G4int) height; >> 53 >> 54 glXMakeCurrent (pView->dpy, XtWindow(pView->glxarea), pView->cx); >> 55 glViewport (0, 0, width, height); 58 56 59 //??????????????????????????? This might be a << 57 pView->ClearView (); 60 // glXMakeCurrent (pView->dpy, XtWindow(pView << 58 pView->DrawView (); 61 // pView->SetView (); << 62 // pView->ClearView (); << 63 // pView->DrawView (); << 64 //???????????????????????????? Commented out 1 << 65 } 59 } 66 60 67 void G4OpenGLXmViewer::print_callback (Widget, 61 void G4OpenGLXmViewer::print_callback (Widget, 68 XtPointer clientData, 62 XtPointer clientData, 69 XtPointer) 63 XtPointer) 70 { 64 { 71 G4OpenGLXViewer* pView = (G4OpenGLXmViewer*) 65 G4OpenGLXViewer* pView = (G4OpenGLXmViewer*) clientData; 72 pView->exportImage(); << 66 pView->print(); 73 } 67 } 74 68 75 void G4OpenGLXmViewer::set_print_colour_callba 69 void G4OpenGLXmViewer::set_print_colour_callback (Widget w, 76 XtPointer clientData, 70 XtPointer clientData, 77 XtPointer) 71 XtPointer) 78 { 72 { 79 G4OpenGLXmViewer* pView = (G4OpenGLXmViewer* 73 G4OpenGLXmViewer* pView = (G4OpenGLXmViewer*)clientData; 80 74 81 G4int choice = get_int_userData (w); << 75 G4int choice = G4OpenGLXmViewer::get_int_userData (w); 82 76 83 pView->fPrintColour=(G4bool)choice; << 77 pView->print_colour=(G4bool)choice; 84 G4cout << "Print colour set to " << pView->f << 78 G4cout << "Print colour set to " << pView->print_colour; 85 79 86 } 80 } 87 81 88 void G4OpenGLXmViewer::set_print_style_callbac 82 void G4OpenGLXmViewer::set_print_style_callback (Widget w, 89 XtPointer clientData, 83 XtPointer clientData, 90 XtPointer) 84 XtPointer) 91 { 85 { 92 G4OpenGLXmViewer* pView = (G4OpenGLXmViewer* 86 G4OpenGLXmViewer* pView = (G4OpenGLXmViewer*)clientData; 93 87 94 G4int choice = get_int_userData (w); << 88 G4int choice = G4OpenGLXmViewer::get_int_userData (w); 95 89 96 pView->fVectoredPs=(G4bool)choice; << 90 pView->vectored_ps=(G4bool)choice; 97 G4cout << "`Produce vectored PostScript ?' s << 91 G4cout << "`Produce vectored PostScript ?' set to : " << pView->print_colour; 98 92 99 } 93 } >> 94 >> 95 #endif 100 96