80 lines
1.8 KiB
C++
80 lines
1.8 KiB
C++
/*
|
|
* GcDisplayExtraInfo.h
|
|
*
|
|
* Created on: 25/ago/2020
|
|
* Author: chessaa
|
|
*/
|
|
|
|
#ifndef GCDISPLAYEXTRAINFO_H_
|
|
#define GCDISPLAYEXTRAINFO_H_
|
|
|
|
|
|
struct gfd_font256_tag_t;
|
|
struct gfd_framebuffer_struct_t;
|
|
|
|
class GcDisplayExtraInfo;
|
|
|
|
class GcDisplayExtraInfoHandler
|
|
{
|
|
public:
|
|
GcDisplayExtraInfoHandler()
|
|
{
|
|
}
|
|
|
|
|
|
virtual ~GcDisplayExtraInfoHandler()
|
|
{
|
|
}
|
|
|
|
virtual int displayExtraInfo(GcDisplayExtraInfo& d, GcDisplayExtraInfo& ed, void* cookie)=0;
|
|
};
|
|
|
|
class GcDisplayExtraInfo
|
|
{
|
|
public:
|
|
typedef int (*handler_t)(GcDisplayExtraInfo& d, GcDisplayExtraInfo& ed, void* cookie);
|
|
|
|
static GcDisplayExtraInfo& instance();
|
|
static GcDisplayExtraInfo& engInstance();
|
|
|
|
void addVideoFrameHandler(handler_t handler, void* cookie=0);
|
|
void addVideoFrameHandler(GcDisplayExtraInfoHandler& handler);
|
|
|
|
void print_error_c(int col, int row, const char* fmt, ...);
|
|
|
|
void print(int x, int y, const char* fmt, ...);
|
|
void print_c(int col, int row, const char* fmt, ...);
|
|
|
|
void phy_print(int x, int y, const char* fmt, ...);
|
|
void phy_print_c(int col, int row, const char* fmt, ...);
|
|
|
|
void phy_print_small(int x, int y, const char* fmt, ...);
|
|
void phy_print_small_dbg(int x, int y, const char* fmt, ...);
|
|
|
|
void* opaqueFramebuffer();
|
|
void* opaquePhysicalFramebuffer();
|
|
|
|
void color_print(int color, int x, int y, const char* fmt, ...);
|
|
void color_print_c(int color, int col, int row, const char* fmt, ...);
|
|
|
|
gfd_framebuffer_struct_t* frameBuffer() { return sfb;}
|
|
gfd_framebuffer_struct_t* physicalFrameBuffer() { return pfb;}
|
|
|
|
private:
|
|
GcDisplayExtraInfo(int idx);
|
|
|
|
GcDisplayExtraInfo(const GcDisplayExtraInfo&);
|
|
void operator=(const GcDisplayExtraInfo&);
|
|
|
|
const gfd_font256_tag_t* font_normal;
|
|
const gfd_font256_tag_t* font_small;
|
|
|
|
gfd_framebuffer_struct_t* sfb;
|
|
gfd_framebuffer_struct_t* pfb;
|
|
|
|
friend class GcDisplayExtraInfoImplementation;
|
|
};
|
|
|
|
|
|
#endif /* GCDISPLAYEXTRAINFO_H_ */
|