51 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * format - Haxe File Formats
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *  BMP File Format
							 | 
						||
| 
								 | 
							
								 *  Copyright (C) 2007-2009 Trevor McCauley, Baluta Cristian (hx port) & Robert Sköld (format conversion)
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Copyright (c) 2009, The Haxe Project Contributors
							 | 
						||
| 
								 | 
							
								 * All rights reserved.
							 | 
						||
| 
								 | 
							
								 * Redistribution and use in source and binary forms, with or without
							 | 
						||
| 
								 | 
							
								 * modification, are permitted provided that the following conditions are met:
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *   - Redistributions of source code must retain the above copyright
							 | 
						||
| 
								 | 
							
								 *     notice, this list of conditions and the following disclaimer.
							 | 
						||
| 
								 | 
							
								 *   - Redistributions in binary form must reproduce the above copyright
							 | 
						||
| 
								 | 
							
								 *     notice, this list of conditions and the following disclaimer in the
							 | 
						||
| 
								 | 
							
								 *     documentation and/or other materials provided with the distribution.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * THIS SOFTWARE IS PROVIDED BY THE HAXE PROJECT CONTRIBUTORS "AS IS" AND ANY
							 | 
						||
| 
								 | 
							
								 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
							 | 
						||
| 
								 | 
							
								 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
							 | 
						||
| 
								 | 
							
								 * DISCLAIMED. IN NO EVENT SHALL THE HAXE PROJECT CONTRIBUTORS BE LIABLE FOR
							 | 
						||
| 
								 | 
							
								 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
							 | 
						||
| 
								 | 
							
								 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
							 | 
						||
| 
								 | 
							
								 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
							 | 
						||
| 
								 | 
							
								 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
							 | 
						||
| 
								 | 
							
								 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
							 | 
						||
| 
								 | 
							
								 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
							 | 
						||
| 
								 | 
							
								 * DAMAGE.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								package iron.format.bmp;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef Data = {
							 | 
						||
| 
								 | 
							
								    var header : iron.format.bmp.Header;
							 | 
						||
| 
								 | 
							
								    var pixels : haxe.io.Bytes;
							 | 
						||
| 
								 | 
							
								#if (haxe_ver < 4)
							 | 
						||
| 
								 | 
							
								    var colorTable : Null<haxe.io.Bytes>;
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								    var ?colorTable : haxe.io.Bytes;
							 | 
						||
| 
								 | 
							
								#end
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef Header = {
							 | 
						||
| 
								 | 
							
								    var width : Int;          // real width (in pixels)
							 | 
						||
| 
								 | 
							
								    var height : Int;         // real height (in pixels)
							 | 
						||
| 
								 | 
							
								    var paddedStride : Int;   // number of bytes in a stride (including padding)
							 | 
						||
| 
								 | 
							
								    var topToBottom : Bool;   // whether the bitmap is stored top to bottom
							 | 
						||
| 
								 | 
							
								    var bpp : Int;            // bits per pixel
							 | 
						||
| 
								 | 
							
								    var dataLength : Int;     // equal to `paddedStride` * `height`
							 | 
						||
| 
								 | 
							
								    var compression : Int;    // which compression is being used, 0 for no compression
							 | 
						||
| 
								 | 
							
								}
							 |