BMITypes.h
Go to the documentation of this file.
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: */