2 Copyright (C) 2001-2006, William Joseph.
5 This file is part of GtkRadiant.
7 GtkRadiant is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 GtkRadiant is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GtkRadiant; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 #include "ifilesystem.h"
34 #include "modulesystem/singletonmodule.h"
36 class ImageDependencies : public GlobalFileSystemModuleRef {
40 _QERPlugImageTable m_imagetga;
42 typedef _QERPlugImageTable Type;
44 STRING_CONSTANT(Name, "tga");
48 m_imagetga.loadImage = LoadTGA;
51 _QERPlugImageTable *getTable()
57 typedef SingletonModule<ImageTGAAPI> ImageTGAModule;
59 ImageTGAModule g_ImageTGAModule;
63 _QERPlugImageTable m_imagejpg;
65 typedef _QERPlugImageTable Type;
67 STRING_CONSTANT(Name, "jpg");
71 m_imagejpg.loadImage = LoadJPG;
74 _QERPlugImageTable *getTable()
80 typedef SingletonModule<ImageJPGAPI, ImageDependencies> ImageJPGModule;
82 ImageJPGModule g_ImageJPGModule;
86 _QERPlugImageTable m_imagebmp;
88 typedef _QERPlugImageTable Type;
90 STRING_CONSTANT(Name, "bmp");
94 m_imagebmp.loadImage = LoadBMP;
97 _QERPlugImageTable *getTable()
103 typedef SingletonModule<ImageBMPAPI, ImageDependencies> ImageBMPModule;
105 ImageBMPModule g_ImageBMPModule;
109 _QERPlugImageTable m_imagepcx;
111 typedef _QERPlugImageTable Type;
113 STRING_CONSTANT(Name, "pcx");
117 m_imagepcx.loadImage = LoadPCX32;
120 _QERPlugImageTable *getTable()
126 typedef SingletonModule<ImagePCXAPI, ImageDependencies> ImagePCXModule;
128 ImagePCXModule g_ImagePCXModule;
132 _QERPlugImageTable m_imagedds;
134 typedef _QERPlugImageTable Type;
136 STRING_CONSTANT(Name, "dds");
140 m_imagedds.loadImage = LoadDDS;
143 _QERPlugImageTable *getTable()
149 typedef SingletonModule<ImageDDSAPI, ImageDependencies> ImageDDSModule;
151 ImageDDSModule g_ImageDDSModule;
155 _QERPlugImageTable m_imagektx;
157 typedef _QERPlugImageTable Type;
159 STRING_CONSTANT(Name, "ktx");
163 m_imagektx.loadImage = LoadKTX;
166 _QERPlugImageTable *getTable()
172 typedef SingletonModule<ImageKTXAPI, ImageDependencies> ImageKTXModule;
174 ImageKTXModule g_ImageKTXModule;
178 _QERPlugImageTable m_imagecrn;
180 typedef _QERPlugImageTable Type;
182 STRING_CONSTANT(Name, "crn");
186 m_imagecrn.loadImage = LoadCRN;
189 _QERPlugImageTable *getTable()
195 typedef SingletonModule<ImageCRNAPI, ImageDependencies> ImageCRNModule;
197 ImageCRNModule g_ImageCRNModule;
200 extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules(ModuleServer &server)
202 initialiseModule(server);
204 g_ImageTGAModule.selfRegister();
205 g_ImageJPGModule.selfRegister();
206 g_ImageBMPModule.selfRegister();
207 g_ImagePCXModule.selfRegister();
208 g_ImageDDSModule.selfRegister();
209 g_ImageKTXModule.selfRegister();
210 g_ImageCRNModule.selfRegister();