310 customPushBtnCB = cb;
311 customPushBtnData = data;
315 customRedrawBtnCB = cb;
316 customRedrawBtnData = data;
325 float rightWheelVal, leftWheelVal, bottomWheelVal;
351 SoWidget leftTrimForm, bottomTrimForm, rightTrimForm;
353 static SbBool doButtonBar;
358 SoWidget zoomForm, zoomField, zoomSlider;
368 SoWinGDIThumbWheel* rightWheel, *bottomWheel, *leftWheel , *extraWheel;
370 SoWidget extraTrimForm;
373 int extraLabelHeight;
374 SoWidget extraWheelLabel;
378 SoWidget vwrButtonForm;
380 HBRUSH backgroundBrush;
382 char* rightWheelStr, *bottomWheelStr, *leftWheelStr;
383 SoWidget rightWheelLabel, bottomWheelLabel, leftWheelLabel;
392 int numFullVwrButtons;
397 virtual void pushButtonCB( SoWidget w,
int id,
void* data );
408 virtual void pushAppButtonCB( SoWidget w,
int id,
void* data )
410 if ( customPushBtnCB )
411 customPushBtnCB( w,
id, data, customPushBtnData );
419 virtual void redrawAppButtonCB( LPDRAWITEMSTRUCT lpdis )
421 if ( customRedrawBtnCB )
422 customRedrawBtnCB( lpdis, customRedrawBtnData );
428 SoWidget getButtonWidget()
const {
return appButtonForm; }
431 SoWidget popupWidget, *popupToggleWidgets;
432 SoWidget* drawStyleWidgets, bufferStyleWidgets[3];
438 SoWidget buildWidget( SoWidget parent );
439 void buildLeftWheel( SoWidget parent );
441 virtual void buildDecoration( SoWidget parent );
442 virtual SoWidget buildLeftTrim( SoWidget parent );
443 virtual SoWidget buildBottomTrim( SoWidget parent );
444 virtual SoWidget buildRightTrim( SoWidget parent );
445 virtual SoWidget buildZoomSlider( SoWidget parent );
446 SoWidget buildAppButtons( SoWidget parent );
447 SoWidget buildViewerButtons( SoWidget parent );
448 virtual void createViewerButtons( SoWidget parent );
453 virtual void buildPopupMenu();
454 virtual void openStereoDialog();
455 virtual void openRecordDialog();
456 virtual void switchFSAAMode();
458 virtual void destroyPopupMenu();
459 void setPopupMenuString(
const char* name );
460 SoWidget buildFunctionsSubmenu( SoWidget popup );
461 SoWidget buildDrawStyleSubmenu( SoWidget popup );
465 virtual int displayPopupMenu(
int x,
int y, Hwnd owner );
471 void setPrefSheetString(
const char* name );
472 virtual void createPrefSheet();
473 void createPrefSheetShellAndForm( SoWidget& shell, SoWidget& form );
474 void createDefaultPrefSheetParts( SoWidget widgetList[],
int &num, SoWidget form );
475 void layoutPartsAndMapPrefSheet( SoWidget widgetList[],
int num, SoWidget form, SoWidget shell );
476 SoWidget createSeekPrefSheetGuts( SoWidget parent );
477 SoWidget createSeekDistPrefSheetGuts( SoWidget parent );
478 SoWidget createZoomPrefSheetGuts( SoWidget parent );
479 SoWidget createClippingPrefSheetGuts( SoWidget parent );
480 SoWidget createStereoPrefSheetGuts( SoWidget parent );
485 virtual void rightWheelMotion(
float f );
486 virtual void bottomWheelMotion(
float f );
487 virtual void leftWheelMotion(
float f );
492 virtual void rightWheelStart();
493 virtual void bottomWheelStart();
494 virtual void leftWheelStart();
495 virtual void rightWheelFinish();
496 virtual void bottomWheelFinish();
497 virtual void leftWheelFinish();
502 void setBottomWheelString(
const char* name );
503 void setLeftWheelString(
const char* name );
504 void setRightWheelString(
const char* name );
510 virtual void openViewerHelpCard();
513 virtual void afterRealizeHook();
515 virtual void setSeekButton(
SbBool onOff );
520 static void clientResize(HWND handle,
int x,
int y,
int width,
int height, BOOL repaint);
527 SoWidget appButtonForm;
529 void doAppButtonLayout(
int start );
535 void setCameraZoom(
float zoom );
536 float getCameraZoom();
537 void setZoomSliderPosition(
float zoom );
538 void setZoomFieldString(
float zoom );
543 static void zoomSensorCB(
void* v,
SoSensor* s );
546 SoWinBitmapButton* buttonList[10];
549 SoWidget prefSheetShellWidget;
553 int seekDistWheelVal;
554 SoWidget seekDistField;
557 SoWidget clipWheelForm;
558 int clipNearWheelVal, clipFarWheelVal;
559 SoWidget clipNearField, clipFarField;
562 SoWidget stereoWheelForm, stereoField, stereoLabel;
566 static void visibilityChangeCB(
void* pt,
SbBool visible );
574 static LRESULT CALLBACK mgrWindowProc( Hwnd hwnd, UINT message,
575 WPARAM wParam, LPARAM lParam );
578 static LRESULT CALLBACK btnWindowProc( Hwnd hwnd, UINT message,
579 WPARAM wParam, LPARAM lParam );
582 static LRESULT CALLBACK appBtnWindowProc( Hwnd hwnd, UINT message,
583 WPARAM wParam, LPARAM lParam );
586 static LRESULT CALLBACK txtWindowProc( Hwnd hwnd, UINT message,
587 WPARAM wParam, LPARAM lParam );
591 void* customPushBtnData, *customRedrawBtnData;
593 static int s_isAttRunning;
596 WNDPROC origBtnWndProc;
597 WNDPROC origAppBtnWndProc;
598 WNDPROC origTxtWndProc;