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

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