18 virtual void Update(
float ) {}
19 virtual void Reload() {}
20 virtual void Invalidate() {
22 [[nodiscard]]
virtual auto GetTexHandle()
const
26 virtual void SetPosition(
float ) {}
27 virtual void DecodeSeconds(
float ) {}
28 virtual void SetPlaybackRate(
float ) {}
29 [[nodiscard]]
virtual auto IsAMovie()
const ->
bool {
return false; }
30 virtual void SetLooping(
bool ) {}
32 [[nodiscard]]
auto GetSourceWidth()
const ->
int {
return m_iSourceWidth; }
33 [[nodiscard]]
auto GetSourceHeight()
const ->
int
35 return m_iSourceHeight;
37 [[nodiscard]]
auto GetTextureWidth()
const ->
int
39 return m_iTextureWidth;
41 [[nodiscard]]
auto GetTextureHeight()
const ->
int
43 return m_iTextureHeight;
45 [[nodiscard]]
auto GetImageWidth()
const ->
int {
return m_iImageWidth; }
46 [[nodiscard]]
auto GetImageHeight()
const ->
int {
return m_iImageHeight; }
48 [[nodiscard]]
auto GetFramesWide()
const ->
int {
return m_iFramesWide; }
49 [[nodiscard]]
auto GetFramesHigh()
const ->
int {
return m_iFramesHigh; }
51 [[nodiscard]]
auto GetSourceFrameWidth()
const ->
int
53 return GetSourceWidth() / GetFramesWide();
55 [[nodiscard]]
auto GetSourceFrameHeight()
const ->
int
57 return GetSourceHeight() / GetFramesHigh();
59 [[nodiscard]]
auto GetTextureFrameWidth()
const ->
int
61 return GetTextureWidth() / GetFramesWide();
63 [[nodiscard]]
auto GetTextureFrameHeight()
const ->
int
65 return GetTextureHeight() / GetFramesHigh();
67 [[nodiscard]]
auto GetImageFrameWidth()
const ->
int
69 return GetImageWidth() / GetFramesWide();
71 [[nodiscard]]
auto GetImageFrameHeight()
const ->
int
73 return GetImageHeight() / GetFramesHigh();
77 [[nodiscard]]
auto GetSourceToImageCoordsRatioX()
const ->
float
79 return float(GetImageWidth()) / GetSourceWidth();
81 [[nodiscard]]
auto GetImageToTexCoordsRatioX()
const ->
float
83 return 1.0F / GetTextureWidth();
85 [[nodiscard]]
auto GetSourceToTexCoordsRatioX()
const ->
float
87 return GetSourceToImageCoordsRatioX() * GetImageToTexCoordsRatioX();
89 [[nodiscard]]
auto GetSourceToImageCoordsRatioY()
const ->
float
91 return float(GetImageHeight()) / GetSourceHeight();
93 [[nodiscard]]
auto GetImageToTexCoordsRatioY()
const ->
float
95 return 1.0F / GetTextureHeight();
97 [[nodiscard]]
auto GetSourceToTexCoordsRatioY()
const ->
float
99 return GetSourceToImageCoordsRatioY() * GetImageToTexCoordsRatioY();
102 [[nodiscard]]
auto GetTextureCoordRect(
int frameNo)
const ->
const RectF*;
103 [[nodiscard]]
auto GetNumFrames()
const ->
int
105 return m_iFramesWide * m_iFramesHigh;
110 [[nodiscard]]
auto GetPolicy()
const ->
const RageTextureID::TexPolicy&
114 auto GetPolicy() -> RageTextureID::TexPolicy& {
return m_ID.Policy; }
120 [[nodiscard]]
auto GetID()
const ->
const RageTextureID& {
return m_ID; }
122 static void GetFrameDimensionsFromFileName(
const std::string& sPath,
125 int source_width = 0,
126 int source_height = 0);
128 virtual auto GetAverageColor(
unsigned increment = 1)
const ->
const RageColor;
131 virtual void PushSelf(lua_State* L);
143 int m_iImageWidth, m_iImageHeight;
144 int m_iFramesWide, m_iFramesHigh;
146 std::vector<RectF> m_TextureCoordRects;
149 virtual void CreateFrameRects();
Definition RageTexture.h:14
Definition RageTextureID.h:12