mirror of
https://github.com/kovidgoyal/kitty.git
synced 2024-11-15 07:04:31 +03:00
Add a callback glfw can use to request text rendering
This commit is contained in:
parent
f3665ddfab
commit
e92ed67021
2
glfw/glfw3.h
vendored
2
glfw/glfw3.h
vendored
@ -1683,6 +1683,7 @@ typedef void (* GLFWjoystickfun)(int,int);
|
||||
|
||||
typedef void (* GLFWuserdatafun)(unsigned long long, void*);
|
||||
typedef void (* GLFWtickcallback)(void*);
|
||||
typedef void (* GLFWdrawtextfun)(const char *text, uint32_t fg, uint32_t bg, uint8_t *output_buf, size_t width, size_t height, float x_offset, float y_offset);
|
||||
|
||||
/*! @brief Video mode type.
|
||||
*
|
||||
@ -1839,6 +1840,7 @@ GLFWAPI void glfwStopMainLoop(void);
|
||||
GLFWAPI unsigned long long glfwAddTimer(monotonic_t interval, bool repeats, GLFWuserdatafun callback, void * callback_data, GLFWuserdatafun free_callback);
|
||||
GLFWAPI void glfwUpdateTimer(unsigned long long timer_id, monotonic_t interval, bool enabled);
|
||||
GLFWAPI void glfwRemoveTimer(unsigned long long);
|
||||
GLFWAPI GLFWdrawtextfun glfwSetDrawTextFunction(GLFWdrawtextfun function);
|
||||
|
||||
/*! @brief Terminates the GLFW library.
|
||||
*
|
||||
|
7
glfw/init.c
vendored
7
glfw/init.c
vendored
@ -375,3 +375,10 @@ GLFWAPI GLFWapplicationclosefun glfwSetApplicationCloseCallback(GLFWapplicationc
|
||||
_GLFW_SWAP_POINTERS(_glfw.callbacks.application_close, cbfun);
|
||||
return cbfun;
|
||||
}
|
||||
|
||||
GLFWAPI GLFWdrawtextfun glfwSetDrawTextFunction(GLFWdrawtextfun cbfun)
|
||||
{
|
||||
_GLFW_REQUIRE_INIT_OR_RETURN(NULL);
|
||||
_GLFW_SWAP_POINTERS(_glfw.callbacks.draw_text, cbfun);
|
||||
return cbfun;
|
||||
}
|
||||
|
1
glfw/internal.h
vendored
1
glfw/internal.h
vendored
@ -614,6 +614,7 @@ struct _GLFWlibrary
|
||||
GLFWmonitorfun monitor;
|
||||
GLFWjoystickfun joystick;
|
||||
GLFWapplicationclosefun application_close;
|
||||
GLFWdrawtextfun draw_text;
|
||||
} callbacks;
|
||||
|
||||
|
||||
|
3
kitty/glfw-wrapper.c
generated
3
kitty/glfw-wrapper.c
generated
@ -33,6 +33,9 @@ load_glfw(const char* path) {
|
||||
*(void **) (&glfwRemoveTimer_impl) = dlsym(handle, "glfwRemoveTimer");
|
||||
if (glfwRemoveTimer_impl == NULL) fail("Failed to load glfw function glfwRemoveTimer with error: %s", dlerror());
|
||||
|
||||
*(void **) (&glfwSetDrawTextFunction_impl) = dlsym(handle, "glfwSetDrawTextFunction");
|
||||
if (glfwSetDrawTextFunction_impl == NULL) fail("Failed to load glfw function glfwSetDrawTextFunction with error: %s", dlerror());
|
||||
|
||||
*(void **) (&glfwTerminate_impl) = dlsym(handle, "glfwTerminate");
|
||||
if (glfwTerminate_impl == NULL) fail("Failed to load glfw function glfwTerminate with error: %s", dlerror());
|
||||
|
||||
|
5
kitty/glfw-wrapper.h
generated
5
kitty/glfw-wrapper.h
generated
@ -1421,6 +1421,7 @@ typedef void (* GLFWjoystickfun)(int,int);
|
||||
|
||||
typedef void (* GLFWuserdatafun)(unsigned long long, void*);
|
||||
typedef void (* GLFWtickcallback)(void*);
|
||||
typedef void (* GLFWdrawtextfun)(const char *text, uint32_t fg, uint32_t bg, uint8_t *output_buf, size_t width, size_t height, float x_offset, float y_offset);
|
||||
|
||||
/*! @brief Video mode type.
|
||||
*
|
||||
@ -1606,6 +1607,10 @@ typedef void (*glfwRemoveTimer_func)(unsigned long);
|
||||
GFW_EXTERN glfwRemoveTimer_func glfwRemoveTimer_impl;
|
||||
#define glfwRemoveTimer glfwRemoveTimer_impl
|
||||
|
||||
typedef GLFWdrawtextfun (*glfwSetDrawTextFunction_func)(GLFWdrawtextfun);
|
||||
GFW_EXTERN glfwSetDrawTextFunction_func glfwSetDrawTextFunction_impl;
|
||||
#define glfwSetDrawTextFunction glfwSetDrawTextFunction_impl
|
||||
|
||||
typedef void (*glfwTerminate_func)(void);
|
||||
GFW_EXTERN glfwTerminate_func glfwTerminate_impl;
|
||||
#define glfwTerminate glfwTerminate_impl
|
||||
|
Loading…
Reference in New Issue
Block a user