//========= 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(); 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