home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / samples / ioc / mmstereo / mltvid.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  4.8 KB  |  126 lines

  1. /******************************************************************************
  2. * .FILE:         mltvid.hpp                                                   *
  3. *                                                                             *
  4. * .DESCRIPTION:  Multimedia Stereo Sample:             Class Definition       *
  5. *                                                                             *
  6. * .CLASSES:      VIDEO                                                        *
  7. *                VideoHandler                                                 *
  8. *                VideoObserver                                                *
  9. *                                                                             *
  10. * .COPYRIGHT:                                                                 *
  11. *    Licensed Material - Program-Property of IBM                              *
  12. *    (C) Copyright IBM Corp. 1992, 1996 - All Rights Reserved                 *
  13. *                                                                             *
  14. * .DISCLAIMER:                                                                *
  15. *   The following [enclosed] code is sample code created by IBM               *
  16. *   Corporation.  This sample code is not part of any standard IBM product    *
  17. *   and is provided to you solely for the purpose of assisting you in the     *
  18. *   development of your applications.  The code is provided 'AS IS',          *
  19. *   without warranty of any kind.  IBM shall not be liable for any damages    *
  20. *   arising out of your use of the sample code, even if they have been        *
  21. *   advised of the possibility of such damages.                               *
  22. *                                                                             *
  23. * .NOTE: WE RECOMMEND USING A FIXED SPACE FONT TO LOOK AT THE SOURCE          *
  24. *                                                                             *
  25. ******************************************************************************/
  26. #ifndef _MLTVID_
  27. #define _MLTVID_
  28. #include <immdigvd.hpp>
  29. #include <ifont.hpp>
  30. #include <immttime.hpp>
  31. #include <inotifev.hpp>
  32. #include <icolor.hpp>
  33. #include <ianimbut.hpp>
  34. #include <icmdhdr.hpp>
  35. #include <istattxt.hpp>
  36. #include <iobservr.hpp>
  37. #include <immplypn.hpp>
  38. #include <immplyhd.hpp>
  39. #include <ifiledlg.hpp>
  40. #include "mltvid.h"
  41.  
  42. class VideoHandler;
  43. class VideoObserver;
  44.  
  45. class VIDEO  : public IMMPlayerPanel {
  46. //**************************************************************************
  47. // Class:   VIDEO                                                          *
  48. //                                                                         *
  49. // Purpose: Provide a Video player.                                        *
  50. //          It is a subclass of IMMPlayerPanel                             *
  51. //                                                                         *
  52. //**************************************************************************
  53. public:
  54.  
  55.   VIDEO( IMMDigitalVideo*  pVideo,
  56.          unsigned long     windowid,
  57.          IWindow*          parent,
  58.          IWindow*          owner);
  59.  
  60.   ~VIDEO();
  61.  
  62. /*-------------------------------- Device ------------------------------------*/
  63. IMMDigitalVideo*
  64.   videoPlayer          () const;
  65.  
  66. IStaticText
  67.   name,
  68.   readout;
  69.  
  70. private:
  71. IMMDigitalVideo
  72.   *pVideoPlayer;
  73.  
  74. IAnimatedButton
  75.   *loadit;
  76.  
  77. VideoHandler
  78.   *handler;
  79.  
  80. VideoObserver
  81.   *observer;
  82.  
  83. };
  84.  
  85. class VideoHandler : public IMMPlayerPanelHandler {
  86. typedef IMMPlayerPanelHandler
  87.   Inherited;
  88. //**************************************************************************
  89. // Class:   VideoHandler                                                   *
  90. //                                                                         *
  91. // Purpose: Provide a Handler for processing the load button.              *
  92. //                                                                         *
  93. //**************************************************************************
  94. public:
  95.  
  96.   VideoHandler ();
  97.  
  98. /*---------------------------- Event Dispatching -----------------------------*/
  99. virtual Boolean
  100.   command (ICommandEvent& event);
  101.  
  102. };
  103.  
  104. class VideoObserver : public IObserver {
  105. typedef IObserver
  106.   Inherited;
  107. //**************************************************************************
  108. // Class:   VideoObserver                                                  *
  109. //                                                                         *
  110. // Purpose: Provide an Observer for processing the play notifications.     *
  111. //                                                                         *
  112. //**************************************************************************
  113. public:
  114.  
  115.   VideoObserver (VIDEO& videoPanel);
  116.  
  117. virtual VideoObserver
  118.   &dispatchNotificationEvent(const INotificationEvent&);
  119.  
  120. private:
  121. VIDEO
  122.   &panel;
  123.  
  124. };
  125. #endif
  126.