improve header & macro consistency

This commit is contained in:
Jarcode
2019-09-08 17:08:41 -07:00
parent 0592a422a1
commit d821eeaf0a
5 changed files with 260 additions and 249 deletions

View File

@@ -1,5 +1,10 @@
#ifndef FIFO_H
#define FIFO_H
#include <pthread.h>
#include <stdlib.h>
#include <stdbool.h>
struct audio_data {
volatile float* audio_out_r;
@@ -37,3 +42,5 @@ static inline void register_audio_impl(struct audio_impl* impl) { audio_impls[au
void __attribute__((constructor)) _##N##_construct(void) { \
register_audio_impl(&N##_var); \
}
#endif

View File

@@ -1,6 +1,8 @@
#ifndef GLSL_EXT_H
#define GLSL_EXT_H
#define RHANDLER(name, args, ...) \
({ void _handler(const char* name, void** args) __VA_ARGS__ _handler; })
#include <stdlib.h>
#include <stdbool.h>
struct request_handler {
const char* name;
@@ -44,3 +46,5 @@ struct glsl_ext {
void ext_process(struct glsl_ext* ext, const char* f);
void ext_free (struct glsl_ext* ext);
bool ext_parse_color(const char* hex, size_t elem_sz, float** results);
#endif

View File

@@ -1,3 +1,10 @@
#ifndef PULSE_INPUT_H
#define PULSE_INPUT_H
#include "fifo.h"
void get_pulse_default_sink(struct audio_data* audio);
void* input_pulse(void* data);
#endif

View File

@@ -957,13 +957,15 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
struct gl_sfbo* current = NULL;
size_t t_count = 0;
#define RHANDLER(name, args, ...) \
({ void _handler(const char* name, void** args) __VA_ARGS__ _handler; })
#define WINDOW_HINT(request) \
{ .name = "set" #request, .fmt = "b", \
.handler = RHANDLER(name, args, { gl->wcb->set_##request(*(bool*) args[0]); }) }
struct request_handler handlers[] = {
{
.name = "setopacity", .fmt = "s",
{ .name = "setopacity", .fmt = "s",
.handler = RHANDLER(name, args, {
bool native_opacity = !strcmp("native", (char*) args[0]);
@@ -983,19 +985,16 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
}
})
},
{
.name = "setmirror", .fmt = "b",
{ .name = "setmirror", .fmt = "b",
.handler = RHANDLER(name, args, {
r->mirror_input = *(bool*) args[0];
gl->mirror_input = *(bool*) args[0];
})
},
{
.name = "setfullscreencheck", .fmt = "b",
{ .name = "setfullscreencheck", .fmt = "b",
.handler = RHANDLER(name, args, { gl->check_fullscreen = *(bool*) args[0]; })
},
{
.name = "setbg", .fmt = "s",
{ .name = "setbg", .fmt = "s",
.handler = RHANDLER(name, args, {
float* results[] = {
&gl->clear_color.r,
@@ -1010,8 +1009,7 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
})
},
#ifdef GLAVA_DEBUG
{
.name = "settesteval", .fmt = "s",
{ .name = "settesteval", .fmt = "s",
.handler = RHANDLER(name, args, {
float* results[] = {
&gl->test_eval_color.r,
@@ -1026,8 +1024,7 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
})
},
#endif
{
.name = "setbgf", .fmt = "ffff",
{ .name = "setbgf", .fmt = "ffff",
.handler = RHANDLER(name, args, {
gl->clear_color.r = *(float*) args[0];
gl->clear_color.g = *(float*) args[1];
@@ -1035,8 +1032,7 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
gl->clear_color.a = *(float*) args[3];
})
},
{
.name = "mod", .fmt = "s",
{ .name = "mod", .fmt = "s",
.handler = RHANDLER(name, args, {
if (loading_module) {
if (module != NULL) free((char*) module);
@@ -1047,8 +1043,7 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
}
})
},
{
.name = "nativeonly", .fmt = "b",
{ .name = "nativeonly", .fmt = "b",
.handler = RHANDLER(name, args, {
fprintf(stderr, "WARNING: `nativeonly` is deprecated, use `#if PREMULTIPLY_ALPHA == 1`!\n");
if (current)
@@ -1063,15 +1058,13 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
WINDOW_HINT(decorated),
WINDOW_HINT(focused),
WINDOW_HINT(maximized),
{
.name = "setversion", .fmt = "ii",
{ .name = "setversion", .fmt = "ii",
.handler = RHANDLER(name, args, {
context_version_major = *(int*) args[0];
context_version_minor = *(int*) args[1];
})
},
{
.name = "setgeometry", .fmt = "iiii",
{ .name = "setgeometry", .fmt = "iiii",
.handler = RHANDLER(name, args, {
gl->geometry[0] = *(int*) args[0];
gl->geometry[1] = *(int*) args[1];
@@ -1079,8 +1072,7 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
gl->geometry[3] = *(int*) args[3];
})
},
{
.name = "addxwinstate", .fmt = "s",
{ .name = "addxwinstate", .fmt = "s",
.handler = RHANDLER(name, args, {
if (!auto_desktop || loading_presets) {
++xwinstates_sz;
@@ -1155,8 +1147,7 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
if (!loading_smooth_pass) gl->fft_cutoff = *(float*) args[0];}) },
{ .name = "timecycle", .fmt = "f",
.handler = RHANDLER(name, args, { gl->timecycle = *(float*) args[0]; }) },
{
.name = "transform", .fmt = "ss",
{ .name = "transform", .fmt = "ss",
.handler = RHANDLER(name, args, {
size_t t;
struct gl_bind* bind = NULL;
@@ -1197,8 +1188,7 @@ struct glava_renderer* rd_new(const char** paths, const char* entry,
++t_count;
})
},
{
.name = "uniform", .fmt = "ss",
{ .name = "uniform", .fmt = "ss",
.handler = RHANDLER(name, args, {
if (!current) {
fprintf(stderr, "Cannot bind uniform '%s' outside of a context"

View File

@@ -4,6 +4,9 @@
#ifndef XWIN_H
#define XWIN_H
#include <stdbool.h>
#include "render.h"
typedef unsigned long int Window;
void xwin_assign_icon_bmp(struct gl_wcb* wcb, void* impl, const char* path);