/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ // Original file Copyright Crytek GMBH or its affiliates, used under license. #pragma once #include <vector> #include "Serialization/Strings.h" using Serialization::string; #include "Serialization.h" struct BlockPaletteItem { string name; ColorB color; union { long long userId; void* userPointer; }; std::vector<char> userPayload; BlockPaletteItem() : color(255, 255, 255, 255) , userId(0) { } void Serialize(Serialization::IArchive& ar) { ar(name, "name", "Name"); ar(color, "color", "Color"); ar(userId, "userId", "UserID"); } }; typedef std::vector<BlockPaletteItem> BlockPaletteItems; struct BlockPaletteContent { BlockPaletteItems items; int lineHeight; int padding; BlockPaletteContent() : lineHeight(24) , padding(2) { } void Serialize(Serialization::IArchive& ar) { ar(lineHeight, "lineHeight", "Line Height"); ar(padding, "padding", "Padding"); ar(items, "items", "Items"); } };