102 std::vector<OffRendererElementInfo*>::const_iterator info_it =
m_groups[group].begin();
103 for (;info_it !=
m_groups[group].end(); ++info_it) {
115 std::map<std::string, std::vector<OffRendererElementInfo*> >::iterator group_it =
m_groups.begin();
116 for(; group_it !=
m_groups.end(); ++group_it) {
117 std::vector<OffRendererElementInfo*>::const_iterator info_it = group_it->second.begin();
118 for (; info_it != group_it->second.end(); ++info_it) {
138 std::pair<RenderJobMap::iterator, bool> ret =
139 m_targets.insert(std::make_pair(name, rj));
141 return ret.first->second.target;
151 std::pair<RenderJobMap::iterator, bool> ret =
154 return ret.first->second.target;
158 RenderJobMap::iterator it =
m_targets.find(targetname);
160 it->second.ndraws = ndraws;
161 it->second.discard = discard;
168 if (it->second.ndraws != -1) {
169 if (it->second.ndraws <= it->second.lasttime_draw) {
175 if(it->second.ndraws == 0) {
176 it->second.ndraws = -1;
178 it->second.lasttime_draw = 1;
181 ++it->second.lasttime_draw;
Abstract interface for all the renderbackends.
virtual ImagePtr loadBlank(uint32_t width, uint32_t height)
Loads a blank resource.
void addQuad(const std::string &group, Point n1, Point n2, Point n3, Point n4, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255)
void addAnimation(const std::string &group, Point n, AnimationPtr animation)
void resizeImage(const std::string &group, Point n, ImagePtr image, int32_t width, int32_t height)
void setRenderTarget(const std::string &targetname, bool discard, int32_t ndraws=0)
void addVertex(const std::string &group, Point n, int32_t size, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255)
virtual void detachRenderTarget()=0
Detaches current render surface.
static Logger _log(LM_AUDIO)
void addTriangle(const std::string &group, Point n1, Point n2, Point n3, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255)
void addImage(const std::string &group, Point n, ImagePtr image)
void addLine(const std::string &group, Point n1, Point n2, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255)
TargetRenderer(RenderBackend *renderbackend)
Constructor.
static ImageManager * instance()
void addText(const std::string &group, Point n, IFont *font, const std::string &text)
RenderTarget(RenderBackend *rb, const std::string &name, uint32_t width, uint32_t height)
RenderBackend * m_renderbackend
virtual const std::string & getName()
std::map< std::string, std::vector< OffRendererElementInfo * > > m_groups
void addPoint(const std::string &group, Point n, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255)
RenderBackend * m_renderbackend
Pure abstract Font interface.
SharedPtr< RenderTarget > RenderTargetPtr
virtual ~TargetRenderer()
Destructor.
virtual void attachRenderTarget(ImagePtr &img, bool discard)=0
Attaches given image as a new render surface.
~RenderTarget()
Destructor.
RenderTargetPtr createRenderTarget(const std::string &name, uint32_t width, uint32_t height)
Creates render target.