From 4df6afb2e925e84be27ddba0cde159a993159b18 Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Fri, 17 Jun 2022 09:49:16 +0300 Subject: [PATCH] remove ftgl binaries --- deps/ftgl/include/FTGL/FTBBox.h | 180 ------- deps/ftgl/include/FTGL/FTBitmapGlyph.h | 82 ---- deps/ftgl/include/FTGL/FTBuffer.h | 127 ----- deps/ftgl/include/FTGL/FTBufferFont.h | 99 ---- deps/ftgl/include/FTGL/FTBufferGlyph.h | 69 --- deps/ftgl/include/FTGL/FTExtrdGlyph.h | 104 ---- deps/ftgl/include/FTGL/FTFont.h | 584 ----------------------- deps/ftgl/include/FTGL/FTGLBitmapFont.h | 103 ---- deps/ftgl/include/FTGL/FTGLExtrdFont.h | 105 ---- deps/ftgl/include/FTGL/FTGLOutlineFont.h | 103 ---- deps/ftgl/include/FTGL/FTGLPixmapFont.h | 103 ---- deps/ftgl/include/FTGL/FTGLPolygonFont.h | 104 ---- deps/ftgl/include/FTGL/FTGLTextureFont.h | 103 ---- deps/ftgl/include/FTGL/FTGlyph.h | 201 -------- deps/ftgl/include/FTGL/FTLayout.h | 192 -------- deps/ftgl/include/FTGL/FTOutlineGlyph.h | 94 ---- deps/ftgl/include/FTGL/FTPixmapGlyph.h | 82 ---- deps/ftgl/include/FTGL/FTPoint.h | 274 ----------- deps/ftgl/include/FTGL/FTPolyGlyph.h | 98 ---- deps/ftgl/include/FTGL/FTSimpleLayout.h | 191 -------- deps/ftgl/include/FTGL/FTTextureGlyph.h | 99 ---- deps/ftgl/include/FTGL/ftgl.h | 135 ------ deps/ftgl/lib/libftgl.a | Bin 750312 -> 0 bytes deps/ftgl/lib/pkgconfig/ftgl.pc | 12 - 24 files changed, 3244 deletions(-) delete mode 100644 deps/ftgl/include/FTGL/FTBBox.h delete mode 100644 deps/ftgl/include/FTGL/FTBitmapGlyph.h delete mode 100644 deps/ftgl/include/FTGL/FTBuffer.h delete mode 100644 deps/ftgl/include/FTGL/FTBufferFont.h delete mode 100644 deps/ftgl/include/FTGL/FTBufferGlyph.h delete mode 100644 deps/ftgl/include/FTGL/FTExtrdGlyph.h delete mode 100644 deps/ftgl/include/FTGL/FTFont.h delete mode 100644 deps/ftgl/include/FTGL/FTGLBitmapFont.h delete mode 100644 deps/ftgl/include/FTGL/FTGLExtrdFont.h delete mode 100644 deps/ftgl/include/FTGL/FTGLOutlineFont.h delete mode 100644 deps/ftgl/include/FTGL/FTGLPixmapFont.h delete mode 100644 deps/ftgl/include/FTGL/FTGLPolygonFont.h delete mode 100644 deps/ftgl/include/FTGL/FTGLTextureFont.h delete mode 100644 deps/ftgl/include/FTGL/FTGlyph.h delete mode 100644 deps/ftgl/include/FTGL/FTLayout.h delete mode 100644 deps/ftgl/include/FTGL/FTOutlineGlyph.h delete mode 100644 deps/ftgl/include/FTGL/FTPixmapGlyph.h delete mode 100644 deps/ftgl/include/FTGL/FTPoint.h delete mode 100644 deps/ftgl/include/FTGL/FTPolyGlyph.h delete mode 100644 deps/ftgl/include/FTGL/FTSimpleLayout.h delete mode 100644 deps/ftgl/include/FTGL/FTTextureGlyph.h delete mode 100644 deps/ftgl/include/FTGL/ftgl.h delete mode 100644 deps/ftgl/lib/libftgl.a delete mode 100644 deps/ftgl/lib/pkgconfig/ftgl.pc diff --git a/deps/ftgl/include/FTGL/FTBBox.h b/deps/ftgl/include/FTGL/FTBBox.h deleted file mode 100644 index 858ff7a6..00000000 --- a/deps/ftgl/include/FTGL/FTBBox.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTBBox__ -#define __FTBBox__ - -#ifdef __cplusplus - - -/** - * FTBBox is a convenience class for handling bounding boxes. - */ -class FTGL_EXPORT FTBBox -{ - public: - /** - * Default constructor. Bounding box is set to zero. - */ - FTBBox() - : lower(0.0f, 0.0f, 0.0f), - upper(0.0f, 0.0f, 0.0f) - {} - - /** - * Constructor. - */ - FTBBox(float lx, float ly, float lz, float ux, float uy, float uz) - : lower(lx, ly, lz), - upper(ux, uy, uz) - {} - - /** - * Constructor. - */ - FTBBox(FTPoint l, FTPoint u) - : lower(l), - upper(u) - {} - - /** - * Constructor. Extracts a bounding box from a freetype glyph. Uses - * the control box for the glyph. FT_Glyph_Get_CBox() - * - * @param glyph A freetype glyph - */ - FTBBox(FT_GlyphSlot glyph) - : lower(0.0f, 0.0f, 0.0f), - upper(0.0f, 0.0f, 0.0f) - { - FT_BBox bbox; - FT_Outline_Get_CBox(&(glyph->outline), &bbox); - - lower.X(static_cast(bbox.xMin) / 64.0f); - lower.Y(static_cast(bbox.yMin) / 64.0f); - lower.Z(0.0f); - upper.X(static_cast(bbox.xMax) / 64.0f); - upper.Y(static_cast(bbox.yMax) / 64.0f); - upper.Z(0.0f); - } - - /** - * Destructor - */ - ~FTBBox() - {} - - /** - * Mark the bounds invalid by setting all lower dimensions greater - * than the upper dimensions. - */ - void Invalidate() - { - lower = FTPoint(1.0f, 1.0f, 1.0f); - upper = FTPoint(-1.0f, -1.0f, -1.0f); - } - - /** - * Determines if this bounding box is valid. - * - * @return True if all lower values are <= the corresponding - * upper values. - */ - bool IsValid() - { - return lower.X() <= upper.X() - && lower.Y() <= upper.Y() - && lower.Z() <= upper.Z(); - } - - /** - * Move the Bounding Box by a vector. - * - * @param vector The vector to move the bbox in 3D space. - */ - FTBBox& operator += (const FTPoint vector) - { - lower += vector; - upper += vector; - - return *this; - } - - /** - * Combine two bounding boxes. The result is the smallest bounding - * box containing the two original boxes. - * - * @param bbox The bounding box to merge with the second one. - */ - FTBBox& operator |= (const FTBBox& bbox) - { - if(bbox.lower.X() < lower.X()) lower.X(bbox.lower.X()); - if(bbox.lower.Y() < lower.Y()) lower.Y(bbox.lower.Y()); - if(bbox.lower.Z() < lower.Z()) lower.Z(bbox.lower.Z()); - if(bbox.upper.X() > upper.X()) upper.X(bbox.upper.X()); - if(bbox.upper.Y() > upper.Y()) upper.Y(bbox.upper.Y()); - if(bbox.upper.Z() > upper.Z()) upper.Z(bbox.upper.Z()); - - return *this; - } - - void SetDepth(float depth) - { - if(depth > 0) - upper.Z(lower.Z() + depth); - else - lower.Z(upper.Z() + depth); - } - - - inline FTPoint const Upper() const - { - return upper; - } - - - inline FTPoint const Lower() const - { - return lower; - } - - private: - /** - * The bounds of the box - */ - FTPoint lower, upper; -}; - -#endif //__cplusplus - -#endif // __FTBBox__ - diff --git a/deps/ftgl/include/FTGL/FTBitmapGlyph.h b/deps/ftgl/include/FTGL/FTBitmapGlyph.h deleted file mode 100644 index f8ef87f9..00000000 --- a/deps/ftgl/include/FTGL/FTBitmapGlyph.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTBitmapGlyph__ -#define __FTBitmapGlyph__ - -#ifdef __cplusplus - - -/** - * FTBitmapGlyph is a specialisation of FTGlyph for creating bitmaps. - */ -class FTGL_EXPORT FTBitmapGlyph : public FTGlyph -{ - public: - /** - * Constructor - * - * @param glyph The Freetype glyph to be processed - */ - FTBitmapGlyph(FT_GlyphSlot glyph); - - /** - * Destructor - */ - virtual ~FTBitmapGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating bitmaps. - * - * @param glyph The Freetype glyph to be processed - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateBitmapGlyph(FT_GlyphSlot glyph); - -FTGL_END_C_DECLS - -#endif // __FTBitmapGlyph__ - diff --git a/deps/ftgl/include/FTGL/FTBuffer.h b/deps/ftgl/include/FTGL/FTBuffer.h deleted file mode 100644 index 11f33b53..00000000 --- a/deps/ftgl/include/FTGL/FTBuffer.h +++ /dev/null @@ -1,127 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2008 Sam Hocevar - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning Please use instead of . -# include -#endif - -#ifndef __FTBuffer__ -#define __FTBuffer__ - -#ifdef __cplusplus - -/** - * FTBuffer is a helper class for pixel buffers. - * - * It provides the interface between FTBufferFont and FTBufferGlyph to - * optimise rendering operations. - * - * @see FTBufferGlyph - * @see FTBufferFont - */ -class FTGL_EXPORT FTBuffer -{ - public: - /** - * Default constructor. - */ - FTBuffer(); - - /** - * Destructor - */ - ~FTBuffer(); - - /** - * Get the pen's position in the buffer. - * - * @return The pen's position as an FTPoint object. - */ - inline FTPoint Pos() const - { - return pos; - } - - /** - * Set the pen's position in the buffer. - * - * @param arg An FTPoint object with the desired pen's position. - */ - inline void Pos(FTPoint arg) - { - pos = arg; - } - - /** - * Set the buffer's size. - * - * @param w The buffer's desired width, in pixels. - * @param h The buffer's desired height, in pixels. - */ - void Size(int w, int h); - - /** - * Get the buffer's width. - * - * @return The buffer's width, in pixels. - */ - inline int Width() const { return width; } - - /** - * Get the buffer's height. - * - * @return The buffer's height, in pixels. - */ - inline int Height() const { return height; } - - /** - * Get the buffer's direct pixel buffer. - * - * @return A read-write pointer to the buffer's pixels. - */ - inline unsigned char *Pixels() const { return pixels; } - - private: - /** - * Buffer's width and height. - */ - int width, height; - - /** - * Buffer's pixel buffer. - */ - unsigned char *pixels; - - /** - * Buffer's internal pen position. - */ - FTPoint pos; -}; - -#endif //__cplusplus - -#endif // __FTBuffer__ - diff --git a/deps/ftgl/include/FTGL/FTBufferFont.h b/deps/ftgl/include/FTGL/FTBufferFont.h deleted file mode 100644 index 15d358d9..00000000 --- a/deps/ftgl/include/FTGL/FTBufferFont.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2008 Sam Hocevar - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning Please use instead of . -# include -#endif - -#ifndef __FTBufferFont__ -#define __FTBufferFont__ - -#ifdef __cplusplus - - -/** - * FTBufferFont is a specialisation of the FTFont class for handling - * memory buffer fonts. - * - * @see FTFont - */ -class FTGL_EXPORT FTBufferFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTBufferFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTBufferFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTBufferFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling memory buffer fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreateBufferFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTBufferFont__ - diff --git a/deps/ftgl/include/FTGL/FTBufferGlyph.h b/deps/ftgl/include/FTGL/FTBufferGlyph.h deleted file mode 100644 index cb7b3ed5..00000000 --- a/deps/ftgl/include/FTGL/FTBufferGlyph.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2008 Sam Hocevar - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning Please use instead of . -# include -#endif - -#ifndef __FTBufferGlyph__ -#define __FTBufferGlyph__ - -#ifdef __cplusplus - - -/** - * FTBufferGlyph is a specialisation of FTGlyph for memory buffer rendering. - */ -class FTGL_EXPORT FTBufferGlyph : public FTGlyph -{ - public: - /** - * Constructor - * - * @param glyph The Freetype glyph to be processed - * @param buffer An FTBuffer object in which to render the glyph. - */ - FTBufferGlyph(FT_GlyphSlot glyph, FTBuffer *buffer); - - /** - * Destructor - */ - virtual ~FTBufferGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -#endif // __FTBufferGlyph__ - diff --git a/deps/ftgl/include/FTGL/FTExtrdGlyph.h b/deps/ftgl/include/FTGL/FTExtrdGlyph.h deleted file mode 100644 index c1eaa54d..00000000 --- a/deps/ftgl/include/FTGL/FTExtrdGlyph.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTExtrudeGlyph__ -#define __FTExtrudeGlyph__ - -#ifdef __cplusplus - - -/** - * FTExtrudeGlyph is a specialisation of FTGlyph for creating tessellated - * extruded polygon glyphs. - */ -class FTGL_EXPORT FTExtrudeGlyph : public FTGlyph -{ - public: - /** - * Constructor. Sets the Error to Invalid_Outline if the glyph isn't - * an outline. - * - * @param glyph The Freetype glyph to be processed - * @param depth The distance along the z axis to extrude the glyph - * @param frontOutset outset contour size - * @param backOutset outset contour size - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - */ - FTExtrudeGlyph(FT_GlyphSlot glyph, float depth, float frontOutset, - float backOutset, bool useDisplayList); - - /** - * Destructor - */ - virtual ~FTExtrudeGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#define FTExtrdGlyph FTExtrudeGlyph - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating tessellated - * extruded polygon glyphs. - * - * @param glyph The Freetype glyph to be processed - * @param depth The distance along the z axis to extrude the glyph - * @param frontOutset outset contour size - * @param backOutset outset contour size - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateExtrudeGlyph(FT_GlyphSlot glyph, float depth, - float frontOutset, float backOutset, - int useDisplayList); - -FTGL_END_C_DECLS - -#endif // __FTExtrudeGlyph__ - diff --git a/deps/ftgl/include/FTGL/FTFont.h b/deps/ftgl/include/FTGL/FTFont.h deleted file mode 100644 index 0799fffd..00000000 --- a/deps/ftgl/include/FTGL/FTFont.h +++ /dev/null @@ -1,584 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTFont__ -#define __FTFont__ - -#ifdef __cplusplus - -class FTFontImpl; - -/** - * FTFont is the public interface for the FTGL library. - * - * Specific font classes are derived from this class. It uses the helper - * classes FTFace and FTSize to access the Freetype library. This class - * is abstract and deriving classes must implement the protected - * MakeGlyph function to create glyphs of the - * appropriate type. - * - * It is good practice after using these functions to test the error - * code returned. FT_Error Error(). Check the freetype file - * fterrdef.h for error definitions. - * - * @see FTFace - * @see FTSize - */ -class FTGL_EXPORT FTFont -{ - protected: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTFont(char const *fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTFont(const unsigned char *pBufferBytes, size_t bufferSizeInBytes); - - private: - /* Allow our internal subclasses to access the private constructor */ - friend class FTBitmapFont; - friend class FTBufferFont; - friend class FTExtrudeFont; - friend class FTOutlineFont; - friend class FTPixmapFont; - friend class FTPolygonFont; - friend class FTTextureFont; - - /** - * Internal FTGL FTFont constructor. For private use only. - * - * @param pImpl Internal implementation object. Will be destroyed - * upon FTFont deletion. - */ - FTFont(FTFontImpl *pImpl); - - public: - virtual ~FTFont(); - - /** - * Attach auxilliary file to font e.g font metrics. - * - * Note: not all font formats implement this function. - * - * @param fontFilePath auxilliary font file path. - * @return true if file has been attached - * successfully. - */ - virtual bool Attach(const char* fontFilePath); - - /** - * Attach auxilliary data to font e.g font metrics, from memory. - * - * Note: not all font formats implement this function. - * - * @param pBufferBytes the in-memory buffer. - * @param bufferSizeInBytes the length of the buffer in bytes. - * @return true if file has been attached - * successfully. - */ - virtual bool Attach(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Set the glyph loading flags. By default, fonts use the most - * sensible flags when loading a font's glyph using FT_Load_Glyph(). - * This function allows to override the default flags. - * - * @param flags The glyph loading flags. - */ - virtual void GlyphLoadFlags(FT_Int flags); - - /** - * Set the character map for the face. - * - * @param encoding Freetype enumerate for char map code. - * @return true if charmap was valid and - * set correctly. - */ - virtual bool CharMap(FT_Encoding encoding); - - /** - * Get the number of character maps in this face. - * - * @return character map count. - */ - virtual unsigned int CharMapCount() const; - - /** - * Get a list of character maps in this face. - * - * @return pointer to the first encoding. - */ - virtual FT_Encoding* CharMapList(); - - /** - * Set the char size for the current face. - * - * @param size the face size in points (1/72 inch) - * @param res the resolution of the target device. - * @return true if size was set correctly - */ - virtual bool FaceSize(const unsigned int size, - const unsigned int res = 72); - - /** - * Get the current face size in points (1/72 inch). - * - * @return face size - */ - virtual unsigned int FaceSize() const; - - /** - * Set the extrusion distance for the font. Only implemented by - * FTExtrudeFont - * - * @param depth The extrusion distance. - */ - virtual void Depth(float depth); - - /** - * Set the outset distance for the font. Only implemented by - * FTOutlineFont, FTPolygonFont and FTExtrudeFont - * - * @param outset The outset distance. - */ - virtual void Outset(float outset); - - /** - * Set the front and back outset distances for the font. Only - * implemented by FTExtrudeFont - * - * @param front The front outset distance. - * @param back The back outset distance. - */ - virtual void Outset(float front, float back); - - /** - * Enable or disable the use of Display Lists inside FTGL - * - * @param useList true turns ON display lists. - * false turns OFF display lists. - */ - virtual void UseDisplayList(bool useList); - - /** - * Get the global ascender height for the face. - * - * @return Ascender height - */ - virtual float Ascender() const; - - /** - * Gets the global descender height for the face. - * - * @return Descender height - */ - virtual float Descender() const; - - /** - * Gets the line spacing for the font. - * - * @return Line height - */ - virtual float LineHeight() const; - - /** - * Get the bounding box for a string. - * - * @param string A char buffer. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param spacing A displacement vector to add after each character - * has been checked (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const char *string, const int len = -1, - FTPoint position = FTPoint(), - FTPoint spacing = FTPoint()); - - /** - * Get the bounding box for a string (deprecated). - * - * @param string A char buffer. - * @param llx Lower left near x coordinate. - * @param lly Lower left near y coordinate. - * @param llz Lower left near z coordinate. - * @param urx Upper right far x coordinate. - * @param ury Upper right far y coordinate. - * @param urz Upper right far z coordinate. - */ - void BBox(const char* string, float& llx, float& lly, float& llz, - float& urx, float& ury, float& urz) - { - FTBBox b = BBox(string); - llx = b.Lower().Xf(); lly = b.Lower().Yf(); llz = b.Lower().Zf(); - urx = b.Upper().Xf(); ury = b.Upper().Yf(); urz = b.Upper().Zf(); - } - - /** - * Get the bounding box for a string. - * - * @param string A wchar_t buffer. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param spacing A displacement vector to add after each character - * has been checked (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const wchar_t *string, const int len = -1, - FTPoint position = FTPoint(), - FTPoint spacing = FTPoint()); - - /** - * Get the bounding box for a string (deprecated). - * - * @param string A wchar_t buffer. - * @param llx Lower left near x coordinate. - * @param lly Lower left near y coordinate. - * @param llz Lower left near z coordinate. - * @param urx Upper right far x coordinate. - * @param ury Upper right far y coordinate. - * @param urz Upper right far z coordinate. - */ - void BBox(const wchar_t* string, float& llx, float& lly, float& llz, - float& urx, float& ury, float& urz) - { - FTBBox b = BBox(string); - llx = b.Lower().Xf(); lly = b.Lower().Yf(); llz = b.Lower().Zf(); - urx = b.Upper().Xf(); ury = b.Upper().Yf(); urz = b.Upper().Zf(); - } - - /** - * Get the advance for a string. - * - * @param string 'C' style string to be checked. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param spacing A displacement vector to add after each character - * has been checked (optional). - * @return The string's advance width. - */ - virtual float Advance(const char* string, const int len = -1, - FTPoint spacing = FTPoint()); - - /** - * Get the advance for a string. - * - * @param string A wchar_t string - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param spacing A displacement vector to add after each character - * has been checked (optional). - * @return The string's advance width. - */ - virtual float Advance(const wchar_t* string, const int len = -1, - FTPoint spacing = FTPoint()); - - /** - * Render a string of characters. - * - * @param string 'C' style string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param spacing A displacement vector to add after each character - * has been displayed (optional). - * @param renderMode Render mode to use for display (optional). - * @return The new pen position after the last character was output. - */ - virtual FTPoint Render(const char* string, const int len = -1, - FTPoint position = FTPoint(), - FTPoint spacing = FTPoint(), - int renderMode = FTGL::RENDER_ALL); - - /** - * Render a string of characters - * - * @param string wchar_t string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param spacing A displacement vector to add after each character - * has been displayed (optional). - * @param renderMode Render mode to use for display (optional). - * @return The new pen position after the last character was output. - */ - virtual FTPoint Render(const wchar_t *string, const int len = -1, - FTPoint position = FTPoint(), - FTPoint spacing = FTPoint(), - int renderMode = FTGL::RENDER_ALL); - - /** - * Queries the Font for errors. - * - * @return The current error code. - */ - virtual FT_Error Error() const; - - protected: - /* Allow impl to access MakeGlyph */ - friend class FTFontImpl; - - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot) = 0; - - private: - /** - * Internal FTGL FTFont implementation object. For private use only. - */ - FTFontImpl *impl; -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * FTGLfont is the public interface for the FTGL library. - * - * It is good practice after using these functions to test the error - * code returned. FT_Error Error(). Check the freetype file - * fterrdef.h for error definitions. - */ -struct _FTGLFont; -typedef struct _FTGLfont FTGLfont; - -/** - * Create a custom FTGL font object. - * - * @param fontFilePath The font file name. - * @param data A pointer to private data that will be passed to callbacks. - * @param makeglyphCallback A glyph-making callback function. - * @return An FTGLfont* object. - */ -FTGL_EXPORT FTGLfont *ftglCreateCustomFont(char const *fontFilePath, - void *data, - FTGLglyph * (*makeglyphCallback) (FT_GlyphSlot, void *)); - -/** - * Destroy an FTGL font object. - * - * @param font An FTGLfont* object. - */ -FTGL_EXPORT void ftglDestroyFont(FTGLfont* font); - -/** - * Attach auxilliary file to font e.g. font metrics. - * - * Note: not all font formats implement this function. - * - * @param font An FTGLfont* object. - * @param path Auxilliary font file path. - * @return 1 if file has been attached successfully. - */ -FTGL_EXPORT int ftglAttachFile(FTGLfont* font, const char* path); - -/** - * Attach auxilliary data to font, e.g. font metrics, from memory. - * - * Note: not all font formats implement this function. - * - * @param font An FTGLfont* object. - * @param data The in-memory buffer. - * @param size The length of the buffer in bytes. - * @return 1 if file has been attached successfully. - */ -FTGL_EXPORT int ftglAttachData(FTGLfont* font, const unsigned char * data, - size_t size); - -/** - * Set the character map for the face. - * - * @param font An FTGLfont* object. - * @param encoding Freetype enumerate for char map code. - * @return 1 if charmap was valid and set correctly. - */ -FTGL_EXPORT int ftglSetFontCharMap(FTGLfont* font, FT_Encoding encoding); - -/** - * Get the number of character maps in this face. - * - * @param font An FTGLfont* object. - * @return character map count. - */ -FTGL_EXPORT unsigned int ftglGetFontCharMapCount(FTGLfont* font); - -/** - * Get a list of character maps in this face. - * - * @param font An FTGLfont* object. - * @return pointer to the first encoding. - */ -FTGL_EXPORT FT_Encoding* ftglGetFontCharMapList(FTGLfont* font); - -/** - * Set the char size for the current face. - * - * @param font An FTGLfont* object. - * @param size The face size in points (1/72 inch). - * @param res The resolution of the target device, or 0 to use the default - * value of 72. - * @return 1 if size was set correctly. - */ -FTGL_EXPORT int ftglSetFontFaceSize(FTGLfont* font, unsigned int size, - unsigned int res); - -/** - * Get the current face size in points (1/72 inch). - * - * @param font An FTGLfont* object. - * @return face size - */ -FTGL_EXPORT unsigned int ftglGetFontFaceSize(FTGLfont* font); - -/** - * Set the extrusion distance for the font. Only implemented by - * FTExtrudeFont. - * - * @param font An FTGLfont* object. - * @param depth The extrusion distance. - */ -FTGL_EXPORT void ftglSetFontDepth(FTGLfont* font, float depth); - -/** - * Set the outset distance for the font. Only FTOutlineFont, FTPolygonFont - * and FTExtrudeFont implement front outset. Only FTExtrudeFont implements - * back outset. - * - * @param font An FTGLfont* object. - * @param front The front outset distance. - * @param back The back outset distance. - */ -FTGL_EXPORT void ftglSetFontOutset(FTGLfont* font, float front, float back); - -/** - * Enable or disable the use of Display Lists inside FTGL. - * - * @param font An FTGLfont* object. - * @param useList 1 turns ON display lists. - * 0 turns OFF display lists. - */ -FTGL_EXPORT void ftglSetFontDisplayList(FTGLfont* font, int useList); - -/** - * Get the global ascender height for the face. - * - * @param font An FTGLfont* object. - * @return Ascender height - */ -FTGL_EXPORT float ftglGetFontAscender(FTGLfont* font); - -/** - * Gets the global descender height for the face. - * - * @param font An FTGLfont* object. - * @return Descender height - */ -FTGL_EXPORT float ftglGetFontDescender(FTGLfont* font); - -/** - * Gets the line spacing for the font. - * - * @param font An FTGLfont* object. - * @return Line height - */ -FTGL_EXPORT float ftglGetFontLineHeight(FTGLfont* font); - -/** - * Get the bounding box for a string. - * - * @param font An FTGLfont* object. - * @param string A char buffer - * @param len The length of the string. If < 0 then all characters will be - * checked until a null character is encountered (optional). - * @param bounds An array of 6 float values where the bounding box's lower - * left near and upper right far 3D coordinates will be stored. - */ -FTGL_EXPORT void ftglGetFontBBox(FTGLfont* font, const char *string, - int len, float bounds[6]); - -/** - * Get the advance width for a string. - * - * @param font An FTGLfont* object. - * @param string A char string. - * @return Advance width - */ -FTGL_EXPORT float ftglGetFontAdvance(FTGLfont* font, const char *string); - -/** - * Render a string of characters. - * - * @param font An FTGLfont* object. - * @param string Char string to be output. - * @param mode Render mode to display. - */ -FTGL_EXPORT void ftglRenderFont(FTGLfont* font, const char *string, int mode); - -/** - * Query a font for errors. - * - * @param font An FTGLfont* object. - * @return The current error code. - */ -FTGL_EXPORT FT_Error ftglGetFontError(FTGLfont* font); - -FTGL_END_C_DECLS - -#endif // __FTFont__ - diff --git a/deps/ftgl/include/FTGL/FTGLBitmapFont.h b/deps/ftgl/include/FTGL/FTGLBitmapFont.h deleted file mode 100644 index d2fb1ba4..00000000 --- a/deps/ftgl/include/FTGL/FTGLBitmapFont.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTBitmapFont__ -#define __FTBitmapFont__ - -#ifdef __cplusplus - - -/** - * FTBitmapFont is a specialisation of the FTFont class for handling - * Bitmap fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTBitmapFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTBitmapFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTBitmapFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTBitmapFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLBitmapFont FTBitmapFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling bitmap fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreateBitmapFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTBitmapFont__ - diff --git a/deps/ftgl/include/FTGL/FTGLExtrdFont.h b/deps/ftgl/include/FTGL/FTGLExtrdFont.h deleted file mode 100644 index 47d6714f..00000000 --- a/deps/ftgl/include/FTGL/FTGLExtrdFont.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTExtrudeFont__ -#define __FTExtrudeFont__ - -#ifdef __cplusplus - - -/** - * FTExtrudeFont is a specialisation of the FTFont class for handling - * extruded Polygon fonts - * - * @see FTFont - * @see FTPolygonFont - */ -class FTGL_EXPORT FTExtrudeFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTExtrudeFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTExtrudeFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTExtrudeFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLExtrdFont FTExtrudeFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling extruded poygon fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - * @see ftglCreatePolygonFont - */ -FTGL_EXPORT FTGLfont *ftglCreateExtrudeFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTExtrudeFont__ - diff --git a/deps/ftgl/include/FTGL/FTGLOutlineFont.h b/deps/ftgl/include/FTGL/FTGLOutlineFont.h deleted file mode 100644 index bbf62daa..00000000 --- a/deps/ftgl/include/FTGL/FTGLOutlineFont.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTOutlineFont__ -#define __FTOutlineFont__ - -#ifdef __cplusplus - - -/** - * FTOutlineFont is a specialisation of the FTFont class for handling - * Vector Outline fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTOutlineFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTOutlineFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTOutlineFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTOutlineFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLOutlineFont FTOutlineFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling vector outline fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreateOutlineFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTOutlineFont__ - diff --git a/deps/ftgl/include/FTGL/FTGLPixmapFont.h b/deps/ftgl/include/FTGL/FTGLPixmapFont.h deleted file mode 100644 index c90b9c5f..00000000 --- a/deps/ftgl/include/FTGL/FTGLPixmapFont.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPixmapFont__ -#define __FTPixmapFont__ - -#ifdef __cplusplus - - -/** - * FTPixmapFont is a specialisation of the FTFont class for handling - * Pixmap (Grey Scale) fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTPixmapFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTPixmapFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTPixmapFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTPixmapFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLPixmapFont FTPixmapFont - -#endif // __cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling pixmap (grey scale) fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreatePixmapFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTPixmapFont__ - diff --git a/deps/ftgl/include/FTGL/FTGLPolygonFont.h b/deps/ftgl/include/FTGL/FTGLPolygonFont.h deleted file mode 100644 index 1dab0974..00000000 --- a/deps/ftgl/include/FTGL/FTGLPolygonFont.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPolygonFont__ -#define __FTPolygonFont__ - -#ifdef __cplusplus - - -/** - * FTPolygonFont is a specialisation of the FTFont class for handling - * tesselated Polygon Mesh fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTPolygonFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTPolygonFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTPolygonFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - ~FTPolygonFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLPolygonFont FTPolygonFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling tesselated polygon - * mesh fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreatePolygonFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTPolygonFont__ - diff --git a/deps/ftgl/include/FTGL/FTGLTextureFont.h b/deps/ftgl/include/FTGL/FTGLTextureFont.h deleted file mode 100644 index 03991e90..00000000 --- a/deps/ftgl/include/FTGL/FTGLTextureFont.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTTextureFont__ -#define __FTTextureFont__ - -#ifdef __cplusplus - - -/** - * FTTextureFont is a specialisation of the FTFont class for handling - * Texture mapped fonts - * - * @see FTFont - */ -class FTGL_EXPORT FTTextureFont : public FTFont -{ - public: - /** - * Open and read a font file. Sets Error flag. - * - * @param fontFilePath font file path. - */ - FTTextureFont(const char* fontFilePath); - - /** - * Open and read a font from a buffer in memory. Sets Error flag. - * The buffer is owned by the client and is NOT copied by FTGL. The - * pointer must be valid while using FTGL. - * - * @param pBufferBytes the in-memory buffer - * @param bufferSizeInBytes the length of the buffer in bytes - */ - FTTextureFont(const unsigned char *pBufferBytes, - size_t bufferSizeInBytes); - - /** - * Destructor - */ - virtual ~FTTextureFont(); - - protected: - /** - * Construct a glyph of the correct type. - * - * Clients must override the function and return their specialised - * FTGlyph. - * - * @param slot A FreeType glyph slot. - * @return An FT****Glyph or null on failure. - */ - virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); -}; - -#define FTGLTextureFont FTTextureFont - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialised FTGLfont object for handling texture-mapped fonts. - * - * @param file The font file name. - * @return An FTGLfont* object. - * - * @see FTGLfont - */ -FTGL_EXPORT FTGLfont *ftglCreateTextureFont(const char *file); - -FTGL_END_C_DECLS - -#endif // __FTTextureFont__ - diff --git a/deps/ftgl/include/FTGL/FTGlyph.h b/deps/ftgl/include/FTGL/FTGlyph.h deleted file mode 100644 index a5023b24..00000000 --- a/deps/ftgl/include/FTGL/FTGlyph.h +++ /dev/null @@ -1,201 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTGlyph__ -#define __FTGlyph__ - -#ifdef __cplusplus - -class FTGlyphImpl; - -/** - * FTGlyph is the base class for FTGL glyphs. - * - * It provides the interface between Freetype glyphs and their openGL - * renderable counterparts. This is an abstract class and derived classes - * must implement the Render function. - * - * @see FTBBox - * @see FTPoint - */ -class FTGL_EXPORT FTGlyph -{ - protected: - /** - * Create a glyph. - * - * @param glyph The Freetype glyph to be processed - */ - FTGlyph(FT_GlyphSlot glyph); - - private: - /** - * Internal FTGL FTGlyph constructor. For private use only. - * - * @param pImpl Internal implementation object. Will be destroyed - * upon FTGlyph deletion. - */ - FTGlyph(FTGlyphImpl *pImpl); - - /* Allow our internal subclasses to access the private constructor */ - friend class FTBitmapGlyph; - friend class FTBufferGlyph; - friend class FTExtrudeGlyph; - friend class FTOutlineGlyph; - friend class FTPixmapGlyph; - friend class FTPolygonGlyph; - friend class FTTextureGlyph; - - public: - /** - * Destructor - */ - virtual ~FTGlyph(); - - /** - * Renders this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode) = 0; - - /** - * Return the advance width for this glyph. - * - * @return advance width. - */ - virtual float Advance() const; - - /** - * Return the bounding box for this glyph. - * - * @return bounding box. - */ - virtual const FTBBox& BBox() const; - - /** - * Queries for errors. - * - * @return The current error code. - */ - virtual FT_Error Error() const; - - private: - /** - * Internal FTGL FTGlyph implementation object. For private use only. - */ - FTGlyphImpl *impl; -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * FTGLglyph is the base class for FTGL glyphs. - * - * It provides the interface between Freetype glyphs and their openGL - * renderable counterparts. This is an abstract class and derived classes - * must implement the ftglRenderGlyph() function. - */ -struct _FTGLGlyph; -typedef struct _FTGLglyph FTGLglyph; - -/** - * Create a custom FTGL glyph object. - * FIXME: maybe get rid of "base" and have advanceCallback etc. functions - * - * @param base The base FTGLglyph* to subclass. - * @param data A pointer to private data that will be passed to callbacks. - * @param renderCallback A rendering callback function. - * @param destroyCallback A callback function to be called upon destruction. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateCustomGlyph(FTGLglyph *base, void *data, - void (*renderCallback) (FTGLglyph *, void *, FTGL_DOUBLE, FTGL_DOUBLE, - int, FTGL_DOUBLE *, FTGL_DOUBLE *), - void (*destroyCallback) (FTGLglyph *, void *)); - -/** - * Destroy an FTGL glyph object. - * - * @param glyph An FTGLglyph* object. - */ -FTGL_EXPORT void ftglDestroyGlyph(FTGLglyph *glyph); - -/** - * Render a glyph at the current pen position and compute the corresponding - * advance. - * - * @param glyph An FTGLglyph* object. - * @param penx The current pen's X position. - * @param peny The current pen's Y position. - * @param renderMode Render mode to display - * @param advancex A pointer to an FTGL_DOUBLE where to write the advance's X - * component. - * @param advancey A pointer to an FTGL_DOUBLE where to write the advance's Y - * component. - */ -FTGL_EXPORT void ftglRenderGlyph(FTGLglyph *glyph, FTGL_DOUBLE penx, - FTGL_DOUBLE peny, int renderMode, - FTGL_DOUBLE *advancex, FTGL_DOUBLE *advancey); -/** - * Return the advance for a glyph. - * - * @param glyph An FTGLglyph* object. - * @return The advance's X component. - */ -FTGL_EXPORT float ftglGetGlyphAdvance(FTGLglyph *glyph); - -/** - * Return the bounding box for a glyph. - * - * @param glyph An FTGLglyph* object. - * @param bounds An array of 6 float values where the bounding box's lower - * left near and upper right far 3D coordinates will be stored. - */ -FTGL_EXPORT void ftglGetGlyphBBox(FTGLglyph *glyph, float bounds[6]); - -/** - * Query a glyph for errors. - * - * @param glyph An FTGLglyph* object. - * @return The current error code. - */ -FTGL_EXPORT FT_Error ftglGetGlyphError(FTGLglyph* glyph); - -FTGL_END_C_DECLS - -#endif // __FTGlyph__ - diff --git a/deps/ftgl/include/FTGL/FTLayout.h b/deps/ftgl/include/FTGL/FTLayout.h deleted file mode 100644 index 329b98ae..00000000 --- a/deps/ftgl/include/FTGL/FTLayout.h +++ /dev/null @@ -1,192 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTLayout__ -#define __FTLayout__ - -#ifdef __cplusplus - - -class FTLayoutImpl; - -/** - * FTLayout is the interface for layout managers that render text. - * - * Specific layout manager classes are derived from this class. This class - * is abstract and deriving classes must implement the protected - * Render methods to render formatted text and - * BBox methods to determine the bounding box of output text. - * - * @see FTFont - * @see FTBBox - */ -class FTGL_EXPORT FTLayout -{ - protected: - FTLayout(); - - private: - /** - * Internal FTGL FTLayout constructor. For private use only. - * - * @param pImpl Internal implementation object. Will be destroyed - * upon FTLayout deletion. - */ - FTLayout(FTLayoutImpl *pImpl); - - /* Allow our internal subclasses to access the private constructor */ - friend class FTSimpleLayout; - - public: - /** - * Destructor - */ - virtual ~FTLayout(); - - /** - * Get the bounding box for a formatted string. - * - * @param string A char string. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const char* string, const int len = -1, - FTPoint position = FTPoint()) = 0; - - /** - * Get the bounding box for a formatted string. - * - * @param string A wchar_t string. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const wchar_t* string, const int len = -1, - FTPoint position = FTPoint()) = 0; - - /** - * Render a string of characters. - * - * @param string 'C' style string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param renderMode Render mode to display (optional) - */ - virtual void Render(const char *string, const int len = -1, - FTPoint position = FTPoint(), - int renderMode = FTGL::RENDER_ALL) = 0; - - /** - * Render a string of characters. - * - * @param string wchar_t string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param renderMode Render mode to display (optional) - */ - virtual void Render(const wchar_t *string, const int len = -1, - FTPoint position = FTPoint(), - int renderMode = FTGL::RENDER_ALL) = 0; - - /** - * Queries the Layout for errors. - * - * @return The current error code. - */ - virtual FT_Error Error() const; - - private: - /** - * Internal FTGL FTLayout implementation object. For private use only. - */ - FTLayoutImpl *impl; -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * FTGLlayout is the interface for layout managers that render text. - */ -struct _FTGLlayout; -typedef struct _FTGLlayout FTGLlayout; - -/** - * Destroy an FTGL layout object. - * - * @param layout An FTGLlayout* object. - */ -FTGL_EXPORT void ftglDestroyLayout(FTGLlayout* layout); - -/** - * Get the bounding box for a string. - * - * @param layout An FTGLlayout* object. - * @param string A char buffer - * @param bounds An array of 6 float values where the bounding box's lower - * left near and upper right far 3D coordinates will be stored. - */ -FTGL_EXPORT void ftglGetLayoutBBox(FTGLlayout *layout, const char* string, - float bounds[6]); - -/** - * Render a string of characters. - * - * @param layout An FTGLlayout* object. - * @param string Char string to be output. - * @param mode Render mode to display. - */ -FTGL_EXPORT void ftglRenderLayout(FTGLlayout *layout, const char *string, - int mode); - -/** - * Query a layout for errors. - * - * @param layout An FTGLlayout* object. - * @return The current error code. - */ -FTGL_EXPORT FT_Error ftglGetLayoutError(FTGLlayout* layout); - -FTGL_END_C_DECLS - -#endif /* __FTLayout__ */ - diff --git a/deps/ftgl/include/FTGL/FTOutlineGlyph.h b/deps/ftgl/include/FTGL/FTOutlineGlyph.h deleted file mode 100644 index 29191396..00000000 --- a/deps/ftgl/include/FTGL/FTOutlineGlyph.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTOutlineGlyph__ -#define __FTOutlineGlyph__ - -#ifdef __cplusplus - - -/** - * FTOutlineGlyph is a specialisation of FTGlyph for creating outlines. - */ -class FTGL_EXPORT FTOutlineGlyph : public FTGlyph -{ - public: - /** - * Constructor. Sets the Error to Invalid_Outline if the glyphs isn't - * an outline. - * - * @param glyph The Freetype glyph to be processed - * @param outset outset distance - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - */ - FTOutlineGlyph(FT_GlyphSlot glyph, float outset, bool useDisplayList); - - /** - * Destructor - */ - virtual ~FTOutlineGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating outlines. - * - * @param glyph The Freetype glyph to be processed - * @param outset outset contour size - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateOutlineGlyph(FT_GlyphSlot glyph, float outset, - int useDisplayList); - -FTGL_END_C_DECLS - -#endif // __FTOutlineGlyph__ - diff --git a/deps/ftgl/include/FTGL/FTPixmapGlyph.h b/deps/ftgl/include/FTGL/FTPixmapGlyph.h deleted file mode 100644 index d9a317f8..00000000 --- a/deps/ftgl/include/FTGL/FTPixmapGlyph.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPixmapGlyph__ -#define __FTPixmapGlyph__ - -#ifdef __cplusplus - - -/** - * FTPixmapGlyph is a specialisation of FTGlyph for creating pixmaps. - */ -class FTGL_EXPORT FTPixmapGlyph : public FTGlyph -{ - public: - /** - * Constructor - * - * @param glyph The Freetype glyph to be processed - */ - FTPixmapGlyph(FT_GlyphSlot glyph); - - /** - * Destructor - */ - virtual ~FTPixmapGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating pixmaps. - * - * @param glyph The Freetype glyph to be processed - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreatePixmapGlyph(FT_GlyphSlot glyph); - -FTGL_END_C_DECLS - -#endif // __FTPixmapGlyph__ - diff --git a/deps/ftgl/include/FTGL/FTPoint.h b/deps/ftgl/include/FTGL/FTPoint.h deleted file mode 100644 index fef4af60..00000000 --- a/deps/ftgl/include/FTGL/FTPoint.h +++ /dev/null @@ -1,274 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPoint__ -#define __FTPoint__ - -#ifdef __cplusplus - - -/** - * FTPoint class is a basic 3-dimensional point or vector. - */ -class FTGL_EXPORT FTPoint -{ - public: - /** - * Default constructor. Point is set to zero. - */ - inline FTPoint() - { - values[0] = 0; - values[1] = 0; - values[2] = 0; - } - - /** - * Constructor. Z coordinate is set to zero if unspecified. - * - * @param x First component - * @param y Second component - * @param z Third component - */ - inline FTPoint(const FTGL_DOUBLE x, const FTGL_DOUBLE y, - const FTGL_DOUBLE z = 0) - { - values[0] = x; - values[1] = y; - values[2] = z; - } - - /** - * Constructor. This converts an FT_Vector to an FTPoint - * - * @param ft_vector A freetype vector - */ - inline FTPoint(const FT_Vector& ft_vector) - { - values[0] = ft_vector.x; - values[1] = ft_vector.y; - values[2] = 0; - } - - /** - * Normalise a point's coordinates. If the coordinates are zero, - * the point is left untouched. - * - * @return A vector of norm one. - */ - FTPoint Normalise(); - - - /** - * Operator += In Place Addition. - * - * @param point - * @return this plus point. - */ - inline FTPoint& operator += (const FTPoint& point) - { - values[0] += point.values[0]; - values[1] += point.values[1]; - values[2] += point.values[2]; - - return *this; - } - - /** - * Operator + - * - * @param point - * @return this plus point. - */ - inline FTPoint operator + (const FTPoint& point) const - { - FTPoint temp; - temp.values[0] = values[0] + point.values[0]; - temp.values[1] = values[1] + point.values[1]; - temp.values[2] = values[2] + point.values[2]; - - return temp; - } - - /** - * Operator -= In Place Substraction. - * - * @param point - * @return this minus point. - */ - inline FTPoint& operator -= (const FTPoint& point) - { - values[0] -= point.values[0]; - values[1] -= point.values[1]; - values[2] -= point.values[2]; - - return *this; - } - - /** - * Operator - - * - * @param point - * @return this minus point. - */ - inline FTPoint operator - (const FTPoint& point) const - { - FTPoint temp; - temp.values[0] = values[0] - point.values[0]; - temp.values[1] = values[1] - point.values[1]; - temp.values[2] = values[2] - point.values[2]; - - return temp; - } - - /** - * Operator * Scalar multiplication - * - * @param multiplier - * @return this multiplied by multiplier. - */ - inline FTPoint operator * (double multiplier) const - { - FTPoint temp; - temp.values[0] = values[0] * multiplier; - temp.values[1] = values[1] * multiplier; - temp.values[2] = values[2] * multiplier; - - return temp; - } - - - /** - * Operator * Scalar multiplication - * - * @param point - * @param multiplier - * @return multiplier multiplied by point. - */ - inline friend FTPoint operator * (double multiplier, FTPoint& point) - { - return point * multiplier; - } - - - /** - * Operator * Scalar product - * - * @param a First vector. - * @param b Second vector. - * @return a.b scalar product. - */ - inline friend double operator * (FTPoint &a, FTPoint& b) - { - return a.values[0] * b.values[0] - + a.values[1] * b.values[1] - + a.values[2] * b.values[2]; - } - - - /** - * Operator ^ Vector product - * - * @param point Second point - * @return this vector point. - */ - inline FTPoint operator ^ (const FTPoint& point) - { - FTPoint temp; - temp.values[0] = values[1] * point.values[2] - - values[2] * point.values[1]; - temp.values[1] = values[2] * point.values[0] - - values[0] * point.values[2]; - temp.values[2] = values[0] * point.values[1] - - values[1] * point.values[0]; - return temp; - } - - - /** - * Operator == Tests for equality - * - * @param a - * @param b - * @return true if a & b are equal - */ - friend bool operator == (const FTPoint &a, const FTPoint &b); - - - /** - * Operator != Tests for non equality - * - * @param a - * @param b - * @return true if a & b are not equal - */ - friend bool operator != (const FTPoint &a, const FTPoint &b); - - - /** - * Cast to FTGL_DOUBLE* - */ - inline operator const FTGL_DOUBLE*() const - { - return values; - } - - - /** - * Setters - */ - inline void X(FTGL_DOUBLE x) { values[0] = x; }; - inline void Y(FTGL_DOUBLE y) { values[1] = y; }; - inline void Z(FTGL_DOUBLE z) { values[2] = z; }; - - - /** - * Getters - */ - inline FTGL_DOUBLE X() const { return values[0]; }; - inline FTGL_DOUBLE Y() const { return values[1]; }; - inline FTGL_DOUBLE Z() const { return values[2]; }; - inline FTGL_FLOAT Xf() const { return static_cast(values[0]); }; - inline FTGL_FLOAT Yf() const { return static_cast(values[1]); }; - inline FTGL_FLOAT Zf() const { return static_cast(values[2]); }; - - private: - /** - * The point data - */ - FTGL_DOUBLE values[3]; -}; - -#endif //__cplusplus - -#endif // __FTPoint__ - diff --git a/deps/ftgl/include/FTGL/FTPolyGlyph.h b/deps/ftgl/include/FTGL/FTPolyGlyph.h deleted file mode 100644 index ce3b0006..00000000 --- a/deps/ftgl/include/FTGL/FTPolyGlyph.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTPolygonGlyph__ -#define __FTPolygonGlyph__ - -#ifdef __cplusplus - - -/** - * FTPolygonGlyph is a specialisation of FTGlyph for creating tessellated - * polygon glyphs. - */ -class FTGL_EXPORT FTPolygonGlyph : public FTGlyph -{ - public: - /** - * Constructor. Sets the Error to Invalid_Outline if the glyphs - * isn't an outline. - * - * @param glyph The Freetype glyph to be processed - * @param outset The outset distance - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - */ - FTPolygonGlyph(FT_GlyphSlot glyph, float outset, bool useDisplayList); - - /** - * Destructor - */ - virtual ~FTPolygonGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#define FTPolyGlyph FTPolygonGlyph - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating tessellated - * polygon glyphs. - * - * @param glyph The Freetype glyph to be processed - * @param outset outset contour size - * @param useDisplayList Enable or disable the use of Display Lists - * for this glyph - * true turns ON display lists. - * false turns OFF display lists. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreatePolygonGlyph(FT_GlyphSlot glyph, float outset, - int useDisplayList); - -FTGL_END_C_DECLS - -#endif // __FTPolygonGlyph__ - diff --git a/deps/ftgl/include/FTGL/FTSimpleLayout.h b/deps/ftgl/include/FTGL/FTSimpleLayout.h deleted file mode 100644 index c778b185..00000000 --- a/deps/ftgl/include/FTGL/FTSimpleLayout.h +++ /dev/null @@ -1,191 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTSimpleLayout__ -#define __FTSimpleLayout__ - -#ifdef __cplusplus - - -class FTFont; - -/** - * FTSimpleLayout is a specialisation of FTLayout for simple text boxes. - * - * This class has basic support for text wrapping, left, right and centered - * alignment, and text justification. - * - * @see FTLayout - */ -class FTGL_EXPORT FTSimpleLayout : public FTLayout -{ - public: - /** - * Initializes line spacing to 1.0, alignment to - * ALIGN_LEFT and wrap to 100.0 - */ - FTSimpleLayout(); - - /** - * Destructor - */ - ~FTSimpleLayout(); - - /** - * Get the bounding box for a formatted string. - * - * @param string A char string. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const char* string, const int len = -1, - FTPoint position = FTPoint()); - - /** - * Get the bounding box for a formatted string. - * - * @param string A wchar_t string. - * @param len The length of the string. If < 0 then all characters - * will be checked until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @return The corresponding bounding box. - */ - virtual FTBBox BBox(const wchar_t* string, const int len = -1, - FTPoint position = FTPoint()); - - /** - * Render a string of characters. - * - * @param string 'C' style string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param renderMode Render mode to display (optional) - */ - virtual void Render(const char *string, const int len = -1, - FTPoint position = FTPoint(), - int renderMode = FTGL::RENDER_ALL); - - /** - * Render a string of characters. - * - * @param string wchar_t string to be output. - * @param len The length of the string. If < 0 then all characters - * will be displayed until a null character is encountered - * (optional). - * @param position The pen position of the first character (optional). - * @param renderMode Render mode to display (optional) - */ - virtual void Render(const wchar_t *string, const int len = -1, - FTPoint position = FTPoint(), - int renderMode = FTGL::RENDER_ALL); - - /** - * Set the font to use for rendering the text. - * - * @param fontInit A pointer to the new font. The font is - * referenced by this but will not be - * disposed of when this is deleted. - */ - void SetFont(FTFont *fontInit); - - /** - * @return The current font. - */ - FTFont *GetFont(); - - /** - * The maximum line length for formatting text. - * - * @param LineLength The new line length. - */ - void SetLineLength(const float LineLength); - - /** - * @return The current line length. - */ - float GetLineLength() const; - - /** - * The text alignment mode used to distribute - * space within a line or rendered text. - * - * @param Alignment The new alignment mode. - */ - void SetAlignment(const FTGL::TextAlignment Alignment); - - /** - * @return The text alignment mode. - */ - FTGL::TextAlignment GetAlignment() const; - - /** - * Sets the line height. - * - * @param LineSpacing The height of each line of text expressed as - * a percentage of the current fonts line height. - */ - void SetLineSpacing(const float LineSpacing); - - /** - * @return The line spacing. - */ - float GetLineSpacing() const; -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -FTGL_EXPORT FTGLlayout *ftglCreateSimpleLayout(void); - -FTGL_EXPORT void ftglSetLayoutFont(FTGLlayout *, FTGLfont*); -FTGL_EXPORT FTGLfont *ftglGetLayoutFont(FTGLlayout *); - -FTGL_EXPORT void ftglSetLayoutLineLength(FTGLlayout *, const float); -FTGL_EXPORT float ftglGetLayoutLineLength(FTGLlayout *); - -FTGL_EXPORT void ftglSetLayoutAlignment(FTGLlayout *, const int); -FTGL_EXPORT int ftglGetLayoutAlignement(FTGLlayout *); - -FTGL_EXPORT void ftglSetLayoutLineSpacing(FTGLlayout *, const float); -FTGL_EXPORT float ftglGetLayoutLineSpacing(FTGLlayout *); - -FTGL_END_C_DECLS - -#endif /* __FTSimpleLayout__ */ - diff --git a/deps/ftgl/include/FTGL/FTTextureGlyph.h b/deps/ftgl/include/FTGL/FTTextureGlyph.h deleted file mode 100644 index ec545f31..00000000 --- a/deps/ftgl/include/FTGL/FTTextureGlyph.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -# warning This header is deprecated. Please use from now. -# include -#endif - -#ifndef __FTTextureGlyph__ -#define __FTTextureGlyph__ - -#ifdef __cplusplus - - -/** - * FTTextureGlyph is a specialisation of FTGlyph for creating texture - * glyphs. - */ -class FTGL_EXPORT FTTextureGlyph : public FTGlyph -{ - public: - /** - * Constructor - * - * @param glyph The Freetype glyph to be processed - * @param id The id of the texture that this glyph will be - * drawn in - * @param xOffset The x offset into the parent texture to draw - * this glyph - * @param yOffset The y offset into the parent texture to draw - * this glyph - * @param width The width of the parent texture - * @param height The height (number of rows) of the parent texture - */ - FTTextureGlyph(FT_GlyphSlot glyph, int id, int xOffset, int yOffset, - int width, int height); - - /** - * Destructor - */ - virtual ~FTTextureGlyph(); - - /** - * Render this glyph at the current pen position. - * - * @param pen The current pen position. - * @param renderMode Render mode to display - * @return The advance distance for this glyph. - */ - virtual const FTPoint& Render(const FTPoint& pen, int renderMode); -}; - -#endif //__cplusplus - -FTGL_BEGIN_C_DECLS - -/** - * Create a specialisation of FTGLglyph for creating pixmaps. - * - * @param glyph The Freetype glyph to be processed. - * @param id The id of the texture that this glyph will be drawn in. - * @param xOffset The x offset into the parent texture to draw this glyph. - * @param yOffset The y offset into the parent texture to draw this glyph. - * @param width The width of the parent texture. - * @param height The height (number of rows) of the parent texture. - * @return An FTGLglyph* object. - */ -FTGL_EXPORT FTGLglyph *ftglCreateTextureGlyph(FT_GlyphSlot glyph, int id, - int xOffset, int yOffset, - int width, int height); - -FTGL_END_C_DECLS - -#endif // __FTTextureGlyph__ - diff --git a/deps/ftgl/include/FTGL/ftgl.h b/deps/ftgl/include/FTGL/ftgl.h deleted file mode 100644 index f5d043cd..00000000 --- a/deps/ftgl/include/FTGL/ftgl.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * FTGL - OpenGL font library - * - * Copyright (c) 2001-2004 Henry Maddocks - * Copyright (c) 2008 Sam Hocevar - * Copyright (c) 2008 Sean Morrison - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef __ftgl__ -#define __ftgl__ - -/* We need the Freetype headers */ -#include -#include FT_FREETYPE_H -#include FT_GLYPH_H -#include FT_OUTLINE_H - -/* Floating point types used by the library */ -typedef double FTGL_DOUBLE; -typedef float FTGL_FLOAT; - -/* Macros used to declare C-linkage types and symbols */ -#ifdef __cplusplus -# define FTGL_BEGIN_C_DECLS extern "C" { namespace FTGL { -# define FTGL_END_C_DECLS } } -#else -# define FTGL_BEGIN_C_DECLS -# define FTGL_END_C_DECLS -#endif - -#ifdef __cplusplus -namespace FTGL -{ - typedef enum - { - RENDER_FRONT = 0x0001, - RENDER_BACK = 0x0002, - RENDER_SIDE = 0x0004, - RENDER_ALL = 0xffff - } RenderMode; - - typedef enum - { - ALIGN_LEFT = 0, - ALIGN_CENTER = 1, - ALIGN_RIGHT = 2, - ALIGN_JUSTIFY = 3 - } TextAlignment; -} -#else -# define FTGL_RENDER_FRONT 0x0001 -# define FTGL_RENDER_BACK 0x0002 -# define FTGL_RENDER_SIDE 0x0004 -# define FTGL_RENDER_ALL 0xffff - -# define FTGL_ALIGN_LEFT 0 -# define FTGL_ALIGN_CENTER 1 -# define FTGL_ALIGN_RIGHT 2 -# define FTGL_ALIGN_JUSTIFY 3 -#endif - -// Compiler-specific conditional compilation -#ifdef _MSC_VER // MS Visual C++ - - // Disable various warning. - // 4786: template name too long - #pragma warning(disable : 4251) - #pragma warning(disable : 4275) - #pragma warning(disable : 4786) - - // The following definitions control how symbols are exported. - // If the target is a static library ensure that FTGL_LIBRARY_STATIC - // is defined. If building a dynamic library (ie DLL) ensure the - // FTGL_LIBRARY macro is defined, as it will mark symbols for - // export. If compiling a project to _use_ the _dynamic_ library - // version of the library, no definition is required. - #ifdef FTGL_LIBRARY_STATIC // static lib - no special export required - # define FTGL_EXPORT - #elif FTGL_LIBRARY // dynamic lib - must export/import symbols appropriately. - # define FTGL_EXPORT __declspec(dllexport) - #else - # define FTGL_EXPORT __declspec(dllimport) - #endif - -#else - // Compiler that is not MS Visual C++. - // Ensure that the export symbol is defined (and blank) - #define FTGL_EXPORT -#endif - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#endif // __ftgl__ diff --git a/deps/ftgl/lib/libftgl.a b/deps/ftgl/lib/libftgl.a deleted file mode 100644 index 424916d118f6fa187740cd89fb1465227d896dba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750312 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

!C$6*>&e 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%0DUM|B~?2h3|y$)9E*Nv6k;6q>x`K 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 B#iIZK diff --git a/deps/ftgl/lib/pkgconfig/ftgl.pc b/deps/ftgl/lib/pkgconfig/ftgl.pc deleted file mode 100644 index 8278eb20..00000000 --- a/deps/ftgl/lib/pkgconfig/ftgl.pc +++ /dev/null @@ -1,12 +0,0 @@ -prefix= -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: FTGL -Description: OpenGL frontend to Freetype 2 -Version: 2.1.3~rc5 -Libs: -L${libdir} -lftgl -Requires.private: freetype2 -Libs.private: -Xlinker -framework -Xlinker OpenGL -lm -Cflags: -I${includedir} -I${includedir}/FTGL