PatchworkOS
Loading...
Searching...
No Matches
surface.h
Go to the documentation of this file.
1#pragma once
2
3#include <libpatchwork/cmd.h>
6#include <libpatchwork/rect.h>
8#include <sys/io.h>
9#include <sys/list.h>
10
11typedef struct client client_t;
12
19
36
37#define SURFACE_SCREEN_RECT(surface) RECT_INIT_DIM(surface->pos.x, surface->pos.y, surface->width, surface->height)
38
39#define SURFACE_CONTENT_RECT(surface) RECT_INIT_DIM(0, 0, surface->width, surface->height)
40
41surface_t* surface_new(client_t* client, const char* name, const point_t* point, uint64_t width, uint64_t height,
42 surface_type_t type);
43
44void surface_free(surface_t* surface);
45
#define MAX_NAME
Maximum length of names.
Definition MAX_NAME.h:11
timer_flags_t
Definition cmd.h:75
surface_type_t
Surface types.
Definition surface.h:33
uint64_t surface_id_t
Definition surface.h:53
surface_flags_t
Surface flags.
Definition surface.h:48
__UINT64_TYPE__ fd_t
A file descriptor.
Definition fd_t.h:12
__UINT64_TYPE__ clock_t
A nanosecond time.
Definition clock_t.h:13
static fb_info_t info
Definition gop.c:41
uint32_t pixel_t
Definition pixel.h:11
surface_t * surface_new(client_t *client, const char *name, const point_t *point, uint64_t width, uint64_t height, surface_type_t type)
Definition surface.c:14
void surface_free(surface_t *surface)
Definition surface.c:57
void surface_get_info(surface_t *surface, surface_info_t *info)
Definition surface.c:63
__UINT32_TYPE__ uint32_t
Definition stdint.h:15
__UINT64_TYPE__ uint64_t
Definition stdint.h:17
A entry in a doubly linked list.
Definition list.h:38
client_t * client
Definition surface.h:24
list_entry_t clientEntry
Definition surface.h:23
pixel_t * buffer
Definition surface.h:27
fd_t shmem
Definition surface.h:26
surface_type_t type
Definition surface.h:31
uint32_t height
Definition surface.h:29
timer_t timer
Definition surface.h:32
uint32_t width
Definition surface.h:28
point_t pos
Definition surface.h:25
surface_id_t id
Definition surface.h:30
list_entry_t dwmEntry
Definition surface.h:22
surface_flags_t flags
Definition surface.h:33
timer_flags_t flags
Definition surface.h:15
clock_t timeout
Definition surface.h:16
clock_t deadline
Definition surface.h:17