added font rendering

This commit is contained in:
2026-05-25 01:35:19 +03:00
parent a9766d6dd6
commit f127ac3801
27 changed files with 657 additions and 43 deletions

View File

@@ -5,15 +5,19 @@
#include "../materialsystem/igamewindow.h"
#include "tier2/iappsystem.h"
abstract_class IRenderFont
abstract_class IKotRenderFont
{
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 );
virtual IImage *GetAtlas() = 0;
virtual bool IsLetterPresent( uint32_t letter ) = 0;
virtual float GetLetterX( uint32_t letter ) = 0;
virtual float GetLetterY( uint32_t letter ) = 0;
virtual float GetWidth( uint32_t letter ) = 0;
virtual float GetHeight( uint32_t letter ) = 0;
virtual bool IsMono() = 0;
virtual uint32_t GetLetterWidth() = 0;
virtual uint32_t GetLetterHeight() = 0;
};
abstract_class IKotUIBuffer
@@ -29,18 +33,21 @@ public:
virtual void PutChar( char c ) = 0;
virtual void Printf(const char *szFormat, ...) = 0;
virtual void Draw( IRenderContext *pRenderContext );
virtual void Draw( IImage *pImage ) = 0;
virtual void SetTextSize( int iY, int iX ) = 0;
virtual void SetTextFont( IRenderFont *pFont ) = 0;
virtual void SetTextFont( IKotRenderFont *pFont ) = 0;
};
abstract_class IKotUIManager: public IAppSystem
abstract_class IKotUIManager: public IAppSystem2
{
public:
virtual void CreateBuffer( int iWidth, int iHeight ) = 0;
virtual IKotRenderFont *LoadFont( const char *szPath ) = 0;
virtual IKotUIBuffer *CreateBuffer( int iWidth, int iHeight ) = 0;
virtual void DeleteBuffer( IKotUIBuffer *pBuffer ) = 0;
};
IKotUIManager *KotUIManager();
#define KOT_UI_INTEFACE_VERSION "KotUI001"