Main Page | Namespace List | Class Hierarchy | Data Structures | File List | Data Fields | Globals

cameraevent.h

Go to the documentation of this file.
00001 //--- < CAMERAEVENT.H > ---------| ViewGraph - A Flexible Graph view Framework |
00002 //
00003 // Defines events that change camera status.
00004 // Camera events are processed in a separate logic
00005 // branch; moreover, the latest camera event is stored 
00006 // as camera status.
00007 // 
00008 // Derive your event from CameraEvent to register an 
00009 // event that changes camera status.
00010 //
00011 // $Author: botik32 $
00012 // $Revision: 1.1.1.1 $
00013 // $Date: 2004/03/26 10:50:21 $
00014 //-----------------------------------------------------------------------------/
00015 
00016 #ifndef CAMERAEVENT_H
00017 #define CAMERAEVENT_H
00018 
00019 #include <cZUI/event.h>
00020 
00021 /// CameraEvent is the base of all camera events.<br>
00022 /// Camera events are processed in a separate logic
00023 /// branch; moreover, the latest camera event is stored 
00024 /// as camera status.
00025 class CameraEvent : public Event{
00026 public:
00027         CameraEvent( Camera *, const char * );
00028         CameraEvent( CameraEvent * );
00029         static const char *type;
00030         bool is_type( const char * );
00031 };
00032 
00033 class CameraFocusEvent : public CameraEvent{
00034 public:
00035         static const char *type;
00036         CameraFocusEvent( Camera * );
00037 };
00038 
00039 class CameraBlurEvent : public CameraEvent{
00040 public:
00041         static const char *type;
00042         CameraBlurEvent( Camera * );
00043 };
00044 
00045 /// Upon this event, the camera should display
00046 /// something like "CAMERA OFF" or just not 
00047 /// display a thing. It may even display an 
00048 /// "off" animation if you wish. 
00049 /// You can specify such behaviour by 
00050 /// subclassing the LayerNode class and
00051 /// adding it to the top of the layer stack.
00052 class CameraOffEvent : public CameraEvent{
00053 protected:
00054 public:
00055         static const char *type;
00056         CameraOffEvent( Camera * );
00057 };
00058 
00059 /// Upon this event, the camera should display
00060 /// what it can "see". It may briefly display 
00061 /// an "on" animation if you wish. 
00062 /// You can specify such behaviour by 
00063 /// subclassing the LayerNode class and 
00064 /// adding it to the top of the layer stack.
00065 class CameraOnEvent : public CameraEvent{
00066 protected:
00067 public:
00068         static const char *type;
00069         CameraOnEvent( Camera * );
00070 };
00071 
00072 /// A node should send a CameraUpdatedEvent
00073 /// whenever it has repainted and wants the
00074 /// window to repaint.
00075 class CameraUpdatedEvent : public CameraEvent
00076 {
00077 protected:
00078 public:
00079         static const char *type;
00080         CameraUpdatedEvent( Camera * );
00081 };
00082 
00083 #endif
00084 
00085 /// $Log: cameraevent.h,v $
00086 /// Revision 1.1.1.1  2004/03/26 10:50:21  botik32
00087 /// Initial release
00088 ///
00089 /// Revision 1.1.1.1  2004/03/26 08:53:33  botik
00090 /// initial import
00091 ///
00092 ///
00093 /// Revision 1.4  2003/12/02 20:09:22  botik
00094 /// Changed repaint policy to repaint only when Camera and
00095 /// CameraMovement events happened.
00096 /// Added CameraUpdatedEvent specifically for this purpose
00097 /// so scene nodes can trigger a repaint.
00098 ///
00099 /// Revision 1.3  2003/11/14 16:00:42  botik
00100 /// Got camerafocus to ignore cameras in 'Off' state
00101 /// Fixed camera to keep latest camera status change
00102 /// event as status.
00103 ///
00104 /// Revision 1.2  2003/10/30 14:21:43  botik
00105 /// Modified layernode to handle CameraOn/CameraOff events
00106 ///
00107 /// Revision 1.1  2003/10/30 13:47:31  botik
00108 /// Broke up event files into 3 categories
00109 ///
00110 

Generated on Wed Jun 23 18:47:21 2004 for cZUI by doxygen 1.3.5