Blender  V3.3
wm_surface.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
11 #pragma once
12 
13 struct bContext;
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 typedef struct wmSurface {
20  struct wmSurface *next, *prev;
21 
22  GHOST_ContextHandle ghost_ctx;
24 
25  void *customdata;
26 
27  void (*draw)(struct bContext *);
28  /* To evaluate the surface's depsgraph. Called as part of the main loop. */
29  void (*do_depsgraph)(struct bContext *C);
31  void (*free_data)(struct wmSurface *);
32 
38 
39 /* Create/Free */
42 void wm_surfaces_free(void);
43 
44 /* Utils */
45 void wm_surfaces_iter(struct bContext *C, void (*cb)(struct bContext *, wmSurface *));
46 
47 /* Evaluation. */
48 void wm_surfaces_do_depsgraph(struct bContext *C);
49 
50 /* Drawing */
52 void wm_surface_clear_drawable(void);
54 void wm_surface_reset_drawable(void);
55 
56 #ifdef __cplusplus
57 }
58 #endif
struct GPUContext GPUContext
Definition: GPU_context.h:27
#define C
Definition: RandGen.cpp:25
void activate(bool forceActivation=false) const
SyclQueue void void size_t num_bytes void
struct @211::@212 surface
void(* free_data)(struct wmSurface *)
Definition: wm_surface.h:31
void(* activate)(void)
Definition: wm_surface.h:34
GHOST_ContextHandle ghost_ctx
Definition: wm_surface.h:22
void(* do_depsgraph)(struct bContext *C)
Definition: wm_surface.h:29
void * customdata
Definition: wm_surface.h:25
struct GPUContext * gpu_ctx
Definition: wm_surface.h:23
struct wmSurface * next
Definition: wm_surface.h:20
struct wmSurface * prev
Definition: wm_surface.h:20
void(* draw)(struct bContext *)
Definition: wm_surface.h:27
void(* deactivate)(void)
Definition: wm_surface.h:36
void wm_surface_set_drawable(wmSurface *surface, bool activate)
Definition: wm_surface.c:66
void wm_surface_clear_drawable(void)
Definition: wm_surface.c:52
void wm_surface_reset_drawable(void)
Definition: wm_surface.c:91
void wm_surface_add(wmSurface *surface)
Definition: wm_surface.c:102
void wm_surface_remove(wmSurface *surface)
Definition: wm_surface.c:107
void wm_surfaces_do_depsgraph(struct bContext *C)
Definition: wm_surface.c:47
void wm_surface_make_drawable(wmSurface *surface)
Definition: wm_surface.c:81
void wm_surfaces_free(void)
Definition: wm_surface.c:117
struct wmSurface wmSurface
void wm_surfaces_iter(struct bContext *C, void(*cb)(struct bContext *, wmSurface *))