00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GLUON_ENGINE_TEXTUREASSET_H
00021 #define GLUON_ENGINE_TEXTUREASSET_H
00022
00023 #include <gluon_engine_export.h>
00024 #include <asset.h>
00025
00026 namespace GluonEngine
00027 {
00028 class GLUON_ENGINE_EXPORT MaterialAsset : public Asset
00029 {
00030 Q_OBJECT
00031 Q_INTERFACES( GluonEngine::Asset )
00032 GLUON_OBJECT( GluonEngine::MaterialAsset )
00033
00034 public:
00035 Q_INVOKABLE MaterialAsset( QObject* parent = 0 );
00036 ~MaterialAsset();
00037
00038 virtual QIcon icon() const;
00039
00040 void load();
00041
00042 virtual const QStringList supportedMimeTypes() const;
00043
00044 virtual const QList<AssetTemplate*> templates();
00045
00046 virtual QList<QAction*> actions();
00047
00048 virtual void setName( const QString& newName );
00049
00050 virtual QString childrenToGDL( int indentLevel = 0 ) const;
00051
00052 virtual void sanitize();
00053
00054 public Q_SLOTS:
00055 void createInstance();
00056
00057 private:
00058 class MaterialAssetPrivate;
00059 MaterialAssetPrivate* d;
00060 };
00061 }
00062
00063 Q_DECLARE_METATYPE( GluonEngine::MaterialAsset )
00064 Q_DECLARE_METATYPE( GluonEngine::MaterialAsset* )
00065
00066 #endif // GLUON_ENGINE_TEXTUREASSET_H