Files
test2/source/blender/editors/include/ED_scene.hh
Falk David 5f721c2e2e Fix: VSE: Scene Strip template ID "new" function not working
In the `Strip` panel in the scene template ID, the "new/duplicate"
operator would duplicate the active scene in the window instead
of the selected scene in the strip.

Pull Request: https://projects.blender.org/blender/blender/pulls/144453
2025-08-12 18:55:26 +02:00

68 lines
1.8 KiB
C++

/* SPDX-FileCopyrightText: 2023 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup editors
*/
#pragma once
#include "BLI_compiler_attrs.h"
#include "BKE_scene.hh"
struct ReportList;
struct bContext;
struct wmWindow;
struct Strip;
Scene *ED_scene_add(Main *bmain, bContext *C, wmWindow *win, eSceneCopyMethod method)
ATTR_NONNULL();
/**
* Add a new scene from the sequence editor.
*/
Scene *ED_scene_sequencer_add(Main *bmain, bContext *C, eSceneCopyMethod method);
/**
* \note Only call outside of area/region loops.
* \return true if successful.
*/
bool ED_scene_delete(bContext *C, Main *bmain, Scene *scene) ATTR_NONNULL();
/**
* Depsgraph updates after scene becomes active in a window.
*/
void ED_scene_change_update(Main *bmain, Scene *scene, ViewLayer *layer) ATTR_NONNULL();
bool ED_scene_view_layer_delete(Main *bmain, Scene *scene, ViewLayer *layer, ReportList *reports)
ATTR_NONNULL(1, 2, 3);
void ED_operatortypes_scene();
/* -------------------------------------------------------------------- */
/** \name Scene FPS Management
* \{ */
struct SceneFPS_State {
float fps_average;
float fps_target;
bool fps_target_is_fractional;
};
/**
* Update frame rate info for viewport drawing.
* \param ltime: Time since the last update,
* compatible with the result of #BLI_time_now_seconds.
*/
void ED_scene_fps_average_accumulate(Scene *scene, short fps_samples, double ltime)
ATTR_NONNULL(1);
/**
* Calculate an average (if it's not already calculated).
* \return false on failure otherwise all values in `state` are initialized.
*/
bool ED_scene_fps_average_calc(const Scene *scene, SceneFPS_State *r_state) ATTR_NONNULL(1, 2);
/**
* Clear run-time data for accumulating animation playback average times.
*/
void ED_scene_fps_average_clear(Scene *scene) ATTR_NONNULL(1);
/** \} */