Blender V4.5
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(GPUFrameBuffer * /*fb*/, Manager & /*manager*/, View & /*view*/){};
100 virtual void draw(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/){};
101 virtual void draw_line(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/){};
102 virtual void draw_line_only(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/){};
103 virtual void draw_color_only(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/){};
104 virtual void draw_output(Framebuffer & /*fb*/, Manager & /*manager*/, View & /*view*/){};
105};
106
107} // 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(GPUFrameBuffer *, 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 &)