Platform.h File Reference

A header file for defining platform related class formats and functions. More...

#include <stdio.h>
#include <memory.h>
#include <math.h>
#include <string.h>
#include <float.h>
#include <assert.h>
#include "platform/TickCounter.h"
#include "platform/Vector2d.h"
#include "platform/Matrix2d.h"

Defines

#define NULL   0
#define MEMSET(aAddress, aData, aLength)   memset(aAddress,aData,aLength)
#define MEMCPY(aTarget, aSource, aLength)   memcpy(aTarget,aSource,aLength)
#define STRDUP(aString)   strdup(aString)
#define STRCAT(aTgt, aSrc)   strcat(aTgt,aSrc)
#define STRLEN(aString)   strlen(aString)
#define STREQ(aString1, aString2)   (strcmp(aString1,aString2) == 0)
#define SSCANF(aString, aFormat, aParameter)   sscanf(aString,aFormat,aParameter)
#define TICKCOUNTER   TickCounter
#define TICKCOUNTER_START(aTickCounter)   aTickCounter.start()
#define TICKCOUNTER_END(aTickCounter)   aTickCounter.end()
#define TICKCOUNTER_GETTICKS(aTickCounter)   aTickCounter.getTicks()
#define RATIONAL   float
#define INT_TO_RATIONAL(a)   ((float)(a))
#define FLOAT_TO_RATIONAL(a)   (a)
#define RATIONAL_SIN(a)   (float)sin((double)(a))
#define RATIONAL_COS(a)   (float)cos((double)(a))
#define MIN_RATIONAL   ((float)-1000000000000000)
#define MAX_RATIONAL   ((float)1000000000000000)
#define FIXED_POINT   int
#define FIXED_POINT_SHIFT   16
#define INT_TO_FIXED(a)   ((a) << FIXED_POINT_SHIFT)
#define FLOAT_TO_FIXED(a)   (int)((a)*((float)(1 << FIXED_POINT_SHIFT)))
#define FIXED_TO_INT(a)   ((a) >> FIXED_POINT_SHIFT)
#define FIXED_TO_FLOAT(a)   ((float)(a)/((float)(1 << FIXED_POINT_SHIFT)))
#define RATIONAL_TO_FIXED(a)   FLOAT_TO_FIXED(a)
#define FIXED_TO_RATIONAL(a)   FIXED_TO_FLOAT(a)
#define INTEGER64   __int64
#define VECTOR2D   Vector2d
#define VECTOR2D_SETX(aVector, aX)   aVector.mX = (aX)
#define VECTOR2D_SETY(aVector, aY)   aVector.mY = (aY)
#define VECTOR2D_GETX(aVector)   aVector.mX
#define VECTOR2D_GETY(aVector)   aVector.mY
#define MATRIX2D   Matrix2d
#define MATRIX2D_MAKEROTATION(aMatrix, aAngle)   aMatrix.makeRotation(aAngle)
#define MATRIX2D_MAKETRANSLATION(aMatrix, aTranslation)   aMatrix.makeTranslation(aTranslation)
#define MATRIX2D_MAKESCALING(aMatrix, aScale)   aMatrix.makeScaling(aScale)
#define MATRIX2D_MAKEIDENTITY(aMatrix)   aMatrix.makeIdentity()
#define MATRIX2D_ROTATE(aMatrix, aAngle)   aMatrix.rotate(aAngle)
#define MATRIX2D_TRANSLATE(aMatrix, aTranslation)   aMatrix.translate(aTranslation)
#define MATRIX2D_SCALE(aMatrix, aScale)   aMatrix.scale(aScale)
#define MATRIX2D_MULTIPLY(aMatrix, aMultiplier)   aMatrix.multiply(aMultiplier)
#define MATRIX2D_TRANSFORM(aMatrix, aSource, aResult)   aMatrix.transform(aSource,aResult)
#define MATRIX2D_GET_M11(aMatrix)   aMatrix.mMatrix[0][0]
#define MATRIX2D_GET_M12(aMatrix)   aMatrix.mMatrix[0][1]
#define MATRIX2D_GET_M21(aMatrix)   aMatrix.mMatrix[1][0]
#define MATRIX2D_GET_M22(aMatrix)   aMatrix.mMatrix[1][1]
#define MATRIX2D_GET_DX(aMatrix)   aMatrix.mMatrix[2][0]
#define MATRIX2D_GET_DY(aMatrix)   aMatrix.mMatrix[2][1]
#define TEXTFILE_OBJECT   FILE
#define TEXTFILE_OPEN_FOR_WRITE(aName)   fopen(aName,"wb")
#define TEXTFILE_WRITE_STRING(aFile, aString)   fprintf(aFile,"%s",aString)
#define TEXTFILE_WRITE_RATIONAL(aFile, aRational)   fprintf(aFile,"%f",(float)aRational)
#define TEXTFILE_WRITE_INT(aFile, aInt)   fprintf(aFile,"%d",aInt)
#define TEXTFILE_CLOSE(aObject)   fclose(aObject)
#define BINARYFILE_OBJECT   FILE
#define BINARYFILE_OPEN_FOR_WRITE(aName)   fopen(aName,"wb")
#define BINARYFILE_WRITE_DATA(aDataPtr, aItemSize, aItemCount, aFile)   fwrite(aDataPtr,aItemSize,aItemCount,aFile)
#define BINARYFILE_CLOSE(aObject)   fclose(aObject)
#define DEBUG_ASSERT(aExp)   assert(aExp)


Detailed Description

A header file for defining platform related class formats and functions.

Scanline edge-flag algorithm for antialiasing
Copyright (c) 2005-2007 Kiia Kallio

http://mlab.uiah.fi/~kkallio/antialiasing/

This code is distributed under the three-clause BSD license. Read the LICENSE file or visit the URL above for details.

Id
Date
Revision

Define Documentation

#define BINARYFILE_CLOSE aObject   )     fclose(aObject)
 

#define BINARYFILE_OBJECT   FILE
 

#define BINARYFILE_OPEN_FOR_WRITE aName   )     fopen(aName,"wb")
 

#define BINARYFILE_WRITE_DATA aDataPtr,
aItemSize,
aItemCount,
aFile   )     fwrite(aDataPtr,aItemSize,aItemCount,aFile)
 

#define DEBUG_ASSERT aExp   )     assert(aExp)
 

#define FIXED_POINT   int
 

#define FIXED_POINT_SHIFT   16
 

#define FIXED_TO_FLOAT  )     ((float)(a)/((float)(1 << FIXED_POINT_SHIFT)))
 

#define FIXED_TO_INT  )     ((a) >> FIXED_POINT_SHIFT)
 

#define FIXED_TO_RATIONAL  )     FIXED_TO_FLOAT(a)
 

#define FLOAT_TO_FIXED  )     (int)((a)*((float)(1 << FIXED_POINT_SHIFT)))
 

#define FLOAT_TO_RATIONAL  )     (a)
 

#define INT_TO_FIXED  )     ((a) << FIXED_POINT_SHIFT)
 

#define INT_TO_RATIONAL  )     ((float)(a))
 

#define INTEGER64   __int64
 

#define MATRIX2D   Matrix2d
 

#define MATRIX2D_GET_DX aMatrix   )     aMatrix.mMatrix[2][0]
 

#define MATRIX2D_GET_DY aMatrix   )     aMatrix.mMatrix[2][1]
 

#define MATRIX2D_GET_M11 aMatrix   )     aMatrix.mMatrix[0][0]
 

#define MATRIX2D_GET_M12 aMatrix   )     aMatrix.mMatrix[0][1]
 

#define MATRIX2D_GET_M21 aMatrix   )     aMatrix.mMatrix[1][0]
 

#define MATRIX2D_GET_M22 aMatrix   )     aMatrix.mMatrix[1][1]
 

#define MATRIX2D_MAKEIDENTITY aMatrix   )     aMatrix.makeIdentity()
 

#define MATRIX2D_MAKEROTATION aMatrix,
aAngle   )     aMatrix.makeRotation(aAngle)
 

#define MATRIX2D_MAKESCALING aMatrix,
aScale   )     aMatrix.makeScaling(aScale)
 

#define MATRIX2D_MAKETRANSLATION aMatrix,
aTranslation   )     aMatrix.makeTranslation(aTranslation)
 

#define MATRIX2D_MULTIPLY aMatrix,
aMultiplier   )     aMatrix.multiply(aMultiplier)
 

#define MATRIX2D_ROTATE aMatrix,
aAngle   )     aMatrix.rotate(aAngle)
 

#define MATRIX2D_SCALE aMatrix,
aScale   )     aMatrix.scale(aScale)
 

#define MATRIX2D_TRANSFORM aMatrix,
aSource,
aResult   )     aMatrix.transform(aSource,aResult)
 

#define MATRIX2D_TRANSLATE aMatrix,
aTranslation   )     aMatrix.translate(aTranslation)
 

#define MAX_RATIONAL   ((float)1000000000000000)
 

#define MEMCPY aTarget,
aSource,
aLength   )     memcpy(aTarget,aSource,aLength)
 

#define MEMSET aAddress,
aData,
aLength   )     memset(aAddress,aData,aLength)
 

#define MIN_RATIONAL   ((float)-1000000000000000)
 

#define NULL   0
 

#define RATIONAL   float
 

#define RATIONAL_COS  )     (float)cos((double)(a))
 

#define RATIONAL_SIN  )     (float)sin((double)(a))
 

#define RATIONAL_TO_FIXED  )     FLOAT_TO_FIXED(a)
 

#define SSCANF aString,
aFormat,
aParameter   )     sscanf(aString,aFormat,aParameter)
 

#define STRCAT aTgt,
aSrc   )     strcat(aTgt,aSrc)
 

#define STRDUP aString   )     strdup(aString)
 

#define STREQ aString1,
aString2   )     (strcmp(aString1,aString2) == 0)
 

#define STRLEN aString   )     strlen(aString)
 

#define TEXTFILE_CLOSE aObject   )     fclose(aObject)
 

#define TEXTFILE_OBJECT   FILE
 

#define TEXTFILE_OPEN_FOR_WRITE aName   )     fopen(aName,"wb")
 

#define TEXTFILE_WRITE_INT aFile,
aInt   )     fprintf(aFile,"%d",aInt)
 

#define TEXTFILE_WRITE_RATIONAL aFile,
aRational   )     fprintf(aFile,"%f",(float)aRational)
 

#define TEXTFILE_WRITE_STRING aFile,
aString   )     fprintf(aFile,"%s",aString)
 

#define TICKCOUNTER   TickCounter
 

#define TICKCOUNTER_END aTickCounter   )     aTickCounter.end()
 

#define TICKCOUNTER_GETTICKS aTickCounter   )     aTickCounter.getTicks()
 

#define TICKCOUNTER_START aTickCounter   )     aTickCounter.start()
 

#define VECTOR2D   Vector2d
 

#define VECTOR2D_GETX aVector   )     aVector.mX
 

#define VECTOR2D_GETY aVector   )     aVector.mY
 

#define VECTOR2D_SETX aVector,
aX   )     aVector.mX = (aX)
 

#define VECTOR2D_SETY aVector,
aY   )     aVector.mY = (aY)
 


Generated on Fri Aug 3 00:44:30 2007 for Scanline edge-flag algorithm for antialiasing by  doxygen 1.4.6-NO