@@ -56,24 +56,30 @@ private:
GLuint sprite_program; ///< Shader program for blending and rendering a sprite to the video buffer.
GLint sprite_sprite_loc; ///< Uniform location for sprite parameters.
GLint sprite_screen_loc; ///< Uniform location for screen size;
GLint sprite_zoom_loc; ///< Uniform location for sprite zoom;
GLint sprite_rgb_loc; ///< Uniform location for RGB mode flag;
GLint sprite_crash_loc; ///< Uniform location for crash remap mode flag;
LRUCache<SpriteID, Sprite> cursor_cache; ///< Cache of encoded cursor sprites.
PaletteID last_sprite_pal = (PaletteID)-1; ///< Last uploaded remap palette.
bool clear_cursor_cache = false; ///< A clear of the cursor cache is pending.
Point cursor_pos; ///< Cursor position
bool cursor_in_window; ///< Cursor inside this window
PalSpriteID cursor_sprite_seq[16]; ///< Current image of cursor
Point cursor_sprite_pos[16]; ///< Relative position of individual cursor sprites
uint cursor_sprite_count; ///< Number of cursor sprites to draw
OpenGLBackend();
~OpenGLBackend();
const char *Init();
bool InitShaders();
void RenderOglSprite(OpenGLSprite *gl_sprite, PaletteID pal, int x, int y, ZoomLevel zoom);
public:
/** Get singleton instance of this class. */
static inline OpenGLBackend *Get()
{