home *** CD-ROM | disk | FTP | other *** search
/ NEXT Generation 27 / NEXT27.iso / pc / demos / emperor / dx3.exe / SDK / SAMPLES / DSSHOW3D / FINFO3D.H < prev    next >
C/C++ Source or Header  |  1996-08-28  |  3KB  |  95 lines

  1. #ifndef __FILEINFO3D_H__
  2. #define __FILEINFO3D_H__
  3.  
  4. #include "FileInfo.h"
  5.  
  6. #define CONEVOL_MIN     -10000
  7. #define CONEVOL_MAX     0
  8. #define CONEVOL_SLIDER_FACTOR   100
  9. #define CONEVOL_SLIDER_SHIFT    10000
  10. #define CONEVOL_SLIDER_PAGE 500
  11.  
  12. #define X_SLIDER_FACTOR     1
  13. #define Y_SLIDER_FACTOR     1
  14. #define Z_SLIDER_FACTOR     1
  15.  
  16. #define POS_SLIDER_MIN      -50 // Centimeters
  17. #define POS_SLIDER_MAX      50  // Centimeters
  18. #define POS_SLIDER_SHIFT    50  // Shift so min is 0
  19.  
  20. #define FI3D_DEFAULT_INNER_ANGLE    90
  21. #define FI3D_DEFAULT_OUTER_ANGLE    120
  22.  
  23. typedef struct tag_ht3d
  24. {
  25.     HWND    hXSlider, hYSlider, hZSlider;
  26.     HWND    hOuterVolText, hOuterVolSlider;
  27.     HWND    hInnerAngleEdit, hInnerAngleSpin;
  28.     HWND    hOuterAngleEdit, hOuterAngleSpin;
  29.     HWND    hXText, hYText, hZText;
  30.     HWND    hDisable3D;
  31. } HWNDTABLE3D;
  32.  
  33.  
  34.  
  35. class FileInfo3D : public FileInfo
  36. {
  37. friend BOOL CALLBACK FileInfo3DDlgProc( HWND, UINT, WPARAM, LPARAM );
  38.  
  39. public:
  40.     FileInfo3D( MainWnd *pmw = NULL );
  41.     virtual ~FileInfo3D();
  42.  
  43.     virtual int NewDirectSoundBuffer( void );
  44.  
  45.     virtual void Duplicate( FileInfo * );
  46.  
  47.     virtual void UpdateUI( void );
  48.     virtual void UpdateFileName( void );
  49.  
  50. // Useful protected member functions
  51. protected:
  52.     virtual BOOL OnInitDialog( HWND, WPARAM );
  53.     virtual BOOL OnCommand( WPARAM, LPARAM );
  54.     virtual BOOL OnHScroll( WORD, LONG, HWND );
  55.     virtual BOOL OnContextMenu( HWND, int, int );
  56.     virtual void OnDestroy();
  57.  
  58.     virtual BOOL CreateInterface( HWND );
  59.     virtual void SetSliders( void );
  60.  
  61.     void HandleOuterVolSliderScroll( WORD, LONG );
  62.     void HandleXSliderScroll( WORD, LONG );
  63.     void HandleYSliderScroll( WORD, LONG );
  64.     void HandleZSliderScroll( WORD, LONG );
  65.  
  66.     BOOL HandleConeInnerEditNotify( WPARAM, LPARAM );
  67.     BOOL HandleConeOuterEditNotify( WPARAM, LPARAM );
  68.  
  69.     BOOL HandleDisableNotify( WPARAM, LPARAM );
  70.  
  71.     BOOL HandleOuterVolContext( WPARAM );
  72.     BOOL HandlePositionContext( WPARAM );
  73.  
  74.     void UpdateOuterVolUI( LONG, BOOL );
  75.     void UpdateXSliderUI( LONG, BOOL );
  76.     void UpdateYSliderUI( LONG, BOOL );
  77.     void UpdateZSliderUI( LONG, BOOL );
  78.  
  79. protected:
  80.     HWNDTABLE3D     m_ht3d;
  81.     D3DVECTOR       m_vPos;
  82.     DWORD       m_dwInnerAngle, m_dwOuterAngle;
  83.  
  84.     LPDIRECTSOUND3DBUFFER   m_pDSB3D;   // DirectSound 3D buffer interface
  85. };
  86.  
  87.  
  88. typedef FileInfo3D *    PFILEINFO3D;
  89.  
  90. BOOL CALLBACK FileInfo3DDlgProc( HWND, UINT, WPARAM, LPARAM );
  91.  
  92. #endif
  93.  
  94.  
  95.