1// Aseprite Document Library
2// Copyright (c) 2001-2015 David Capello
3//
4// This file is released under the terms of the MIT license.
5// Read LICENSE.txt for more information.
6
7#ifndef DOC_USER_DATA_H_INCLUDED
8#define DOC_USER_DATA_H_INCLUDED
9#pragma once
10
11#include "doc/color.h"
12
13#include <string>
14
15namespace doc {
16
17 class UserData {
18 public:
19 UserData() : m_color(0) {
20 }
21
22 size_t size() const { return m_text.size(); }
23 bool isEmpty() const {
24 return m_text.empty() && !doc::rgba_geta(m_color);
25 }
26
27 const std::string& text() const { return m_text; }
28 color_t color() const { return m_color; }
29
30 void setText(const std::string& text) { m_text = text; }
31 void setColor(color_t color) { m_color = color; }
32
33 bool operator==(const UserData& other) const {
34 return (m_text == other.m_text &&
35 m_color == other.m_color);
36 }
37
38 bool operator!=(const UserData& other) const {
39 return !operator==(other);
40 }
41
42 private:
43 std::string m_text;
44 color_t m_color;
45 };
46
47} // namespace doc
48
49#endif
50