Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/graphics/render2D/render_2d.h @ 5397

Last change on this file since 5397 was 5397, checked in by bensch, 19 years ago

orxonox/trunk: Elemet2D-drawing better
prevent segfault in setParent with NULL as new Parent in Element2D and PNode

File size: 1.2 KB
Line 
1/*!
2 * @file render_2d.h
3 * @brief Definition of the 2D-rendering engine singleton Class
4 * @todo implement Layer-rendering
5*/
6
7#ifndef _RENDER_2D_H
8#define _RENDER_2D_H
9
10#include "base_object.h"
11#include "element_2d.h"
12// FORWARD DEFINITION
13template <class T> class tList;
14
15//! A default singleton class.
16class Render2D : public BaseObject {
17  friend class Element2D;
18
19  public:
20    virtual ~Render2D();
21    /** @returns a Pointer to the only object of this Class */
22    inline static Render2D* getInstance() { if (!singletonRef) singletonRef = new Render2D();  return singletonRef; };
23
24    void tick(float dt);
25    void draw(unsigned int layer) const;
26
27
28  private:
29    void registerElement2D(Element2D* element2D);
30    void unregisterElement2D(Element2D* element2D);
31    void moveToLayer(Element2D* element2D, E2D_LAYER to);
32
33
34    Render2D();
35    static Render2D*              singletonRef;                    //!< Reference to this class.
36
37//  tList<Element2D>*             element2DList;                   //!< List of all valid 2D-elements.
38    tList<Element2D>*             element2DList[E2D_LAYER_COUNT];  //!< List of all valid 2D-elements in the different Layers.
39};
40
41#endif /* _RENDER_2D_H */
Note: See TracBrowser for help on using the repository browser.