root/cafu/trunk/CaWE/EditorMaterialDummy.hpp

Revision 457, 2.2 KB (checked in by Carsten, 4 months ago)

Using UltraEdit's multi-line search-and-replace-in-files feature, replaced


^#ifndef _(CAFU|CF|CFS|CA)_(.*)_$
^#define _\1_\2_$

with

#ifndef CAFU_\2_INCLUDED
#define CAFU_\2_INCLUDED

and


^#ifndef _(.*)_HPP_$
^#define _\1_HPP_$

with

#ifndef CAFU_\1_HPP_INCLUDED
#define CAFU_\1_HPP_INCLUDED

Closes #91.

Line 
1/*
2=================================================================================
3This file is part of Cafu, the open-source game engine and graphics engine
4for multiplayer, cross-platform, real-time 3D action.
5Copyright (C) 2002-2012 Carsten Fuchs Software.
6
7Cafu is free software: you can redistribute it and/or modify it under the terms
8of the GNU General Public License as published by the Free Software Foundation,
9either version 3 of the License, or (at your option) any later version.
10
11Cafu is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13PURPOSE. See the GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with Cafu. If not, see <http://www.gnu.org/licenses/>.
17
18For support and more information about Cafu, visit us at <http://www.cafu.de>.
19=================================================================================
20*/
21
22#ifndef CAFU_EDITOR_MATERIAL_DUMMY_HPP_INCLUDED
23#define CAFU_EDITOR_MATERIAL_DUMMY_HPP_INCLUDED
24
25#include "wx/image.h"
26#include "EditorMaterial.hpp"
27
28
29/// The class implements the EditorMaterialI interface.
30/// It is used whenever a map file contains a material name for which
31/// we have no matching material in the MaterialSystems material manager.
32class DummyMaterialT : public EditorMaterialI
33{
34    public:
35
36    DummyMaterialT(const wxString& Name);
37
38    // Instead of 0, return reasonable numbers for the width and height, so that the dummy is properly displayed in the material browser.
39    int GetWidth () const { return 256; }
40    int GetHeight() const { return  64; }
41
42    const wxString& GetName() const { return m_Name; }
43
44    void Draw(wxDC& dc, const wxRect& DestRect, int NameBoxHeight, bool DrawNameBox) const;
45    const wxImage& GetImage() const { static wxImage DummyImage(2, 2); return DummyImage; }
46
47    MatSys::RenderMaterialT* GetRenderMaterial(bool PreviewMode) const;
48    MaterialT* GetMaterial() const;
49    bool IsTranslucent() const { return false; }
50    bool ShowInMaterialBrowser() const { return true; }
51
52
53    protected:
54
55    wxString m_Name;
56};
57
58#endif
Note: See TracBrowser for help on using the browser.