Fission FSN
Loading...
Searching...
No Matches
fsISpriteRenderData.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsISpriteRenderData.h
4*
5* Purpose: To hold the sprite data sent to the renderer.
6*
7*********************************************************************/
8
9#ifndef fsISpriteRenderDatahdr
10#define fsISpriteRenderDatahdr
11
12#include <memory>
13#include <vector>
14
15#include <fsCore/fsBaseTypes.h>
16#include <fsCore/fsVec2d.h>
17
18#include "fsIVertexRenderData.h"
19
20class fsCMaterial;
21class fsCBrush;
22class fsRect;
23
25{
26public:
27
35
36 // not NVI but saves speed with no double hop for massively called methods...
37 virtual void vertsCopyToImpl(fsS32 pIndex, void* const pImpl) const {}
38 virtual void uvsCopyToImpl(fsS32 pIndex, void* const pImpl) const {}
39 virtual void colourCopyToImpl(void* const pImpl) const {}
40
41 const fsCMaterial* materialGet() const;
42
43 void textureWrapSet();
44
45 void uvScroll(const fsVec2d& pOffest);
46 void polyInfoSet(fsSPolyInfo const& pPolyInfo);
47
48 void widthSet(fsS32 pWidth);
49 void heightSet(fsS32 pHeight);
50
51 void brushSet(std::shared_ptr<fsCBrush> pBrush);
52 void alphaBlendModeSet(fsS32 pAlphaBlendMode);
53
54 void uvsSetFromBrush(std::shared_ptr<fsCBrush> pBrush);
55
56 virtual ~fsISpriteRenderData();
57
58 std::vector<fsVec2d> mUVs;
59
62
63protected:
64
65 void passToEngineRendererDo(fsIRenderer* pRenderer, fsS32 pFirstMaterialIndex, fsS32 pLastMaterialInJob) override;
66 void renderDo() override;
67
68 virtual void polyInfoSetDo(fsSPolyInfo const& pPolyInfo) {}
69 virtual void textureWrapSetDo() {};
70 virtual void uvScrollDo(const fsRect& pOffSet) {}
71 virtual void brushSetDo(std::shared_ptr<fsCBrush> pBrush) {}
72 virtual void widthSetDo(fsS32 pWidth) {}
73 virtual void heightSetDo(fsS32 pHeight) {}
74
75 virtual void alphaBlendModeSetDo(fsS32 pAlphaBlendMode) {}
76
78
79
80private:
81};
82
83
84#endif
Definition fsCBrush.h:26
Definition fsCMaterial.h:25
Definition fsIRenderer.h:73
fsVec2d mUVOffset
Definition fsISpriteRenderData.h:60
void heightSet(fsS32 pHeight)
Definition fsISpriteRenderData.cpp:37
eVertIndexOrder
Definition fsISpriteRenderData.h:29
@ eINDEX_BR
Definition fsISpriteRenderData.h:32
@ eINDEX_TL
Definition fsISpriteRenderData.h:30
@ eINDEX_BL
Definition fsISpriteRenderData.h:31
@ eINDEX_TR
Definition fsISpriteRenderData.h:33
void renderDo() override
Definition fsISpriteRenderData.cpp:22
virtual void colourCopyToImpl(void *const pImpl) const
Definition fsISpriteRenderData.h:39
fsISpriteRenderData()
Definition fsISpriteRenderData.cpp:89
virtual void polyInfoSetDo(fsSPolyInfo const &pPolyInfo)
Definition fsISpriteRenderData.h:68
virtual void uvsCopyToImpl(fsS32 pIndex, void *const pImpl) const
Definition fsISpriteRenderData.h:38
virtual void widthSetDo(fsS32 pWidth)
Definition fsISpriteRenderData.h:72
void passToEngineRendererDo(fsIRenderer *pRenderer, fsS32 pFirstMaterialIndex, fsS32 pLastMaterialInJob) override
Definition fsISpriteRenderData.cpp:16
std::vector< fsVec2d > mUVs
Definition fsISpriteRenderData.h:58
virtual void uvScrollDo(const fsRect &pOffSet)
Definition fsISpriteRenderData.h:70
void alphaBlendModeSet(fsS32 pAlphaBlendMode)
Definition fsISpriteRenderData.cpp:67
void uvScroll(const fsVec2d &pOffest)
Definition fsISpriteRenderData.cpp:47
virtual void vertsCopyToImpl(fsS32 pIndex, void *const pImpl) const
Definition fsISpriteRenderData.h:37
void textureWrapSet()
Definition fsISpriteRenderData.cpp:42
void widthSet(fsS32 pWidth)
Definition fsISpriteRenderData.cpp:32
void uvsSetFromBrush(std::shared_ptr< fsCBrush > pBrush)
Definition fsISpriteRenderData.cpp:73
virtual ~fsISpriteRenderData()
Definition fsISpriteRenderData.cpp:95
virtual void alphaBlendModeSetDo(fsS32 pAlphaBlendMode)
Definition fsISpriteRenderData.h:75
virtual void brushSetDo(std::shared_ptr< fsCBrush > pBrush)
Definition fsISpriteRenderData.h:71
void brushSet(std::shared_ptr< fsCBrush > pBrush)
Definition fsISpriteRenderData.cpp:60
void polyInfoSet(fsSPolyInfo const &pPolyInfo)
Definition fsISpriteRenderData.cpp:11
virtual void heightSetDo(fsS32 pHeight)
Definition fsISpriteRenderData.h:73
virtual void textureWrapSetDo()
Definition fsISpriteRenderData.h:69
fsCMaterial * mMaterial
Definition fsISpriteRenderData.h:61
const fsCMaterial * materialGet() const
Definition fsISpriteRenderData.cpp:27
fsIVertexRenderData()
Definition fsIVertexRenderData.cpp:24
Definition fsRect.h:16
int fsS32
Definition fsBaseTypes.h:20
Definition fsIRenderData.h:44
Definition fsVec2d.h:16