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( 0, 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