00001 /* 00002 spacegameengine is a portable easy to use game engine written in C++. 00003 Copyright (C) 2006-2007 Carl Philipp Reh (sefi@s-e-f-i.de) 00004 00005 This program is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Lesser General Public License 00007 as published by the Free Software Foundation; either version 2 00008 of the License, or (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU Lesser General Public License for more details. 00014 00015 You should have received a copy of the GNU Lesser General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 */ 00019 00020 00021 #ifndef SGE_RENDERER_TYPES_HPP_INCLUDED 00022 #define SGE_RENDERER_TYPES_HPP_INCLUDED 00023 00024 #include "../export.hpp" 00025 #include "../math/vector.hpp" 00026 #include "../math/dim.hpp" 00027 #include "../math/rect.hpp" 00028 #include "color.hpp" 00029 #include <cstddef> 00030 00031 namespace sge 00032 { 00033 namespace renderer 00034 { 00035 00036 // TODO: further split this header! 00037 00038 namespace bit_depth 00039 { 00040 enum type { 00041 depth16 = 16, 00042 depth32 = 32 00043 }; 00044 } 00045 00046 SGE_SYMBOL unsigned bit_depth_bit_count(bit_depth::type); 00047 00048 typedef int pixel_unit; 00049 typedef unsigned screen_unit; 00050 typedef math::basic_vector<pixel_unit,2> pixel_pos_t; 00051 typedef math::basic_dim<screen_unit,2> screen_size_t; 00052 00053 typedef unsigned multi_sample_type; 00054 00055 typedef math::vector2 tex_pos; 00056 typedef math::rect tex_rect; 00057 typedef math::vector2 pos2; 00058 typedef math::vector3 pos3; 00059 00060 typedef std::size_t stage_type; 00061 00062 typedef math::basic_dim<std::size_t, 2> dim_type; 00063 typedef math::basic_rect<std::size_t> lock_rect; // FIXME: use a consistent typedef for std::size_t! 00064 00065 } 00066 } 00067 00068 #endif
1.5.5