Blender V5.0
overlay_base.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "overlay_private.hh"
12
13namespace blender::draw::overlay {
14
22struct Overlay {
29 bool enabled_ = false;
30
46
55 virtual void begin_sync(Resources & /*res*/, const State & /*state*/) = 0;
56
63 virtual void object_sync(Manager & /*manager*/,
64 const ObjectRef & /*ob_ref*/,
65 Resources & /*res*/,
66 const State & /*state*/) {};
67
74 virtual void edit_object_sync(Manager & /*manager*/,
75 const ObjectRef & /*ob_ref*/,
76 Resources & /*res*/,
77 const State & /*state*/) {};
78
83 virtual void end_sync(Resources & /*res*/, const State & /*state*/) {};
84
90 virtual void pre_draw(Manager & /*manager*/, View & /*view*/) {};
91
98
99 virtual void draw_on_render(gpu::FrameBuffer * /*fb*/, Manager & /*manager*/, View & /*view*/) {
100 };
101 virtual void draw(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/) {};
102 virtual void draw_line(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/) {};
103 virtual void draw_line_only(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/) {};
104 virtual void draw_color_only(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/) {};
105 virtual void draw_output(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/) {};
106};
107
108} // namespace blender::draw::overlay
virtual void draw_color_only(Framebuffer &, Manager &, View &)
virtual void draw_line_only(Framebuffer &, Manager &, View &)
virtual void begin_sync(Resources &, const State &)=0
virtual void edit_object_sync(Manager &, const ObjectRef &, Resources &, const State &)
virtual void draw(Framebuffer &, Manager &, View &)
virtual void draw_on_render(gpu::FrameBuffer *, Manager &, View &)
virtual void end_sync(Resources &, const State &)
virtual void draw_output(Framebuffer &, Manager &, View &)
virtual void object_sync(Manager &, const ObjectRef &, Resources &, const State &)
virtual void draw_line(Framebuffer &, Manager &, View &)
virtual void pre_draw(Manager &, View &)