Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

MVirtualScreen.h

00001 /**********************************************************************
00002 
00003 Copyright (c) 2005, TomTom B.V.
00004 
00005 All rights reserved
00006 
00007 
00008 ***********************************************************************/
00009 
00010 
00011 #ifndef __MVIRTUALSCREEN_H__
00012 #define __MVIRTUALSCREEN_H__
00013 
00014 #include <assert.h>
00015 #include <string.h>
00016 
00017 #include "MFrameBuffer.h"
00018 
00019 class MVirtualScreen;
00020 
00033 class MVirtualScreen: public MFrameBuffer  
00034 {
00035  public: // Events
00041   class MVirtualScreenEvents
00042   {
00043    public:
00045     struct TVirtualScreenRefreshData
00046     {
00048      TVirtualScreenRefreshData( MVirtualScreen& aSource,
00049                                 MFrameBuffer&   aFrameBuffer,
00050                                 bool            aFrameBufferUpdated ):
00051       iSource( aSource ),
00052       iFrameBuffer( aFrameBuffer ),
00053       iFrameBufferUpdated( aFrameBufferUpdated )
00054       {}
00055 
00056      MVirtualScreen& iSource;             
00057      MFrameBuffer&   iFrameBuffer;        
00058      bool            iFrameBufferUpdated; 
00059     };
00060 
00061    public:
00062     virtual ~MVirtualScreenEvents() {};
00063 
00065     virtual void FiredScreenRefreshEvent( TVirtualScreenRefreshData& aData ) = 0;
00066   };
00067 
00068  public:
00071      MVirtualScreen():
00072        MFrameBuffer(),
00073        iEvents( NULL )
00074        {}
00075 
00082   virtual void  FlushVirtualBuffer( bool aOnlyIfActive = true ) = 0;
00083 
00090   virtual void  FlushFrameBuffer( bool aOnlyIfActive = true )   = 0;
00091 
00094   virtual char* GetFrameBuffer()                                                                = 0;
00095 
00096  public:      
00097   MVirtualScreenEvents* iEvents; 
00099  public:
00103   static MVirtualScreen& GetVirtualScreen();
00104 };
00105 
00106 #endif // __IVIRTUALSCREEN_H__

Generated on Fri Jul 15 16:46:44 2005 for TomTom GO User Interface library by doxygen 1.3.5