Promote types to a standalone subproject

This commit is contained in:
Drew DeVault 2017-05-31 15:43:13 -04:00
parent fee409bd0a
commit 579909a368
4 changed files with 5 additions and 5 deletions

13
types/CMakeLists.txt Normal file
View file

@ -0,0 +1,13 @@
include_directories(
${PROTOCOLS_INCLUDE_DIRS}
${WAYLAND_INCLUDE_DIR}
)
add_library(wlr-types
wlr_output.c
)
target_link_libraries(wlr-types
wlr-common
${WAYLAND_LIBRARIES}
)

35
types/wlr_output.c Normal file
View file

@ -0,0 +1,35 @@
#include <stdlib.h>
#include <wayland-server.h>
#include "wlr/wayland.h"
#include "wlr/common/list.h"
#include "wayland.h"
struct wlr_output *wlr_output_create(struct wlr_output_impl *impl,
struct wlr_output_state *state) {
struct wlr_output *output = calloc(1, sizeof(struct wlr_output));
output->impl = impl;
output->state = state;
output->modes = list_create();
wl_signal_init(&output->events.frame);
return output;
}
void wlr_output_free(struct wlr_output *output) {
if (!output) return;
if (output->make) free(output->make);
if (output->model) free(output->model);
for (size_t i = 0; output->modes && i < output->modes->length; ++i) {
free(output->modes->items[i]);
}
list_free(output->modes);
output->impl->destroy(output->state);
free(output);
}
bool wlr_output_set_mode(struct wlr_output *output, struct wlr_output_mode *mode) {
return output->impl->set_mode(output->state, mode);
}
void wlr_output_enable(struct wlr_output *output, bool enable) {
output->impl->enable(output->state, enable);
}