//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #ifndef IMAGE_H #define IMAGE_H #ifdef _WIN32 #pragma once #endif #include #include #include namespace vgui { class Panel; //----------------------------------------------------------------------------- // Purpose: Basic image control //----------------------------------------------------------------------------- class Image : public IImage { public: Image(); virtual ~Image(); // Set the position of the image virtual void SetPos( int x, int y ); // Get the position of the image virtual void GetPos( int &x, int &y ); // Get the size of the image virtual void GetSize( int &wide, int &tall ); virtual void GetContentSize( int &wide, int &tall ); // Set the draw color virtual void SetColor( Color color ); // set the background color virtual void SetBkColor( Color color ) { DrawSetColor( color ); } // Get the draw color virtual Color GetColor(); virtual bool Evict(); virtual int GetNumFrames(); virtual void SetFrame( int nFrame ); virtual HTexture GetID(); virtual void SetRotation( int iRotation ) { return; }; // Get the size of the image virtual int GetTall(); virtual int GetWide(); protected: virtual void SetSize(int wide, int tall); virtual void DrawSetColor(Color color); virtual void DrawSetColor(int r, int g, int b, int a); virtual void DrawFilledRect(int x0, int y0, int x1, int y1); virtual void DrawOutlinedRect(int x0, int y0, int x1, int y1); virtual void DrawLine(int x0,int y0,int x1,int y1); virtual void DrawPolyLine(int *px, int *py, int numPoints); virtual void DrawSetTextFont(HFont font); virtual void DrawSetTextColor(Color color); virtual void DrawSetTextColor(int r, int g, int b, int a); virtual void DrawSetTextPos(int x,int y); virtual void DrawPrintText(const wchar_t *str, int strlen); virtual void DrawPrintText(int x, int y, const wchar_t *str, int strlen); virtual void DrawPrintChar(wchar_t ch); virtual void DrawPrintChar(int x, int y, wchar_t ch); virtual void DrawSetTexture(int id); virtual void DrawTexturedRect(int x0, int y0, int x1, int y1); virtual void Paint() = 0; private: int _pos[2]; int _size[2]; Color _color; }; } // namespace vgui #endif // IMAGE_H