64 lines
1.8 KiB
C
Raw Normal View History

2021-06-16 18:46:33 +03:00
#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