Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00038 #ifndef _CE_VIDEOCORE_IMPL_H_
00039 #define _CE_VIDEOCORE_IMPL_H_ 0x1
00041 #ifndef __cplusplus
00042 #error ceVideoCoreImpl.h requires C++ compilation (use a .cpp suffix)
00043 #endif
00044
00045 #if __GNUC__ >= 0x3
00046 #pragma GCC system_header
00047 #endif
00048
00049 #if _MSC_VER > 1000
00050 #pragma once
00051 #pragma warning(disable: 4100)
00052 #endif
00053
00054 #include "ceVideoCore.h"
00055 #include "begin_code.h"
00056
00057 namespace ce {
00058
00059
00060
00061 #define CE_VIDEO_VERIFY 0x1
00062
00066 template <class T>
00067 class IVideoManagerImpl
00068 {
00069 public:
00070
00071 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00072 IVideoManagerImpl(void)
00073 {
00074 this -> pT = static_cast<T*>(this);
00075
00076 this -> pT -> Video = CreateVideoManager();
00077 if (!this -> pT -> Video) return;
00078
00079 };
00080
00081 virtual ~IVideoManagerImpl(void)
00082 { DestroyVideoManager(&this -> pT -> Video); };
00083 #endif
00084
00085 #ifdef CE_VIDEO_VERIFY
00086
00090 inline const short APICALL
00091 VerifyVideoManager(void) const
00092 {
00093 if (!this -> pT -> Video) return FALSE;
00094 return TRUE;
00095 };
00096 #endif
00097
00098
00102 inline void APICALL
00103 SetWindowInfo(const SWindowInfo &WindowInfo) const
00104 { this -> pT -> Video -> SetWindowInfo(WindowInfo); };
00105
00106
00107
00108
00109
00110
00111
00112
00116 inline SWindowInfo* APICALL
00117 GetWindowInfo(void) const
00118 { return this -> pT -> Video -> GetWindowInfo(); };
00119
00120
00121
00127 inline void APICALL
00128 RegisterVideoWindow(void *instance = NULL, void *handle = NULL) const
00129 { this -> pT -> Video -> RegisterVideoWindow(instance, handle); };
00130
00135 inline void APICALL
00136 RegisterVideoWindowFrom(const SWindowInfo &WindowInfo) const
00137 { this -> pT -> Video -> RegisterVideoWindowFrom(WindowInfo); };
00138
00139
00140
00141
00142
00143
00144
00145
00146
00149 inline void APICALL
00150 UnregisterVideoWindow(void) const
00151 { this -> pT -> Video -> UnregisterVideoWindow(); };
00152
00153
00154
00160 inline short APICALL
00161 CreateVideoWindow(void) const
00162 { return this -> pT -> Video -> CreateVideoWindow(); };
00163
00170 inline void APICALL
00171 DestroyVideoWindow(void) const
00172 { this -> pT -> Video -> DestroyVideoWindow(); };
00173
00244 inline short APICALL
00245 ShowVideoWindow(const short show = CE_SHOWDEFAULT) const
00246 { return this -> pT -> Video -> ShowVideoWindow(show); };
00247
00248
00249
00253 inline short APICALL
00254 InitVideoWindow(void) const
00255 { return this -> pT -> Video -> InitVideoWindow(); };
00256
00260 inline int APICALL
00261 UpdateVideoWindow(void) const
00262 { return this -> pT -> Video -> UpdateVideoWindow(); };
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00310 inline unsigned int APICALL
00311 LoadVideoFile(char *file_name, unsigned long flags = 0x0) const
00312 { return this -> pT -> Video -> LoadVideoFile(file_name, flags); };
00313
00321 inline short APICALL
00322 ReleaseVideo(const unsigned int videoID = 0x1) const
00323 { return this -> pT -> Video -> ReleaseVideo(videoID); };
00324
00326 inline void APICALL
00327 ReleaseAllVideos(void) const
00328 { this -> pT -> Video -> ReleaseAllVideos(); };
00329
00337 inline SVideoInfo APICALL
00338 GetVideoInfo(const unsigned int videoID = 0x1) const
00339 { return this -> pT -> Video -> GetVideoInfo(videoID); };
00340
00348 inline SVideoInfo* APICALL
00349 GetAsyncVideoInfo(const unsigned int videoID = 0x1) const
00350 { return this -> pT -> Video -> GetAsyncVideoInfo(videoID); };
00351
00362 inline short APICALL
00363 ShowVideo(const unsigned int videoID = 0x1,
00364 const int show = CE_VIDEO_SHOW) const
00365 { return this -> pT -> Video -> ShowVideo(videoID, show); };
00366
00373 inline void APICALL
00374 PlayVideo(const unsigned int videoID = 0x1) const
00375 { this -> pT -> Video -> PlayVideo(videoID); };
00376
00386 inline void APICALL
00387 PlayVideoFrom(const unsigned int videoID = 0x1,
00388 unsigned long start = 0x0) const
00389 { this -> pT -> Video -> PlayVideoFrom(videoID, start); };
00390
00402 inline void APICALL
00403 PlayVideoFromTo(const unsigned int videoID = 0x1,
00404 unsigned long start = 0x0, unsigned long end = 0x0) const
00405 { this -> pT -> Video -> PlayVideoFromTo(videoID, start, end); };
00406
00418 inline void APICALL
00419 PlayVideoTo(const unsigned int videoID = 0x1,
00420 unsigned long end = 0x0) const
00421 { this -> pT -> Video -> PlayVideoTo(videoID, end); };
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00440 inline void APICALL
00441 PauseVideo(const unsigned int videoID = 0x1,
00442 const short pause = TRUE) const
00443 { this -> pT -> Video -> PauseVideo(videoID, pause); };
00444
00453 inline void APICALL
00454 ResumeVideo(const unsigned int videoID = 0x1) const
00455 { this -> pT -> Video -> ResumeVideo(videoID); };
00456
00463 inline void APICALL
00464 StopVideo(const unsigned int videoID = 0x1) const
00465 { this -> pT -> Video -> StopVideo(videoID); };
00466
00475 inline void APICALL
00476 SeekVideo(const unsigned int videoID = 0x1,
00477 const unsigned long position = 0x0) const
00478 { this -> pT -> Video -> SeekVideo(videoID, position); };
00479
00486 inline void APICALL
00487 SeekStartVideo(const unsigned int videoID = 0x1) const
00488 { this -> pT -> Video -> SeekStartVideo(videoID); };
00489
00496 inline void APICALL
00497 SeekEndVideo(const unsigned int videoID = 0x1) const
00498 { this -> pT -> Video -> SeekEndVideo(videoID); };
00499
00509 inline void APICALL
00510 SetVolumeVideo(const unsigned int videoID = 0x1,
00511 const unsigned int volume = 1000) const
00512 { this -> pT -> Video -> SetVolumeVideo(videoID, volume); };
00513
00526 inline void APICALL
00527 SetZoomVideo(const unsigned int videoID = 0x1,
00528 const unsigned int zoom = 100) const
00529 { this -> pT -> Video -> SetZoomVideo(videoID, zoom); };
00530
00539 inline void APICALL
00540 SetSpeedVideo(const unsigned int videoID = 0x1,
00541 const unsigned int speed = 1000) const
00542 { this -> pT -> Video -> SetSpeedVideo(videoID, speed); };
00543
00552 inline void APICALL
00553 SetRepeatVideo(const unsigned int videoID = 0x1,
00554 const short repeat = TRUE) const
00555 { this -> pT -> Video -> SetRepeatVideo(videoID, repeat); };
00556
00566 inline unsigned int APICALL
00567 GetVolumeVideo(const unsigned int videoID = 0x1) const
00568 { return this -> pT -> Video -> GetVolumeVideo(videoID); };
00569
00582 inline unsigned int APICALL
00583 GetZoomVideo(const unsigned int videoID = 0x1) const
00584 { return this -> pT -> Video -> GetZoomVideo(videoID); };
00585
00595 inline unsigned int APICALL
00596 GetSpeedVideo(const unsigned int videoID = 0x1) const
00597 { return this -> pT -> Video -> GetSpeedVideo(videoID); };
00598
00607 inline unsigned int APICALL
00608 GetRepeatVideo(const unsigned int videoID = 0x1) const
00609 { return this -> pT -> Video -> GetRepeatVideo(videoID); };
00610
00620 inline unsigned long APICALL
00621 GetPositionVideo(const unsigned int videoID = 0x1) const
00622 { return this -> pT -> Video -> GetPositionVideo(videoID); };
00623
00632 inline unsigned long APICALL
00633 GetLengthVideo(const unsigned int videoID = 0x1) const
00634 { return this -> pT -> Video -> GetLengthVideo(videoID); };
00635
00647 inline unsigned long APICALL
00648 GetStartVideo(const unsigned int videoID = 0x1) const
00649 { return this -> pT -> Video -> GetStartVideo(videoID); };
00650
00658 inline unsigned long APICALL
00659 GetEndVideo(const unsigned int videoID = 0x1) const
00660 { return this -> pT -> Video -> GetEndVideo(videoID); };
00661
00662 protected:
00663
00664 IVideoManager *Video;
00665
00666 private:
00667
00668 T *pT;
00669
00670 DISALLOW_COPY_AND_ASSIGN(IVideoManagerImpl);
00671 };
00672
00673
00674
00675 }
00676
00677 #include "close_code.h"
00678
00679 #if _MSC_VER > 1000
00680 #pragma warning(default: 4100)
00681 #endif
00682
00683 #endif // _CE_VIDEOCORE_IMPL_H_