osci-render/Source/parser/FileParser.h

40 wiersze
1.0 KiB
C
Czysty Zwykły widok Historia

#pragma once
#include "FrameSource.h"
#include "../shape/Shape.h"
#include "../obj/WorldObject.h"
#include "../obj/Camera.h"
#include "../svg/SvgParser.h"
2023-02-05 20:36:51 +00:00
#include "../txt/TextParser.h"
#include "../lua/LuaParser.h"
class FileParser : public FrameSource {
public:
FileParser();
void parse(juce::String extension, std::unique_ptr<juce::InputStream>) override;
std::vector<std::unique_ptr<Shape>> nextFrame() override;
Vector2 nextSample() override;
bool isSample() override;
bool isActive() override;
void disable() override;
void enable() override;
2023-07-04 13:58:36 +00:00
std::shared_ptr<WorldObject> getObject();
std::shared_ptr<Camera> getCamera();
std::shared_ptr<SvgParser> getSvg();
std::shared_ptr<TextParser> getText();
std::shared_ptr<LuaParser> getLua();
private:
bool active = true;
bool sampleSource = false;
juce::SpinLock lock;
2023-02-05 19:36:50 +00:00
std::shared_ptr<WorldObject> object;
std::shared_ptr<Camera> camera;
std::shared_ptr<SvgParser> svg;
2023-02-05 20:36:51 +00:00
std::shared_ptr<TextParser> text;
std::shared_ptr<LuaParser> lua;
};