mirror of
https://github.com/aseprite/aseprite.git
synced 2025-01-26 12:35:33 +00:00
Add doc::write/read_frame_tag()
This commit is contained in:
parent
51a03f27ab
commit
bcf3b47962
@ -25,6 +25,7 @@ add_library(doc-lib
|
|||||||
file/col_file.cpp
|
file/col_file.cpp
|
||||||
file/gpl_file.cpp
|
file/gpl_file.cpp
|
||||||
frame_tag.cpp
|
frame_tag.cpp
|
||||||
|
frame_tag_io.cpp
|
||||||
frame_tags.cpp
|
frame_tags.cpp
|
||||||
image.cpp
|
image.cpp
|
||||||
image_io.cpp
|
image_io.cpp
|
||||||
|
51
src/doc/frame_tag_io.cpp
Normal file
51
src/doc/frame_tag_io.cpp
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
// Aseprite Document Library
|
||||||
|
// Copyright (c) 2001-2015 David Capello
|
||||||
|
//
|
||||||
|
// This file is released under the terms of the MIT license.
|
||||||
|
// Read LICENSE.txt for more information.
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "doc/frame_tag_io.h"
|
||||||
|
|
||||||
|
#include "base/serialization.h"
|
||||||
|
#include "base/unique_ptr.h"
|
||||||
|
#include "doc/frame_tag.h"
|
||||||
|
#include "doc/string_io.h"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
namespace doc {
|
||||||
|
|
||||||
|
using namespace base::serialization;
|
||||||
|
using namespace base::serialization::little_endian;
|
||||||
|
|
||||||
|
void write_frame_tag(std::ostream& os, FrameTag* tag)
|
||||||
|
{
|
||||||
|
std::string name = tag->name();
|
||||||
|
|
||||||
|
write32(os, tag->id());
|
||||||
|
write32(os, tag->fromFrame());
|
||||||
|
write32(os, tag->toFrame());
|
||||||
|
write32(os, tag->color());
|
||||||
|
write_string(os, tag->name());
|
||||||
|
}
|
||||||
|
|
||||||
|
FrameTag* read_frame_tag(std::istream& is)
|
||||||
|
{
|
||||||
|
ObjectId id = read32(is);
|
||||||
|
frame_t from = read32(is);
|
||||||
|
frame_t to = read32(is);
|
||||||
|
color_t color = read32(is);
|
||||||
|
std::string name = read_string(is);
|
||||||
|
|
||||||
|
base::UniquePtr<FrameTag> tag(new FrameTag(from, to));
|
||||||
|
tag->setColor(color);
|
||||||
|
tag->setName(name);
|
||||||
|
tag->setId(id);
|
||||||
|
return tag.release();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
22
src/doc/frame_tag_io.h
Normal file
22
src/doc/frame_tag_io.h
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Aseprite Document Library
|
||||||
|
// Copyright (c) 2001-2015 David Capello
|
||||||
|
//
|
||||||
|
// This file is released under the terms of the MIT license.
|
||||||
|
// Read LICENSE.txt for more information.
|
||||||
|
|
||||||
|
#ifndef DOC_FRAME_TAG_IO_H_INCLUDED
|
||||||
|
#define DOC_FRAME_TAG_IO_H_INCLUDED
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <iosfwd>
|
||||||
|
|
||||||
|
namespace doc {
|
||||||
|
|
||||||
|
class FrameTag;
|
||||||
|
|
||||||
|
void write_frame_tag(std::ostream& os, FrameTag* tag);
|
||||||
|
FrameTag* read_frame_tag(std::istream& is);
|
||||||
|
|
||||||
|
} // namespace doc
|
||||||
|
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user