* Added PCX support from Laurent Jacques

git-svn-id: trunk@9319 -
This commit is contained in:
michael 2007-11-23 10:07:20 +00:00
parent 634b5ad2db
commit 12439de612
6 changed files with 565 additions and 96 deletions

3
.gitattributes vendored
View File

@ -4325,12 +4325,14 @@ packages/fcl-image/src/fppixlcanv.pp svneol=native#text/plain
packages/fcl-image/src/fpquantizer.pas svneol=native#text/plain
packages/fcl-image/src/fpreadbmp.pp svneol=native#text/plain
packages/fcl-image/src/fpreadjpeg.pas svneol=native#text/plain
packages/fcl-image/src/fpreadpcx.pas svneol=native#text/plain
packages/fcl-image/src/fpreadpng.pp svneol=native#text/plain
packages/fcl-image/src/fpreadpnm.pp svneol=native#text/plain
packages/fcl-image/src/fpreadtga.pp svneol=native#text/plain
packages/fcl-image/src/fpreadxpm.pp svneol=native#text/plain
packages/fcl-image/src/fpwritebmp.pp svneol=native#text/plain
packages/fcl-image/src/fpwritejpeg.pas svneol=native#text/plain
packages/fcl-image/src/fpwritepcx.pas svneol=native#text/plain
packages/fcl-image/src/fpwritepng.pp svneol=native#text/plain
packages/fcl-image/src/fpwritepnm.pp svneol=native#text/plain
packages/fcl-image/src/fpwritetga.pp svneol=native#text/plain
@ -4339,6 +4341,7 @@ packages/fcl-image/src/freetype.pp svneol=native#text/plain
packages/fcl-image/src/freetypeh.pp svneol=native#text/plain
packages/fcl-image/src/ftfont.pp svneol=native#text/plain
packages/fcl-image/src/imgconv.pp svneol=native#text/plain
packages/fcl-image/src/pcxcomn.pas svneol=native#text/plain
packages/fcl-image/src/pixtools.pp svneol=native#text/plain
packages/fcl-image/src/pngcomn.pp svneol=native#text/plain
packages/fcl-image/src/pscanvas.pp svneol=native#text/plain

View File

@ -1,12 +1,11 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/11/08]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/03/27]
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
BSDs = freebsd netbsd openbsd darwin
UNIXs = linux $(BSDs) solaris qnx
LIMIT83fs = go32v2 os2 emx watcom
OSNeedsComspecToRunBatch = go32v2 watcom
FORCE:
.PHONY: FORCE
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
@ -57,11 +56,6 @@ else
SRCBATCHEXT=.bat
endif
endif
ifdef COMSPEC
ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
RUNBATCH=$(COMSPEC) /C
endif
endif
ifdef inUnix
PATHSEP=/
else
@ -108,11 +102,7 @@ ifndef FPC
FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
ifneq ($(FPCPROG),)
FPCPROG:=$(firstword $(FPCPROG))
ifneq ($(CPU_TARGET),)
FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
else
FPC:=$(shell $(FPCPROG) -PB)
endif
ifneq ($(findstring Error,$(FPC)),)
override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
endif
@ -243,163 +233,160 @@ PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(F
override PACKAGE_NAME=fcl-image
override PACKAGE_VERSION=2.0.0
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),i386-os2)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),i386-beos)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),i386-qnx)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-netware)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),i386-emx)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-wince)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-embedded)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-symbian)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),m68k-embedded)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),sparc-embedded)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),arm-wince)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),arm-gba)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),arm-nds)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),arm-embedded)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),arm-symbian)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation freetypeh freetype ftfont
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
override TARGET_UNITS+=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg pcxcomn fpreadpcx fpwritepcx targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer extinterpolation
endif
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_RSTS+=pscanvas
@ -521,9 +508,6 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_RSTS+=pscanvas
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_RSTS+=pscanvas
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_RSTS+=pscanvas
endif
@ -680,9 +664,6 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_EXAMPLES+=imgconv
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_EXAMPLES+=imgconv
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_EXAMPLES+=imgconv
endif
@ -840,9 +821,6 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_OPTIONS+=-S2h
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_OPTIONS+=-S2h
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override COMPILER_OPTIONS+=-S2h
endif
@ -999,9 +977,6 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_SOURCEDIR+=src
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_SOURCEDIR+=src
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override COMPILER_SOURCEDIR+=src
endif
@ -2067,13 +2042,6 @@ REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL-BASE=1
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL-BASE=1
endif
ifeq ($(FULL_TARGET),x86_64-win64)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASJPEG=1
@ -2329,7 +2297,7 @@ override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
endif
ifndef CROSSBOOTSTRAP
ifneq ($(BINUTILSPREFIX),)
override FPCOPT+=-XP$(BINUTILSPREFIX)
override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
endif
ifneq ($(BINUTILSPREFIX),)
override FPCOPT+=-Xr$(RLINKPATH)
@ -2461,13 +2429,9 @@ ifeq (,$(findstring -s ,$(COMPILER)))
EXECPPAS=
else
ifeq ($(FULL_SOURCE),$(FULL_TARGET))
ifdef RUNBATCH
EXECPPAS:=@$(RUNBATCH) $(PPAS)
else
EXECPPAS:=@$(PPAS)
endif
endif
endif
.PHONY: fpc_units
ifneq ($(TARGET_UNITS),)
override ALLTARGET+=fpc_units
@ -2538,7 +2502,6 @@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %.inc $(COMPILER_INCLUDEDIR)
vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
.PHONY: fpc_shared
@ -2709,12 +2672,8 @@ else
endif
ifdef inUnix
/bin/sh $(ZIPWRAPPER)
else
ifdef RUNBATCH
$(RUNBATCH) (ZIPWRAPPER)
else
$(ZIPWRAPPER)
endif
endif
$(DEL) $(ZIPWRAPPER)
else

View File

@ -10,6 +10,7 @@ version=2.0.0
units=fpimgcmn fpimage pngcomn fpreadpng fpwritepng fpreadxpm fpwritexpm \
clipping fpcanvas pixtools fppixlcanv fpimgcanv pscanvas fpwritebmp \
fpreadbmp bmpcomn fpreadpnm fpwritepnm fpreadjpeg fpwritejpeg \
pcxcomn fpreadpcx fpwritepcx \
targacmn fpreadtga fpwritetga ellipses fpcolhash fpditherer fpquantizer \
extinterpolation
units_win32=freetypeh freetype ftfont

View File

@ -0,0 +1,310 @@
{ Copyright (C) 2007 Laurent Jacques
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program 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 Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Load all format compressed or not
}
unit FPReadPCX;
{$mode objfpc}{$H+}
interface
uses FPImage, Classes, SysUtils, pcxcomn;
type
{ TFPReaderPCX }
TFPReaderPCX = class(TFPCustomImageReader)
private
FCompressed: boolean;
protected
Header: TPCXHeader;
BytesPerPixel: byte;
FScanLine: PByte;
FLineSize: integer;
TotalWrite: longint;
procedure CreateGrayPalette(Img: TFPCustomImage);
procedure CreateBWPalette(Img: TFPCustomImage);
procedure CreatePalette16(Img: TFPCustomImage);
procedure ReadPalette(Stream: TStream; Img: TFPCustomImage);
procedure AnalyzeHeader(Img: TFPCustomImage);
function InternalCheck(Stream: TStream): boolean; override;
procedure InternalRead(Stream: TStream; Img: TFPCustomImage); override;
procedure ReadScanLine(Row: integer; Stream: TStream); virtual;
procedure UpdateProgress(percent: longint);
procedure WriteScanLine(Row: integer; Img: TFPCustomImage); virtual;
public
property Compressed: boolean Read FCompressed;
end;
implementation
procedure TFPReaderPCX.CreatePalette16(Img: TFPCustomImage);
var
I: integer;
c: TFPColor;
begin
Img.UsePalette := True;
Img.Palette.Clear;
for I := 0 to 15 do
begin
with c, header do
begin
Red := ColorMap[I].red shl 8;
Green := ColorMap[I].Green shl 8;
Blue := ColorMap[I].Blue shl 8;
Alpha := alphaOpaque;
end;
Img.Palette.Add(c);
end;
end;
procedure TFPReaderPCX.CreateGrayPalette(Img: TFPCustomImage);
var
I: integer;
c: TFPColor;
begin
Img.UsePalette := True;
Img.Palette.Clear;
for I := 0 to 255 do
begin
with c do
begin
Red := I * 255;
Green := I * 255;
Blue := I * 255;
Alpha := alphaOpaque;
end;
Img.Palette.Add(c);
end;
end;
procedure TFPReaderPCX.CreateBWPalette(Img: TFPCustomImage);
begin
Img.UsePalette := True;
Img.Palette.Clear;
Img.Palette.Add(colBlack);
Img.Palette.Add(colWhite);
end;
procedure TFPReaderPCX.ReadPalette(Stream: TStream; Img: TFPCustomImage);
var
RGBEntry: TRGB;
I: integer;
c: TFPColor;
OldPos: integer;
begin
Img.UsePalette := True;
Img.Palette.Clear;
OldPos := Stream.Position;
Stream.Position := Stream.Size - 768;
for I := 0 to 255 do
begin
Stream.Read(RGBEntry, SizeOf(RGBEntry));
with c do
begin
Red := RGBEntry.Red shl 8;
Green := RGBEntry.Green shl 8;
Blue := RGBEntry.Blue shl 8;
Alpha := alphaOpaque;
end;
Img.Palette.Add(C);
end;
Stream.Position := OldPos;
end;
procedure TFPReaderPCX.AnalyzeHeader(Img: TFPCustomImage);
begin
with Header do
begin
if not ((FileID in [$0A, $0C]) and (ColorPlanes in [1, 3, 4]) and
(Version in [0, 2, 3, 5]) and (PaletteType in [1, 2])) then
raise Exception.Create('Unknown/Unsupported PCX image type');
BytesPerPixel := BitsPerPixel * ColorPlanes;
FCompressed := Encoding = 1;
Img.Width := XMax - XMin + 1;
Img.Height := YMax - YMin + 1;
FLineSize := (BytesPerLine * ColorPlanes);
GetMem(FScanLine, FLineSize);
end;
end;
procedure TFPReaderPCX.ReadScanLine(Row: integer; Stream: TStream);
var
P: PByte;
B: byte;
bytes, Count: integer;
begin
P := FScanLine;
bytes := FLineSize;
Count := 0;
if Compressed then
begin
while bytes > 0 do
begin
if (Count = 0) then
begin
Stream.ReadBuffer(B, 1);
if (B < $c0) then
Count := 1
else
begin
Count := B - $c0;
Stream.ReadBuffer(B, 1);
end;
end;
Dec(Count);
P[0] := B;
Inc(P);
Dec(bytes);
end;
end
else
Stream.ReadBuffer(FScanLine^, FLineSize);
end;
procedure TFPReaderPCX.UpdateProgress(percent: longint);
var
continue: boolean;
Rect: TRect;
begin
Rect.Left := 0;
Rect.Top := 0;
Rect.Right := 0;
Rect.Bottom := 0;
continue := True;
Progress(psRunning, 0, False, Rect, '', continue);
end;
procedure TFPReaderPCX.InternalRead(Stream: TStream; Img: TFPCustomImage);
var
H, Row: integer;
continue: boolean;
Rect: TRect;
begin
TotalWrite := 0;
Rect.Left := 0;
Rect.Top := 0;
Rect.Right := 0;
Rect.Bottom := 0;
continue := True;
Progress(psStarting, 0, False, Rect, '', continue);
Stream.Read(Header, SizeOf(Header));
AnalyzeHeader(Img);
case BytesPerPixel of
1: CreateBWPalette(Img);
4: CreatePalette16(Img);
8: ReadPalette(stream, Img);
else
if (Header.PaletteType = 2) then
CreateGrayPalette(Img);
end;
H := Img.Height;
TotalWrite := Img.Height * Img.Width;
for Row := 0 to H - 1 do
begin
ReadScanLine(Row, Stream);
WriteScanLine(Row, Img);
end;
Progress(psEnding, 100, False, Rect, '', continue);
freemem(FScanLine);
end;
procedure TFPReaderPCX.WriteScanLine(Row: integer; Img: TFPCustomImage);
var
Col: integer;
C: TFPColor;
P, P1, P2, P3: PByte;
Z2: word;
color: byte;
begin
C.Alpha := AlphaOpaque;
P := FScanLine;
Z2 := Header.BytesPerLine;
begin
case BytesPerPixel of
1:
begin
for Col := 0 to Img.Width - 1 do
begin
if (P[col div 8] and (128 shr (col mod 8))) <> 0 then
Img.Colors[Col, Row] := Img.Palette[1]
else
Img.Colors[Col, Row] := Img.Palette[0];
UpdateProgress(trunc(100.0 * (Row * Col / TotalWrite)));
end;
end;
4:
begin
P1 := P;
Inc(P1, Z2);
P2 := P;
Inc(P2, Z2 * 2);
P3 := P;
Inc(P3, Z2 * 3);
for Col := 0 to Img.Width - 1 do
begin
color := 0;
if (P[col div 8] and (128 shr (col mod 8))) <> 0 then
Inc(color, 1);
if (P1[col div 8] and (128 shr (col mod 8))) <> 0 then
Inc(color, 1 shl 1);
if (P2[col div 8] and (128 shr (col mod 8))) <> 0 then
Inc(color, 1 shl 2);
if (P3[col div 8] and (128 shr (col mod 8))) <> 0 then
Inc(color, 1 shl 3);
Img.Colors[Col, Row] := Img.Palette[color];
UpdateProgress(trunc(100.0 * (Row * Col / TotalWrite)));
end;
end;
8:
begin
for Col := 0 to Img.Width - 1 do
begin
Img.Colors[Col, Row] := Img.Palette[P[Col]];
UpdateProgress(trunc(100.0 * (Row * Col / TotalWrite)));
end;
end;
24:
begin
for Col := 0 to Img.Width - 1 do
begin
with C do
begin
Red := P[col] or (P[col] shl 8);
Blue := P[col + Z2 * 2] or (P[col + Z2 * 2] shl 8);
Green := P[col + Z2] or (P[col + Z2] shl 8);
Alpha := alphaOpaque;
end;
Img[col, row] := C;
UpdateProgress(trunc(100.0 * (Row * Col / TotalWrite)));
end;
end;
end;
end;
end;
function TFPReaderPCX.InternalCheck(Stream: TStream): boolean;
begin
Result := True;
end;
initialization
ImageHandlers.RegisterImageReader('PCX Format', 'pcx', TFPReaderPCX);
end.

View File

@ -0,0 +1,156 @@
{ Copyright (C) 2007 Laurent Jacques
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program 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 Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Save in format 24 bits compressed or not
}
unit FPWritePCX;
{$mode objfpc}{$H+}
interface
uses FPImage, Classes, SysUtils;
type
TFPWriterPCX = class(TFPCustomImageWriter)
private
FCompressed: boolean;
protected
function SaveHeader(Stream: TStream; Img: TFPCustomImage): boolean; virtual;
procedure InternalWrite(Stream: TStream; Img: TFPCustomImage); override;
procedure writeline(Stream: TStream; buffer: PByte; bytes: integer);
public
property Compressed: boolean Read FCompressed Write FCompressed;
end;
implementation
uses pcxcomn;
function TFPWriterPCX.SaveHeader(Stream: TStream; Img: TFPCustomImage): boolean;
var
Header: TPCXHeader;
begin
Result := False;
FillChar(Header, SizeOf(Header), 0);
with Header do
begin
FileID := $0a;
Version := 5;
if Compressed then
Encoding := 1
else
Encoding := 0;
BitsPerPixel := 8;
XMin := 0;
YMin := 0;
XMax := Img.Width - 1;
YMax := Img.Height - 1;
HRes := 300;
VRes := 300;
ColorPlanes := 3;
BytesPerLine := Img.Width;
PaletteType := 1;
end;
Stream.WriteBuffer(Header, SizeOf(Header));
Result := True;
end;
procedure TFPWriterPCX.writeline(Stream: TStream; buffer: PByte; bytes: integer);
var
Value, Count: byte;
tmp: byte;
P: PByte;
begin
P := Buffer;
while bytes > 0 do
begin
Value := P[0];
Inc(P);
Dec(bytes);
Count := 1;
while (bytes < 0) and (Count < 63) and (P[0] = Value) do
begin
Inc(Count);
Inc(P);
Dec(bytes);
end;
if (Value < $c0) and (Count = 1) then
begin
Stream.Write(Value, 1);
end
else
begin
tmp := $c0 + Count;
Stream.Write(tmp, 1);
Stream.Write(Value, 1);
end;
end;
end;
procedure TFPWriterPCX.InternalWrite(Stream: TStream; Img: TFPCustomImage);
var
Row, Col, WriteSize: integer;
Aline, P: PByte;
C: TFPColor;
Totalwrite: longint;
continue: boolean;
Rect: TRect;
begin
Rect.Left := 0;
Rect.Top := 0;
Rect.Right := 0;
Rect.Bottom := 0;
continue := True;
TotalWrite := 0;
Progress(psStarting, 0, False, Rect, '', continue);
SaveHeader(Stream, Img);
WriteSize := (Img.Width * 3);
GetMem(aLine, WriteSize);
TotalWrite := Img.Height * Img.Width;
try
for Row := 0 to Img.Height - 1 do
begin
P := ALine;
for Col := 0 to Img.Width - 1 do
begin
C := Img.Colors[Col, Row];
P[Col + Img.Width * 2] := C.Blue shr 8;
P[Col + Img.Width] := C.Green shr 8;
P[Col] := C.Red shr 8;
Progress(psRunning, trunc(100.0 * (Row * Col / TotalWrite)),
False, Rect, '', continue);
if not continue then
exit;
end;
if Compressed then
writeline(Stream, aLine, WriteSize)
else
Stream.Write(aLine[0], WriteSize);
end;
Progress(psEnding, 100, False, Rect, '', continue);
finally
FreeMem(aLine);
end;
end;
{ end TFPWriterPCX}
initialization
ImageHandlers.RegisterImageWriter('PCX Format', 'pcx', TFPWriterPCX);
end.

View File

@ -0,0 +1,40 @@
unit pcxcomn;
{$mode objfpc}{$H+}
interface
type
TRGB = packed record
Red, Green, Blue: byte;
end;
TPCXHeader = record
FileID: byte; // signature $0A fichiers PCX, $CD fichiers SCR
Version: byte; // 0: version 2.5
// 2: 2.8 avec palette
// 3: 2.8 sans palette
// 5: version 3
Encoding: byte; // 0: non compresser
// 1: encodage RLE
BitsPerPixel: byte; // nombre de bits par pixel de l'image: 1, 4, 8, 24
XMin, // abscisse de l'angle supérieur gauche
YMin, // ordonnée de l'angle supérieur gauche
XMax, // abscisse de l'angle inférieur droit
YMax, // ordonnée de l'angle inférieur droit
HRes, // résolution horizontale en dpi
VRes: word; // résolution verticale en dpi
ColorMap: array[0..15] of TRGB; // Palette
Reserved, // Réservé
ColorPlanes: byte; // Nombre de plans de couleur
BytesPerLine, // Nombre de bits par ligne
PaletteType: word; // Type de palette
// 1: couleur ou N/B
// 2: dégradé de gris
Fill: array[0..57] of byte; // Remplissage
end;
implementation
end.