Files
test/source/blender/draw/engines/image/image_private.hh
Jeroen Bakker 53eadcc533 ImageEngine: Migrate to new draw manager
Converts the image engine to the new draw manager.
This is an as is migration without just a few tweaks to improve the code.

Pull Request: https://projects.blender.org/blender/blender/pulls/131142
2024-12-02 16:10:02 +01:00

43 lines
958 B
C++

/* SPDX-FileCopyrightText: 2020 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup draw_engine
*/
#pragma once
#include <optional>
#include "BKE_image.hh"
#include "image_state.hh"
#include "image_texture_info.hh"
/* Forward declarations */
extern "C" {
struct Image;
}
/* *********** LISTS *********** */
namespace blender::image_engine {
/**
* Abstract class for a drawing mode of the image engine.
*
* The drawing mode decides how to draw the image on the screen. Each way how to draw would have
* its own subclass. For now there is only a single drawing mode. #DefaultDrawingMode.
*/
class AbstractDrawingMode {
public:
virtual ~AbstractDrawingMode() = default;
virtual void begin_sync() const = 0;
virtual void image_sync(::Image *image, ::ImageUser *iuser) const = 0;
virtual void draw_viewport() const = 0;
virtual void draw_finish() const = 0;
};
} // namespace blender::image_engine