#include <functional>
+#include "stb_truetype.h"
+#include "graphicsbuffer.h"
+
namespace IPDF
{
/*
int ViewportWidth() const { return m_viewport_width; }
int ViewportHeight() const { return m_viewport_height; }
+ // Debug Font handling
+ void DebugFontInit(const char *font_name, float font_size = 12);
+ void DebugFontClear();
+ void DebugFontPrint(const char *str);
+ void DebugFontPrintF(const char *fmt, ...);
+
// Handle mouse input.
typedef std::function<void(int x, int y, int button, int wheel)> MouseHandler;
void SetMouseHandler(MouseHandler handler)
void RenderBMP(const char * filename) const;
private:
void ResizeViewport(int width, int height);
+ void DebugFontFlush();
MouseHandler m_mouse_handler;
int m_last_mouse_x;
int m_viewport_height;
SDL_Window *m_window;
SDL_GLContext m_gl_context;
+ stbtt_bakedchar m_debug_font_rects[96];
+ unsigned int m_debug_font_atlas;
+ float m_debug_font_x;
+ float m_debug_font_y;
+ float m_debug_font_size;
+ GraphicsBuffer m_debug_font_vertices;
+ GraphicsBuffer m_debug_font_indices;
+ int m_debug_font_vertex_head;
+ int m_debug_font_index_head;
};
}