/* ==================== pgminimap.h ==================== version 0.0.1 ==================== A minimap that can be displayed on the screen. can be used for Blotchmaker config screen and also on the main screen. comes in definable sizes CHANGELOG: ---------------------- 0.0.1 - August 7, 2003 - first version. works! no bugs to speak of. very nice. TO-DO & EXPANSION LIST ---------------------- - pod colors are not wired up to an Axis class to identify axis-associated colors - widget surface assumes a square map. if a non-square map is in play, you need a proportional non-square widget or you will get disproportionate scaling =============================================================== */ #ifndef PG_MINIMAP_H #define PG_MINIMAP_H #include "paragui.h" #include "pgwidget.h" #include "pgthemewidget.h" #include "pgeventobject.h" #include "../core/pointerhub.h" class PG_MiniMap: public PG_Widget, public PG_EventObject, public PointerHub { public: /** Constructor */ PG_MiniMap(PG_Widget *parent, const PG_Rect &r); /** Destructor */ virtual ~PG_MiniMap(); /** Draws the minimap to the widget surface */ void DrawMap(); /** Draws the minimap to the widgest surface with a visible "bounds box" or hilited rectangle */ void DrawMapWithBounds(int x1, int y1, int x2, int y2); //< zero indexed coords protected: private: // DATA int window_h; //< window height int window_w; //< window width //SDL_Surface* rawmap; // the raw pixel-for-pixel map surface, prior to stretching }; #endif