38 lines
1.3 KiB
C++
38 lines
1.3 KiB
C++
#pragma once
|
|
#include "cereal/archives/portable_binary.hpp"
|
|
#include <include/core/SkColor.h>
|
|
#include <Helpers/ConvertVec.hpp>
|
|
#include <Helpers/NetworkingObjects/NetObjOwnerPtr.hpp>
|
|
#include <Helpers/Serializers.hpp>
|
|
#include <Helpers/VersionNumber.hpp>
|
|
|
|
#include <include/effects/SkRuntimeEffect.h>
|
|
|
|
class DrawingProgram;
|
|
class World;
|
|
|
|
class CanvasTheme {
|
|
public:
|
|
CanvasTheme(World& w);
|
|
void server_init_no_file();
|
|
SkColor4f get_back_color() const;
|
|
const SkColor4f& get_tool_front_color() const;
|
|
void set_back_color(const Vector3f& newBackColor);
|
|
void register_class();
|
|
void read_create_message(cereal::PortableBinaryInputArchive& a);
|
|
void write_create_message(cereal::PortableBinaryOutputArchive& a) const;
|
|
void save_file(cereal::PortableBinaryOutputArchive& a) const;
|
|
void load_file(cereal::PortableBinaryInputArchive& a, VersionNumber version);
|
|
|
|
private:
|
|
void set_tool_front_color(DrawingProgram& drawP);
|
|
struct BackColor {
|
|
Vector3f c;
|
|
template <typename Archive> void serialize(Archive& a) {
|
|
a(c);
|
|
}
|
|
};
|
|
NetworkingObjects::NetObjOwnerPtr<BackColor> backColor;
|
|
SkColor4f toolFrontColor = {1.0f, 1.0f, 1.0f, 1.0f};
|
|
World& world;
|
|
};
|