#pragma once #include #include #include "../../DrawData.hpp" #include "../../CanvasComponents/CanvasComponentContainer.hpp" class DrawingProgramLayerListItem; class DrawingProgramLayerManager; class DrawingProgramLayerFolder { public: void draw(SkCanvas* canvas, const DrawData& drawData) const; void set_component_list_callbacks(DrawingProgramLayerManager& layerMan); void get_flattened_component_list(std::vector& objList) const; void set_to_erase(); NetworkingObjects::NetObjWeakPtr get_initial_editing_layer() const; void scale_up(const WorldScalar& scaleUpAmount); NetworkingObjects::NetObjOwnerPtr> folderList; bool isFolderOpen = false; void load_file(cereal::PortableBinaryInputArchive& a, VersionNumber version, DrawingProgramLayerManager& layerMan); void save_file(cereal::PortableBinaryOutputArchive& a) const; void get_used_resources(std::unordered_set& resourceSet) const; void erase_invalid_components(); };