/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
*/
#ifndef TETRAEDGE_GAME_CHARACTERS_SHADOW_H
#define TETRAEDGE_GAME_CHARACTERS_SHADOW_H
#include "tetraedge/game/in_game_scene.h"
namespace Tetraedge {
class InGameScene;
class CharactersShadow {
public:
CharactersShadow();
virtual ~CharactersShadow() {};
void create(InGameScene *scene);
void createTexture(InGameScene *scene);
void destroy();
virtual void draw(InGameScene *scene) = 0;
//void drawTexture(); // empty?
// Make an instance which is correct for the preferred renderer
static CharactersShadow *makeInstance();
protected:
virtual void createInternal() = 0;
virtual void createTextureInternal(InGameScene *scene) = 0;
virtual void deleteTexture() = 0;
uint _glTex;
int _texSize;
TeIntrusivePtr _camera;
static Te3DObject2 *_camTarget;
};
} // end namespace Tetraedge
#endif // TETRAEDGE_GAME_CHARACTERS_SHADOW_H