home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / immdigvd.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  6.1 KB  |  160 lines

  1. #ifndef _IMMDIGVD_
  2.    #define _IMMDIGVD_
  3. /*******************************************************************************
  4. * FILE NAME:  immdigvd.hpp                                                     *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IMMDigitalVideo                                                          *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM Open Class Library                                                     *
  12. *   (C) Copyright International Business Machines Corporation 1992, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *                                                                              *
  17. *******************************************************************************/
  18. #include <immaud.hpp>
  19. #include <istring.hpp>
  20. #include <irect.hpp>
  21.  
  22. class IMMSpeed;
  23. class IWindowHandle;
  24. class IWindow;
  25. class IMMDeviceSettings;
  26.  
  27. #pragma pack(4)
  28.  
  29.  
  30. class IMMDigitalVideo : public IMMConfigurableAudio {
  31. typedef IMMConfigurableAudio
  32.   Inherited;
  33. public:
  34. /*----------------------------- Constructors ---------------------------------*/
  35.   IMMDigitalVideo  ( Boolean openNow = true,
  36.                      unsigned long instance = 0,
  37.                      Boolean openShareable = true );
  38. virtual
  39.   ~IMMDigitalVideo ();
  40.  
  41. /*-------------------------------- Playback Speeds ---------------------------*/
  42. IMMSpeed
  43.   maximumSpeed      (CallType call = wait) const,
  44.   minimumSpeed      (CallType call = wait) const,
  45.   normalSpeed       (CallType call = wait) const,
  46.   speed             (CallType call = wait) const,
  47.   fileNormalSpeed   (CallType call = wait) const;
  48.  
  49. /*-------------------------------- Capabilities ------------------------------*/
  50. Boolean
  51.   supportsSizing          (CallType call = wait) const,
  52.   supportsReverse         (CallType call = wait) const,
  53.   supportsStretchToFit    (CallType call = wait) const,
  54.   supportsOverlayGraphics (CallType call = wait) const;
  55.  
  56. /*-------------------------- Playback ----------------------------------------*/
  57. Boolean
  58.   isPlayingForward (CallType call = wait) const;
  59.  
  60. virtual IMMDigitalVideo
  61.   &play            (const IMMTime& from = IMMTime(),
  62.                     const IMMTime& to   = IMMTime(),
  63.                     Boolean resumeIfPaused = true,
  64.                     CallType call = nowait) ;
  65.  
  66. IMMDigitalVideo
  67.   &playAt          (const IMMSpeed& speed,
  68.                     const IMMTime& from = IMMTime(),
  69.                     const IMMTime& to   = IMMTime(),
  70.                     CallType call = nowait),
  71.   &playFast        (const IMMTime& from = IMMTime(),
  72.                     const IMMTime& to   = IMMTime(),
  73.                     CallType call = nowait),
  74.   &playScan        (const IMMTime& from = IMMTime(),
  75.                     const IMMTime& to   = IMMTime(),
  76.                     CallType call = nowait),
  77.   &playSlow        (const IMMTime& from = IMMTime(),
  78.                     const IMMTime& to   = IMMTime(),
  79.                     CallType call = nowait);
  80.  
  81. /*-------------------------- Record and Monitoring ---------------------------*/
  82. virtual IMMDigitalVideo
  83.   &record             ( const IMMTime& end   = IMMTime(),
  84.                         Boolean resumeIfPaused = true,
  85.                         CallType call = nowait ) ;
  86.  
  87. /*-------------------------- Video Window ------------------------------------*/
  88. unsigned long
  89.   videoWidth         (CallType call = wait) const,
  90.   videoHeight        (CallType call = wait) const;
  91. unsigned long
  92.   maximumWindows     (CallType call = wait) const ;
  93. unsigned long
  94.   videoFileWidth     (CallType call = wait) const,
  95.   videoFileHeight    (CallType call = wait) const;
  96.  
  97. IRectangle
  98.   sourceRectangle    (CallType call = wait) const,
  99.   destinationRectangle(CallType call = wait) const;
  100.  
  101. IMMDigitalVideo
  102.   &setDestination    (const IRectangle& rectangle, CallType = wait),
  103.   &setWindow         (const IWindowHandle& handle, CallType call = wait),
  104.   &setWindow         (const IWindow& window, CallType call = wait),
  105.   &useDefaultWindow  (CallType call = wait) ;
  106.  
  107.  
  108. IWindowHandle
  109.   handle             (CallType call = wait) const;
  110. IString
  111.   videoFileName      () const;
  112.  
  113.  
  114. protected:
  115. /*----------------------------- Constructors ---------------------------------*/
  116.   IMMDigitalVideo ( unsigned long deviceIdentifier,
  117.                     const IString& newAlias);
  118.  
  119. /*-------------------------------- Implementation ----------------------------*/
  120. IMMDigitalVideo
  121.   &playDigital       (const IMMTime& from = IMMTime(),
  122.                       const IMMTime& to   = IMMTime(),
  123.                       CallType call = nowait,
  124.                       unsigned long flags = 0,
  125.                       unsigned long speed = 0);
  126.  
  127. virtual Boolean
  128.   isOpenStringValid  (const IString& deviceName) const;
  129.  
  130. virtual IMMDigitalVideo
  131.   &saveDeviceSettings     (),
  132.   &restoreDeviceSettings  (Boolean newRecordMode = false);
  133.  
  134. private:
  135. /*--------------------------------- Private ----------------------------------*/
  136.  
  137. /*--------------------------------- Hidden Functions--------------------------*/
  138.   IMMDigitalVideo       ( const IMMDigitalVideo& device );
  139. IMMDigitalVideo
  140.  &operator=             ( const IMMDigitalVideo& device );
  141. virtual IMMDigitalVideo
  142.   &record          (Boolean insert ,
  143.                     const IMMTime& begin,
  144.                     const IMMTime& end,
  145.                     Boolean resumeIfPaused,
  146.                     CallType call = nowait);
  147. IMMDigitalVideo
  148.   &setSpeed(const unsigned long = 1000) ;
  149. unsigned long
  150.   getSpeedFactor(const IMMSpeed) const ;
  151. IMMDeviceSettings
  152.   *fDeviceSettings ;
  153.  
  154. }; // IMMDigitalVideo
  155.  
  156.  
  157. #pragma pack()
  158.  
  159. #endif /* _IMMDIGVD_ */
  160.