home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 4.2 KB | 136 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWPxyIte.cpp
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #include "FWFrameW.hpp"
-
- #ifndef FWPXYITE_H
- #include "FWPxyIte.h"
- #endif
-
- #ifndef FWPXYFRM_H
- #include "FWPxyFrm.h"
- #endif
-
- //========================================================================================
- // Runtime information
- //========================================================================================
-
- #ifdef FW_BUILD_MAC
- #pragma segment framework
- #endif
-
- FW_DEFINE_AUTO(FW_CProxyEmbeddedFrameIterator)
- FW_DEFINE_AUTO(FW_CProxyProxyFrameIterator)
-
- //========================================================================================
- // FW_CProxyEmbeddedFrameIterator
- //========================================================================================
-
- //----------------------------------------------------------------------------------------
- // FW_CProxyEmbeddedFrameIterator::FW_CProxyEmbeddedFrameIterator
- //----------------------------------------------------------------------------------------
-
- FW_CProxyEmbeddedFrameIterator::FW_CProxyEmbeddedFrameIterator(Environment* ev, const FW_MProxy* proxy) :
- fIterator(proxy),
- fCurrentFrame(NULL)
- {
- FW_UNUSED(ev);
- FW_END_CONSTRUCTOR
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CProxyEmbeddedFrameIterator::~FW_CProxyEmbeddedFrameIterator
- //----------------------------------------------------------------------------------------
-
- FW_CProxyEmbeddedFrameIterator::~FW_CProxyEmbeddedFrameIterator()
- {
- FW_START_DESTRUCTOR
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CProxyEmbeddedFrameIterator::First
- //----------------------------------------------------------------------------------------
-
- ODFrame* FW_CProxyEmbeddedFrameIterator::First(Environment* ev)
- {
- return PrivNext(ev, fIterator.First());
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CProxyEmbeddedFrameIterator::Next
- //----------------------------------------------------------------------------------------
-
- ODFrame* FW_CProxyEmbeddedFrameIterator::Next(Environment* ev)
- {
- return PrivNext(ev, fIterator.Next());
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CProxyEmbeddedFrameIterator::Last
- //----------------------------------------------------------------------------------------
-
- ODFrame* FW_CProxyEmbeddedFrameIterator::Last(Environment* ev)
- {
- return PrivPrevious(ev, fIterator.Last());
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CProxyEmbeddedFrameIterator::Previous
- //----------------------------------------------------------------------------------------
-
- ODFrame* FW_CProxyEmbeddedFrameIterator::Previous(Environment* ev)
- {
- return PrivPrevious(ev, fIterator.Previous());
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CProxyEmbeddedFrameIterator::PrivNext
- //----------------------------------------------------------------------------------------
-
- ODFrame* FW_CProxyEmbeddedFrameIterator::PrivNext(Environment* ev, FW_CProxyFrame* proxyFrame)
- {
- fCurrentFrame = NULL;
-
- while (proxyFrame != NULL)
- {
- if (proxyFrame->IsFrameInMemory(ev))
- {
- fCurrentFrame = proxyFrame->GetFrame(ev);
- break;
- }
-
- proxyFrame = fIterator.Next();
- }
-
- return fCurrentFrame;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CProxyEmbeddedFrameIterator::PrivPrevious
- //----------------------------------------------------------------------------------------
-
- ODFrame* FW_CProxyEmbeddedFrameIterator::PrivPrevious(Environment* ev, FW_CProxyFrame* proxyFrame)
- {
- fCurrentFrame = NULL;
-
- while (proxyFrame != NULL)
- {
- if (proxyFrame->IsFrameInMemory(ev))
- {
- fCurrentFrame = proxyFrame->GetFrame(ev);
- break;
- }
-
- proxyFrame = fIterator.Previous();
- }
-
- return fCurrentFrame;
- }
-
-