Etterna 0.74.4
Loading...
Searching...
No Matches
MovieTexture.h
1#ifndef MOVIE_TEXTURE_H
2#define MOVIE_TEXTURE_H
3
4#include "RageUtil/Graphics/RageTexture.h"
5#include "arch/RageDriver.h"
6#include <map>
7
8void
9ForceToAscii(std::string& str);
10
12{
13 public:
14 static RageMovieTexture* Create(const RageTextureID& ID);
15
17 : RageTexture(ID)
18 {
19 }
20 ~RageMovieTexture() override = default;
21 void Update(float /* fDeltaTime */) override {}
22
23 void Reload() override = 0;
24
25 void SetPosition(float fSeconds) override = 0;
26 void SetPlaybackRate(float fRate) override = 0;
27 void SetLooping(bool = true) override {}
28
29 bool IsAMovie() const override { return true; }
30
31 static bool GetFourCC(const std::string& fn,
32 std::string& handler,
33 std::string& type);
34};
35
37{
38 public:
39 ~RageMovieTextureDriver() override = default;
40 virtual RageMovieTexture* Create(const RageTextureID& ID,
41 std::string& sError) = 0;
42 static DriverList m_pDriverList;
43};
44
45#define REGISTER_MOVIE_TEXTURE_CLASS(name) \
46 static RegisterRageDriver register_##name( \
47 &RageMovieTextureDriver::m_pDriverList, \
48 #name, \
49 CreateClass<RageMovieTextureDriver_##name, RageDriver>)
50
51#endif
Definition RageDriver.h:7
Definition MovieTexture.h:37
Definition MovieTexture.h:12
Definition RageTexture.h:14
Definition RageDriver.h:17
Definition RageTextureID.h:12