//===========================================================================// // File: l4gauge.hh // // Project: MUNGA Brick: LBE4 Gauge Renderer // // Contents: // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 02/10/95 CPB Initial coding. // // 04/12/95 CPB Moved BuildGraphicsPorts in from RP/BTL4GRND.HPP. // //---------------------------------------------------------------------------// // Copyright (C) 1995, Virtual World Entertainment, Inc. All rights reserved // // PROPRIETARY and CONFIDENTIAL // //===========================================================================// #if !defined(L4GREND_HPP) # define L4GREND_HPP # if !defined(GAUGREND_HPP) # include # endif # if !defined(L4VB16_HPP) # include # endif # if !defined(L4PLASMA_HPP) # include # endif # if !defined(L4GAUIMA_HPP) # include # endif # if !defined(L4WRHOUS_HPP) # include # endif //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ L4GaugeRenderer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class L4GaugeRenderer: public GaugeRenderer { public: //-------------------------------------------------------------------- // Construction, Destruction, Testing //-------------------------------------------------------------------- L4GaugeRenderer(); ~L4GaugeRenderer(); void LocalEmergencyShutdown(); Logical TestInstance() const; //-------------------------------------------------------------------- // Profiling support //-------------------------------------------------------------------- protected: Scalar GetCurrentFramePercentage(); //-------------------------------------------------------------------- // GraphicsPort methods //-------------------------------------------------------------------- public: void BuildGraphicsPort( int port_number, const char *name, int rotation, int bitAllocation, SVGA16::PaletteID palette_ID, L4GraphicsPort::ChannelEnableID enable_ID, Palette8 *palette ); void RemapGraphicsPort( int port_number, SVGA16::PaletteID palette_ID, L4GraphicsPort::ChannelEnableID enable_ID, Palette8 *palette ); void BuildExternalGraphicsPort( int port_number, const char *name, int bitAllocation ); // //-------------------------------------------------------------------- // 'palette ramping' //-------------------------------------------------------------------- // void FadeToWhite(Scalar number_of_seconds); void FadeToNormal(Scalar number_of_seconds); // //-------------------------------------------------------------------- // Accessors //-------------------------------------------------------------------- // GraphicsDisplay *GetExternalDisplay() { Check(this); return externalDisplay; } // //-------------------------------------------------------------------- // Configuration //-------------------------------------------------------------------- // void ConfigureForModel( const char *configuration_name, Entity *entity ); // //-------------------------------------------------------------------- // ExecuteImplementation //-------------------------------------------------------------------- // protected: void ExecuteForeground(); Logical ExecuteBackgroundDisplayUpdate(); void LoadMissionImplementation( Mission *mission ); virtual void NotifyOfNewInterestingEntity(Entity *entity); virtual void NotifyOfBecomingUninterestingEntity(Entity *entity); void ShutdownImplementation(); void SuspendImplementation(); void ResumeImplementation(); // //-------------------------------------------------------------------- // Video effects //-------------------------------------------------------------------- // public: void SpecialEffect(VideoEffectType type, Scalar duration); protected: void ProcessVideoEffects(); // //-------------------------------------------------------------------- // Protected data //-------------------------------------------------------------------- // protected: Logical palettesAreActive; GraphicsDisplay *graphicsDisplay, *externalDisplay; Logical scrambleVideoFlag; Time scrambleVideoTimeout; }; #endif