| This is a nearly verbatim copy of the GLU tessellator source code from |
| SGI's OpenGL Sample Implementation at |
| http://oss.sgi.com/projects/ogl-sample/ . Per |
| http://oss.sgi.com/projects/FreeB/ , the code is covered under the SGI |
| Free Software License B, version 2.0, a copy of which is in |
| LICENSE.txt in this directory. |
| |
| The following changes were made in order to incorporate this code: |
| |
| - The addition of a simplified gluos.h to eliminate operating system |
| dependencies. The entry points to the tessellator were prefixed with |
| Sk_ to avoid symbol collisions with any host OS version of GLU via |
| #defines in gluos.h. |
| |
| - The removal of inclusion of GL/glu.h and replacement with an |
| include of sk_glu.h. |
| |
| - In tess.c, the obsolete entry points gluBeginPolygon, |
| gluNextContour and gluEndPolygon in tess.c were #if 0'd out. |
| Default branches were added to the switch statements in GotoState. |
| |
| - In memalloc.h, the include of malloc.h was changed to an include |
| of stdlib.h. |
| |
| - In normal.c, an unused variable "w" was removed from |
| __gl_projectPolygon. #if guards were placed around the definition |
| of the unused Normalize function. |
| |
| - In priorityq-heap.c, an #include of <limits.h> was added. |
| |
| - In sweep.c, IsWindingInside() was given a return value to silence a |
| warning-as-error in release builds. |
| |
| - In sweep.c, DoneEdgeDict()'s fixedEdges was wrapped in #indef NDEBUG, to |
| silence a warning-as-error in release builds. |
| |
| - In priorityq.c, render.c, and others: the construct "if(1)...else" was |
| replaced with "do{...}while(1)" to silence a warning-as-error in Mac builds. |
| |
| - rename all __gl_ functions to Sk__gl_ to avoid conflicting with other |
| static linkers of this library. |
| |
| - In sweep.c, added explicit cast to GLfloat in VertexWeights() to silence |
| compiler complaint |