#ifndef IMAGE_H #define IMAGE_H #ifdef _WIN32 #pragma once #endif #include "VGUI.h" #include "Color.h" #include "IImage.h" namespace vgui { class Panel; class Image : public IImage { public: Image(); virtual ~Image(); virtual void SetPos(int x, int y); virtual void GetPos(int& x, int& y); virtual void GetSize(int& wide, int& tall); virtual void GetContentSize(int& wide, int& tall); virtual void SetColor(Color color); virtual void SetBkColor(Color color) { DrawSetColor(color); } virtual Color GetColor(); virtual bool Evict(); virtual int GetNumFrames(); virtual void SetFrame(int nFrame); virtual HTexture GetID(); virtual void SetRotation(int iRotation) { return; }; 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; }; } #endif