FlightGear next
canvas_mgr.hxx
Go to the documentation of this file.
1// Canvas with 2D rendering api
2//
3// Copyright (C) 2012 Thomas Geymayer <tomgey@gmail.com>
4//
5// This program is free software; you can redistribute it and/or
6// modify it under the terms of the GNU General Public License as
7// published by the Free Software Foundation; either version 2 of the
8// License, or (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful, but
11// WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13// General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program; if not, write to the Free Software
17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
19#ifndef CANVAS_MGR_H_
20#define CANVAS_MGR_H_
21
22#include <simgear/canvas/CanvasMgr.hxx>
23#include <simgear/props/PropertyBasedMgr.hxx>
24
25class CanvasMgr : public simgear::canvas::CanvasMgr
26{
27public:
28 CanvasMgr();
29 virtual ~CanvasMgr() = default;
30
31 // Subsystem API.
32 void init() override;
33 void shutdown() override;
34
35 // Subsystem identification.
36 static const char* staticSubsystemClassId() { return "Canvas"; }
37
47 unsigned int getCanvasTexId(const simgear::canvas::CanvasPtr& canvas) const;
48
49protected:
50
51 SGPropertyChangeCallback<CanvasMgr> _cb_model_reinit;
52
53 void handleModelReinit(SGPropertyNode*);
54};
55
56#endif /* CANVAS_MGR_H_ */
void handleModelReinit(SGPropertyNode *)
unsigned int getCanvasTexId(const simgear::canvas::CanvasPtr &canvas) const
Get OpenGL texture name for given canvas.
void init() override
void shutdown() override
virtual ~CanvasMgr()=default
static const char * staticSubsystemClassId()
SGPropertyChangeCallback< CanvasMgr > _cb_model_reinit