X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Facess2.git;a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2FCSurface.hpp;fp=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2FCSurface.hpp;h=ac20d0f57019b3c0c9a4232601bc3e171446c4a8;hp=0000000000000000000000000000000000000000;hb=845b6f9d90bb87b5e760e4d49aa93b0e003ab750;hpb=67a7fe2bb79eceaf10c572a99bd8345c4e81cf5b diff --git a/Usermode/Applications/axwin4_src/Server/include/CSurface.hpp b/Usermode/Applications/axwin4_src/Server/include/CSurface.hpp new file mode 100644 index 00000000..ac20d0f5 --- /dev/null +++ b/Usermode/Applications/axwin4_src/Server/include/CSurface.hpp @@ -0,0 +1,35 @@ +/* + */ +#ifndef _CSURFACE_H_ +#define _CSURFACE_H_ + +#include +#include "CRect.hpp" + +namespace AxWin { + +class CSurface +{ +public: + CSurface(int x, int y, unsigned int w, unsigned int h); + ~CSurface(); + + uint64_t GetSHMHandle(); + + void Resize(unsigned int new_w, unsigned int new_h); + + void DrawScanline(unsigned int row, unsigned int x_ofs, unsigned int w, const void* data); + void BlendScanline(unsigned int row, unsigned int x_ofs, unsigned int w, const void* data); + void FillScanline(unsigned int row, unsigned int x, unsigned int w, uint32_t colour); + const uint32_t* GetScanline(unsigned int row, unsigned int x_ofs) const; + + CRect m_rect; + uint32_t* m_data; +private: + int m_fd; +}; + +}; // namespace AxWin + +#endif +