forked from KolibriOS/kolibrios
1b6868a022
* decoder for animated GIFs * some fixes in PNG and JPEG decoders * internal image representation now allows 15 and 16 bpp (without conversions in decoders) * decoder for TGA, Z80 from Nable git-svn-id: svn://kolibrios.org@1079 a494cfbc-eb01-0410-851d-a64ba20cac60
61 lines
2.7 KiB
HTML
61 lines
2.7 KiB
HTML
;;================================================================================================;;
|
|
;;//// libimg.inc //// (c) mike.dld, 2007-2008, (c) diamond, 2009 ////////////////////////////////;;
|
|
;;================================================================================================;;
|
|
;; ;;
|
|
;; This file is part of Common development libraries (Libs-Dev). ;;
|
|
;; ;;
|
|
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
|
|
;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
|
|
;; of the License, or (at your option) any later version. ;;
|
|
;; ;;
|
|
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
|
|
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
|
|
;; Lesser General Public License for more details. ;;
|
|
;; ;;
|
|
;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
|
|
;; If not, see <http://www.gnu.org/licenses/>. ;;
|
|
;; ;;
|
|
;;================================================================================================;;
|
|
|
|
|
|
struct FormatsTableEntry
|
|
Is dd ?
|
|
Decode dd ?
|
|
Encode dd ?
|
|
ends
|
|
|
|
struct Image
|
|
Checksum dd ? ; ((Width ROL 16) OR Height) XOR Data[0]
|
|
Width dd ?
|
|
Height dd ?
|
|
Next dd ?
|
|
Previous dd ?
|
|
Type dd ? ; one of Image.bppN
|
|
Data dd ?
|
|
Palette dd ? ; used iff Type eq Image.bpp8
|
|
Extended dd ?
|
|
Flags dd ? ; bitfield
|
|
Delay dd ? ; used iff Image.IsAnimated is set in Flags
|
|
ends
|
|
|
|
; values for Image.Type
|
|
; must be consecutive to allow fast switch on Image.Type in support functions
|
|
Image.bpp8 = 1
|
|
Image.bpp24 = 2
|
|
Image.bpp32 = 3
|
|
Image.bpp15 = 4
|
|
Image.bpp16 = 5
|
|
|
|
; bits in Image.Flags
|
|
Image.IsAnimated = 1
|
|
|
|
FLIP_VERTICAL = 0x01
|
|
FLIP_HORIZONTAL = 0x02
|
|
FLIP_BOTH = FLIP_VERTICAL or FLIP_HORIZONTAL
|
|
|
|
ROTATE_90_CW = 0x01
|
|
ROTATE_180 = 0x02
|
|
ROTATE_270_CW = 0x03
|
|
ROTATE_90_CCW = ROTATE_270_CW
|
|
ROTATE_270_CCW = ROTATE_90_CW
|