You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* This software is provided 'as-is', without any express or implied *
4
+
* warranty. In no event will the authors be held liable for any damages *
5
+
* arising from the use of this software. *
6
+
* *
7
+
* Permission is granted to anyone to use this software for any purpose, *
8
+
* including commercial applications, and to alter it and redistribute it *
9
+
* freely, subject to the following restrictions: *
10
+
* *
11
+
* 1. The origin of this software must not be misrepresented; you must not *
12
+
* claim that you wrote the original software. If you use this software *
13
+
* in a product, an acknowledgement (see the following) in the product *
14
+
* documentation is required: *
15
+
* Portions Copyright (c) 2019-2025 Griefer@Work *
16
+
* 2. Altered source versions must be plainly marked as such, and must not be *
17
+
* misrepresented as being the original software. *
18
+
* 3. This notice may not be removed or altered from any source distribution. *
19
+
*/
20
+
#ifndef_LIBVIDEO_GFX_BUFFER_RAMBUFFER_H
21
+
#define_LIBVIDEO_GFX_BUFFER_RAMBUFFER_H 1
22
+
23
+
#include"../api.h"
24
+
/**/
25
+
26
+
#include<__stdinc.h>
27
+
28
+
#include<bits/types.h>
29
+
#include<kos/anno.h>
30
+
31
+
#include"../../types.h"
32
+
#include"../buffer.h"
33
+
34
+
#ifdefLIBVIDEO_GFX_EXPOSE_INTERNALS
35
+
#ifdef__CC__
36
+
__DECL_BEGIN
37
+
38
+
structvideo_rambuffer
39
+
#ifdef__cplusplus
40
+
: video_buffer
41
+
#endif/* __cplusplus */
42
+
{
43
+
#ifndef__cplusplus
44
+
structvideo_bufferrb_buffer;
45
+
#endif/* !__cplusplus */
46
+
/* >> vb_ops == &video_rambuffer_ops */
47
+
/* This type is sufficient for doing simple GFX */
48
+
__byte_t*rb_data; /* [1..1][owned][const] Buffer data */
49
+
__size_trb_stride; /* [const] Buffer stride */
50
+
};
51
+
52
+
structvideo_rambuffer_formem
53
+
#ifdef__cplusplus
54
+
: video_rambuffer
55
+
#endif/* __cplusplus */
56
+
{
57
+
#ifndef__cplusplus
58
+
structvideo_rambufferrbfm_rambuffer;
59
+
#endif/* !__cplusplus */
60
+
/* >> vb_ops == &video_rambuffer_formem_ops */
61
+
void (LIBVIDEO_GFX_CC*rbfm_release_mem)(void*__cookie, void*__mem); /* [1..1][const] Callback invoked the first time `rbrv_dummy' is written to `rbrv_data' */
62
+
void*rbfm_release_mem_cookie; /* [?..?][const] Cookie for `rbfm_release_mem' */
0 commit comments