X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftags%2Fsynfig_0_61_07_rc2%2Fsrc%2Fmodules%2Flyr_freetype%2Flyr_freetype.h;fp=synfig-core%2Ftags%2Fsynfig_0_61_07_rc2%2Fsrc%2Fmodules%2Flyr_freetype%2Flyr_freetype.h;h=0000000000000000000000000000000000000000;hb=6fa8f2f38d4b0b35f8539bf94e27ae27015c7689;hp=4c28580d36f40f37361a3a7ee98f6601e9302499;hpb=47fce282611fbba1044921d22ca887f9b53ad91a;p=synfig.git diff --git a/synfig-core/tags/synfig_0_61_07_rc2/src/modules/lyr_freetype/lyr_freetype.h b/synfig-core/tags/synfig_0_61_07_rc2/src/modules/lyr_freetype/lyr_freetype.h deleted file mode 100644 index 4c28580..0000000 --- a/synfig-core/tags/synfig_0_61_07_rc2/src/modules/lyr_freetype/lyr_freetype.h +++ /dev/null @@ -1,165 +0,0 @@ -/* === S Y N F I G ========================================================= */ -/*! \file lyr_freetype.h -** \brief Template Header -** -** $Id$ -** -** \legal -** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley -** Copyright (c) 2007 Chris Moore -** -** This package is free software; you can redistribute it and/or -** modify it under the terms of the GNU General Public License as -** published by the Free Software Foundation; either version 2 of -** the License, or (at your option) any later version. -** -** This package is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -** General Public License for more details. -** \endlegal -** -** === N O T E S =========================================================== -** -** ========================================================================= */ - -/* === S T A R T =========================================================== */ - -#ifndef __SYNFIG_LYR_FREETYPE_H -#define __SYNFIG_LYR_FREETYPE_H - -/* === H E A D E R S ======================================================= */ - -//#ifdef __APPLE__ -//#define USE_MAC_FT_FUNCS (1) -//#endif - -#include -#include -#include -#include - -#include -#include FT_FREETYPE_H -#include FT_GLYPH_H -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include - -#ifdef USE_MAC_FT_FUNCS - #include - #include FT_MAC_H -#endif - -/* === M A C R O S ========================================================= */ - -/* === T Y P E D E F S ===================================================== */ - -/* === C L A S S E S & S T R U C T S ======================================= */ - -using namespace synfig; -using namespace std; -using namespace etl; - - -struct Glyph -{ - FT_Glyph glyph; - FT_Vector pos; - //int width; -}; -struct TextLine -{ - int width; - std::vector glyph_table; - - TextLine():width(0) { } - void clear_and_free(); - - int actual_height()const - { - int height(0); - - std::vector::const_iterator iter; - for(iter=glyph_table.begin();iter!=glyph_table.end();++iter) - { - FT_BBox glyph_bbox; - - //FT_Glyph_Get_CBox( glyphs[n], ft_glyph_bbox_pixels, &glyph_bbox ); - FT_Glyph_Get_CBox( iter->glyph, ft_glyph_bbox_subpixels, &glyph_bbox ); - - if(glyph_bbox.yMax>height) - height=glyph_bbox.yMax; - } - return height; - } -}; - - -class Layer_Freetype : public synfig::Layer_Composite, public synfig::Layer_NoDeform -{ - SYNFIG_LAYER_MODULE_EXT -private: - - FT_Face face; - synfig::String font; - synfig::String family; - synfig::String text; - synfig::Vector size; - synfig::Vector orient; - synfig::Color color; - synfig::Point pos; - synfig::Real compress; - synfig::Real vcompress; - - int style; - int weight; - bool use_kerning; - bool grid_fit; - bool invert; - - bool old_version; - bool needs_sync_; - - void sync(); - - mutable synfig::Mutex mutex; - -public: - Layer_Freetype(); - virtual ~Layer_Freetype(); - - virtual bool set_param(const String & param, const synfig::ValueBase &value); - virtual ValueBase get_param(const String & param)const; - virtual Color get_color(Context context, const synfig::Point &pos)const; - virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const; - - virtual Vocab get_param_vocab()const; - - virtual bool set_version(const String &ver){if(ver=="0.1")old_version=true;return true;} - virtual void reset_version(){old_version=false;} - - virtual synfig::Rect get_bounding_rect()const; - -private: - void new_font(const synfig::String &family, int style=0, int weight=400); - bool new_font_(const synfig::String &family, int style=0, int weight=400); - bool new_face(const synfig::String &newfont); -}; - -extern FT_Library ft_library; - -/* === E N D =============================================================== */ - -#endif