From 9c2b5900c0add01a6fb0cbef234c78eb04ec9ff4 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Mon, 4 Apr 2022 14:00:33 +0200 Subject: Move ImageTileWrapper to BKE. ImageTileWrapper is a wrapper around ImageTile to centralize tile calculations when using CPP. Currentry used by the image engine and will be used for the 3d texturing brush project. --- source/blender/blenkernel/BKE_image_wrappers.hh | 44 +++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 source/blender/blenkernel/BKE_image_wrappers.hh (limited to 'source/blender/blenkernel/BKE_image_wrappers.hh') diff --git a/source/blender/blenkernel/BKE_image_wrappers.hh b/source/blender/blenkernel/BKE_image_wrappers.hh new file mode 100644 index 00000000000..344edd952f8 --- /dev/null +++ b/source/blender/blenkernel/BKE_image_wrappers.hh @@ -0,0 +1,44 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later + * Copyright 2022 Blender Foundation. */ + +/** \file + * \ingroup imbuf + */ + +#pragma once + +#include "DNA_image_types.h" + +#include "BLI_math_vec_types.hh" + +namespace blender::bke::image { + +struct ImageTileWrapper { + ImageTile *image_tile; + ImageTileWrapper(ImageTile *image_tile) : image_tile(image_tile) + { + } + + int get_tile_number() const + { + return image_tile->tile_number; + } + + int2 get_tile_offset() const + { + return int2(get_tile_x_offset(), get_tile_y_offset()); + } + + int get_tile_x_offset() const + { + int tile_number = get_tile_number(); + return (tile_number - 1001) % 10; + } + + int get_tile_y_offset() const + { + int tile_number = get_tile_number(); + return (tile_number - 1001) / 10; + } +}; +} // namespace blender::bke::image -- cgit v1.2.3