Blender V4.3
wm_surface.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
13#pragma once
14
15struct bContext;
16struct GPUContext;
17
18struct wmSurface {
20
21 GHOST_ContextHandle system_gpu_context;
23
25
26 void (*draw)(bContext *);
27 /* To evaluate the surface's depsgraph. Called as part of the main loop. */
30 void (*free_data)(wmSurface *);
31
33 void (*activate)();
35 void (*deactivate)();
36};
37
38/* Create/Free. */
39void wm_surface_add(wmSurface *surface);
40void wm_surface_remove(wmSurface *surface);
41void wm_surfaces_free();
42
43/* Utils. */
44void wm_surfaces_iter(bContext *C, void (*cb)(bContext *, wmSurface *));
45
46/* Evaluation. */
48
49/* Drawing. */
52void wm_surface_set_drawable(wmSurface *surface, bool activate);
#define C
Definition RandGen.cpp:29
struct GPUContext GPUContext
void activate(bool forceActivation=false) const
void(* activate)()
Definition wm_surface.hh:33
GPUContext * blender_gpu_context
Definition wm_surface.hh:22
wmSurface * next
Definition wm_surface.hh:19
void(* draw)(bContext *)
Definition wm_surface.hh:26
GHOST_ContextHandle system_gpu_context
Definition wm_surface.hh:21
void * customdata
Definition wm_surface.hh:24
wmSurface * prev
Definition wm_surface.hh:19
void(* deactivate)()
Definition wm_surface.hh:35
void(* do_depsgraph)(bContext *C)
Definition wm_surface.hh:28
void(* free_data)(wmSurface *)
Definition wm_surface.hh:30
void wm_surface_set_drawable(wmSurface *surface, bool activate)
Definition wm_surface.cc:63
void wm_surface_add(wmSurface *surface)
Definition wm_surface.cc:99
void wm_surface_remove(wmSurface *surface)
void wm_surfaces_free()
void wm_surfaces_do_depsgraph(bContext *C)
Definition wm_surface.cc:44
void wm_surface_reset_drawable()
Definition wm_surface.cc:88
void wm_surface_make_drawable(wmSurface *surface)
Definition wm_surface.cc:78
void wm_surfaces_iter(bContext *C, void(*cb)(bContext *, wmSurface *))
Definition wm_surface.cc:29
void wm_surface_clear_drawable()
Definition wm_surface.cc:49