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