00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* 00003 * This file is a part of the libzmf project. 00004 * 00005 * This Source Code Form is subject to the terms of the Mozilla Public 00006 * License, v. 2.0. If a copy of the MPL was not distributed with this 00007 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 00008 */ 00009 00010 #ifndef BMITYPES_H_INCLUDED 00011 #define BMITYPES_H_INCLUDED 00012 00013 #include "libzmf_utils.h" 00014 #include "ZMFTypes.h" 00015 #include <vector> 00016 00017 namespace libzmf 00018 { 00019 00020 enum class BMIStreamType 00021 { 00022 UNKNOWN, 00023 BITMAP, 00024 END_OF_FILE 00025 }; 00026 00027 struct BMIOffset 00028 { 00029 BMIStreamType type; 00030 uint32_t start; 00031 uint32_t end; 00032 00033 BMIOffset() 00034 : type(BMIStreamType::UNKNOWN), start(0), end(0) 00035 { } 00036 }; 00037 00038 bool operator==(const BMIOffset &lhs, const BMIOffset &rhs); 00039 bool operator!=(const BMIOffset &lhs, const BMIOffset &rhs); 00040 00041 struct ColorBitmap 00042 { 00043 uint32_t width; 00044 uint32_t height; 00045 std::vector<Color> data; 00046 00047 ColorBitmap() 00048 : width(0), height(0), data() 00049 { } 00050 }; 00051 00052 } 00053 00054 #endif // BMITYPES_H_INCLUDED 00055 00056 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */