Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/bFTGL/include/FTVectoriser.h')
-rw-r--r--extern/bFTGL/include/FTVectoriser.h275
1 files changed, 0 insertions, 275 deletions
diff --git a/extern/bFTGL/include/FTVectoriser.h b/extern/bFTGL/include/FTVectoriser.h
deleted file mode 100644
index 7150560ce07..00000000000
--- a/extern/bFTGL/include/FTVectoriser.h
+++ /dev/null
@@ -1,275 +0,0 @@
-#ifndef __FTVectoriser__
-#define __FTVectoriser__
-
-
-#include "FTContour.h"
-#include "FTList.h"
-#include "FTPoint.h"
-#include "FTVector.h"
-#include "FTGL.h"
-
-
-#ifndef CALLBACK
-#define CALLBACK
-#endif
-
-
-/**
- * FTTesselation captures points that are output by OpenGL's gluTesselator.
- */
-class FTGL_EXPORT FTTesselation
-{
- public:
- /**
- * Default constructor
- */
- FTTesselation( GLenum m)
- : meshType(m)
- {
- pointList.reserve( 128);
- }
-
- /**
- * Destructor
- */
- ~FTTesselation()
- {
- pointList.clear();
- }
-
- /**
- * Add a point to the mesh.
- */
- void AddPoint( const FTGL_DOUBLE x, const FTGL_DOUBLE y, const FTGL_DOUBLE z)
- {
- pointList.push_back( FTPoint( x, y, z));
- }
-
- /**
- * The number of points in this mesh
- */
- size_t PointCount() const { return pointList.size();}
-
- /**
- *
- */
- const FTPoint& Point( unsigned int index) const { return pointList[index];}
-
- /**
- * Return the OpenGL polygon type.
- */
- GLenum PolygonType() const { return meshType;}
-
- private:
- /**
- * Points generated by gluTesselator.
- */
- typedef FTVector<FTPoint> PointVector;
- PointVector pointList;
-
- /**
- * OpenGL primitive type from gluTesselator.
- */
- GLenum meshType;
-};
-
-
-/**
- * FTMesh is a container of FTTesselation's that make up a polygon glyph
- */
-class FTGL_EXPORT FTMesh
-{
- typedef FTVector<FTTesselation*> TesselationVector;
- typedef FTList<FTPoint> PointList;
-
- public:
- /**
- * Default constructor
- */
- FTMesh();
-
- /**
- * Destructor
- */
- ~FTMesh();
-
- /**
- *
- */
- void AddPoint( const FTGL_DOUBLE x, const FTGL_DOUBLE y, const FTGL_DOUBLE z);
-
- /**
- *
- */
- FTGL_DOUBLE* Combine( const FTGL_DOUBLE x, const FTGL_DOUBLE y, const FTGL_DOUBLE z);
-
- /**
- *
- */
- void Begin( GLenum meshType);
-
- /**
- *
- */
- void End();
-
- /**
- *
- */
- void Error( GLenum e) { err = e;}
-
- /**
- *
- */
- unsigned int TesselationCount() const { return tesselationList.size();}
-
- /**
- *
- */
- const FTTesselation* const Tesselation( unsigned int index) const;
-
- /**
- *
- */
- const PointList& TempPointList() const { return tempPointList;}
-
- /**
- * Get the GL ERROR returned by the glu tesselator
- */
- GLenum Error() const { return err;}
-
- private:
- /**
- * The current sub mesh that we are constructing.
- */
- FTTesselation* currentTesselation;
-
- /**
- * Holds each sub mesh that comprises this glyph.
- */
- TesselationVector tesselationList;
-
- /**
- * Holds extra points created by gluTesselator. See ftglCombine.
- */
- PointList tempPointList;
-
- /**
- * GL ERROR returned by the glu tesselator
- */
- GLenum err;
-
-};
-
-const FTGL_DOUBLE FTGL_FRONT_FACING = 1.0;
-const FTGL_DOUBLE FTGL_BACK_FACING = -1.0;
-
-/**
- * FTVectoriser class is a helper class that converts font outlines into
- * point data.
- *
- * @see FTExtrdGlyph
- * @see FTOutlineGlyph
- * @see FTPolyGlyph
- * @see FTContour
- * @see FTPoint
- *
- */
-class FTGL_EXPORT FTVectoriser
-{
- public:
- /**
- * Constructor
- *
- * @param glyph The freetype glyph to be processed
- */
- FTVectoriser( const FT_GlyphSlot glyph);
-
- /**
- * Destructor
- */
- virtual ~FTVectoriser();
-
- /**
- * Build an FTMesh from the vector outline data.
- *
- * @param zNormal The direction of the z axis of the normal
- * for this mesh
- */
- void MakeMesh( FTGL_DOUBLE zNormal = FTGL_FRONT_FACING);
-
- /**
- * Get the current mesh.
- */
- const FTMesh* const GetMesh() const { return mesh;}
-
- /**
- * Get the total count of points in this outline
- *
- * @return the number of points
- */
- size_t PointCount();
-
- /**
- * Get the count of contours in this outline
- *
- * @return the number of contours
- */
- size_t ContourCount() const { return ftContourCount;}
-
- /**
- * Return a contour at index
- *
- * @return the number of contours
- */
- const FTContour* const Contour( unsigned int index) const;
-
- /**
- * Get the number of points in a specific contour in this outline
- *
- * @param c The contour index
- * @return the number of points in contour[c]
- */
- size_t ContourSize( int c) const { return contourList[c]->PointCount();}
-
- /**
- * Get the flag for the tesselation rule for this outline
- *
- * @return The contour flag
- */
- int ContourFlag() const { return contourFlag;}
-
- private:
- /**
- * Process the freetype outline data into contours of points
- */
- void ProcessContours();
-
- /**
- * The list of contours in the glyph
- */
- FTContour** contourList;
-
- /**
- * A Mesh for tesselations
- */
- FTMesh* mesh;
-
- /**
- * The number of contours reported by Freetype
- */
- short ftContourCount;
-
- /**
- * A flag indicating the tesselation rule for the glyph
- */
- int contourFlag;
-
- /**
- * A Freetype outline
- */
- FT_Outline outline;
-};
-
-
-#endif // __FTVectoriser__