Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

ImportableImageI.h

00001 //-------------------------------------------------------------------------
00002 //
00003 // File:        ImportableImageI.h
00004 // Desc:        Importable image interface.
00005 // Author:      memon <memon@inside.org>
00006 //
00007 //-------------------------------------------------------------------------
00008 //  Copyright (c) 2000-2002 Moppi Productions. All Rights Reserved.
00009 //  This file is part of Moppi Demopaja SDK. For conditions of 
00010 //  distribution and use, see the accompanying license.txt file.
00011 //  http://moppi.inside.org/demopaja/
00012 //-------------------------------------------------------------------------
00013 
00014 #ifndef __DEMOPAJA_IMPORTABLEIMAGEI_H__
00015 #define __DEMOPAJA_IMPORTABLEIMAGEI_H__
00016 
00017 
00018 #include "PajaTypes.h"
00019 #include "EditableI.h"
00020 #include "UndoC.h"
00021 #include "LayerC.h"
00022 #include "ImportableI.h"
00023 #include "DeviceInterfaceI.h"
00024 
00025 
00026 namespace PluginClass {
00028 
00030     const PluginClass::SuperClassIdC        SUPERCLASS_IMAGE = PluginClass::SuperClassIdC( 0x2000001 );
00031 };
00032 
00033 namespace Import {
00034 
00036     enum ImagePropertiesE {
00037         IMAGE_RGB = 1,          
00038         IMAGE_ALPHA = 2,        
00039         IMAGE_GREY = 4,         
00040         IMAGE_WRAP = 8,         
00041         IMAGE_CLAMP = 16,       
00042         IMAGE_LINEAR = 32,      
00043         IMAGE_NEAREST = 64,     
00044     };
00045 
00047 
00057     class ImportableImageI : public ImportableI
00058     {
00059     public:
00061         virtual PluginClass::SuperClassIdC      get_super_class_id();
00062 
00064         virtual PajaTypes::float32  get_width() = 0;
00066         virtual PajaTypes::float32  get_height() = 0;
00068         virtual PajaTypes::int32    get_data_width() = 0;
00070         virtual PajaTypes::int32    get_data_height() = 0;
00072         virtual PajaTypes::int32    get_data_pitch() = 0;
00074         virtual PajaTypes::int32    get_data_bpp() = 0;
00076         virtual PajaTypes::uint8*   get_data() = 0;
00078         virtual void                bind_texture( PajaSystem::DeviceInterfaceI* pInterface, PajaTypes::uint32 ui32Properties ) = 0;
00079 
00080     protected:
00082         ImportableImageI();
00084         ImportableImageI( Edit::EditableI* pOriginal );
00086         virtual ~ImportableImageI();
00087 
00088     };
00089 
00090 }; // namespace
00091 
00092 #endif

Moppi Demopaja SDK Documentation -- Copyright © 2000-2002 Moppi Productions