Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
* Copyright 2018 Blender Foundation. All rights reserved. */
|
|
|
|
#pragma once
|
|
|
|
#include "BLI_sys_types.h"
|
|
|
|
/** \file
|
|
* \ingroup bli
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* \return A value of:
|
|
* - < 0: the timer will be removed.
|
|
* - >= 0: the timer will be called again in this number of seconds.
|
|
*/
|
|
typedef double (*BLI_timer_func)(uintptr_t uuid, void *user_data);
|
|
typedef void (*BLI_timer_data_free)(uintptr_t uuid, void *user_data);
|
|
|
|
/* `func(...) < 0`: The timer will be removed.
|
|
* `func(...) >= 0`: The function will be called again in that many seconds. */
|
|
void BLI_timer_register(uintptr_t uuid,
|
|
BLI_timer_func func,
|
|
void *user_data,
|
|
BLI_timer_data_free user_data_free,
|
|
double first_interval,
|
|
bool persistent);
|
|
|
|
bool BLI_timer_is_registered(uintptr_t uuid);
|
|
|
|
/** Returns False when the timer does not exist (anymore). */
|
|
bool BLI_timer_unregister(uintptr_t uuid);
|
|
|
|
/** Execute all registered functions that are due. */
|
|
void BLI_timer_execute(void);
|
|
|
|
void BLI_timer_free(void);
|
|
|
|
/* This function is to be called next to BKE_CB_EVT_LOAD_PRE, to make sure the module
|
|
* is properly configured for the new file. */
|
|
void BLI_timer_on_file_load(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|