Repository URL to install this package:
|
Version:
1.6 ▾
|
//----------------------------------------------------------------------------
// Anti-Grain Geometry - Version 2.4 (Public License)
// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
//
// Anti-Grain Geometry - Version 2.4 Release Milano 3 (AggPas 2.4 RM3)
// Pascal Port By: Milan Marusinec alias Milano
// milan@marusinec.sk
// http://www.aggpas.org
// Copyright (c) 2005-2006
//
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
//
//----------------------------------------------------------------------------
// Contact: mcseem@antigrain.com
// mcseemagg@yahoo.com
// http://www.antigrain.com
//
// [Pascal Port History] -----------------------------------------------------
//
// 16.02.2006-Milano: Unit port establishment
//
{ agg_font_engine.pas }
unit
agg_font_engine ;
INTERFACE
{$I agg_mode.inc }
uses
agg_basics ,
agg_scanline_storage_aa ,
agg_scanline_storage_bin ,
agg_path_storage_integer ;
{ TYPES DEFINITION }
type
gray8_adaptor_type_ptr = ^gray8_adaptor_type;
gray8_adaptor_type = serialized_scanlines_adaptor_aa8;
gray8_scanline_type_ptr = ^gray8_scanline_type;
gray8_scanline_type = embedded_scanline_sa;
mono_adaptor_type_ptr = ^mono_adaptor_type;
mono_adaptor_type = serialized_scanlines_adaptor_bin;
mono_scanline_type_ptr = ^mono_scanline_type;
mono_scanline_type = embedded_scanline_a;
scanlines_aa_type_ptr = ^scanlines_aa_type;
scanlines_aa_type = scanline_storage_aa8;
scanlines_bin_type_ptr = ^scanlines_bin_type;
scanlines_bin_type = scanline_storage_bin;
path_adaptor_type_ptr = ^path_adaptor_type;
path_adaptor_type = serialized_integer_path_adaptor;
font_engine_ptr = ^font_engine;
font_engine = object
// Interface mandatory to implement for font_cache_manager
function font_signature : PChar; virtual; abstract;
function change_stamp : int; virtual; abstract;
function prepare_glyph(glyph_code : unsigned ) : boolean; virtual; abstract;
function glyph_index : unsigned; virtual; abstract;
function data_size : unsigned; virtual; abstract;
function data_type : unsigned; virtual; abstract;
function bounds : rect_ptr; virtual; abstract;
function advance_x : double; virtual; abstract;
function advance_y : double; virtual; abstract;
procedure write_glyph_to(data : int8u_ptr ); virtual; abstract;
function add_kerning (first ,second : unsigned; x ,y : double_ptr ) : boolean; virtual; abstract;
function flag32 : boolean; virtual; abstract;
end;
{ GLOBAL PROCEDURES }
IMPLEMENTATION
{ LOCAL VARIABLES & CONSTANTS }
{ UNIT IMPLEMENTATION }
END.