Modules/Sketch3D/private/strokesobject.cpp
2024-03-18 09:55:38 +03:00

42 lines
1.1 KiB
C++

#include "strokesobject.h"
using namespace tp;
using namespace obj;
void StrokesObject::constructor(StrokesObject* self) {
new (&self->mProject) strokes::Project();
}
void StrokesObject::copy(StrokesObject* self, const StrokesObject* in) {
self->mProject = in->mProject;
}
void StrokesObject::destructor(StrokesObject* self) {
self->mProject.~Project();
}
static alni save_size(StrokesObject* self) {
return self->mProject.saveSize();
}
static void save(StrokesObject* self, File& file_self) {
self->mProject.save(file_self);
}
static void load(File& file_self, StrokesObject* self) {
new (&self->mProject) strokes::Project();
self->mProject.load(file_self);
}
struct ObjectType obj::StrokesObject::TypeData = {
.base = NULL,
.constructor = (object_constructor) StrokesObject::constructor,
.destructor = (object_destructor) StrokesObject::destructor,
.copy = (object_copy) StrokesObject::copy,
.size = sizeof(StrokesObject),
.name = "StrokesProject",
.save_size = (object_save_size) save_size,
.save = (object_save) save,
.load = (object_load) load,
};