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

GUIDrawInterfaceI.h

00001 //-------------------------------------------------------------------------
00002 //
00003 // File:        GUIDrawInterfaceI.h
00004 // Desc:        GUI Draw 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_GUIDRAWINTERFACEC_H__
00015 #define __DEMOPAJA_GUIDRAWINTERFACEC_H__
00016 
00017 #define WIN32_LEAN_AND_MEAN
00018 #include <windows.h>
00019 
00020 #include "PajaTypes.h"
00021 #include "BBox2C.h"
00022 #include "ColorC.h"
00023 #include "Vector2C.h"
00024 #include "DeviceInterfaceI.h"
00025 #include "FileIO.h"
00026 
00027 namespace PajaSystem {
00028 
00029     const PluginClass::SuperClassIdC        GRAPHICSDEVICE_GUIDRAW_INTERFACE = PluginClass::SuperClassIdC( 0x3000003 );
00030 
00031 
00033 
00037     class GUIDrawInterfaceI : public DeviceInterfaceI
00038     {
00039     public:
00040 
00041         virtual PluginClass::SuperClassIdC      get_super_class_id() const;
00042         virtual PajaTypes::uint32               save( FileIO::SaveC* pSave );
00043         virtual PajaTypes::uint32               load( FileIO::LoadC* pLoad );
00044 
00046         virtual void    draw_layout( const PajaTypes::ColorC& rLayout ) = 0;
00047 
00049         virtual void    begin_layout() = 0;
00051         virtual void    end_layout() = 0;
00052 
00054         virtual void    use_font( HFONT hFont ) = 0;
00056         virtual void    draw_text( const PajaTypes::Vector2C& rPos, const char* szText ) = 0;
00057 
00059         virtual void    set_color( const PajaTypes::ColorC& rColor ) = 0;
00061         virtual void    set_point_size( PajaTypes::float32 f32Size ) = 0;
00063         virtual void    draw_line( const PajaTypes::Vector2C& rFrom, const PajaTypes::Vector2C& rTo ) = 0;
00065         virtual void    draw_point( const PajaTypes::Vector2C& rPos ) = 0;
00067         virtual void    draw_grid( PajaTypes::float32 f32Width, PajaTypes::float32 f32Height, PajaTypes::float32 f32GridSize ) = 0;
00069         virtual void    draw_selection_box( const PajaTypes::Vector2C& rMin, const PajaTypes::Vector2C& rMax ) = 0;
00071         virtual void    draw_box( const PajaTypes::Vector2C& rMin, const PajaTypes::Vector2C& rMax ) = 0;
00073         virtual void    draw_marker( const PajaTypes::Vector2C& rPos, PajaTypes::float32 f32Size ) = 0;
00074 
00075     protected:
00076         GUIDrawInterfaceI();
00077         virtual ~GUIDrawInterfaceI();
00078 
00079     };
00080 
00081 };  // namespace
00082 
00083 #endif

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