Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUIVideo.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef __GUIVIDEO_H__
11#define __GUIVIDEO_H__
12
13#include "GUIObject.h"
14
15#include "GUIGeneralResource.h"
16#include "GUIImageResource.h"
17#include "GUIVideoDecoder.h"
18#include "GUIVideoData.h"
19
20#include "GUIGeneralResourceManager.h"
21
26{
27public:
37 CGUICompositeObject* const pkParent,
38 const eC_Value& vX, const eC_Value& vY,
39 const eC_Value& vWidth, const eC_Value& vHeight,
40 const ObjectHandle_t &eID = NO_HANDLE);
41
42 virtual ~CGUIVideo();
43
46 void Play();
47
50 void Pause();
51
54 void Resume();
55
58 void Stop();
59
63 void SetMovie(const eC_String& kFileName);
64
68 void SetMovie(const GeneralResource_t& eVideoID);
69
73 void SetStartFrame(const eC_UInt& uiStartFrame);
74
78 eC_UInt GetStartFrame() const;
79
83 void SetAutoStart(const eC_Bool& bAutoStart);
84
88 eC_Bool GetAutoStart() const;
89
93 void SetLoop(const eC_Bool& bLoop);
94
98 eC_Bool GetLoop() const;
99
103 void SetShowTimeBar(const eC_Bool& bShowTimeBar);
104
108 eC_Bool GetShowTimeBar() const;
109
113 void GotoFrame(const eC_UInt& uiFrameNumber);
114
118 eC_UInt GetCurrentFrame() const;
119
123 eC_UInt GetVideoWidth() const;
124
128 eC_UInt GetVideoHeight() const;
129
133 eC_UInt GetVideoBytePerPixel() const;
134
138 eC_UInt GetLengthInMS() const;
139
143 eC_UInt GetLengthInFrames() const;
144
145 virtual void DoAnimate(const eC_Value& vTimes = eC_FromInt(1));
146
147 virtual eC_Bool DoDraw();
148
149 virtual eC_Bool IsHighlightable() const { return false; }
150
151 virtual void OnResourceChange();
152
153#ifdef GUILIANI_STREAM_GUI
159
160 virtual void ReadFromStream();
161#endif
162
163#ifdef GUILIANI_WRITE_GUI
164 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
165#endif
166
167private:
168 void Init();
169
170 void DeInit();
171
172private:
173 GeneralResource_t m_eVideoID;
174 eC_UInt m_uiStartFrame;
175 eC_Bool m_bAutoStart;
176 eC_Bool m_bLoop;
177 eC_Bool m_bShowTimeBar;
178
179 CGUIVideoData* m_pkVideoData;
180 CGUIVideoDecoder* m_pkDecoder;
181 eC_UByte* m_pkPixelBuffer;
182 ImageResource_t m_eImageID;
183 eC_Value m_vCurrentTime;
184};
185
186#endif
Helper Macros in Guiliani
GeneralResource_t
List of general resource ids.
Definition: GUIGeneralResource.h:52
Helper Macros in Guiliani
ImageResource_t
Enumeration of image resource ids.
Definition: GUIImageResource.h:126
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
Definition: GUIGeneralResourceManager.h:24
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
Contains information about a video loaded by CGUIVideoDecoder.
Definition: GUIVideoData.h:23
Base class for the video-decoders.
Definition: GUIVideoDecoder.h:26
This control displays video-files.
Definition: GUIVideo.h:26
virtual void ReadFromStream()
void Play()
void Pause()
virtual void DoAnimate(const eC_Value &vTimes=eC_FromInt(1))
void SetLoop(const eC_Bool &bLoop)
void SetStartFrame(const eC_UInt &uiStartFrame)
eC_UInt GetVideoBytePerPixel() const
eC_UInt GetCurrentFrame() const
virtual eC_Bool DoDraw()
virtual eC_Bool IsHighlightable() const
Definition: GUIVideo.h:149
void SetAutoStart(const eC_Bool &bAutoStart)
eC_UInt GetVideoHeight() const
eC_Bool GetShowTimeBar() const
eC_UInt GetStartFrame() const
void SetShowTimeBar(const eC_Bool &bShowTimeBar)
void GotoFrame(const eC_UInt &uiFrameNumber)
virtual void OnResourceChange()
void Resume()
CGUIVideo(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
eC_Bool GetLoop() const
void SetMovie(const GeneralResource_t &eVideoID)
void Stop()
eC_Bool GetAutoStart() const
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
eC_UInt GetVideoWidth() const
eC_UInt GetLengthInFrames() const
eC_UInt GetLengthInMS() const
void SetMovie(const eC_String &kFileName)