home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip: Special Computer Graphics & Animation
/
Chip-Special-Computergrafik.bin
/
programs
/
povray
/
povsrc.sea
/
POVSRC
/
SOURCE
/
POVMalloc.h
< prev
next >
Wrap
Text File
|
1994-02-04
|
4KB
|
94 lines
/*==============================================================================
Project: POV-Ray
Version: 2.2
File: POVMalloc.h
Description:
Library routines and definitions to re-route the Std C library
calls to malloc/free, track them, and handle garbage-collection.
------------------------------------------------------------------------------
Author:
Eduard [esp] Schwan
------------------------------------------------------------------------------
from Persistence of Vision Raytracer
Copyright 1993 Persistence of Vision Team
------------------------------------------------------------------------------
NOTICE: This source code file is provided so that users may experiment
with enhancements to POV-Ray and to port the software to platforms other
than those supported by the POV-Ray Team. There are strict rules under
which you are permitted to use this file. The rules are in the file
named POVLEGAL.DOC which should be distributed with this file. If
POVLEGAL.DOC is not available or for more info please contact the POV-Ray
Team Coordinator by leaving a message in CompuServe's Graphics Developer's
Forum. The latest version of POV-Ray may be found there as well.
This program is based on the popular DKB raytracer version 2.12.
DKBTrace was originally written by David K. Buck.
DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
------------------------------------------------------------------------------
More Info:
This Macintosh version of POV-Ray was created and compiled by Jim Nitchals
(Think 5.0) and Eduard Schwan (MPW 3.2), based (loosely) on the original
port by Thomas Okken and David Lichtman, with some help from Glenn Sugden.
For bug reports regarding the Macintosh version, you should contact:
Eduard [esp] Schwan
CompuServe: 71513,2161
Internet: jl.tech@applelink.apple.com
AppleLink: jl.tech
Jim Nitchals
Compuserve: 73117,3020
America Online: JIMN8
Internet: jimn8@aol.com -or- jimn8@applelink.apple.com
AppleLink: JIMN8
------------------------------------------------------------------------------
Change History:
921023 [esp] Created.
921202 [esp] Added POV_need_to_reclaim() routine
931001 [esp] version 2.0 finished (Released on 10/4/93)
931020 [esp] Added realloc function
931020 [esp] Added debug file/line info to malloc/calloc (MALLOC_TRACE)
==============================================================================*/
#if !defined(POVMALLOC_H)
#define POVMALLOC_H
#include <dialogs.h> // DialogPtr
// rename std. C library calls for all users (except POVMalloc.c itself!)
#if !defined (POVMALLOC_C)
#if MALLOC_TRACE
#define malloc(p) POV_malloc(p, __FILE__, __LINE__)
#define calloc(size, nitems) POV_calloc(size, nitems, __FILE__, __LINE__)
#else
#define malloc(p) POV_malloc(p)
#define calloc(size, nitems) POV_calloc(size, nitems)
#endif // MALLOC_TRACE
#define realloc(p, newsize) POV_realloc(p, newsize)
#define free(p) POV_free(p)
#endif // POVMALLOC_C
extern OSErr POV_init_memtracking(size_t max_trackable);
extern void POV_enable_memtracking(Boolean dotracking);
#if MALLOC_TRACE
extern void *POV_malloc(size_t size, char * src_file, short src_line_num);
#else
extern void *POV_malloc(size_t size);
#endif // MALLOC_TRACE
#if MALLOC_TRACE
extern void *POV_calloc(size_t nmemb, size_t size, char * src_file, short src_line_num);
#else
extern void *POV_calloc(size_t nmemb, size_t size);
#endif // MALLOC_TRACE
extern void *POV_realloc(void * p, size_t newsize);
extern void POV_free(void *p);
extern Boolean POV_need_to_reclaim(void);
extern void POV_reclaim(Boolean BeVerbose, DialogPtr progressDialogPtr);
#endif // POVMALLOC_H