home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Examples / Movie / Include / MovieFra.h < prev    next >
Encoding:
Text File  |  1995-11-08  |  4.2 KB  |  129 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                MovieFra.h
  4. //    Release Version:    $ 1.0d11 $
  5. //
  6. //    Copyright:    © 1993, 1995 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef MOVIEFRA_H
  11. #define MOVIEFRA_H
  12.  
  13. #ifndef MOVIEDEF_H
  14. #include "MovieDef.h"
  15. #endif
  16.  
  17. // ----- Framework Includes -----
  18.  
  19. #ifndef FWFRAME_H
  20. #include "FWFrame.h"
  21. #endif
  22.  
  23. //========================================================================================
  24. // Forward declarations
  25. //========================================================================================
  26.  
  27. #if FW_LIB_EXPORT_PRAGMAS
  28. #pragma import on
  29. #endif
  30. struct FW_CRect;
  31. class FW_CLASS_ATTR FW_CFacetContext;
  32. class FW_CLASS_ATTR FW_CMenuEvent;
  33. class FW_CLASS_ATTR FW_CMenuBar;
  34. class FW_CLASS_ATTR FW_CPart;
  35. #if FW_LIB_EXPORT_PRAGMAS
  36. #pragma import off
  37. #endif
  38.  
  39. class FW_CLASS_ATTR CMoviePart;
  40. class FW_CLASS_ATTR CMovie;
  41.  
  42. //========================================================================================
  43. // CLASS CMovieFrame
  44. //========================================================================================
  45.  
  46. class FW_CLASS_ATTR CMovieFrame : public FW_CFrame
  47. {
  48. //----------------------------------------------------------------------------------------
  49. //    Initialization/Destruction
  50. //
  51. public:
  52.     CMovieFrame(Environment* ev, ODFrame* odFrame, FW_CPresentation* presentation, 
  53.                             FW_CPart* part, CMovie* theMovie);
  54.     virtual ~CMovieFrame();
  55.  
  56. //----------------------------------------------------------------------------------------
  57. //    Inherited API
  58. //
  59. public:
  60.     virtual void             Draw(Environment* ev, ODFacet* odFacet, ODShape* invalidShape);
  61.  
  62.     virtual void             FacetAdded(Environment* ev, ODFacet* facet);
  63.  
  64.     virtual void             FrameShapeChanged(Environment* ev);
  65.     virtual void             GeometryChanged(Environment *ev,
  66.                                         ODFacet* odFacet,
  67.                                         FW_Boolean clipShapeChanged,
  68.                                         FW_Boolean externalTransformChanged);
  69.                                 
  70.     virtual void             FocusStateChanged(Environment* ev, 
  71.                                         ODTypeToken focus, 
  72.                                         FW_Boolean newState, 
  73.                                         ODFrame* newOwner);
  74.     virtual FW_Boolean         DoAdjustMenus(Environment* ev, 
  75.                                         FW_CMenuBar* menuBar, 
  76.                                         FW_Boolean hasMenuFocus, 
  77.                                         FW_Boolean isRoot);
  78.     virtual FW_Boolean        DoMenu(Environment* ev, const FW_CMenuEvent& theMenuEvent);
  79.     
  80.     virtual FW_Boolean         DoMouseDown(Environment* ev, const FW_CMouseEvent& theMouseEvent);
  81.     virtual FW_Boolean         DoVirtualKeyDown(Environment* ev, const FW_CVirtualKeyEvent& theVirtualKeyEvent);
  82.     
  83.     //--- Drag and Drop ------
  84.     virtual ODDragResult     CanAcceptDrop(Environment *ev, ODDragItemIterator* dragInfo);
  85.     
  86. //----------------------------------------------------------------------------------------
  87. //    New API
  88. //
  89.     CMoviePart*             GetMoviePart(Environment* ev) const;
  90.     CMovie*                 GetMovie(Environment* ev) const;
  91.     
  92.     void                     AdjustFrameSize(Environment* ev, const FW_CRect& movieBox);
  93.     void                     AdoptNewMovie(Environment* ev, CMovie* newMovie);
  94.     void                     UpdateMovie(Environment* ev);
  95.     
  96.     void                     ToggleLooping(Environment* ev, FW_Boolean looping);
  97.     void                     ToggleController(Environment* ev, FW_Boolean showController);
  98.     
  99.     void                     CloseSelection(Environment* ev);
  100.     void                     ClearSelection(Environment* ev);
  101.     void                     SelectAll(Environment* ev);
  102.     FW_Boolean                 IsSelectionEmpty(Environment* ev);
  103.  
  104.     void                     PasteMovieToSelection(Environment* ev, CMovie* newMovie);
  105.     void                     PasteHandleToSelection(Environment* ev, FW_PlatformHandle newHandle, OSType handleType);
  106.  
  107. private:
  108.     CMovie*                    fMovie;
  109. };
  110.  
  111. //----------------------------------------------------------------------------------------
  112. // CMovieFrame::GetMoviePart
  113. //----------------------------------------------------------------------------------------
  114.  
  115. inline CMoviePart* CMovieFrame::GetMoviePart(Environment* ev) const
  116. {
  117.     return (CMoviePart*)this->GetPart(ev);
  118. }
  119.  
  120. //----------------------------------------------------------------------------------------
  121. // CMovieFrame::GetMovie
  122. //----------------------------------------------------------------------------------------
  123.  
  124. inline CMovie* CMovieFrame::GetMovie(Environment* ev) const
  125. {
  126.     return fMovie;
  127. }
  128. #endif
  129.