src


Log

Author Commit Date CI Message
sammy e8c876bc 2008-05-01T19:31:06 * Make our base classes' destructors public. We want to prevent accidental instantiation, but direct destruction is perfectly legal.
sammy 54e3e0a6 2008-05-01T18:46:22 * Proper FTFace member initialisation to prevent destructor-time crashes.
sammy fbcf2a88 2008-05-01T18:33:44 * Optimise FTFace::KernAdvance() so that kerning for font indices < 128 is precomputed during FTFace() instantiation to avoid calling FT_Get_Kerning() too often. Patch by Sean Morrison, taken from bzflag commit r14652, reworked for safety and performance by me.
sammy b9df86a4 2008-05-01T18:31:35 * Optimize FTCharmap::FontIndex() so that font indices < 128 are precomputed during FTCharmap() instantiation to avoid repeated tt_cmap4_char_index() calls. Performance patch by Sean Morrison, taken from bzflag commit r14644.
sammy 822d0f8f 2008-05-01T18:30:29 * Avoid crashing when the texture size is so small that its integer size becomes zero. At the same time, round many floats instead of simply flooring them to int. First part by Sean Morrison from bzflag commit r14590.
sammy 40644e3b 2008-05-01T14:19:34 * Patches by Sean Morrison, from BzFlag commits r15755 and r14843: + Only delete textures if there is at least one of them. + Ensure that the FTTextureFont data members get set for all cases. * Added Sean to the AUTHORS file.
sammy 129a4733 2008-05-01T13:42:49 * Store FTPoints in the BBox object instead of floats. This was a todo from Henry.
sammy f0705dc2 2008-05-01T10:54:28 * Inline most FTPoint methods and operators. This will probably make the code smaller instead of bigger, because most of what they do will be optimised out by the compiler. * Get rid of the weird GetNormal() method and reimplement it using the ^ operator (vector product) and Normalise() method instead.
sammy 9fa3bb52 2008-05-01T10:04:14 * Moved C constructor bindings to FTFont.h and FTLayout.h so that they appear in the same file in the generated documentation. * Various minor documentation updates.
sammy fa7d0739 2008-05-01T09:31:27 * Mass consistency renaming: the fonts' "FTGL" prefix is dropped in favour of "FT" because all other types use only the latter. * Rename "Extrd" types to "Extrude" because the former doesn't really make much sense. * Added appropriate #defines so that legacy applications still build.
sammy 8f4cefb2 2008-04-30T16:35:23 * Remove FTGL_EXPORT specification from classes that are not actually exported.
sammy 2aa2aeb5 2008-04-30T16:27:34 * Move include/* to src/FTGL/* so the files in there can directly be referred to as "FTGL/*.h". This is convenient because they will be installed in a similar location. * Put a warning in each legacy public header to advise users to only include the generic <FTGL/ftgl.h> header instead.
sammy 1d9265ad 2008-04-30T14:10:08 * Improve constructor code in the FTFont and FTLayout C bindings. Shorter (40 lines) and more consistend code.
sammy 24656f3c 2008-04-30T14:07:52 * Fix Makefile to add missing header files in "make dist".
sammy 8c654f07 2008-04-30T14:02:25 * Implement FTLayout::Error(). Nothing uses it yet and it's always zero, but it may come in handy later and we want a stable API.
sammy 0c84f1f3 2008-04-29T22:59:41 * Wrote C bindings for the FTGlyph class.
sammy 7f4fcafa 2008-04-29T21:35:16 * End of the pImpl refactoring task started in [972]. FTGlyph was the last class needing the change. As a consequence, FTGlyph is now also exported in the library API, and so are FTBBox and FTPoint.
sammy fa063816 2008-04-29T20:42:15 * Simplified FTFont's constructor. Since the class is kind of abstract, there is no need to export the constructor interface: only derived classes need to advertise how they are instantiated.
sammy 387dec48 2008-04-29T17:11:57 * Move FTGlyph, FTFont and FTLayout classes and their derivatives into separate subdirectories of src/ to avoid cluttering src/ with too many files. The Visual Studio solution still needs an update.
sammy ff3228e6 2008-04-29T16:47:26 * More cleanup following the private pointer refactoring: + Removed private type enums from the public ftgl.h header. + Protected all private implementation ctors and dtors. + Prevent accidental initialisation of the base classes by protecting their constructors. Derived classes can still be properly instantiated.
sammy b81733e4 2008-04-29T15:44:42 * Clean up the C bindings by splitting FTGlue.cpp into FTLayoutGlue.cpp, FTGlyphGlue.cpp (unused yet) and FTFontGlue.cpp. C methods previously scattered all around are now located in one of these 3 files. * Hide extern "C" and namespace C constructs in a single FTGL_BEGIN_C_DECLS macro. * Use namespace FTGL all around instead of a mix of C and FTGL namespaces.
sammy 8886dced 2008-04-29T14:57:06 * Fix the ftglLayoutRenderSpace C binding's prototype, which wasn't in sync with its implementation in FTGlue.cpp.
sammy 1f4a94f8 2008-04-29T14:39:28 * Since the MIT license is LGPL-compatible, there is no real point in shipping FTGL under a dual license. Consequently removing LGPL references from the code, in agreement with Sean.
sammy 4db4b05d 2008-04-29T11:30:15 * Remove dead code: FTGLBufferFont and FTBufferGlyph are the same as FTGLPixmapFont and FTPixmapGLyph, except the latter are actually used and do work.
sammy 001ebbdd 2008-04-29T11:18:48 * Remove useless overriden methods in FTGLBitmapFont that reimplemented the same thing as in FTFont.
sammy c96146ed 2008-04-29T06:44:51 * Moved header files that are not required by library clients into src/ so that they do not get installed. * Created an ftgl.h header that allows clients to #include <FTGL/ftgl.h> and be done with it.
sammy 9caaa891 2008-04-28T21:48:44 * Split Font and Layout headers into Foo.h and FooImpl.h, and taking the latter out of the include/ directory.
sammy 573770b5 2008-04-28T21:12:36 * Beginning of a new refactoring task. Classes inheriting FTFont or FTLayout now hide their private members behind a pImpl pointer. This will make the public headers smaller, and we will not break the ABI by changing private members of our public classes. This first step just splits classes but does not reorganise files.
brlcad 3674c4d1 2008-04-28T17:31:42 specify minimum versions, make ac be 2.58 and am be 1.6 (needed in order to support os x 10.4 out-of-the-box). PKG_CHECK_MODULES doesn't seem to wrap the args properly so you can't embed AC_MSG_RESULT, make a zip and bzip2 when we make a dist, and provide NULL to make am happy
sammy da303bb8 2008-04-28T15:24:05 * Remove all method implementations from the main FTFont.h, FTLayout.h and FTGlyph.h headers. Since they use private members, they belong to their respective .cpp files.
sammy 09fbf8ac 2008-04-28T11:17:05 * Cosmetic: remove trailing spaces, fix unbalanced parenthesis/space constructs, remove tab/space mixes, wrap a lot of long source lines.
sammy 46ae3db6 2008-04-28T09:10:37 * Crash fix: do not try to delete FTFont::glyphList if the constructor failed.
sammy c2ebad6c 2008-04-27T19:55:30 * Use libtool' versioning features to call the library libftgl.2.1.3. This is not the recommended way to do, but it's nice to synchronise the package's version and the library's soname.
sammy 8816c73c 2008-04-27T10:22:55 * Fix erroneous warnings in the C bindings for destructors, by Eric Beets.
sammy 4489aa96 2008-04-25T12:24:52 * *sigh*, another bug fix for a problem I introduced in [941].
sammy 06dd5949 2008-04-25T10:01:29 * Implement Render() for all Font types. Patch by Eric Beets.
sammy 9f52ec90 2008-04-25T10:01:07 * Align FTPixmapGlyph and FTTextureGlyph objects at round pixel coordinates to reduce bleeding. Patch by Ton Roosendaal, from Blender commit r4411.
sammy f6445414 2008-04-25T10:00:44 * Disable the use of the font's internal bitmap in FTGLTextureFont and FTGLPixmapFont. Patch by Shizu, from Blender commit r4569.
sammy d92dc2db 2008-04-25T10:00:07 * Turn off the color buffer bit in the TextureFont renderer to increase performance. Patch by Ton Roosendaal, from Blender commit r5362.
sammy 0608bbfe 2008-04-25T09:59:48 * Synchronise FTCharmap::GlyphListIndex and FTCharmap::FontIndex prototypes declarations with their definitions. Patch by Vladimir Marek, taken from Blender commit r8915.
sammy d72e669b 2008-04-25T09:59:35 * OS X Leopard build fix. Starting from this version, GLUTesselatorFunction has a standard prototype again. Patch by Kent Mein, taken from Blender commit r11864.
sammy d0651fb6 2008-04-25T09:59:11 * Fix random bugs introduced in [941] and [943].
sammy 170cddfc 2008-04-24T13:20:17 * Updated Visual Studio build, by Eric Beets. We decided to switch the solution file to Visual Studio 2005 because no one was able to get an older version. Sorry.
sammy 75c73099 2008-04-23T21:23:59 * Fix most compilation warnings. Most frequent causes: shadow declarations and const qualifier disappearances.
sammy 92094112 2008-04-23T15:56:47 * Only build outset contours when really needed. This spares quite a few operations and removes now useless parameters from several methods. Patch by Eric Beets, reworked by me.
sammy a5781ca3 2008-04-23T09:50:17 * Assume unknown operating systems share the GLUTesselatorFunction prototype with other standard Linux/Unix systems. It's a pretty safe bet and spares us from patching the code each time a new system such as GNU/kFreeBSD appears.
sammy 52e30602 2008-04-23T09:49:07 * In outline mode, do not render the original outline if an outset value was specified: only render the modified one. Patch by Eric Beets.
sammy 9ae936f3 2008-04-22T23:47:24 * C bindings for the FTLayout interface. Code by Eric Beets.
sammy 15d3cad5 2008-04-22T17:06:49 * Fix FTTextureGlyph rendering offset so that it works with layouts.
sammy bf878876 2008-04-22T16:21:37 * Fix displaylist usage in FTExtrdGlyph. Closes SourceForge ticket #1945392.
sammy ef85a014 2008-04-22T16:21:04 * Allow to selectively display parts of the glyph/font/layout. This is currently only used in FTExtrdGlyph: it lets the user render the front surface in a different color than the extruded side surface. Code written by Eric Beets.
sammy cb8ae5d9 2008-04-22T16:18:07 * Fix displaylist usage in FTOutlineGlyph and FTPolyGlyph. FTExtrdGlyph still needs to be fixed, but that will be after pending Render() changes. Partially addresses SourceForge ticket #1945392.
sammy 7e74380f 2008-04-21T21:48:03 * Inset/outset contour support for fonts, by Eric Beets. For now, only contours with exactly the same number of points are generated.
sammy f300fc49 2008-04-21T16:09:46 * Fix the FTLayout rendering: line feeds were not properly handled. Patch by Eric Beets.
sammy 9f770d58 2008-04-17T13:38:28 * Use pen += FTPoint(a, 0) constructs instead of pen.X(pen.X() + a), it's more object-oriented.
sammy 6bac248f 2008-04-17T13:36:05 * Fix a bug in FTFont::DoRender() introduced by my FTSimpleLayout merge that was causing excessive spacing between characters.
sammy 2cf6ff94 2008-04-16T15:57:01 * Remove a lot of code duplication caused by the char/wchar_t overloading thanks to templates. No API change here.
sammy 55d3f835 2008-04-15T09:53:27 * Added ftglDestroyFont() destructor for the C bindings. * Remove useless "#ifdef __cplusplus" constructs from .cpp files.
sammy dedd7ce5 2008-04-14T13:22:21 * Made the FTSimpleLayout coding style consistent with the rest of the code.
sammy 87609beb 2008-04-13T22:13:44 * Added copyright and license information to recently merged files.
sammy d6a2d851 2008-04-13T21:14:44 * Merged trunk commits [664], [665], [666], [667], [669], [670], [671], [672] and [684], by patrick and henry: + Added FTLayout.h, FTSimpleLayout.h and FTSimpleLayout.cpp to implement a framework for layout managers and an implementation of a simple layout manager. + Updated FTGLDemo to use the new FTSimpleLayout. Changes include: - Added a font origin to specify the location to render the font. - The default text is now blatantly plagarized from the back cover of the OGL red book. - The font size is much smaller. - Font metrics are rendered differently depending on the current layout manager. - The FTSimpleLayout alignment mode is now output with other font information. - The space bar no longer cycles through the fonts. The cursor up/down keys do. - The cursor left/right keys increment/decrement the size of the current font. - The page up/page down keys cycle through the layout managers. - The home/end keys increment and decrement the line length of a simple layout - The tab key cycles through the alignment modes of a simple layout. + Fixed a bug where the trackball rotation was applied after translation. + Minor reformatting and enabled texture fonts to be selected + Un-inlined private methods...because they are called by other private inlined methods + Minor formatting changes + Adding FTLayout
sammy a6f07b94 2008-04-13T19:37:25 * Merged trunk commits [662] and [663], by patrick: + Added the FTBBox::Invalidate and FTBBox::IsValid methods. + Changed the FTFont::BBox to accept a range of indicies. Only characters with the range are checked. The previous funcitonality is preserved via inline methods that call the new implementation. + Kluged a fix for a bug where FTFont::BBox was returning bounding volumes where min > max. I don't know where the problem is originating, I just force the bounds to be correct. + Changed the FTFont::DoRender methods to accept an external FTPoint for the pen position. This enables FTLayout classes to use their own pen for rendering. + Added the FTLayout class as a friend of FTFont to allow layout managers to call private rendering functions and access private font information.
sammy ddaf5e9c 2008-04-13T09:50:49 * Fix a crash in the glyph extrusion code when a contour has zero points.
sammy 94fe5f4d 2008-04-13T09:37:13 * Fix minor typo (polyon -> polygon).
sammy d5ec524b 2008-04-13T09:34:19 * Fix a coordinate bug in the extrusion texture mapping.
sammy 46de81b1 2008-04-13T09:28:40 * Minor refactoring in FTExtrdGlyph.cpp.
sammy eb169fd2 2008-04-13T09:06:38 * Fix a crash in FTContour::FTContour caused by invalid or unknown tags.
sammy 71eb8253 2008-04-13T07:48:50 * Refactoring FTContour.
sammy 141112c4 2008-04-12T22:44:48 * Add licensing information to all files in the library.
sammy 8b9739ee 2008-04-11T16:24:56 * C bindings for FTGL, written by Éric Beets <ericbeets@free.fr>.
sammy 7c358859 2008-04-04T12:43:38 * Generate a config.h file instead of passing all defines in the compiler command line. * "make install" now properly installs the includes, the documentation and the .pc file. * Generate a shared library.
sammy 9f978b91 2008-04-04T12:21:46 * Big build system overhaul. Autotools-generated files are no longer stored in SVN, the bootstrap script is more tolerant with odd installations, all makefiles are a lot shorter.
sammy ee107630 2008-03-03T16:41:35 * Remove svn:executable property from source files.
sammy f0f550ea 2008-03-03T16:36:07 * Remove svn:executable property from source files.
henry 06d1b145 2005-01-03T09:09:35 Reset the error when setting the charmap
henry 5760ea26 2004-12-12T10:01:50 Changed behaviour so that if an errror occurs the object isn't modified. (strong guarantee).
henry aef4bd2c 2004-12-10T09:51:56 const correctness
henry 35a714a4 2004-12-10T09:51:45 Added include for assert
henry d60f1a16 2004-12-06T22:42:28 const correctness.
henry 629df4cc 2004-12-06T22:41:36 Minor code format change
henry 3902538a 2004-12-06T10:34:50 Changed the way the colour is specified. It can now be done per string rather than at start up as previous.
henry 4b213aab 2004-12-05T09:29:05 const correctness
henry a2985cbf 2004-10-18T21:41:36 Removed depth member var. Fixed a problem with normal generation.
henry 55888982 2004-10-17T00:40:24 Changed advance to be an FTPoint rather than a float.
henry 231a1d7e 2004-10-12T01:06:11 Got rid of the DoRender function.
henry d734048e 2004-10-11T09:45:18 Changed pos assignment
henry 1f69e6a0 2004-10-11T02:58:52 Added operator + & * to FTPoint
henry 8c207cad 2004-10-11T01:58:43 Renamed variable
henry 6fa0cf8b 2004-10-11T01:56:29 Removed a redundant var
henry 775724e4 2004-10-11T01:55:52 Fixed a casting problem
henry 4c6baa27 2004-10-10T22:50:01 Refactoring FTPoint
henry b2bd1ab8 2004-10-10T11:14:58 Refactoring FTPoint
henry 4c9a32b2 2004-10-10T10:45:37 Added cast to double operator
henry 3d3a4852 2004-10-08T11:37:28 Changed a couple of variable names.
henry b39871f5 2004-10-07T02:11:01 Fixed some floats
henry 05317481 2004-10-05T04:48:14 Added hasKerningTable member so we don't query the font every glyph. Got rid of the redundant Close() and unused UnitsPerEM()
henry 8bdfef74 2004-10-03T22:50:30 Adding support for turning off display lists in FTGL
henry 24d213a7 2004-10-03T22:34:10 Only set the err in CheckGlyph if it hasn't been set by some other part of the process.
henry 4c9a4594 2004-10-03T21:59:38 Doh
henry 80fc3da9 2004-10-03T21:11:09 CheckGlyph sets error flag