Blender V4.3
draw_handle.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2022 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
22#include "draw_shader_shared.hh"
23
24struct Object;
25struct DupliObject;
26
27namespace blender::draw {
28
31
32 ResourceHandle() = default;
33 ResourceHandle(uint raw_) : raw(raw_){};
34 ResourceHandle(uint index, bool inverted_handedness)
35 {
36 raw = index;
37 SET_FLAG_FROM_TEST(raw, inverted_handedness, 0x80000000u);
38 }
39
41 {
42 return (raw & 0x80000000u) != 0;
43 }
44
46 {
47 return (raw & 0x7FFFFFFFu);
48 }
49};
50
51/* TODO(fclem): Move to somewhere more appropriated after cleaning up the header dependencies. */
61
62}; // namespace blender::draw
unsigned int uint
#define SET_FLAG_FROM_TEST(value, test, flag)
DupliObject * dupli_object
ResourceHandle(uint index, bool inverted_handedness)