PatchworkOS
Loading...
Searching...
No Matches
surface.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
libpatchwork/cmd.h
>
4
#include <
libpatchwork/pixel.h
>
5
#include <
libpatchwork/point.h
>
6
#include <
libpatchwork/rect.h
>
7
#include <
libpatchwork/surface.h
>
8
#include <
sys/io.h
>
9
#include <
sys/list.h
>
10
11
typedef
struct
client
client_t
;
12
13
typedef
struct
timer
14
{
15
timer_flags_t
flags
;
16
clock_t
timeout
;
17
clock_t
deadline
;
18
}
timer_t
;
19
20
typedef
struct
surface
21
{
22
list_entry_t
dwmEntry
;
23
list_entry_t
clientEntry
;
24
client_t
*
client
;
25
point_t
pos
;
26
fd_t
shmem
;
27
pixel_t
*
buffer
;
28
uint32_t
width
;
29
uint32_t
height
;
30
surface_id_t
id
;
31
surface_type_t
type
;
32
timer_t
timer
;
33
surface_flags_t
flags
;
34
char
name[
MAX_NAME
];
35
}
surface_t
;
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
41
surface_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
44
void
surface_free
(
surface_t
* surface);
45
46
void
surface_get_info
(
surface_t
* surface,
surface_info_t
*
info
);
MAX_NAME
#define MAX_NAME
Maximum length of names.
Definition
MAX_NAME.h:11
cmd.h
timer_flags_t
timer_flags_t
Definition
cmd.h:75
surface_type_t
surface_type_t
Surface types.
Definition
surface.h:33
surface_id_t
uint64_t surface_id_t
Definition
surface.h:53
surface_flags_t
surface_flags_t
Surface flags.
Definition
surface.h:48
fd_t
__UINT64_TYPE__ fd_t
A file descriptor.
Definition
fd_t.h:12
clock_t
__UINT64_TYPE__ clock_t
A nanosecond time.
Definition
clock_t.h:13
surface.h
io.h
info
static fb_info_t info
Definition
gop.c:41
list.h
pixel.h
pixel_t
uint32_t pixel_t
Definition
pixel.h:11
point.h
rect.h
surface_new
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
surface_free
void surface_free(surface_t *surface)
Definition
surface.c:57
surface_get_info
void surface_get_info(surface_t *surface, surface_info_t *info)
Definition
surface.c:63
uint32_t
__UINT32_TYPE__ uint32_t
Definition
stdint.h:15
uint64_t
__UINT64_TYPE__ uint64_t
Definition
stdint.h:17
client_t
Definition
client.h:13
list_entry_t
A entry in a doubly linked list.
Definition
list.h:38
point_t
Definition
point.h:12
surface_info_t
Definition
surface.h:57
surface_t
Definition
surface.h:21
surface_t::client
client_t * client
Definition
surface.h:24
surface_t::clientEntry
list_entry_t clientEntry
Definition
surface.h:23
surface_t::buffer
pixel_t * buffer
Definition
surface.h:27
surface_t::shmem
fd_t shmem
Definition
surface.h:26
surface_t::type
surface_type_t type
Definition
surface.h:31
surface_t::height
uint32_t height
Definition
surface.h:29
surface_t::timer
timer_t timer
Definition
surface.h:32
surface_t::width
uint32_t width
Definition
surface.h:28
surface_t::pos
point_t pos
Definition
surface.h:25
surface_t::id
surface_id_t id
Definition
surface.h:30
surface_t::dwmEntry
list_entry_t dwmEntry
Definition
surface.h:22
surface_t::flags
surface_flags_t flags
Definition
surface.h:33
timer_t
Definition
surface.h:14
timer_t::flags
timer_flags_t flags
Definition
surface.h:15
timer_t::timeout
clock_t timeout
Definition
surface.h:16
timer_t::deadline
clock_t deadline
Definition
surface.h:17
src
programs
dwm
surface.h
Generated by
1.9.8