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

# GraphicsViewportI.h

    00001 //-------------------------------------------------------------------------
    00002 //
    00003 // File:        GraphicsViewportI.h
    00004 // Desc:        Graphics viewport 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_GRAPHICSVIEWPORTI_H__
    00015 #define __DEMOPAJA_GRAPHICSVIEWPORTI_H__
    00016
    00017 #include "PajaTypes.h"
    00018 #include "DeviceInterfaceI.h"
    00019 #include "Vector2C.h"
    00020 #include "BBox2C.h"
    00021 #include "FileIO.h"
    00022
    00023
    00024 namespace PajaSystem {
    00025
    00026     const PluginClass::SuperClassIdC        GRAPHICSDEVICE_VIEWPORT_INTERFACE = PluginClass::SuperClassIdC( 0, 0x3000002 );
    00027
    00028
    00030
    00034     class GraphicsViewportI : public DeviceInterfaceI
    00035     {
    00036     public:
    00037
    00038         virtual PluginClass::SuperClassIdC      get_super_class_id() const;
    00039         virtual PajaTypes::uint32               save( FileIO::SaveC* pSave );
    00040         virtual PajaTypes::uint32               load( FileIO::LoadC* pLoad );
    00041
    00043
    00052         virtual void                set_perspective( const PajaTypes::BBox2C& rBBox, PajaTypes::float32 f32FOV, PajaTypes::float32 f32Aspect,
    00053                                         PajaTypes::float32 f32ZNear, PajaTypes::float32 f32ZFar ) = 0;
    00054
    00056
    00065         virtual void                set_ortho( const PajaTypes::BBox2C& rBBox,
    00066                                         PajaTypes::float32 f32Left, PajaTypes::float32 f32Right,
    00067                                         PajaTypes::float32 f32Top, PajaTypes::float32 f32Bottom,
    00068                                         PajaTypes::float32 f32ZNear = -1, PajaTypes::float32 f32ZFar = 1 ) = 0;
    00069
    00071
    00084         virtual void                set_ortho_pixel( const PajaTypes::BBox2C& rBBox, PajaTypes::float32 f32ZNear = -1, PajaTypes::float32 f32ZFar = 1 ) = 0;
    00085
    00087         virtual PajaTypes::Vector2C client_to_layout( const PajaTypes::Vector2C& rVec ) = 0;
    00089         virtual PajaTypes::Vector2C layout_to_client( const PajaTypes::Vector2C& rVec ) = 0;
    00091         virtual PajaTypes::Vector2C delta_client_to_layout( const PajaTypes::Vector2C& rVec ) = 0;
    00093         virtual PajaTypes::Vector2C delta_layout_to_client( const PajaTypes::Vector2C& rVec ) = 0;
    00094
    00096         virtual const PajaTypes::BBox2C&    get_viewport() = 0;
    00098         virtual const PajaTypes::BBox2C&    get_layout() = 0;
    00100         virtual PajaTypes::int32            get_width() = 0;
    00102         virtual PajaTypes::int32            get_height() = 0;
    00104         virtual PajaTypes::float32          get_pixel_aspect_ratio() = 0;
    00105
    00107         virtual void                set_pixel_aspect_ratio( PajaTypes::float32 f32PixelAspect ) = 0;
    00109         virtual void                set_dimension( PajaTypes::int32 i32PosX, PajaTypes::int32 i32PosY, PajaTypes::int32 i32Width, PajaTypes::int32 i32Height ) = 0;
    00111         virtual void                set_viewport( const PajaTypes::BBox2C& rViewport ) = 0;
    00113         virtual void                set_layout( const PajaTypes::BBox2C& rLayout ) = 0;
    00114
    00116         virtual void                activate() = 0;
    00117
    00118     protected:
    00120         GraphicsViewportI();
    00122         virtual ~GraphicsViewportI();
    00123     };
    00124
    00125 };
    00126
    00127 #endif // __DEMOPAJA_GRAPHICSVIEWPORTI_H__
    00128