Gnash
0.8.10
|
00001 // TypesParser.h: read SWF types from a stream 00002 // 00003 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 00004 // Free Software Foundation, Inc 00005 // 00006 // This program is free software; you can redistribute it and/or modify 00007 // it under the terms of the GNU General Public License as published by 00008 // the Free Software Foundation; either version 3 of the License, or 00009 // (at your option) any later version. 00010 // 00011 // This program is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU General Public License for more details. 00015 // 00016 // You should have received a copy of the GNU General Public License 00017 // along with this program; if not, write to the Free Software 00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00019 00020 #ifndef GNASH_TYPESPARSER_H 00021 #define GNASH_TYPESPARSER_H 00022 00023 #include <boost/optional.hpp> 00024 00025 #include "SWF.h" 00026 00027 namespace gnash { 00028 class SWFStream; 00029 class SWFMatrix; 00030 class SWFRect; 00031 class SWFCxForm; 00032 class rgba; 00033 class movie_definition; 00034 class FillStyle; 00035 } 00036 00037 namespace gnash { 00038 00040 SWFMatrix readSWFMatrix(SWFStream& in); 00041 00043 rgba readRGBA(SWFStream& in); 00044 00046 rgba readRGB(SWFStream& in); 00047 00049 SWFRect readRect(SWFStream& in); 00050 00052 typedef std::pair<FillStyle, boost::optional<FillStyle> > OptionalFillPair; 00053 00055 // 00057 OptionalFillPair readFills(SWFStream& in, SWF::TagType t, movie_definition& m, 00058 bool readMorph); 00059 00061 SWFCxForm readCxFormRGB(SWFStream& in); 00062 00064 SWFCxForm readCxFormRGBA(SWFStream& in); 00065 00066 } // namespace gnash 00067 00068 #endif