SXXXXXXX_PyBusMonitor1553/cpp/GrifoScope/GrifoSdkEif/pub/inc/GC/GcDisplayExtraInfo.h
2025-12-17 07:59:30 +01:00

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_ */