initial commit
This commit is contained in:
53
libraries/FastLED/src/fl/dll.h
Normal file
53
libraries/FastLED/src/fl/dll.h
Normal file
@@ -0,0 +1,53 @@
|
||||
#pragma once
|
||||
|
||||
/// @file dll.h
|
||||
/// FastLED dynamic library interface - lightweight header for external callers
|
||||
|
||||
#ifndef FASTLED_BUILD_EXPORTS
|
||||
#define FASTLED_BUILD_EXPORTS 0
|
||||
#endif
|
||||
|
||||
#if FASTLED_BUILD_EXPORTS
|
||||
|
||||
#include "export.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/// Call the sketch's setup() function
|
||||
/// @note This is the C ABI export for external sketch runners
|
||||
FASTLED_EXPORT void sketch_setup(void);
|
||||
|
||||
/// Call the sketch's loop() function
|
||||
/// @note This is the C ABI export for external sketch runners
|
||||
FASTLED_EXPORT void sketch_loop(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
// ================================================================================================
|
||||
// IMPLEMENTATIONS (when building FastLED as shared library)
|
||||
// ================================================================================================
|
||||
|
||||
#ifdef FASTLED_LIBRARY_SHARED
|
||||
|
||||
#ifdef __cplusplus
|
||||
// Forward declarations - provided by sketch
|
||||
extern void setup();
|
||||
extern void loop();
|
||||
|
||||
// Provide implementations for the exported functions
|
||||
FASTLED_EXPORT void sketch_setup() {
|
||||
setup();
|
||||
}
|
||||
|
||||
FASTLED_EXPORT void sketch_loop() {
|
||||
loop();
|
||||
}
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif // FASTLED_LIBRARY_SHARED
|
||||
|
||||
#endif // FASTLED_BUILD_EXPORTS
|
||||
Reference in New Issue
Block a user