Engine directory for ticket #1

This commit is contained in:
DavidWyand-GG 2012-09-19 11:15:01 -04:00
parent 352279af7a
commit 7dbfe6994d
3795 changed files with 1363358 additions and 0 deletions

View file

@ -0,0 +1,184 @@
# ---------------------------------------------------------------------------
!if !$d(BCB)
BCB = $(MAKEDIR)\..
!endif
# ---------------------------------------------------------------------------
# IDE SECTION
# ---------------------------------------------------------------------------
# The following section of the project makefile is managed by the BCB IDE.
# It is recommended to use the IDE to change any of the values in this
# section.
# ---------------------------------------------------------------------------
VERSION = BCB.03
# ---------------------------------------------------------------------------
PROJECT = bogus.exe
OBJFILES = bogus.obj
RESFILES = bogus.res
RESDEPEN = $(RESFILES)
LIBFILES = ..\win32dll\libmng.lib
LIBRARIES =
SPARELIBS =
PACKAGES = vclx35.bpi VCL35.bpi vcldb35.bpi vcldbx35.bpi bcbsmp35.bpi dclocx35.bpi \
Qrpt35.bpi
DEFFILE =
# ---------------------------------------------------------------------------
PATHCPP = .;
PATHASM = .;
PATHPAS = .;
PATHRC = .;
DEBUGLIBPATH = $(BCB)\lib\debug
RELEASELIBPATH = $(BCB)\lib\release
# ---------------------------------------------------------------------------
CFLAG1 = -O2 -w -r- -k -y -v -vi- -c -tWC
CFLAG2 = -D_NO_VCL;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL \
-I..\win32dll;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
CFLAG3 = -Tkh30000
PFLAGS = -D_NO_VCL;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL \
-U..\win32dll;$(BCB)\lib;$(DEBUGLIBPATH) \
-I..\win32dll;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include \
-$Y -$W -$O- -v -JPHN -M
RFLAGS = -D_NO_VCL;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL \
-i..\win32dll;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
AFLAGS = /i..\win32dll /i..\..\..\libmng-devel /i..\..\..\zlib /i..\..\..\jpgsrc6b \
/i..\..\..\lcms /i$(BCB)\include /d_NO_VCL /dMNG_SUPPORT_WRITE \
/dMNG_ACCESS_CHUNKS /dMNG_STORE_CHUNKS /dMNG_NO_CMS /dMNG_USE_DLL /mx /w2 /zd
LFLAGS = -L..\win32dll;$(BCB)\lib;$(DEBUGLIBPATH) -ap -Tpe -x -Gn -v
IFLAGS =
# ---------------------------------------------------------------------------
ALLOBJ = c0x32.obj $(OBJFILES)
ALLRES = $(RESFILES)
ALLLIB = $(LIBFILES) import32.lib cw32mt.lib
# ---------------------------------------------------------------------------
!ifdef IDEOPTIONS
[Version Info]
IncludeVerInfo=1
AutoIncBuild=1
MajorVer=1
MinorVer=0
Release=1
Build=9
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1033
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=Executable (Console)
FileVersion=1.0.1.9
InternalName=bogus
LegalCopyright=copyright (c) 2000,2002 G. Juyn
LegalTrademarks=
OriginalFilename=bogus.exe
ProductName=bogus
ProductVersion=1.0.1
Comments=
[Excluded Packages]
C:\Program Files\Borland\CBuilder3\Bin\DbX35.bpl=(untitled)
[HistoryLists\hlIncludePath]
Count=3
Item0=..\win32dll;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
Item1=..\..\..\libmng-devel;..\..\..\zlib;$(BCB)\include
Item2=..\..\..\libmng;..\..\..\zlib;$(BCB)\include
[HistoryLists\hlLibraryPath]
Count=2
Item0=..\win32dll;$(BCB)\lib
Item1=$(BCB)\lib
[HistoryLists\hlConditionals]
Count=2
Item0=_NO_VCL;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL
Item1=_NO_VCL;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_USE_DLL
[Debugging]
DebugSourceDirs=
[Parameters]
RunParams=
HostApplication=
!endif
# ---------------------------------------------------------------------------
# MAKE SECTION
# ---------------------------------------------------------------------------
# This section of the project file is not used by the BCB IDE. It is for
# the benefit of building from the command-line using the MAKE utility.
# ---------------------------------------------------------------------------
.autodepend
# ---------------------------------------------------------------------------
!if !$d(BCC32)
BCC32 = bcc32
!endif
!if !$d(DCC32)
DCC32 = dcc32
!endif
!if !$d(TASM32)
TASM32 = tasm32
!endif
!if !$d(LINKER)
LINKER = ilink32
!endif
!if !$d(BRCC32)
BRCC32 = brcc32
!endif
# ---------------------------------------------------------------------------
!if $d(PATHCPP)
.PATH.CPP = $(PATHCPP)
.PATH.C = $(PATHCPP)
!endif
!if $d(PATHPAS)
.PATH.PAS = $(PATHPAS)
!endif
!if $d(PATHASM)
.PATH.ASM = $(PATHASM)
!endif
!if $d(PATHRC)
.PATH.RC = $(PATHRC)
!endif
# ---------------------------------------------------------------------------
$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(BCB)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
# ---------------------------------------------------------------------------
.pas.hpp:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.pas.obj:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.cpp.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.c.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.asm.obj:
$(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
.rc.res:
$(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
# ---------------------------------------------------------------------------

View file

@ -0,0 +1,212 @@
/* ************************************************************************** */
/* * * */
/* * COPYRIGHT NOTICE: * */
/* * * */
/* * Copyright (c) 2000,2002 Gerard Juyn (gerard@libmng.com) * */
/* * [You may insert additional notices after this sentence if you modify * */
/* * this source] * */
/* * * */
/* * For the purposes of this copyright and license, "Contributing Authors" * */
/* * is defined as the following set of individuals: * */
/* * * */
/* * Gerard Juyn * */
/* * (hopefully some more to come...) * */
/* * * */
/* * The MNG Library is supplied "AS IS". The Contributing Authors * */
/* * disclaim all warranties, expressed or implied, including, without * */
/* * limitation, the warranties of merchantability and of fitness for any * */
/* * purpose. The Contributing Authors assume no liability for direct, * */
/* * indirect, incidental, special, exemplary, or consequential damages, * */
/* * which may result from the use of the MNG Library, even if advised of * */
/* * the possibility of such damage. * */
/* * * */
/* * Permission is hereby granted to use, copy, modify, and distribute this * */
/* * source code, or portions hereof, for any purpose, without fee, subject * */
/* * to the following restrictions: * */
/* * * */
/* * 1. The origin of this source code must not be misrepresented; * */
/* * you must not claim that you wrote the original software. * */
/* * * */
/* * 2. Altered versions must be plainly marked as such and must not be * */
/* * misrepresented as being the original source. * */
/* * * */
/* * 3. This Copyright notice may not be removed or altered from any source * */
/* * or altered source distribution. * */
/* * * */
/* * The Contributing Authors specifically permit, without fee, and * */
/* * encourage the use of this source code as a component to supporting * */
/* * the MNG and JNG file format in commercial products. If you use this * */
/* * source code in a product, acknowledgment would be highly appreciated. * */
/* * * */
/* ************************************************************************** */
/* * * */
/* * project : bogus * */
/* * file : bogus.cpp copyright (c) 2000,2002 G.Juyn * */
/* * version : 1.0.1 * */
/* * * */
/* * purpose : main project file * */
/* * * */
/* * author : G.Juyn * */
/* * web : http://www.3-t.com * */
/* * email : mailto:info@3-t.com * */
/* * * */
/* * comment : bogus is (quite literally) a bogus sample which creates and* */
/* * writes a totally valid, be it somewhat trivial, MNG-file * */
/* * * */
/* * changes : 0.5.3 - 06/26/2000 - G.Juyn * */
/* * - changed userdata variable to mng_ptr * */
/* * 0.5.3 - 06/28/2000 - G.Juyn * */
/* * - changed memory allocation size parameters to mng_size_t * */
/* * * */
/* * 1.0.1 - 10/07/2002 - G.Juyn * */
/* * - fixed copyright notice * */
/* * - updated MHDR simplicity flag * */
/* * * */
/* ************************************************************************** */
#pragma hdrstop
#include <condefs.h>
#include <stdio.h>
#include <stdlib.h>
#include <mem.h>
#include "libmng.h"
/* ************************************************************************** */
USERES("bogus.res");
USELIB("..\win32dll\libmng.lib");
//---------------------------------------------------------------------------
typedef struct user_struct {
FILE *hFile; /* file handle */
} userdata;
typedef userdata * userdatap;
/* ************************************************************************** */
#define MY_DECL __stdcall /* get the right callback convention */
/* ************************************************************************** */
mng_ptr MY_DECL myalloc (mng_size_t iSize)
{
return (mng_ptr)calloc (1, iSize); /* duh! */
}
/* ************************************************************************** */
#pragma argsused
void MY_DECL myfree (mng_ptr pPtr, mng_size_t iSize)
{
free (pPtr); /* duh! */
return;
}
/* ************************************************************************** */
#pragma argsused
mng_bool MY_DECL myopenstream (mng_handle hMNG)
{
return MNG_TRUE; /* already opened in main function */
}
/* ************************************************************************** */
#pragma argsused
mng_bool MY_DECL myclosestream (mng_handle hMNG)
{
return MNG_TRUE; /* gets closed in main function */
}
/* ************************************************************************** */
mng_bool MY_DECL mywritedata (mng_handle hMNG,
mng_ptr pBuf,
mng_uint32 iSize,
mng_uint32 *iWritten)
{ /* get to my file handle */
userdatap pMydata = (userdatap)mng_get_userdata (hMNG);
/* write it */
*iWritten = fwrite (pBuf, 1, iSize, pMydata->hFile);
/* iWritten will indicate errors */
return MNG_TRUE;
}
/* ************************************************************************** */
int makeimage (char * zFilename)
{
userdatap pMydata;
mng_handle hMNG;
mng_retcode iRC;
/* get a data buffer */
pMydata = (userdatap)calloc (1, sizeof (userdata));
if (pMydata == NULL) /* oke ? */
{
fprintf (stderr, "Cannot allocate a data buffer.\n");
return 1;
}
/* can we open the file ? */
if ((pMydata->hFile = fopen (zFilename, "wb")) == NULL)
{ /* error out if we can't */
fprintf (stderr, "Cannot open output file %s.\n", zFilename);
return 1;
}
/* let's initialize the library */
hMNG = mng_initialize ((mng_ptr)pMydata, myalloc, myfree, MNG_NULL);
if (!hMNG) /* did that work out ? */
{
fprintf (stderr, "Cannot initialize libmng.\n");
iRC = 1;
}
else
{ /* setup callbacks */
if ( ((iRC = mng_setcb_openstream (hMNG, myopenstream )) != 0) ||
((iRC = mng_setcb_closestream (hMNG, myclosestream)) != 0) ||
((iRC = mng_setcb_writedata (hMNG, mywritedata )) != 0) )
fprintf (stderr, "Cannot set callbacks for libmng.\n");
else
{ /* create the file in memory */
if ( ((iRC = mng_create (hMNG) ) != 0) ||
((iRC = mng_putchunk_mhdr (hMNG, 640, 480, 1000, 3, 1, 3, 0x0047) ) != 0) ||
((iRC = mng_putchunk_basi (hMNG, 640, 160, 8, 2, 0, 0, 0, 0xFF, 0x00, 0x00, 0xFF, 1)) != 0) ||
((iRC = mng_putchunk_iend (hMNG) ) != 0) ||
((iRC = mng_putchunk_defi (hMNG, 0, 0, 0, MNG_TRUE, 0, 160, MNG_FALSE, 0, 0, 0, 0 )) != 0) ||
((iRC = mng_putchunk_basi (hMNG, 640, 160, 8, 2, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 1)) != 0) ||
((iRC = mng_putchunk_iend (hMNG) ) != 0) ||
((iRC = mng_putchunk_defi (hMNG, 0, 0, 0, MNG_TRUE, 0, 320, MNG_FALSE, 0, 0, 0, 0 )) != 0) ||
((iRC = mng_putchunk_basi (hMNG, 640, 160, 8, 2, 0, 0, 0, 0x00, 0x00, 0xFF, 0xFF, 1)) != 0) ||
((iRC = mng_putchunk_iend (hMNG) ) != 0) ||
((iRC = mng_putchunk_mend (hMNG) ) != 0) )
fprintf (stderr, "Cannot create the chunks for the image.\n");
else
{
if ((iRC = mng_write (hMNG)) != 0)
fprintf (stderr, "Cannot write the image.\n");
}
}
mng_cleanup (&hMNG); /* cleanup the library */
}
fclose (pMydata->hFile); /* cleanup */
free (pMydata);
return iRC;
}
/* ************************************************************************** */
#pragma argsused
int main (int argc, char *argv[])
{
return makeimage ("dutch.mng");
}
/* ************************************************************************** */

View file

@ -0,0 +1,235 @@
# ---------------------------------------------------------------------------
!if !$d(BCB)
BCB = $(MAKEDIR)\..
!endif
# ---------------------------------------------------------------------------
# IDE SECTION
# ---------------------------------------------------------------------------
# The following section of the project makefile is managed by the BCB IDE.
# It is recommended to use the IDE to change any of the values in this
# section.
# ---------------------------------------------------------------------------
VERSION = BCB.03
# ---------------------------------------------------------------------------
PROJECT = mngrepair.exe
OBJFILES = obj\mngrepair.obj obj\libmng_hlapi.obj obj\libmng_callback_xs.obj \
obj\libmng_prop_xs.obj obj\libmng_chunk_xs.obj obj\libmng_object_prc.obj \
obj\libmng_chunk_prc.obj obj\libmng_chunk_io.obj obj\libmng_read.obj \
obj\libmng_write.obj obj\libmng_display.obj obj\libmng_dither.obj \
obj\libmng_pixels.obj obj\libmng_filter.obj obj\libmng_error.obj \
obj\libmng_trace.obj obj\libmng_cms.obj obj\libmng_zlib.obj obj\libmng_jpeg.obj \
obj\adler32.obj obj\compress.obj obj\crc32.obj obj\deflate.obj obj\infblock.obj \
obj\infcodes.obj obj\inffast.obj obj\inflate.obj obj\inftrees.obj \
obj\infutil.obj obj\trees.obj obj\uncompr.obj obj\zutil.obj
RESFILES = mngrepair.res
RESDEPEN = $(RESFILES)
LIBFILES =
LIBRARIES = VCL35.lib
SPARELIBS = VCL35.lib
PACKAGES = vclx35.bpi VCL35.bpi vcldb35.bpi vcldbx35.bpi bcbsmp35.bpi dclocx35.bpi \
Qrpt35.bpi
DEFFILE =
# ---------------------------------------------------------------------------
PATHCPP = .;..\..;..\..\..\zlib
PATHASM = .;
PATHPAS = .;
PATHRC = .;
DEBUGLIBPATH = $(BCB)\lib\debug
RELEASELIBPATH = $(BCB)\lib\release
# ---------------------------------------------------------------------------
CFLAG1 = -Od -Hc -w -r- -d -k -y -v -vi- -w-par -c -tWC
CFLAG2 = -D_NO_VCL;MNG_SUPPORT_FULL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_INCLUDE_ZLIB;MNG_NO_CMS;MNG_SOFTERRORS \
-I..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\include \
-H=$(BCB)\lib\vcl35.csm
CFLAG3 = -Tkh30000 -ff -5 -wuse -wucp -wstv -wstu -wsig -wpin -wnod -wnak -wdef -wcln \
-wbbf -wasm -wamp -wamb
PFLAGS = -D_NO_VCL;MNG_SUPPORT_FULL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_INCLUDE_ZLIB;MNG_NO_CMS;MNG_SOFTERRORS \
-N2.\obj -N0.\obj \
-U..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\lib;$(RELEASELIBPATH) \
-I..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\include -H -W \
-$Y -$W -$O- -v -JPHN -M
RFLAGS = -D_NO_VCL;MNG_SUPPORT_FULL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_INCLUDE_ZLIB;MNG_NO_CMS;MNG_SOFTERRORS \
-i..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\include
AFLAGS = /i..\..\..\libmng-devel /i..\..\..\zlib /i..\..\..\jpgsrc6b /i$(BCB)\include \
/d_NO_VCL /dMNG_SUPPORT_FULL /dMNG_SUPPORT_READ /dMNG_SUPPORT_WRITE \
/dMNG_ACCESS_CHUNKS /dMNG_STORE_CHUNKS /dMNG_INCLUDE_ZLIB /dMNG_NO_CMS \
/dMNG_SOFTERRORS /mx /w2 /zd
LFLAGS = -L..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\lib;$(RELEASELIBPATH) \
-ap -Tpe -x -Gn -wdef -wdpl -v
IFLAGS =
# ---------------------------------------------------------------------------
ALLOBJ = c0x32.obj $(OBJFILES)
ALLRES = $(RESFILES)
ALLLIB = $(LIBFILES) import32.lib cw32mt.lib
# ---------------------------------------------------------------------------
!ifdef IDEOPTIONS
[Version Info]
IncludeVerInfo=1
AutoIncBuild=1
MajorVer=1
MinorVer=0
Release=0
Build=27
Debug=1
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1033
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=Executable (Console)
FileVersion=1.0.0.27
InternalName=mngrepair
LegalCopyright=copyright (c) 2002 G.Juyn
LegalTrademarks=
OriginalFilename=mngrepair.exe
ProductName=mngrepair
ProductVersion=1.0
Comments=
[Excluded Packages]
C:\Program Files\Borland\CBuilder3\Bin\DbX35.bpl=(untitled)
[HistoryLists\hlIncludePath]
Count=9
Item0=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\include
Item1=..\..\..\libmng-devel;..\..;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\include
Item2=..\..;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\include
Item3=..\..\..\libmng-devel;..\..;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
Item4=..\..;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
Item5=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
Item6=..\..\..\libmng;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
Item7=..\..\..\libmng;..\..\..\zlib;$(BCB)\include
Item8=..\..\..\libmng;$(BCB)\include
[HistoryLists\hlLibraryPath]
Count=7
Item0=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\lib
Item1=..\..\..\libmng-devel;..\..;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\lib
Item2=..\..;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\lib
Item3=..\..\..\jpgsrc6b;..\..\..\zlib;..\..\..\libmng-devel;..\win32dll;$(BCB)\lib
Item4=..\win32dll;$(BCB)\lib
Item5=..\..\..\libmng\bcb\win32dll;$(BCB)\lib
Item6=..\..\..\libmng;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b
[HistoryLists\hlConditionals]
Count=13
Item0=_NO_VCL;MNG_SUPPORT_FULL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_INCLUDE_ZLIB;MNG_NO_CMS;MNG_SOFTERRORS
Item1=_NO_VCL;MNG_SUPPORT_FULL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_SUPPORT_DISPLAY;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_INCLUDE_ZLIB;MNG_INCLUDE_IJG6B;MNG_NO_CMS;MNG_DEFINE_JPEG_STDCALL;MNG_SOFTERRORS
Item2=_NO_VCL;MNG_SUPPORT_FULL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_SUPPORT_DISPLAY;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_INCLUDE_ZLIB;MNG_INCLUDE_IJG6B;MNG_NO_CMS;MNG_DEFINE_JPEG_STDCALL;MNG_SOFTERROR
Item3=_NO_VCL;MNG_SUPPORT_FULL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_SUPPORT_DISPLAY;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_INCLUDE_ZLIB;MNG_INCLUDE_IJG6B;MNG_NO_CMS;MNG_DEFINE_JPEG_STDCALL
Item4=_NO_VCL;MNG_SUPPORT_FULL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_SUPPORT_DISPLAY;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_INCLUDE_ZLIB;MNG_INCLUDE_IJG;MNG_NO_CMS;MNG_DEFINE_JPEG_STDCALL
Item5=_NO_VCL;MNG_SUPPORT_FULL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_SUPPORT_DISPLAY;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_DEFINE_JPEG_STDCALL
Item6=_NO_VCL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_SUPPORT_DISPLAY;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_DEFINE_JPEG_STDCALL;MNG_SUPPORT_IJG6B
Item7=_NO_VCL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_SUPPORT_DISPLAY;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_DEFINE_JPEG_STDCALL
Item8=_NO_VCL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_SUPPORT_DISPLAY;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS
Item9=_NO_VCL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS
Item10=_NO_VCL;MNG_SUPPORT_READ;MNG_SUPPORT_WRITE;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL
Item11=_NO_VCL;MNG_SUPPORT_READ;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL
Item12=_NO_VCL;MNG_SUPPORT_READ;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS
[HistoryLists\hlIntOutputDir]
Count=2
Item0=.\obj
Item1=..\..\..\obj
[HistoryLists\hlRunParameters]
Count=4
Item0=roilion02.mng roilion02-fixed.mng
Item1=roilion.mng roilion-fixed.mng
Item2=dutch.mng
Item3=usflag-lc-d63.mng
[Debugging]
DebugSourceDirs=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b
[Parameters]
RunParams=roilion02.mng roilion02-fixed.mng
HostApplication=
!endif
# ---------------------------------------------------------------------------
# MAKE SECTION
# ---------------------------------------------------------------------------
# This section of the project file is not used by the BCB IDE. It is for
# the benefit of building from the command-line using the MAKE utility.
# ---------------------------------------------------------------------------
.autodepend
# ---------------------------------------------------------------------------
!if !$d(BCC32)
BCC32 = bcc32
!endif
!if !$d(DCC32)
DCC32 = dcc32
!endif
!if !$d(TASM32)
TASM32 = tasm32
!endif
!if !$d(LINKER)
LINKER = ilink32
!endif
!if !$d(BRCC32)
BRCC32 = brcc32
!endif
# ---------------------------------------------------------------------------
!if $d(PATHCPP)
.PATH.CPP = $(PATHCPP)
.PATH.C = $(PATHCPP)
!endif
!if $d(PATHPAS)
.PATH.PAS = $(PATHPAS)
!endif
!if $d(PATHASM)
.PATH.ASM = $(PATHASM)
!endif
!if $d(PATHRC)
.PATH.RC = $(PATHRC)
!endif
# ---------------------------------------------------------------------------
$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(BCB)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
# ---------------------------------------------------------------------------
.pas.hpp:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.pas.obj:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.cpp.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.c.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.asm.obj:
$(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
.rc.res:
$(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
# ---------------------------------------------------------------------------

View file

@ -0,0 +1,489 @@
/* ************************************************************************** */
/* * * */
/* * COPYRIGHT NOTICE: * */
/* * * */
/* * Copyright (c) 2000-2002 Gerard Juyn (gerard@libmng.com) * */
/* * [You may insert additional notices after this sentence if you modify * */
/* * this source] * */
/* * * */
/* * For the purposes of this copyright and license, "Contributing Authors" * */
/* * is defined as the following set of individuals: * */
/* * * */
/* * Gerard Juyn * */
/* * (hopefully some more to come...) * */
/* * * */
/* * The MNG Library is supplied "AS IS". The Contributing Authors * */
/* * disclaim all warranties, expressed or implied, including, without * */
/* * limitation, the warranties of merchantability and of fitness for any * */
/* * purpose. The Contributing Authors assume no liability for direct, * */
/* * indirect, incidental, special, exemplary, or consequential damages, * */
/* * which may result from the use of the MNG Library, even if advised of * */
/* * the possibility of such damage. * */
/* * * */
/* * Permission is hereby granted to use, copy, modify, and distribute this * */
/* * source code, or portions hereof, for any purpose, without fee, subject * */
/* * to the following restrictions: * */
/* * * */
/* * 1. The origin of this source code must not be misrepresented; * */
/* * you must not claim that you wrote the original software. * */
/* * * */
/* * 2. Altered versions must be plainly marked as such and must not be * */
/* * misrepresented as being the original source. * */
/* * * */
/* * 3. This Copyright notice may not be removed or altered from any source * */
/* * or altered source distribution. * */
/* * * */
/* * The Contributing Authors specifically permit, without fee, and * */
/* * encourage the use of this source code as a component to supporting * */
/* * the MNG and JNG file format in commercial products. If you use this * */
/* * source code in a product, acknowledgment would be highly appreciated. * */
/* * * */
/* ************************************************************************** */
/* * * */
/* * project : mngrepair * */
/* * file : mngrepair.cpp copyright (c) 2002 G.Juyn * */
/* * version : 1.0.0 * */
/* * * */
/* * purpose : main project file * */
/* * * */
/* * author : G.Juyn * */
/* * web : http://www.3-t.com * */
/* * email : mailto:info@3-t.com * */
/* * * */
/* * comment : mngrepair iterates tries to fix a couple of 'common' * */
/* * MNG encoding errors (such as in JASC Animation Shop) * */
/* * * */
/* * changes : * */
/* * * */
/* ************************************************************************** */
#define HAVE_BOOLEAN
#include <windows.h>
#pragma hdrstop
#include <condefs.h>
#include "libmng.h"
/* ************************************************************************** */
USERES("mngrepair.res");
USEUNIT("..\..\libmng_hlapi.c");
USEUNIT("..\..\libmng_callback_xs.c");
USEUNIT("..\..\libmng_prop_xs.c");
USEUNIT("..\..\libmng_chunk_xs.c");
USEUNIT("..\..\libmng_object_prc.c");
USEUNIT("..\..\libmng_chunk_prc.c");
USEUNIT("..\..\libmng_chunk_io.c");
USEUNIT("..\..\libmng_read.c");
USEUNIT("..\..\libmng_write.c");
USEUNIT("..\..\libmng_display.c");
USEUNIT("..\..\libmng_dither.c");
USEUNIT("..\..\libmng_pixels.c");
USEUNIT("..\..\libmng_filter.c");
USEUNIT("..\..\libmng_error.c");
USEUNIT("..\..\libmng_trace.c");
USEUNIT("..\..\libmng_cms.c");
USEUNIT("..\..\libmng_zlib.c");
USEUNIT("..\..\libmng_jpeg.c");
USEUNIT("..\..\..\zlib\adler32.c");
USEUNIT("..\..\..\zlib\compress.c");
USEUNIT("..\..\..\zlib\crc32.c");
USEUNIT("..\..\..\zlib\deflate.c");
USEUNIT("..\..\..\zlib\infblock.c");
USEUNIT("..\..\..\zlib\infcodes.c");
USEUNIT("..\..\..\zlib\inffast.c");
USEUNIT("..\..\..\zlib\inflate.c");
USEUNIT("..\..\..\zlib\inftrees.c");
USEUNIT("..\..\..\zlib\infutil.c");
USEUNIT("..\..\..\zlib\trees.c");
USEUNIT("..\..\..\zlib\uncompr.c");
USEUNIT("..\..\..\zlib\zutil.c");
//---------------------------------------------------------------------------
typedef struct user_struct {
FILE *hFileI; /* input file handle */
FILE *hFileO; /* output file handle */
mng_handle hHandleI; /* input mng handle */
mng_handle hHandleO; /* output mng handle */
mng_bool bHasSAVE; /* indicates a SAVE in the input */
mng_bool bHasTERM; /* indicates we saved the TERM */
mng_bool bIsJASC; /* indicates if this is an AS file */
mng_chunkid iLastchunk; /* last processed chunk */
mng_retcode iError; /* errorcode from function in callback */
mng_uint8 iTermaction; /* saved TERM parameters */
mng_uint8 iIteraction;
mng_uint32 iDelay;
mng_uint32 iItermax;
} userdata;
typedef userdata * userdatap;
/* ************************************************************************** */
#define MY_DECL /* get the right callback convention */
/* ************************************************************************** */
mng_ptr MY_DECL myalloc (mng_size_t iSize)
{ /* duh! */
return (mng_ptr)calloc (1, (size_t)iSize);
}
/* ************************************************************************** */
#pragma argsused
void MY_DECL myfree (mng_ptr pPtr, mng_size_t iSize)
{
free (pPtr); /* duh! */
return;
}
/* ************************************************************************** */
#pragma argsused
mng_bool MY_DECL myopenstream (mng_handle hMNG)
{
return MNG_TRUE; /* already opened in main function */
}
/* ************************************************************************** */
#pragma argsused
mng_bool MY_DECL myclosestream (mng_handle hMNG)
{
return MNG_TRUE; /* gets closed in main function */
}
/* ************************************************************************** */
mng_bool MY_DECL myreaddata (mng_handle hMNG,
mng_ptr pBuf,
mng_uint32 iSize,
mng_uint32 *iRead)
{ /* get to my file handle */
userdatap pMydata = (userdatap)mng_get_userdata (hMNG);
/* read it */
*iRead = fread (pBuf, 1, iSize, pMydata->hFileI);
/* iRead will indicate EOF */
return MNG_TRUE;
}
/* ************************************************************************** */
mng_bool MY_DECL mywritedata (mng_handle hMNG,
mng_ptr pBuf,
mng_uint32 iSize,
mng_uint32 *iWritten)
{ /* get to my file handle */
userdatap pMydata = (userdatap)mng_get_userdata (hMNG);
/* write it */
*iWritten = fwrite (pBuf, 1, iSize, pMydata->hFileO);
/* iWritten will indicate errors */
return MNG_TRUE;
}
/* ************************************************************************** */
mng_bool MY_DECL myprocesserror (mng_handle hMNG,
mng_int32 iErrorcode,
mng_int8 iSeverity,
mng_chunkid iChunkname,
mng_uint32 iChunkseq,
mng_int32 iExtra1,
mng_int32 iExtra2,
mng_pchar zErrortext)
{ /* sequence error for TERM we ignore ! */
if ((iErrorcode == MNG_SEQUENCEERROR) && (iChunkname == MNG_UINT_TERM))
return MNG_TRUE;
return MNG_FALSE; /* all others get dumped ! */
}
/* ************************************************************************** */
#pragma argsused
mng_bool MY_DECL myiterchunk (mng_handle hMNG,
mng_handle hChunk,
mng_chunkid iChunktype,
mng_uint32 iChunkseq)
{
mng_uint32 iWidth; /* temps for IHDR processing */
mng_uint32 iHeight;
mng_uint8 iBitdepth;
mng_uint8 iColortype;
mng_uint8 iCompression;
mng_uint8 iFilter;
mng_uint8 iInterlace;
mng_bool bEmpty; /* temps for FRAM processing */
mng_uint8 iMode;
mng_uint32 iNamesize;
mng_pchar zName;
mng_uint8 iChangedelay;
mng_uint8 iChangetimeout;
mng_uint8 iChangeclipping;
mng_uint8 iChangesyncid;
mng_uint32 iDelay;
mng_uint32 iTimeout;
mng_uint8 iBoundarytype;
mng_int32 iBoundaryl;
mng_int32 iBoundaryr;
mng_int32 iBoundaryt;
mng_int32 iBoundaryb;
mng_uint32 iCount;
mng_uint32p pSyncids;
/* get to my userdata */
userdatap pMydata = (userdatap)mng_get_userdata (hMNG);
if (pMydata->hFileO) /* are we writing this time ? */
{ /* do we need to 'forget' the TERM ? */
if ((iChunktype == MNG_UINT_TERM) && (pMydata->bHasTERM))
;
else
{ /* fix JASC AS frame_type ? */
if ((iChunktype == MNG_UINT_FRAM) && (pMydata->bIsJASC))
{
if ((pMydata->iError = mng_getchunk_fram (hMNG, hChunk,
&bEmpty, &iMode, &iNamesize, &zName,
&iChangedelay, &iChangetimeout,
&iChangeclipping, &iChangesyncid,
&iDelay, &iTimeout, &iBoundarytype,
&iBoundaryl, &iBoundaryr,
&iBoundaryt, &iBoundaryb,
&iCount, &pSyncids)) != 0)
{
fprintf (stderr, "Cannot get FRAM fields.\n");
return MNG_FALSE; /* stop the process ! */
}
if (iMode == 1) /* really ? */
iMode = 3;
if ((pMydata->iError = mng_putchunk_fram (pMydata->hHandleO,
bEmpty, iMode, iNamesize, zName,
iChangedelay, iChangetimeout,
iChangeclipping, iChangesyncid,
iDelay, iTimeout, iBoundarytype,
iBoundaryl, iBoundaryr,
iBoundaryt, iBoundaryb,
iCount, pSyncids)) != 0)
{
fprintf (stderr, "Cannot write FRAM chunk.\n");
return MNG_FALSE; /* stop the process ! */
}
}
else
{
if ((pMydata->iError = mng_copy_chunk (hMNG, hChunk, pMydata->hHandleO)) != 0)
{
fprintf (stderr, "Cannot copy the chunk.\n");
return MNG_FALSE; /* stop the process ! */
}
}
}
/* need to insert TERM in the proper place ? */
if ((iChunktype == MNG_UINT_MHDR) && (pMydata->bHasTERM))
{
if ((pMydata->iError = mng_putchunk_term (pMydata->hHandleO,
pMydata->iTermaction,
pMydata->iIteraction,
pMydata->iDelay,
pMydata->iItermax)) != 0)
{
fprintf (stderr, "Cannot write TERM chunk.\n");
return MNG_FALSE; /* stop the process ! */
}
}
}
else /* first iteration; just checking stuff */
{
if (iChunktype == MNG_UINT_SAVE) /* SAVE ? */
{
pMydata->bHasSAVE = MNG_TRUE; /* we got a SAVE ! */
pMydata->bIsJASC = MNG_FALSE; /* so it's definitely not an invalid AS file */
}
else
{ /* TERM ? */
if (iChunktype == MNG_UINT_TERM)
{ /* is it in the wrong place ? */
if ((pMydata->iLastchunk != MNG_UINT_MHDR) ||
(pMydata->iLastchunk != MNG_UINT_SAVE) )
{
pMydata->bHasTERM = MNG_TRUE;
if ((pMydata->iError = mng_getchunk_term (hMNG, hChunk,
&pMydata->iTermaction,
&pMydata->iIteraction,
&pMydata->iDelay,
&pMydata->iItermax)) != 0)
{
fprintf (stderr, "Cannot get TERM fields.\n");
return MNG_FALSE; /* stop the process ! */
}
}
}
else
{ /* IHDR ? */
if (iChunktype == MNG_UINT_IHDR)
{
if ((pMydata->iError = mng_getchunk_ihdr (hMNG, hChunk,
&iWidth, &iHeight, &iBitdepth,
&iColortype, &iCompression,
&iFilter, &iInterlace)) != 0)
{
fprintf (stderr, "Cannot get IHDR fields.\n");
return MNG_FALSE; /* stop the process ! */
}
/* is it not a typical JASC AS file */
if ((iBitdepth != 8) || (iColortype != 6))
pMydata->bIsJASC = MNG_FALSE;
}
}
}
pMydata->iLastchunk = iChunktype;
}
return MNG_TRUE; /* keep'm coming... */
}
/* ************************************************************************** */
int fixit (char * zFilenameI,
char * zFilenameO)
{
userdatap pMydata;
mng_retcode iRC;
/* get a data buffer */
pMydata = (userdatap)calloc (1, sizeof (userdata));
if (pMydata == NULL) /* oke ? */
{
fprintf (stderr, "Cannot allocate a data buffer.\n");
return 1;
}
pMydata->hFileO = 0; /* initialize some stuff! */
pMydata->hHandleI = MNG_NULL;
pMydata->hHandleO = MNG_NULL;
pMydata->bHasSAVE = MNG_FALSE;
pMydata->bHasTERM = MNG_FALSE;
pMydata->bIsJASC = MNG_TRUE;
pMydata->iLastchunk = MNG_UINT_HUH;
pMydata->iTermaction = 0;
pMydata->iIteraction = 0;
pMydata->iDelay = 0;
pMydata->iItermax = 0;
/* can we open the input file ? */
if ((pMydata->hFileI = fopen (zFilenameI, "rb")) == NULL)
{ /* error out if we can't */
fprintf (stderr, "Cannot open input file %s.\n", zFilenameI);
return 1;
}
/* let's initialize the library */
pMydata->hHandleI = mng_initialize ((mng_ptr)pMydata, myalloc, myfree, MNG_NULL);
if (!pMydata->hHandleI) /* did that work out ? */
{
fprintf (stderr, "Cannot initialize libmng.\n");
iRC = 1;
}
else
{ /* some informatory messages */
fprintf (stderr, "Compiled with libmng %s.\n", MNG_VERSION_TEXT);
fprintf (stderr, "Running with libmng %s.\n", mng_version_text());
/* setup callbacks */
if ( ((iRC = mng_setcb_openstream (pMydata->hHandleI, myopenstream )) != 0) ||
((iRC = mng_setcb_closestream (pMydata->hHandleI, myclosestream )) != 0) ||
((iRC = mng_setcb_readdata (pMydata->hHandleI, myreaddata )) != 0) ||
((iRC = mng_setcb_errorproc (pMydata->hHandleI, myprocesserror)) != 0) )
fprintf (stderr, "Cannot set callbacks for libmng.\n");
else
{ /* reaad the file into memory */
if ((iRC = mng_read (pMydata->hHandleI)) != 0)
fprintf (stderr, "Cannot read the input file.\n");
else
{ /* run through the chunk list to get TERM */
if ((iRC = mng_iterate_chunks (pMydata->hHandleI, 0, myiterchunk)) != 0)
fprintf (stderr, "Cannot iterate the chunks.\n");
else
{
if (pMydata->iError) /* did the iteration fail somehow ? */
iRC = pMydata->iError;
else
{ /* can we open the output file ? */
if ((pMydata->hFileO = fopen (zFilenameO, "wb")) == NULL)
{ /* error out if we can't */
fprintf (stderr, "Cannot open output file %s.\n", zFilenameO);
iRC = 1;
}
else
{ /* let's initialize the library */
pMydata->hHandleO = mng_initialize ((mng_ptr)pMydata, myalloc, myfree, MNG_NULL);
if (!pMydata->hHandleO) /* did that work out ? */
{
fprintf (stderr, "Cannot initialize libmng.\n");
iRC = 1;
}
else
{ /* setup callbacks */
if ( ((iRC = mng_setcb_openstream (pMydata->hHandleO, myopenstream )) != 0) ||
((iRC = mng_setcb_closestream (pMydata->hHandleO, myclosestream)) != 0) ||
((iRC = mng_setcb_writedata (pMydata->hHandleO, mywritedata )) != 0) )
fprintf (stderr, "Cannot set callbacks for libmng.\n");
else
{
if ((iRC = mng_create (pMydata->hHandleO)) != 0)
fprintf (stderr, "Cannot create a new MNG.\n");
else
{ /* run through the chunk again and create the new file */
if ((iRC = mng_iterate_chunks (pMydata->hHandleI, 0, myiterchunk)) != 0)
fprintf (stderr, "Cannot iterate the chunks.\n");
else
{ /* did the iteration fail somehow ? */
if (pMydata->iError)
iRC = pMydata->iError;
else
{ /* now write the created new file !! */
if ((iRC = mng_write (pMydata->hHandleO)) != 0)
fprintf (stderr, "Cannot write the output file.\n");
}
}
}
}
/* cleanup the library */
mng_cleanup (&pMydata->hHandleO);
}
/* cleanup output file */
fclose (pMydata->hFileO);
}
}
}
}
}
mng_cleanup (&pMydata->hHandleI); /* cleanup the library */
}
fclose (pMydata->hFileI); /* cleanup input file and userdata */
free (pMydata);
return iRC;
}
/* ************************************************************************** */
int main(int argc, char *argv[])
{
if (argc > 2) /* need two (2) parameters ! */
return fixit (argv[1], argv[2]);
else
fprintf (stdout, "\nUsage: mngrepair <input.mng> <output.mng>\n\n");
return 0;
}
/* ************************************************************************** */

Binary file not shown.

View file

@ -0,0 +1,188 @@
# ---------------------------------------------------------------------------
!if !$d(BCB)
BCB = $(MAKEDIR)\..
!endif
# ---------------------------------------------------------------------------
# IDE SECTION
# ---------------------------------------------------------------------------
# The following section of the project makefile is managed by the BCB IDE.
# It is recommended to use the IDE to change any of the values in this
# section.
# ---------------------------------------------------------------------------
VERSION = BCB.03
# ---------------------------------------------------------------------------
PROJECT = mngtree.exe
OBJFILES = mngtree.obj
RESFILES = mngtree.res
RESDEPEN = $(RESFILES)
LIBFILES = ..\win32dll\libmng.lib
LIBRARIES = VCL35.lib
SPARELIBS = VCL35.lib
PACKAGES = vclx35.bpi VCL35.bpi vcldb35.bpi vcldbx35.bpi bcbsmp35.bpi dclocx35.bpi \
Qrpt35.bpi
DEFFILE =
# ---------------------------------------------------------------------------
PATHCPP = .;
PATHASM = .;
PATHPAS = .;
PATHRC = .;
DEBUGLIBPATH = $(BCB)\lib\debug
RELEASELIBPATH = $(BCB)\lib\release
# ---------------------------------------------------------------------------
CFLAG1 = -Od -w -r- -k -y -v -vi- -c -tWC
CFLAG2 = -D_NO_VCL;MNG_SUPPORT_READ;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL \
-I..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
CFLAG3 = -Tkh30000
PFLAGS = -D_NO_VCL;MNG_SUPPORT_READ;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL \
-U..\win32dll;$(BCB)\lib;$(DEBUGLIBPATH) \
-I..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include \
-$Y -$W -$O- -v -JPHN -M
RFLAGS = -D_NO_VCL;MNG_SUPPORT_READ;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL \
-i..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
AFLAGS = /i..\..\..\libmng-devel /i..\..\..\zlib /i..\..\..\jpgsrc6b /i..\..\..\lcms \
/i$(BCB)\include /d_NO_VCL /dMNG_SUPPORT_READ /dMNG_ACCESS_CHUNKS \
/dMNG_STORE_CHUNKS /dMNG_NO_CMS /dMNG_USE_DLL /mx /w2 /zd
LFLAGS = -L..\win32dll;$(BCB)\lib;$(DEBUGLIBPATH) -ap -Tpe -x -Gn -v
IFLAGS =
# ---------------------------------------------------------------------------
ALLOBJ = c0x32.obj $(OBJFILES)
ALLRES = $(RESFILES)
ALLLIB = $(LIBFILES) import32.lib cw32mt.lib libmng.lib
# ---------------------------------------------------------------------------
!ifdef IDEOPTIONS
[Version Info]
IncludeVerInfo=1
AutoIncBuild=1
MajorVer=0
MinorVer=9
Release=0
Build=13
Debug=1
PreRelease=1
Special=0
Private=0
DLL=0
Locale=1033
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=Executable (Console)
FileVersion=0.9.0.13
InternalName=mngtree
LegalCopyright=copyright (c) 2000 G.Juyn
LegalTrademarks=
OriginalFilename=mngtree.exe
ProductName=mngtree
ProductVersion=0.9.0
Comments=
[HistoryLists\hlIncludePath]
Count=4
Item0=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
Item1=..\..\..\libmng;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms;$(BCB)\include
Item2=..\..\..\libmng;..\..\..\zlib;$(BCB)\include
Item3=..\..\..\libmng;$(BCB)\include
[HistoryLists\hlLibraryPath]
Count=3
Item0=..\win32dll;$(BCB)\lib
Item1=..\..\..\libmng\bcb\win32dll;$(BCB)\lib
Item2=..\..\..\libmng;$(BCB)\lib
[HistoryLists\hlConditionals]
Count=2
Item0=_NO_VCL;MNG_SUPPORT_READ;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS;MNG_USE_DLL
Item1=_NO_VCL;MNG_SUPPORT_READ;MNG_ACCESS_CHUNKS;MNG_STORE_CHUNKS;MNG_NO_CMS
[HistoryLists\hlRunParameters]
Count=2
Item0=dutch.mng
Item1=usflag-lc-d63.mng
[Debugging]
DebugSourceDirs=
[Parameters]
RunParams=dutch.mng
HostApplication=
!endif
# ---------------------------------------------------------------------------
# MAKE SECTION
# ---------------------------------------------------------------------------
# This section of the project file is not used by the BCB IDE. It is for
# the benefit of building from the command-line using the MAKE utility.
# ---------------------------------------------------------------------------
.autodepend
# ---------------------------------------------------------------------------
!if !$d(BCC32)
BCC32 = bcc32
!endif
!if !$d(DCC32)
DCC32 = dcc32
!endif
!if !$d(TASM32)
TASM32 = tasm32
!endif
!if !$d(LINKER)
LINKER = ilink32
!endif
!if !$d(BRCC32)
BRCC32 = brcc32
!endif
# ---------------------------------------------------------------------------
!if $d(PATHCPP)
.PATH.CPP = $(PATHCPP)
.PATH.C = $(PATHCPP)
!endif
!if $d(PATHPAS)
.PATH.PAS = $(PATHPAS)
!endif
!if $d(PATHASM)
.PATH.ASM = $(PATHASM)
!endif
!if $d(PATHRC)
.PATH.RC = $(PATHRC)
!endif
# ---------------------------------------------------------------------------
$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(BCB)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
# ---------------------------------------------------------------------------
.pas.hpp:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.pas.obj:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.cpp.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.c.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.asm.obj:
$(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
.rc.res:
$(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
# ---------------------------------------------------------------------------

View file

@ -0,0 +1,249 @@
/* ************************************************************************** */
/* * * */
/* * COPYRIGHT NOTICE: * */
/* * * */
/* * Copyright (c) 2000 Gerard Juyn (gerard@libmng.com) * */
/* * [You may insert additional notices after this sentence if you modify * */
/* * this source] * */
/* * * */
/* * For the purposes of this copyright and license, "Contributing Authors" * */
/* * is defined as the following set of individuals: * */
/* * * */
/* * Gerard Juyn * */
/* * (hopefully some more to come...) * */
/* * * */
/* * The MNG Library is supplied "AS IS". The Contributing Authors * */
/* * disclaim all warranties, expressed or implied, including, without * */
/* * limitation, the warranties of merchantability and of fitness for any * */
/* * purpose. The Contributing Authors assume no liability for direct, * */
/* * indirect, incidental, special, exemplary, or consequential damages, * */
/* * which may result from the use of the MNG Library, even if advised of * */
/* * the possibility of such damage. * */
/* * * */
/* * Permission is hereby granted to use, copy, modify, and distribute this * */
/* * source code, or portions hereof, for any purpose, without fee, subject * */
/* * to the following restrictions: * */
/* * * */
/* * 1. The origin of this source code must not be misrepresented; * */
/* * you must not claim that you wrote the original software. * */
/* * * */
/* * 2. Altered versions must be plainly marked as such and must not be * */
/* * misrepresented as being the original source. * */
/* * * */
/* * 3. This Copyright notice may not be removed or altered from any source * */
/* * or altered source distribution. * */
/* * * */
/* * The Contributing Authors specifically permit, without fee, and * */
/* * encourage the use of this source code as a component to supporting * */
/* * the MNG and JNG file format in commercial products. If you use this * */
/* * source code in a product, acknowledgment would be highly appreciated. * */
/* * * */
/* ************************************************************************** */
/* * * */
/* * project : mngtree * */
/* * file : mngtree.cpp copyright (c) 2000 G.Juyn * */
/* * version : 1.0.0 * */
/* * * */
/* * purpose : main project file * */
/* * * */
/* * author : G.Juyn * */
/* * web : http://www.3-t.com * */
/* * email : mailto:info@3-t.com * */
/* * * */
/* * comment : mngtree simply dumps the chunk-structure of the supplied * */
/* * first parameter to stdout (should be a xNG-file) * */
/* * * */
/* * changes : 0.5.3 - 06/26/2000 - G.Juyn * */
/* * - changed userdata variable to mng_ptr * */
/* * 0.5.3 - 06/28/2000 - G.Juyn * */
/* * - changed memory allocation size parameters to mng_size_t * */
/* * * */
/* ************************************************************************** */
#pragma hdrstop
#include <condefs.h>
#include <stdio.h>
#include <stdlib.h>
#include <mem.h>
#include "libmng.h"
/* ************************************************************************** */
USERES("mngtree.res");
USELIB("..\win32dll\libmng.lib");
//---------------------------------------------------------------------------
/* ************************************************************************** */
typedef struct user_struct {
FILE *hFile; /* file handle */
int iIndent; /* for nice indented formatting */
} userdata;
typedef userdata * userdatap;
/* ************************************************************************** */
#define MY_DECL __stdcall /* get the right callback convention */
/* ************************************************************************** */
mng_ptr MY_DECL myalloc (mng_size_t iSize)
{ /* duh! */
return (mng_ptr)calloc (1, (size_t)iSize);
}
/* ************************************************************************** */
#pragma argsused
void MY_DECL myfree (mng_ptr pPtr, mng_size_t iSize)
{
free (pPtr); /* duh! */
return;
}
/* ************************************************************************** */
#pragma argsused
mng_bool MY_DECL myopenstream (mng_handle hMNG)
{
return MNG_TRUE; /* already opened in main function */
}
/* ************************************************************************** */
#pragma argsused
mng_bool MY_DECL myclosestream (mng_handle hMNG)
{
return MNG_TRUE; /* gets closed in main function */
}
/* ************************************************************************** */
mng_bool MY_DECL myreaddata (mng_handle hMNG,
mng_ptr pBuf,
mng_uint32 iSize,
mng_uint32 *iRead)
{ /* get to my file handle */
userdatap pMydata = (userdatap)mng_get_userdata (hMNG);
/* read it */
*iRead = fread (pBuf, 1, iSize, pMydata->hFile);
/* iRead will indicate EOF */
return MNG_TRUE;
}
/* ************************************************************************** */
#pragma argsused
mng_bool MY_DECL myiterchunk (mng_handle hMNG,
mng_handle hChunk,
mng_chunkid iChunktype,
mng_uint32 iChunkseq)
{ /* get to my file handle */
userdatap pMydata = (userdatap)mng_get_userdata (hMNG);
char aCh[4];
char zIndent[80];
int iX;
/* decode the chunkname */
aCh[0] = (char)((iChunktype >> 24) & 0xFF);
aCh[1] = (char)((iChunktype >> 16) & 0xFF);
aCh[2] = (char)((iChunktype >> 8) & 0xFF);
aCh[3] = (char)((iChunktype ) & 0xFF);
/* indent less ? */
if ( (iChunktype == MNG_UINT_MEND) || (iChunktype == MNG_UINT_IEND) ||
(iChunktype == MNG_UINT_ENDL) )
pMydata->iIndent -= 2;
/* this looks ugly; but I haven't
figured out how to do it prettier */
for (iX = 0; iX < pMydata->iIndent; iX++)
zIndent[iX] = ' ';
zIndent[pMydata->iIndent] = '\0';
/* print a nicely indented line */
printf ("%s%c%c%c%c\n", &zIndent, aCh[0], aCh[1], aCh[2], aCh[3]);
/* indent more ? */
if ( (iChunktype == MNG_UINT_MHDR) || (iChunktype == MNG_UINT_IHDR) ||
(iChunktype == MNG_UINT_JHDR) || (iChunktype == MNG_UINT_DHDR) ||
(iChunktype == MNG_UINT_BASI) || (iChunktype == MNG_UINT_LOOP) )
pMydata->iIndent += 2;
return MNG_TRUE; /* keep'm coming... */
}
/* ************************************************************************** */
int dumptree (char * zFilename)
{
userdatap pMydata;
mng_handle hMNG;
mng_retcode iRC;
/* get a data buffer */
pMydata = (userdatap)calloc (1, sizeof (userdata));
if (pMydata == NULL) /* oke ? */
{
fprintf (stderr, "Cannot allocate a data buffer.\n");
return 1;
}
/* can we open the file ? */
if ((pMydata->hFile = fopen (zFilename, "rb")) == NULL)
{ /* error out if we can't */
fprintf (stderr, "Cannot open input file %s.\n", zFilename);
return 1;
}
/* let's initialize the library */
hMNG = mng_initialize ((mng_ptr)pMydata, myalloc, myfree, MNG_NULL);
if (!hMNG) /* did that work out ? */
{
fprintf (stderr, "Cannot initialize libmng.\n");
iRC = 1;
}
else
{ /* setup callbacks */
if ( ((iRC = mng_setcb_openstream (hMNG, myopenstream )) != 0) ||
((iRC = mng_setcb_closestream (hMNG, myclosestream)) != 0) ||
((iRC = mng_setcb_readdata (hMNG, myreaddata )) != 0) )
fprintf (stderr, "Cannot set callbacks for libmng.\n");
else
{ /* reaad the file into memory */
if ((iRC = mng_read (hMNG)) != 0)
fprintf (stderr, "Cannot read the file.\n");
else
{
pMydata->iIndent = 2; /* start of the indenting at a nice level */
printf ("Starting dump of %s.\n\n", zFilename);
/* run through the chunk list */
if ((iRC = mng_iterate_chunks (hMNG, 0, myiterchunk)) != 0)
fprintf (stderr, "Cannot iterate the chunks.\n");
printf ("\nDone.\n");
}
}
mng_cleanup (&hMNG); /* cleanup the library */
}
fclose (pMydata->hFile); /* cleanup */
free (pMydata);
return iRC;
}
/* ************************************************************************** */
#pragma argsused
int main(int argc, char *argv[])
{
if (argc > 1) /* need that first parameter ! */
return dumptree (argv[1]);
else
fprintf (stdout, "\nUsage: mngtree <file.mng>\n\n");
return 0;
}
/* ************************************************************************** */

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

View file

@ -0,0 +1,573 @@
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <stdlib.h> // for : malloc & free
#include "Main.h"
/****************************************************************************}
{* For conditions of distribution and use, *}
{* see copyright notice in libmng.pas *}
{****************************************************************************}
{* *}
{* project : libmng *}
{* file : main.pas copyright (c) 2000 G.Juyn *}
{* version : 1.0.1 *}
{* *}
{* purpose : Main form for mngview application *}
{* *}
{* author : G.Juyn *}
{* web : http://www.3-t.com *}
{* email : mailto:info@3-t.com *}
{* *}
{* comment : this is the heart of the mngview applciation *}
{* *}
{* changes : This project is a converted version of "mngview" - AP *}
{* - AP - 15/9/2000 - revisions ... *}
{* - made the callbacks calling convention explicit *}
(* - Moved the defines from "project options" to "main.h" *}
{* - Added Readme.txt to the project - Please READ IT ! *}
(* *}
{* 0.5.1 - 05/02/2000 - G.Juyn *}
{* - added this version block *}
{* - made the initialization part more robust *}
{* eg. program aborts on initialization errors *}
{* - B002(105797) - added check for existence of default sRGB *}
{* profile (now included in distribution) *}
{* - added mng_cleanup to program exit *}
{* 0.5.1 - 05/08/2000 - G.Juyn *}
{* - changed to stdcall convention *}
{* 0.5.1 - 05/11/2000 - G.Juyn *}
{* - changed callback function declarations *}
{* *}
{* 0.5.3 - 06/16/2000 - G.Juyn *}
{* - removed processmessages call from refresh callback *}
{* 0.5.3 - 06/17/2000 - G.Juyn *}
{* - switched "storechunks" off *}
{* 0.5.3 - 06/26/2000 - G.Juyn *}
{* - changed definition of userdata to mng_ptr *}
{* 0.5.3 - 06/28/2000 - G.Juyn *}
{* - changed the default icon to something more appropriate *}
{* - changed definition of memory alloc size to mng_size_t *}
{* 0.5.3 - 06/29/2000 - G.Juyn *}
{* - changed order of refresh parameters *}
{* *}
{* 0.9.0 - 06/30/2000 - G.Juyn *}
{* - changed refresh parameters to 'x,y,width,height' *}
{* *}
{* 0.9.1 - 07/08/2000 - G.Juyn *}
{* - fixed to use returncode constants *}
{* - changed to accomodate MNG_NEEDTIMERWAIT returncode *}
{* 0.9.1 - 07/10/2000 - G.Juyn *}
{* - changed to use suspension-mode *}
{* *}
{* 1.0.1 - 05/02/2000 - G.Juyn *}
{* - removed loading of default sRGB profile (auto in libmng) *}
{* *}
{****************************************************************************/
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
# define _OR_ |
# define _AND_ &
# define _DIV_ /
# define _NOT_ !
# define _NIL_ 0
# define _SHR_ >>
# define _SHL_ <<
// Prototypes for static functions - the LibMng Callbacks.
static mng_ptr __stdcall Memalloc( mng_uint32 iLen );
static void __stdcall Memfree( mng_ptr iPtr, mng_size_t iLen );
static mng_bool __stdcall Openstream( mng_handle hHandle );
static mng_bool __stdcall Closestream( mng_handle hHandle );
static mng_bool __stdcall Readdata ( mng_handle hHandle, mng_ptr pBuf,
mng_uint32 iBuflen, mng_uint32 *pRead );
static mng_bool __stdcall ProcessHeader ( mng_handle hHandle,
mng_uint32 iWidth, mng_uint32 iHeight );
static mng_ptr __stdcall GetCanvasLine ( mng_handle hHandle,
mng_uint32 iLinenr );
static mng_ptr __stdcall GetAlphaLine( mng_handle hHandle, mng_uint32 iLinenr );
static mng_bool __stdcall ImageRefresh ( mng_handle hHandle,
mng_uint32 iX, mng_uint32 iY, mng_uint32 iWidth, mng_uint32 iHeight );
static mng_uint32 __stdcall GetTickCount( mng_handle hHandle );
static mng_bool __stdcall SetTimer( mng_handle hHandle, mng_uint32 iMsecs );
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
static mng_ptr __stdcall Memalloc( mng_uint32 iLen )
{
mng_ptr pResult =
malloc( iLen ); /* get memory from the heap */
if( pResult ) /* Added - condition */
memset( pResult, 0, iLen );
return pResult;
}
//---------------------------------------------------------------------------
static void __stdcall Memfree( mng_ptr iPtr, mng_size_t iLen )
{
free( iPtr ); /* free the memory */
(void)iLen; // Kill compiler warning
}
//---------------------------------------------------------------------------
static mng_bool __stdcall Openstream( mng_handle hHandle )
{
TMainForm *OHForm;
/* get a fix on our form */
OHForm = (TMainForm *)mng_get_userdata( hHandle );
if( OHForm->OFFile != _NIL_ ) /* free previous stream (if any) */
OHForm->OFFile->Free();
/* open a new stream */
OHForm->OFFile = new TFileStream(
OHForm->SFFileName, fmOpenRead _OR_ fmShareDenyWrite);
OHForm->ProgressBar1->Position = 0; /* Added */
OHForm->ProgressBar1->Min =0; /* Added */
OHForm->ProgressBar1->Max = OHForm->OFFile->Size; /* Added */
return MNG_TRUE;
}
//---------------------------------------------------------------------------
static mng_bool __stdcall Closestream( mng_handle hHandle )
{
TMainForm *OHForm;
/* get a fix on our form */
OHForm = (TMainForm *)mng_get_userdata( hHandle );
OHForm->OFFile->Free(); /* cleanup the stream */
OHForm->OFFile = 0; /* don't use it again ! */
OHForm->ProgressBar1->Position = 0; /* Added */
return MNG_TRUE;
}
//---------------------------------------------------------------------------
static mng_bool __stdcall Readdata ( mng_handle hHandle, mng_ptr pBuf,
mng_uint32 iBuflen, mng_uint32 *pRead )
{
TMainForm *OHForm;
unsigned int IHTicks;
unsigned int IHByte1;
unsigned int IHByte2;
unsigned int IHBytesPerSec ;
/* get a fix on our form */
OHForm = (TMainForm *)mng_get_userdata( hHandle );
/* are we at EOF ? */
if( OHForm->OFFile->Position >= OHForm->OFFile->Size )
{
*pRead = 0; /* indicate so */
}
else
{
IHBytesPerSec = OHForm->IFBytesPerSec; /* fake a slow connection */
if( IHBytesPerSec > 0 )
{
IHTicks = (unsigned int)GetTickCount();
IHByte1 = (IHTicks - OHForm->IFTicks) * IHBytesPerSec;
IHByte2 = (OHForm->IFBytes + iBuflen) * 1000;
if( IHByte2 > IHByte1 ) /* Added - condition */
if( ((IHByte2 - IHByte1) _DIV_ IHBytesPerSec) > 10 )
{
Sleep( (DWORD)((IHByte2 - IHByte1) _DIV_ IHBytesPerSec) );
}
};
/* read the requested data */
*pRead = OHForm->OFFile->Read( pBuf, iBuflen);
OHForm->IFBytes = OHForm->IFBytes + *pRead;
OHForm->ProgressBar1->Position = (int)OHForm->IFBytes; /* Added */
} // end else;
return MNG_TRUE;
}
//---------------------------------------------------------------------------
static mng_bool __stdcall ProcessHeader ( mng_handle hHandle,
mng_uint32 iWidth, mng_uint32 iHeight )
{
TMainForm *OHForm;
/* get a fix on our form */
OHForm = (TMainForm *)mng_get_userdata( hHandle );
/* Added */
OHForm->Caption = ExtractFileName( OHForm->SFFileName ) +
" [" +
String( iWidth ) +
"x" +
String( iHeight ) +
"]";
OHForm->OFBitmap->Width = iWidth; /* store the new dimensions */
OHForm->OFBitmap->Height = iHeight;
OHForm->OFImage->Left = 0; /* adjust the visible component */
OHForm->OFImage->Top = 0;
OHForm->OFImage->Width = iWidth;
OHForm->OFImage->Height = iHeight;
OHForm->FormResize (OHForm); /* force re-centering the image*/
/* clear the canvas & draw an outline */
OHForm->OFBitmap->Canvas->Brush->Color = clGray;
OHForm->OFBitmap->Canvas->Brush->Style = bsSolid;
OHForm->OFBitmap->Canvas->FillRect( OHForm->OFBitmap->Canvas->ClipRect );
OHForm->OFBitmap->Canvas->Brush->Color = clRed;
OHForm->OFBitmap->Canvas->Brush->Style = bsSolid;
OHForm->OFBitmap->Canvas->Pen->Color = clRed;
OHForm->OFBitmap->Canvas->Pen->Style = psSolid;
OHForm->OFBitmap->Canvas->FrameRect( OHForm->OFBitmap->Canvas->ClipRect);
/* make sure it gets out there */
OHForm->OFImage->Picture->Assign( OHForm->OFBitmap );
/* tell the library we want funny windows-bgr*/
if( mng_set_canvasstyle( hHandle, MNG_CANVAS_BGR8 ) )
OHForm->MNGerror( "libmng reported an error setting the canvas style" );
return MNG_TRUE;
}
//---------------------------------------------------------------------------
static mng_ptr __stdcall GetCanvasLine ( mng_handle hHandle,
mng_uint32 iLinenr )
{
TMainForm *OHForm;
/* get a fix on our form */
OHForm = (TMainForm *)mng_get_userdata( hHandle );
/* easy with these bitmap objects ! */
return OHForm->OFBitmap->ScanLine[ iLinenr ];
}
//---------------------------------------------------------------------------
static mng_bool __stdcall ImageRefresh ( mng_handle hHandle,
mng_uint32 iX, mng_uint32 iY, mng_uint32 iWidth, mng_uint32 iHeight )
{
TMainForm *OHForm;
/* get a fix on our form */
OHForm = (TMainForm *)mng_get_userdata( hHandle );
/* force redraw */
OHForm->OFImage->Picture->Assign( OHForm->OFBitmap );
return MNG_TRUE;
}
//---------------------------------------------------------------------------
static mng_uint32 __stdcall GetTickCount( mng_handle hHandle )
{
return GetTickCount(); /* windows knows that */
}
//---------------------------------------------------------------------------
static mng_bool __stdcall SetTimer( mng_handle hHandle, mng_uint32 iMsecs )
{
TMainForm *OHForm;
/* get a fix on our form */
OHForm = (TMainForm *)mng_get_userdata( hHandle );
OHForm->OFTimer->Interval = iMsecs; /* and set the timer */
OHForm->OFTimer->Enabled = true;
return MNG_TRUE;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
String SHProfileName;
mng_uint16 IHRed, IHGreen, IHBlue; /* word */
OFBitmap = new Graphics::TBitmap(); /* initialize */
IFBytesPerSec = 10000000;
OFFile = 0;
OFOpenDialog->InitialDir = "";
OFBitmap->HandleType = bmDIB; /* make it a 24-bit DIB */
OFBitmap->PixelFormat = pf24bit;
/* now initialize the library */
IFHandle = mng_initialize( mng_ptr(this), Memalloc, Memfree, _NIL_ );
if( IFHandle == _NIL_ )
{
MNGerror ("libmng initializiation error"\
"\n"\
"Program aborted"
);
PostMessage( Handle, WM_CLOSE, 0, 0);
return; // was Exit
};
/* no need to store chunk-info ! */
mng_set_storechunks( IFHandle, MNG_FALSE );
/* use suspension-buffer */
mng_set_suspensionmode( IFHandle, MNG_TRUE );
/* set all the callbacks */
if(
(mng_setcb_openstream (IFHandle, Openstream ) != MNG_NOERROR) _OR_
(mng_setcb_closestream (IFHandle, Closestream ) != MNG_NOERROR) _OR_
(mng_setcb_readdata (IFHandle, Readdata ) != MNG_NOERROR) _OR_
(mng_setcb_processheader(IFHandle, ProcessHeader) != MNG_NOERROR) _OR_
(mng_setcb_getcanvasline(IFHandle, GetCanvasLine) != MNG_NOERROR) _OR_
(mng_setcb_refresh (IFHandle, ImageRefresh ) != MNG_NOERROR) _OR_
(mng_setcb_gettickcount (IFHandle, GetTickCount ) != MNG_NOERROR) _OR_
(mng_setcb_settimer (IFHandle, SetTimer ) != MNG_NOERROR)
)
{
MNGerror ("libmng reported an error setting a callback function!"\
"\n"\
"Program aborted"
);
PostMessage( Handle, WM_CLOSE, 0, 0 );
return; // was Exit
};
/* supply our own bg-color */
IHRed = (mng_uint16)((Color ) _AND_ 0xFF);
IHGreen = (mng_uint16)((Color _SHR_ 8) _AND_ 0xFF);
IHBlue = (mng_uint16)((Color _SHR_ 16) _AND_ 0xFF);
IHRed = (mng_uint16)((IHRed _SHL_ 8) + IHRed);
IHGreen = (mng_uint16)((IHGreen _SHL_ 8) + IHGreen);
IHBlue = (mng_uint16)((IHBlue _SHL_ 8) + IHBlue);
if( mng_set_bgcolor (IFHandle, IHRed, IHGreen, IHBlue) != MNG_NOERROR )
MNGerror( "libmng reported an error setting the background color!");
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCloseQuery(TObject *Sender,
bool &CanClose)
{
BFCancelled = true;
/* if we're still animating then stop it */
if( OFTimer->Enabled )
{
if( mng_display_freeze (IFHandle) != MNG_NOERROR )
MNGerror ("libmng reported an error during display_freeze!" );
}
OFTimer->Enabled = false;
mng_cleanup( &IFHandle );
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormShow(TObject *Sender)
{
FormResize( this );
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormResize(TObject *Sender)
{
/* center the image in the window */
if( ClientWidth < OFImage->Width )
OFImage->Left = 0;
else
OFImage->Left = (ClientWidth - OFImage->Width ) _DIV_ 2;
if( ClientHeight < OFImage->Height )
OFImage->Top = 0;
else
OFImage->Top = (ClientHeight - OFImage->Height) _DIV_ 2;
ProgressBar1->Width = Panel1->Width - 8; /* Added */
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
/* pressing <esc> will freeze an animation */
if( Key == VK_ESCAPE )
{
if( OFTimer->Enabled )
{
if( mng_display_freeze( IFHandle) != MNG_NOERROR )
MNGerror( "libmng reported an error during display_freeze!" );
}
OFTimer->Enabled = false; /* don't let that timer go off then ! */
BFCancelled = true;
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OFTimerTimer(TObject *Sender)
{
mng_retcode IHRslt;
OFTimer->Enabled = false; /* only once ! */
if( _NOT_ BFCancelled )
{
/* and inform the library */
IHRslt = mng_display_resume( IFHandle );
if( (IHRslt != MNG_NOERROR) _AND_ (IHRslt != MNG_NEEDTIMERWAIT) )
MNGerror( "libmng reported an error during display_resume!" );
};
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OFMenuFileOpenClick(TObject *Sender)
{
mng_retcode IHRslt;
OFOpenDialog->InitialDir = "";
OFOpenDialog->InitialDir = GetCurrentDir(); //@@
OFOpenDialog->FileName = SFFileName;
if( OFOpenDialog->Execute() ) /* get the filename */
{
if( OFTimer->Enabled ) /* if the lib was active; stop it */
{
OFTimer->Enabled = false;
Application->ProcessMessages(); /* process any timer requests (for safety) */
/* now freeze the animation */
if( mng_display_freeze( IFHandle ) != MNG_NOERROR )
MNGerror( "libmng reported an error during display_freeze!" );
};
/* save interesting fields */
SFFileName = OFOpenDialog->FileName;
IFTicks = GetTickCount();
IFBytes = 0;
BFCancelled = false;
/* always reset (just in case) */
if( mng_reset( IFHandle ) != MNG_NOERROR )
{
MNGerror( "libmng reported an error during reset!" );
}
else
{
/* and let the lib do it's job ! */
IHRslt = mng_readdisplay (IFHandle);
if( (IHRslt != MNG_NOERROR) _AND_ (IHRslt != MNG_NEEDTIMERWAIT) )
MNGerror( "libmng reported an error reading the input file!" );
};
};
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OFMenuFileProfileClick(TObject *Sender)
{
char SHProfileDir[ MAX_PATH ];
GetSystemDirectory( SHProfileDir, MAX_PATH );
strcat( SHProfileDir, "\\Color" );
OFOpenDialogProfile->InitialDir = String( SHProfileDir );
if( OFOpenDialogProfile->Execute() )
{
if( mng_set_outputprofile( IFHandle, OFOpenDialogProfile->FileName.c_str()) != 0 )
MNGerror( "libmng reported an error setting the output-profile!" );
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OFMenuFileExitClick(TObject *Sender)
{
if( mng_cleanup( &IFHandle ) != MNG_NOERROR )
MNGerror( "libmng cleanup error" );
Close();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OFMenuOptionsModemSpeedClick(TObject *Sender)
{
OFMenuOptionsModem28k8->Checked = false;
OFMenuOptionsModem33k6->Checked = false;
OFMenuOptionsModem56k->Checked = false;
OFMenuOptionsModemISDN64->Checked = false;
OFMenuOptionsModemISDN128->Checked = false;
OFMenuOptionsModemCable512->Checked = false;
OFMenuOptionsModemUnlimited->Checked = false;
if( IFBytesPerSec == (unsigned int)OFMenuOptionsModem28k8->Tag _DIV_ 10 )
OFMenuOptionsModem28k8->Checked = true;
else
if( IFBytesPerSec == (unsigned int)OFMenuOptionsModem33k6->Tag _DIV_ 10 )
OFMenuOptionsModem33k6->Checked = true;
else
if( IFBytesPerSec == (unsigned int)OFMenuOptionsModem56k->Tag _DIV_ 10 )
OFMenuOptionsModem56k->Checked = true;
else
if( IFBytesPerSec == (unsigned int)OFMenuOptionsModemISDN64->Tag _DIV_ 10 )
OFMenuOptionsModemISDN64->Checked = true;
else
if( IFBytesPerSec == (unsigned int)OFMenuOptionsModemISDN128->Tag _DIV_ 10 )
OFMenuOptionsModemISDN128->Checked = true;
else
/* Added - changedit was the line below ! */
// if( IFBytesPerSec == (unsigned int)OFMenuOptionsModemUnlimited->Tag _DIV_ 10 )
if( IFBytesPerSec == (unsigned int)OFMenuOptionsModemCable512->Tag _DIV_ 10 )
OFMenuOptionsModemCable512->Checked = true;
else
OFMenuOptionsModemUnlimited->Checked = true;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OFMenuOptionsModemXClick(TObject *Sender)
{
IFBytesPerSec = ((TMenuItem*)Sender)->Tag _DIV_ 10;
}
//---------------------------------------------------------------------------
void TMainForm::MNGerror( String SHMsg )
{
/* get extended info */
mng_uint32 iErrorcode;
mng_uint8 iSeverity;
mng_chunkid iChunkname;
mng_uint32 iChunkseq;
mng_int32 iExtra1;
mng_int32 iExtra2;
mng_pchar zErrortext;
char szFormatStr[ 256 ];
iErrorcode = mng_getlasterror (IFHandle, &iSeverity,
&iChunkname, &iChunkseq, &iExtra1, &iExtra2,
(mng_pchar*)&zErrortext);
wsprintf( szFormatStr,
"Error = %d; Severity = %d; Chunknr = %d; Extra1 = %d",
(int)iErrorcode, (int)iSeverity, (int)iChunkseq, (int)iExtra1
);
MessageDlg( SHMsg +
"\n\n" +
String(zErrortext) +
"\n\n" +
szFormatStr, /* see wsprintf above */
mtError,
TMsgDlgButtons() << mbOK,
0
);
}
//---------------------------------------------------------------------------

Binary file not shown.

View file

@ -0,0 +1,84 @@
//---------------------------------------------------------------------------
#ifndef MainH
#define MainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include <Menus.hpp>
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
// These MUST be defined before we include "Libmng.h
# define MNG_SUPPORT_READ
# define MNG_ACCESS_CHUNKS
# define MNG_STORE_CHUNKS
# define MNG_NO_CMS
# define MNG_USE_DLL
# define MNG_SUPPORT_DISPLAY
# define MNG_SKIP_ZLIB // we don't need the zlib definitions here
# define MNG_SKIP_IJG6B // we don't need the IJG definitions here
#include "libmng.h"
//---------------------------------------------------------------------------
class TMainForm : public TForm
{
__published: // IDE-managed Components
TMainMenu *OFMainMenu;
TMenuItem *OFMenuFile;
TMenuItem *OFMenuFileOpen;
TMenuItem *OFMenuFileProfile;
TMenuItem *OFMenuFileN1;
TMenuItem *OFMenuFileExit;
TMenuItem *OFMenuOptions;
TMenuItem *OFMenuOptionsModemSpeed;
TMenuItem *OFMenuOptionsModem28k8;
TMenuItem *OFMenuOptionsModem33k6;
TMenuItem *OFMenuOptionsModem56k;
TMenuItem *OFMenuOptionsModemISDN64;
TMenuItem *OFMenuOptionsModemISDN128;
TMenuItem *OFMenuOptionsModemCable512;
TMenuItem *OFMenuOptionsModemUnlimited;
TOpenDialog *OFOpenDialog;
TTimer *OFTimer;
TOpenDialog *OFOpenDialogProfile;
TImage *OFImage;
TPanel *Panel1;
TProgressBar *ProgressBar1;
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
void __fastcall FormShow(TObject *Sender);
void __fastcall FormResize(TObject *Sender);
void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall OFTimerTimer(TObject *Sender);
void __fastcall OFMenuFileOpenClick(TObject *Sender);
void __fastcall OFMenuFileProfileClick(TObject *Sender);
void __fastcall OFMenuFileExitClick(TObject *Sender);
void __fastcall OFMenuOptionsModemSpeedClick(TObject *Sender);
void __fastcall OFMenuOptionsModemXClick(TObject *Sender);
private: // User declarations
public :
// Data - was private in the pascal version
String SFFileName; /* filename of the input stream */
TFileStream *OFFile; /* input stream */
mng_handle IFHandle; /* the libray handle */
Graphics::TBitmap *OFBitmap; /* drawing canvas */
# ifdef TEST_RGB8_A8
void *OFAlpha;
# endif
bool BFCancelled; /* <esc> or app-exit */
unsigned int IFTicks; /* used to fake slow connections */
unsigned int IFBytes;
unsigned int IFBytesPerSec;
// Methods
void MNGerror( String SHMsg );
public: // User declarations
__fastcall TMainForm(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TMainForm *MainForm;
//---------------------------------------------------------------------------
#endif

View file

@ -0,0 +1,187 @@
# ---------------------------------------------------------------------------
!if !$d(BCB)
BCB = $(MAKEDIR)\..
!endif
# ---------------------------------------------------------------------------
# IDE SECTION
# ---------------------------------------------------------------------------
# The following section of the project makefile is managed by the BCB IDE.
# It is recommended to use the IDE to change any of the values in this
# section.
# ---------------------------------------------------------------------------
VERSION = BCB.03
# ---------------------------------------------------------------------------
PROJECT = MngView.exe
OBJFILES = MngView.obj Main.obj
RESFILES = MngView.res
DEFFILE =
RESDEPEN = $(RESFILES) Main.dfm
LIBFILES = ..\win32dll\libmng.lib
LIBRARIES = VCL35.lib
SPARELIBS = VCL35.lib
PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi bcbsmp35.bpi dclocx35.bpi \
QRPT35.bpi
# ---------------------------------------------------------------------------
PATHCPP = .;
PATHASM = .;
PATHPAS = .;
PATHRC = .;
DEBUGLIBPATH = $(BCB)\lib\debug
RELEASELIBPATH = $(BCB)\lib\release
# ---------------------------------------------------------------------------
CFLAG1 = -Od -w -Ve -r- -k -y -v -vi- -c -b- -w-par -w-inl -Vx -tW
CFLAG2 = -I$(BCB)\include;$(BCB)\include\vcl;..\..;..\..\..\zlib;..\..\..\jpgsrc6b
CFLAG3 = -Tkh30000 -6
PFLAGS = -U$(BCB)\lib\obj;$(BCB)\lib;$(RELEASELIBPATH) \
-I$(BCB)\include;$(BCB)\include\vcl;..\..;..\..\..\zlib;..\..\..\jpgsrc6b -$Y \
-$W -$O- -v -JPHN -M
RFLAGS = -i$(BCB)\include;$(BCB)\include\vcl;..\..;..\..\..\zlib;..\..\..\jpgsrc6b
AFLAGS = /i$(BCB)\include /i$(BCB)\include\vcl /i..\.. /i..\..\..\zlib \
/i..\..\..\jpgsrc6b /mx /w2 /zd /dMNG_USE_DLL
LFLAGS = -L$(BCB)\lib\obj;$(BCB)\lib;$(RELEASELIBPATH) -aa -Tpe -x -Gn
IFLAGS =
# ---------------------------------------------------------------------------
ALLOBJ = c0w32.obj sysinit.obj $(OBJFILES)
ALLRES = $(RESFILES)
ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib
# ---------------------------------------------------------------------------
!ifdef IDEOPTIONS
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=2057
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlIncludePath]
Count=8
Item0=$(BCB)\include;$(BCB)\include\vcl;..\..;..\..\..\zlib;..\..\..\jpgsrc6b
Item1=$(BCB)\include;$(BCB)\include\vcl;..\..;..\..\..\zlib;..\..\..\jpgsrc6b;..\win32dll
Item2=$(BCB)\include;$(BCB)\include\vcl;..\..;..\..\..\zlib;..\..\..\ijgsrc6b
Item3=$(BCB)\include;$(BCB)\include\vcl;..\..;..\..\..\zlib;..\..\..\libjpeg
Item4=$(BCB)\include;$(BCB)\include\vcl;..\..;..\..\zlib
Item5=$(BCB)\include;$(BCB)\include\vcl;..\..
Item6=$(BCB)\include;$(BCB)\include\vcl
Item7=..\..\delphi;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
Count=2
Item0=$(BCB)\lib\obj;$(BCB)\lib
Item1=..\..\delphi;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
Count=3
Item0=MNG_USE_DLL
Item1=_RTLDLL
Item2=_RTLDLL;USEPACKAGES
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
[Parameters]
RunParams=
HostApplication=
!endif
# ---------------------------------------------------------------------------
# MAKE SECTION
# ---------------------------------------------------------------------------
# This section of the project file is not used by the BCB IDE. It is for
# the benefit of building from the command-line using the MAKE utility.
# ---------------------------------------------------------------------------
.autodepend
# ---------------------------------------------------------------------------
!if !$d(BCC32)
BCC32 = bcc32
!endif
!if !$d(DCC32)
DCC32 = dcc32
!endif
!if !$d(TASM32)
TASM32 = tasm32
!endif
!if !$d(LINKER)
LINKER = ilink32
!endif
!if !$d(BRCC32)
BRCC32 = brcc32
!endif
# ---------------------------------------------------------------------------
!if $d(PATHCPP)
.PATH.CPP = $(PATHCPP)
.PATH.C = $(PATHCPP)
!endif
!if $d(PATHPAS)
.PATH.PAS = $(PATHPAS)
!endif
!if $d(PATHASM)
.PATH.ASM = $(PATHASM)
!endif
!if $d(PATHRC)
.PATH.RC = $(PATHRC)
!endif
# ---------------------------------------------------------------------------
$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(BCB)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
# ---------------------------------------------------------------------------
.pas.hpp:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.pas.obj:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.cpp.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.c.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.asm.obj:
$(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
.rc.res:
$(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
# ---------------------------------------------------------------------------

View file

@ -0,0 +1,23 @@
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
USERES("MngView.res");
USEFORM("Main.cpp", MainForm);
USEFILE("README.txt");
USELIB("..\win32dll\libmng.lib");
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TMainForm), &MainForm);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
//---------------------------------------------------------------------------

Binary file not shown.

View file

@ -0,0 +1,22 @@
Please note :
If your project includes the header file "Rpcndr.h", then
you will then have to define "HAVE_BOOLEAN" before "libmng.h"
is included. Why ? ...
"jmorecfg.h" has
#ifndef HAVE_BOOLEAN
typedef int boolean;
#endif
and "Rpcndr.h" has
typedef unsigned char boolean
This >>MAY<< affect other libraries used in the same project
that depend on the jpeg source - especially as "boolean" is
used in structures (possible alignment problems). For example
"Sam leffler's" LibTiff can be built with the Jpeg codec.
Just a little something to be aware of !. AP - 15/9/2000.

View file

@ -0,0 +1,315 @@
# ---------------------------------------------------------------------------
!if !$d(BCB)
BCB = $(MAKEDIR)\..
!endif
# ---------------------------------------------------------------------------
# IDE SECTION
# ---------------------------------------------------------------------------
# The following section of the project makefile is managed by the BCB IDE.
# It is recommended to use the IDE to change any of the values in this
# section.
# ---------------------------------------------------------------------------
VERSION = BCB.03
# ---------------------------------------------------------------------------
PROJECT = libmng.dll
OBJFILES = ..\..\..\obj\libmng.obj ..\..\..\obj\libmng_hlapi.obj \
..\..\..\obj\libmng_callback_xs.obj ..\..\..\obj\libmng_prop_xs.obj \
..\..\..\obj\libmng_chunk_xs.obj ..\..\..\obj\libmng_object_prc.obj \
..\..\..\obj\libmng_chunk_descr.obj ..\..\..\obj\libmng_chunk_prc.obj \
..\..\..\obj\libmng_chunk_io.obj ..\..\..\obj\libmng_read.obj \
..\..\..\obj\libmng_write.obj ..\..\..\obj\libmng_display.obj \
..\..\..\obj\libmng_dither.obj ..\..\..\obj\libmng_pixels.obj \
..\..\..\obj\libmng_filter.obj ..\..\..\obj\libmng_error.obj \
..\..\..\obj\libmng_trace.obj ..\..\..\obj\libmng_cms.obj \
..\..\..\obj\libmng_zlib.obj ..\..\..\obj\libmng_jpeg.obj \
..\..\..\obj\adler32.obj ..\..\..\obj\compress.obj ..\..\..\obj\crc32.obj \
..\..\..\obj\deflate.obj ..\..\..\obj\inffast.obj ..\..\..\obj\inflate.obj \
..\..\..\obj\inftrees.obj ..\..\..\obj\trees.obj ..\..\..\obj\uncompr.obj \
..\..\..\obj\zutil.obj ..\..\..\obj\jquant2.obj ..\..\..\obj\jcapistd.obj \
..\..\..\obj\jccoefct.obj ..\..\..\obj\jccolor.obj ..\..\..\obj\jcdctmgr.obj \
..\..\..\obj\jchuff.obj ..\..\..\obj\jcinit.obj ..\..\..\obj\jcmainct.obj \
..\..\..\obj\jcmarker.obj ..\..\..\obj\jcmaster.obj ..\..\..\obj\jcomapi.obj \
..\..\..\obj\jcparam.obj ..\..\..\obj\jcphuff.obj ..\..\..\obj\jcprepct.obj \
..\..\..\obj\jcsample.obj ..\..\..\obj\jctrans.obj ..\..\..\obj\jdapistd.obj \
..\..\..\obj\jdatadst.obj ..\..\..\obj\jdatasrc.obj ..\..\..\obj\jdcoefct.obj \
..\..\..\obj\jdcolor.obj ..\..\..\obj\jddctmgr.obj ..\..\..\obj\jdhuff.obj \
..\..\..\obj\jdinput.obj ..\..\..\obj\jdmainct.obj ..\..\..\obj\jdmarker.obj \
..\..\..\obj\jdmaster.obj ..\..\..\obj\jdmerge.obj ..\..\..\obj\jdphuff.obj \
..\..\..\obj\jdpostct.obj ..\..\..\obj\jdsample.obj ..\..\..\obj\jdtrans.obj \
..\..\..\obj\jerror.obj ..\..\..\obj\jfdctflt.obj ..\..\..\obj\jfdctfst.obj \
..\..\..\obj\jfdctint.obj ..\..\..\obj\jidctflt.obj ..\..\..\obj\jidctfst.obj \
..\..\..\obj\jidctint.obj ..\..\..\obj\jidctred.obj ..\..\..\obj\jmemmgr.obj \
..\..\..\obj\jmemnobs.obj ..\..\..\obj\jquant1.obj ..\..\..\obj\jcapimin.obj \
..\..\..\obj\jutils.obj ..\..\..\obj\jdapimin.obj
RESFILES = libmng.res
RESDEPEN = $(RESFILES)
LIBFILES = ..\..\..\lcms\Projects\Bcc-5.5-static\lcmsstat.lib
LIBRARIES = VCL35.lib
SPARELIBS = VCL35.lib
PACKAGES = vclx35.bpi VCL35.bpi vcldb35.bpi vcldbx35.bpi bcbsmp35.bpi dclocx35.bpi \
Qrpt35.bpi
DEFFILE =
# ---------------------------------------------------------------------------
PATHCPP = .;..\..;..\..\..\zlib;..\..\..\jpgsrc6b
PATHASM = .;
PATHPAS = .;
PATHRC = .;
DEBUGLIBPATH = $(BCB)\lib\debug
RELEASELIBPATH = $(BCB)\lib\release
# ---------------------------------------------------------------------------
CFLAG1 = -WD -O2 -Hc -w- -d -k- -vi -w-par -c -tWD
CFLAG2 = -D_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;XMNG_INCLUDE_MPNG_PROPOSAL;XMNG_INCLUDE_ANG_PROPOSAL \
-I"c:\program files\borland\cbuilder3\projects";..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\include;$(BCB)\bin \
-H=$(BCB)\lib\vcl35.csm
CFLAG3 = -Tkh30000 -ff -pr -wuse -wucp -wstv -wstu -wsig -wpin -wnod -wnak -wdef -wcln \
-wbbf -wasm -wamp -wamb
PFLAGS = -D_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;XMNG_INCLUDE_MPNG_PROPOSAL;XMNG_INCLUDE_ANG_PROPOSAL \
-N2..\..\..\obj -N0..\..\..\obj \
-U"c:\program files\borland\cbuilder3\projects";..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\lib;$(BCB)\bin;$(RELEASELIBPATH) \
-I"c:\program files\borland\cbuilder3\projects";..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\include;$(BCB)\bin \
-H -W -$L- -$D- -v -JPHN -M
RFLAGS = -D_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;XMNG_INCLUDE_MPNG_PROPOSAL;XMNG_INCLUDE_ANG_PROPOSAL \
-i"c:\program files\borland\cbuilder3\projects";..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\include;$(BCB)\bin
AFLAGS = /i"c:\program files\borland\cbuilder3\projects" /i..\..\..\libmng-devel \
/i..\..\..\zlib /i..\..\..\jpgsrc6b /i..\..\..\lcms\include /i..\..\..\lcms\src \
/i$(BCB)\include /i$(BCB)\bin /d_NO_VCL /dMNG_BUILD_DLL /dMNG_FULL_CMS \
/dMNG_STRICT_ANSI /dMNG_CHECK_BAD_ICCP /dZLIB_DLL /dZLIB_WINAPI \
/dMNG_OPTIMIZE_FOOTPRINT_COMPOSE /dMNG_OPTIMIZE_FOOTPRINT_DIV \
/dMNG_OPTIMIZE_FOOTPRINT_SWITCH /dXMNG_DECREMENT_LOOPS \
/dMNG_OPTIMIZE_FOOTPRINT_INIT /dXMNG_OPTIMIZE_FOOTPRINT_MAGN \
/dMNG_OPTIMIZE_OBJCLEANUP /dMNG_OPTIMIZE_CHUNKINITFREE \
/dMNG_OPTIMIZE_CHUNKASSIGN /dMNG_OPTIMIZE_CHUNKREADER \
/dXMNG_OPTIMIZE_DISPLAYCALLS /dXMNG_INCLUDE_MPNG_PROPOSAL \
/dXMNG_INCLUDE_ANG_PROPOSAL /mx /w2 /zd
LFLAGS = -L"c:\program files\borland\cbuilder3\projects";..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\lib;$(BCB)\bin;$(RELEASELIBPATH) \
-H:0x1000000 -Hc:0x10000 -B:0x60000000 -aa -Tpd -s -Gn -Gi -M -wdpl -d
IFLAGS =
# ---------------------------------------------------------------------------
ALLOBJ = c0d32.obj $(OBJFILES)
ALLRES = $(RESFILES)
ALLLIB = $(LIBFILES) import32.lib cw32mt.lib
# ---------------------------------------------------------------------------
!ifdef IDEOPTIONS
[Version Info]
IncludeVerInfo=1
AutoIncBuild=1
MajorVer=1
MinorVer=0
Release=10
Build=1440
Debug=0
PreRelease=0
Special=0
Private=0
DLL=1
Locale=1033
CodePage=1252
[Version Info Keys]
CompanyName=PNG/MNG Group
FileDescription=libmng - THE MNG library
FileVersion=1.0.10.1440
InternalName=libmng
LegalCopyright=Copyright © 2000-2007 G. Juyn, 2007 G.Randers-Pherson
LegalTrademarks=
OriginalFilename=libmng.dll
ProductName=libmng
ProductVersion=1.0.10
Comments=
[HistoryLists\hlIncludePath]
Count=12
Item0=c:\program files\borland\cbuilder3\projects;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\include;$(BCB)\bin
Item1=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\include;$(BCB)\bin
Item2=c:\program files\borland\cbuilder3\projects;..\..\..\libmng;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\include;$(BCB)\bin
Item3=..\..\..\libmng;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\include;$(BCB)\bin
Item4=..\..\..\libmng;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;$(BCB)\include;$(BCB)\bin
Item5=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;$(BCB)\include;$(BCB)\bin
Item6=..\..\..\libmng;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;$(BCB)\include;$(BCB)\bin
Item7=..\..\..\..\jpgsrc6b;..\..\..\..\lcms\include;..\..\..\..\lcms\source;..\..\..\..\zlib;..\..\..\..\libmng;$(BCB)\include;$(BCB)\bin
Item8=..\..\..\..\lcms\include;..\..\..\..\lcms\source;..\..\..\..\zlib;..\..\..\..\libmng;$(BCB)\include;$(BCB)\bin
Item9=..\..\..\..\zlib;..\..\..\..\libmng;$(BCB)\include;$(BCB)\bin
Item10=..\..\libmng;$(BCB)\include;$(BCB)\bin
Item11=..\..\libmng;$(BCB)\include
[HistoryLists\hlLibraryPath]
Count=12
Item0=c:\program files\borland\cbuilder3\projects;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\lib;$(BCB)\bin
Item1=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\include;..\..\..\lcms\src;$(BCB)\lib;$(BCB)\bin
Item2=c:\program files\borland\cbuilder3\projects;..\..\..\lcms\src;..\..\..\libmng;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\lib;$(BCB)\bin
Item3=..\..\..\lcms\src;..\..\..\libmng;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\lib;$(BCB)\bin
Item4=..\..\..\libmng;..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\lib;$(BCB)\bin
Item5=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;$(BCB)\lib;$(BCB)\bin
Item6=..\..\..\libmng;..\..\..\jpgsrc6b;..\..\..\zlib;$(BCB)\lib;$(BCB)\bin
Item7=..\..\..\..\jpgsrc6b;..\..\..\..\lcms\source;..\..\..\..\zlib;..\..\..\..\libmng;$(BCB)\lib;$(BCB)\bin
Item8=..\..\..\..\lcms\source;..\..\..\..\zlib;..\..\..\..\libmng;$(BCB)\lib;$(BCB)\bin
Item9=..\..\..\..\zlib;..\..\..\..\libmng;$(BCB)\lib;$(BCB)\bin
Item10=..\..\libmng;$(BCB)\lib;$(BCB)\bin
Item11=..\..\libmng;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=7
Item0=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\src
Item1=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\source;..\..\..\lcms\src
Item2=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\source
Item3=..\..\..\jpgsrc6b;..\..\..\lcms\source;..\..\..\zlib;..\..\..\libmng
Item4=..\..\..\..\jpgsrc6b;..\..\..\..\lcms\source;..\..\..\..\zlib;..\..\..\..\libmng
Item5=..\..\..\..\libmng
Item6=..\..\libmng
[HistoryLists\hlConditionals]
Count=30
Item0=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;XMNG_INCLUDE_MPNG_PROPOSAL;XMNG_INCLUDE_ANG_PROPOSAL
Item1=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;MNG_INCLUDE_MPNG_PROPOSAL;MNG_INCLUDE_ANG_PROPOSAL
Item2=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;XMNG_INCLUDE_MPNG_PROPOSAL;MNG_INCLUDE_ANG_PROPOSAL
Item3=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;MNG_INCLUDE_MPNG_PROPOSAL;XMNG_INCLUDE_ANG_PROPOSAL
Item4=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;MNG_INCLUDE_MPNG_PROPOSAL;MNG_INCLUDE_ANG6_PROPOSAL
Item5=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;MNG_INCLUDE_MPNG_PROPOSAL
Item6=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;XMNG_INCLUDE_MPNG_PROPOSAL
Item7=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;XMNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;MNG_INCLUDE_MPNG_PROPOSAL
Item8=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;MNG_SUPPORT_MPNG_PROPOSAL
Item9=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS
Item10=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;MNG_OPTIMIZE_DISPLAYCALLS
Item11=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS
Item12=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_DECREMENT_LOOPS;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_FOOTPRINT_MAGN;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS
Item13=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS
Item14=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;XMNG_OPTIMIZE_DISPLAYCALLS;MNG_NO_OLD_VERSIONS
Item15=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER;MNG_OPTIMIZE_DISPLAYCALLS
Item16=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER
Item17=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_OBJCLEANUP;XMNG_OPTIMIZE_CHUNKINITFREE;XMNG_OPTIMIZE_CHUNKASSIGN;XMNG_OPTIMIZE_CHUNKREADER
Item18=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_CHUNKASSIGN;XMNG_OPTIMIZE_CHUNKREADER
Item19=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKASSIGN;MNG_OPTIMIZE_CHUNKREADER
Item20=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKASSIGN;XMNG_OPTIMIZE_CHUNKREADER
Item21=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_OBJCLEANUP;MNG_OPTIMIZE_CHUNKASSIGN
Item22=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_CHUNKINITFREE;MNG_OPTIMIZE_OBJCLEANUP
Item23=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_OPTIMIZE_CHUNKINITFREE
Item24=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;XMNG_OPTIMIZE_CHUNKINITFREE
Item25=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT
Item26=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;XMNG_OPTIMIZE_FOOTPRINT_COMPOSE;XMNG_OPTIMIZE_FOOTPRINT_DIV;XMNG_OPTIMIZE_FOOTPRINT_SWITCH;XMNG_OPTIMIZE_FOOTPRINT_INIT
Item27=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_SUPPORT_TRACE
Item28=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;x_MNG_NO_16BIT_SUPPORT
Item29=_NO_VCL;MNG_BUILD_DLL;MNG_FULL_CMS;MNG_STRICT_ANSI;MNG_CHECK_BAD_ICCP;ZLIB_DLL;ZLIB_WINAPI;MNG_OPTIMIZE_FOOTPRINT_COMPOSE;MNG_OPTIMIZE_FOOTPRINT_DIV;MNG_OPTIMIZE_FOOTPRINT_SWITCH;MNG_OPTIMIZE_FOOTPRINT_INIT;MNG_NO_16BIT_SUPPORT
[HistoryLists\hlIntOutputDir]
Count=2
Item0=..\..\..\obj
Item1=..\..\..\..\obj
[HistoryLists\hlHostApplication]
Count=23
Item0=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\mngview.exe
Item1=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\MNGJNGportal.exe
Item2=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\gif2mng.exe
Item3=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\mngview_push.exe
Item4=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\mngtree.exe
Item5=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\mngdump.exe
Item6=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\lm_diag.exe
Item7=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\eMNGma.exe
Item8=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\bogus.exe
Item9=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\TestNGImage.exe
Item10=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\mngrepair.exe
Item11=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\Test_lz.exe
Item12=D:\Triple-T\Software\LossyPNG\Bin\Test_lz.exe
Item13=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\SlowView.exe
Item14=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\Bin\eMNGma.exe
Item15=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\mngpromo.exe
Item16=D:\Triple-T\Software\mnglib3t\libmng\bcb\win32dll\mngdump.exe
Item17=D:\Triple-T\Software\mnglib3t\libmng\bcb\win32dll\mngview.exe
Item18=D:\Triple-T\Software\mnglib3t\libmng\bcb\win32dll\bogus.exe
Item19=D:\Triple-T\Software\mnglib3t\libmng\bcb\win32dll\mngtree.exe
Item20=D:\Triple-T\Software\mnglib3t\libmng\samples\bcb\win32dll\mngview.exe
Item21=D:\Triple-T\Software\mnglib3t\libmng\samples\bcb\win32dll\mngdump.exe
Item22=D:\Triple-T\Software\mnglib3t\libmng\samples\Delphi3\mngdump\mngdump.exe
[HistoryLists\hlRunParameters]
Count=3
Item0=sample.mng
Item1=roilion02.mng roilion02-fixed.mng
Item2=usflag-lc-d63.mng
[Debugging]
DebugSourceDirs=..\..\..\libmng-devel;..\..\..\zlib;..\..\..\jpgsrc6b;..\..\..\lcms\src
[Parameters]
RunParams=
HostApplication=D:\Triple-T\Software\mnglib3t\libmng-devel\bcb\win32dll\mngview.exe
!endif
# ---------------------------------------------------------------------------
# MAKE SECTION
# ---------------------------------------------------------------------------
# This section of the project file is not used by the BCB IDE. It is for
# the benefit of building from the command-line using the MAKE utility.
# ---------------------------------------------------------------------------
.autodepend
# ---------------------------------------------------------------------------
!if !$d(BCC32)
BCC32 = bcc32
!endif
!if !$d(DCC32)
DCC32 = dcc32
!endif
!if !$d(TASM32)
TASM32 = tasm32
!endif
!if !$d(LINKER)
LINKER = ilink32
!endif
!if !$d(BRCC32)
BRCC32 = brcc32
!endif
# ---------------------------------------------------------------------------
!if $d(PATHCPP)
.PATH.CPP = $(PATHCPP)
.PATH.C = $(PATHCPP)
!endif
!if $d(PATHPAS)
.PATH.PAS = $(PATHPAS)
!endif
!if $d(PATHASM)
.PATH.ASM = $(PATHASM)
!endif
!if $d(PATHRC)
.PATH.RC = $(PATHRC)
!endif
# ---------------------------------------------------------------------------
$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(BCB)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
# ---------------------------------------------------------------------------
.pas.hpp:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.pas.obj:
$(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
.cpp.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.c.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
.asm.obj:
$(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
.rc.res:
$(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
# ---------------------------------------------------------------------------

View file

@ -0,0 +1,153 @@
/* ************************************************************************** */
/* * * */
/* * COPYRIGHT NOTICE: * */
/* * * */
/* * Copyright (c) 2000-2007 Gerard Juyn (gerard@libmng.com) * */
/* * [You may insert additional notices after this sentence if you modify * */
/* * this source] * */
/* * * */
/* * For the purposes of this copyright and license, "Contributing Authors" * */
/* * is defined as the following set of individuals: * */
/* * * */
/* * Gerard Juyn * */
/* * (hopefully some more to come...) * */
/* * * */
/* * The MNG Library is supplied "AS IS". The Contributing Authors * */
/* * disclaim all warranties, expressed or implied, including, without * */
/* * limitation, the warranties of merchantability and of fitness for any * */
/* * purpose. The Contributing Authors assume no liability for direct, * */
/* * indirect, incidental, special, exemplary, or consequential damages, * */
/* * which may result from the use of the MNG Library, even if advised of * */
/* * the possibility of such damage. * */
/* * * */
/* * Permission is hereby granted to use, copy, modify, and distribute this * */
/* * source code, or portions hereof, for any purpose, without fee, subject * */
/* * to the following restrictions: * */
/* * * */
/* * 1. The origin of this source code must not be misrepresented; * */
/* * you must not claim that you wrote the original software. * */
/* * * */
/* * 2. Altered versions must be plainly marked as such and must not be * */
/* * misrepresented as being the original source. * */
/* * * */
/* * 3. This Copyright notice may not be removed or altered from any source * */
/* * or altered source distribution. * */
/* * * */
/* * The Contributing Authors specifically permit, without fee, and * */
/* * encourage the use of this source code as a component to supporting * */
/* * the MNG and JNG file format in commercial products. If you use this * */
/* * source code in a product, acknowledgment would be highly appreciated. * */
/* * * */
/* ************************************************************************** */
/* * * */
/* * project : libmng * */
/* * file : libmng.cpp copyright (c) 2000-2002 G.Juyn * */
/* * version : 1.0.5 * */
/* * * */
/* * purpose : generic dll project assembly file * */
/* * * */
/* * author : G.Juyn * */
/* * web : http://www.3-t.com * */
/* * email : mailto:info@3-t.com * */
/* * * */
/* * comment : Autogenerated file with the libmng.dll BCB project * */
/* * * */
/* * changes : 0.5.1 - 05/14/2000 - G.Juyn * */
/* * - added this block * */
/* * * */
/* * 1.0.5 - 08/20/2000 - G.Juyn * */
/* * - version-number & copyright * */
/* * * */
/* ************************************************************************** */
#include <windows.h>
#pragma hdrstop
#include <condefs.h>
/* ************************************************************************** */
USERES("libmng.res");
USEUNIT("..\..\libmng_hlapi.c");
USEUNIT("..\..\libmng_callback_xs.c");
USEUNIT("..\..\libmng_prop_xs.c");
USEUNIT("..\..\libmng_chunk_xs.c");
USEUNIT("..\..\libmng_object_prc.c");
USEUNIT("..\..\libmng_chunk_descr.c");
USEUNIT("..\..\libmng_chunk_prc.c");
USEUNIT("..\..\libmng_chunk_io.c");
USEUNIT("..\..\libmng_read.c");
USEUNIT("..\..\libmng_write.c");
USEUNIT("..\..\libmng_display.c");
USEUNIT("..\..\libmng_dither.c");
USEUNIT("..\..\libmng_pixels.c");
USEUNIT("..\..\libmng_filter.c");
USEUNIT("..\..\libmng_error.c");
USEUNIT("..\..\libmng_trace.c");
USEUNIT("..\..\libmng_cms.c");
USEUNIT("..\..\libmng_zlib.c");
USEUNIT("..\..\libmng_jpeg.c");
USEUNIT("..\..\..\zlib\adler32.c");
USEUNIT("..\..\..\zlib\compress.c");
USEUNIT("..\..\..\zlib\crc32.c");
USEUNIT("..\..\..\zlib\deflate.c");
USEUNIT("..\..\..\zlib\inffast.c");
USEUNIT("..\..\..\zlib\inflate.c");
USEUNIT("..\..\..\zlib\inftrees.c");
USEUNIT("..\..\..\zlib\trees.c");
USEUNIT("..\..\..\zlib\uncompr.c");
USEUNIT("..\..\..\zlib\zutil.c");
USEUNIT("..\..\..\jpgsrc6b\jquant2.c");
USEUNIT("..\..\..\jpgsrc6b\jcapistd.c");
USEUNIT("..\..\..\jpgsrc6b\jccoefct.c");
USEUNIT("..\..\..\jpgsrc6b\jccolor.c");
USEUNIT("..\..\..\jpgsrc6b\jcdctmgr.c");
USEUNIT("..\..\..\jpgsrc6b\jchuff.c");
USEUNIT("..\..\..\jpgsrc6b\jcinit.c");
USEUNIT("..\..\..\jpgsrc6b\jcmainct.c");
USEUNIT("..\..\..\jpgsrc6b\jcmarker.c");
USEUNIT("..\..\..\jpgsrc6b\jcmaster.c");
USEUNIT("..\..\..\jpgsrc6b\jcomapi.c");
USEUNIT("..\..\..\jpgsrc6b\jcparam.c");
USEUNIT("..\..\..\jpgsrc6b\jcphuff.c");
USEUNIT("..\..\..\jpgsrc6b\jcprepct.c");
USEUNIT("..\..\..\jpgsrc6b\jcsample.c");
USEUNIT("..\..\..\jpgsrc6b\jctrans.c");
USEUNIT("..\..\..\jpgsrc6b\jdapistd.c");
USEUNIT("..\..\..\jpgsrc6b\jdatadst.c");
USEUNIT("..\..\..\jpgsrc6b\jdatasrc.c");
USEUNIT("..\..\..\jpgsrc6b\jdcoefct.c");
USEUNIT("..\..\..\jpgsrc6b\jdcolor.c");
USEUNIT("..\..\..\jpgsrc6b\jddctmgr.c");
USEUNIT("..\..\..\jpgsrc6b\jdhuff.c");
USEUNIT("..\..\..\jpgsrc6b\jdinput.c");
USEUNIT("..\..\..\jpgsrc6b\jdmainct.c");
USEUNIT("..\..\..\jpgsrc6b\jdmarker.c");
USEUNIT("..\..\..\jpgsrc6b\jdmaster.c");
USEUNIT("..\..\..\jpgsrc6b\jdmerge.c");
USEUNIT("..\..\..\jpgsrc6b\jdphuff.c");
USEUNIT("..\..\..\jpgsrc6b\jdpostct.c");
USEUNIT("..\..\..\jpgsrc6b\jdsample.c");
USEUNIT("..\..\..\jpgsrc6b\jdtrans.c");
USEUNIT("..\..\..\jpgsrc6b\jerror.c");
USEUNIT("..\..\..\jpgsrc6b\jfdctflt.c");
USEUNIT("..\..\..\jpgsrc6b\jfdctfst.c");
USEUNIT("..\..\..\jpgsrc6b\jfdctint.c");
USEUNIT("..\..\..\jpgsrc6b\jidctflt.c");
USEUNIT("..\..\..\jpgsrc6b\jidctfst.c");
USEUNIT("..\..\..\jpgsrc6b\jidctint.c");
USEUNIT("..\..\..\jpgsrc6b\jidctred.c");
USEUNIT("..\..\..\jpgsrc6b\jmemmgr.c");
USEUNIT("..\..\..\jpgsrc6b\jmemnobs.c");
USEUNIT("..\..\..\jpgsrc6b\jquant1.c");
USEUNIT("..\..\..\jpgsrc6b\jcapimin.c");
USEUNIT("..\..\..\jpgsrc6b\jutils.c");
USEUNIT("..\..\..\jpgsrc6b\jdapimin.c");
USELIB("..\..\..\lcms\Projects\Bcc-5.5-static\lcmsstat.lib");
//---------------------------------------------------------------------------
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
return 1;
}
/* ************************************************************************** */

Binary file not shown.