49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
#ifndef KOTTUI_H
|
|
#define KOTTUI_H
|
|
|
|
#include "../materialsystem/imaterialsystem.h"
|
|
#include "../materialsystem/igamewindow.h"
|
|
#include "tier2/iappsystem.h"
|
|
|
|
abstract_class IRenderFont
|
|
{
|
|
public:
|
|
virtual IImage *GetAtlas();
|
|
virtual bool IsLetterPresent( uint32_t letter );
|
|
virtual float GetLetterX( uint32_t letter );
|
|
virtual float GetLetterY( uint32_t letter );
|
|
virtual float GetWidthX( uint32_t letter );
|
|
virtual float GetWidthY( uint32_t letter );
|
|
};
|
|
|
|
abstract_class IKotUIBuffer
|
|
{
|
|
public:
|
|
virtual void SetPosition( int iY, int iX ) = 0;
|
|
|
|
virtual void Move( int iY, int iX ) = 0;
|
|
|
|
virtual void SetColor( char c ) = 0;
|
|
virtual void Clear( char c ) = 0;
|
|
|
|
virtual void PutChar( char c ) = 0;
|
|
virtual void Printf(const char *szFormat, ...) = 0;
|
|
|
|
virtual void Draw( IRenderContext *pRenderContext );
|
|
|
|
virtual void SetTextSize( int iY, int iX ) = 0;
|
|
virtual void SetTextFont( IRenderFont *pFont ) = 0;
|
|
};
|
|
|
|
abstract_class IKotUIManager: public IAppSystem
|
|
{
|
|
public:
|
|
virtual void CreateBuffer( int iWidth, int iHeight ) = 0;
|
|
};
|
|
|
|
IKotUIManager *KotUIManager();
|
|
|
|
#define KOT_UI_INTEFACE_VERSION "KotUI001"
|
|
|
|
#endif
|