From c295c983f949de4ab9137d8011664b0c6b4de551 Mon Sep 17 00:00:00 2001 From: Graeme Geldenhuys Date: Mon, 12 Mar 2012 01:38:56 +0200 Subject: Fixes IFDEF lines for correct font handling. Fixes the following problems: * Having AGG2D_NO_FONT defined, did not compiler * AggPas always assumed thatif FreeType was not used, then GDI+ must be used. --- src/corelib/render/software/Agg2D.pas | 59 ++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 29 deletions(-) (limited to 'src/corelib') diff --git a/src/corelib/render/software/Agg2D.pas b/src/corelib/render/software/Agg2D.pas index e78cdd3e..66662a68 100644 --- a/src/corelib/render/software/Agg2D.pas +++ b/src/corelib/render/software/Agg2D.pas @@ -75,10 +75,9 @@ uses {$IFDEF AGG2D_USE_FREETYPE } agg_font_freetype , - -{$ELSE } +{$ENDIF } +{$IFDEF AGG2D_USE_WINFONTS} agg_font_win32_tt , - {$ENDIF } Math ,Windows ,Classes ,Graphics ; @@ -151,10 +150,9 @@ type {$IFDEF AGG2D_USE_FREETYPE } TAggFontEngine = font_engine_freetype_int32; - -{$ELSE } +{$ENDIF } +{$IFDEF AGG2D_USE_WINFONTS} TAggFontEngine = font_engine_win32_tt_int32; - {$ENDIF } TAggGradient = (AGG_Solid ,AGG_Linear ,AGG_Radial ); @@ -304,13 +302,14 @@ type m_imageFlip : boolean; - {$IFNDEF AGG2D_USE_FREETYPE } + {$IFDEF AGG2D_USE_WINFONTS } m_fontDC : HDC; - {$ENDIF } + {$IFNDEF AGG2D_NO_FONT} m_fontEngine : TAggFontEngine; m_fontCacheManager : font_cache_manager; + {$ENDIF} // Other Pascal-specific members m_gammaNone : gamma_none; @@ -1163,15 +1162,15 @@ begin {$IFDEF AGG2D_USE_FREETYPE } m_fontEngine.Construct; - -{$ELSE } +{$ENDIF } +{$IFDEF AGG2D_USE_WINFONTS} m_fontDC:=GetDC(0 ); - m_fontEngine.Construct(m_fontDC ); - {$ENDIF } +{$IFNDEF AGG2D_NO_FONT} m_fontCacheManager.Construct(@m_fontEngine ); +{$ENDIF} LineCap (m_lineCap ); LineJoin(m_lineJoin ); @@ -1197,14 +1196,14 @@ begin m_convCurve.Destruct; m_convStroke.Destruct; + {$IFNDEF AGG2D_NO_FONT} m_fontEngine.Destruct; m_fontCacheManager.Destruct; + {$ENDIF} -{$IFNDEF AGG2D_USE_FREETYPE } + {$IFDEF AGG2D_USE_WINFONTS} ReleaseDC(0 ,m_fontDC ); - -{$ENDIF } - + {$ENDIF } end; { ATTACH } @@ -2462,8 +2461,9 @@ end; { FLIPTEXT } procedure TAgg2D.FlipText(flip : boolean ); begin - m_fontEngine.flip_y_(not flip ); - + {$IFNDEF AGG2D_NO_FONT} + m_fontEngine.flip_y_(not flip ); + {$ENDIF} end; { FONT } @@ -2493,8 +2493,8 @@ begin m_fontEngine.height_(height ) else m_fontEngine.height_(worldToScreen(height ) ); - -{$ELSE } +{$ENDIF} +{$IFDEF AGG2D_USE_WINFONTS} m_fontEngine.hinting_(m_textHints ); if bold then @@ -2506,9 +2506,7 @@ begin m_fontEngine.create_font_(PChar(@fileName[1 ] ) ,glyph_ren_outline ,height ,0.0 ,b ,italic ) else m_fontEngine.create_font_(PChar(@fileName[1 ] ) ,glyph_ren_agg_gray8 ,worldToScreen(height) ,0.0 ,b ,italic ); - {$ENDIF } - end; { FONTHEIGHT } @@ -2542,6 +2540,11 @@ end; { TEXTWIDTH } function TAgg2D.TextWidth(str : AnsiString ) : double; +{$IFDEF AGG2D_NO_FONT} +begin + // do nothing +end; +{$ELSE} var x ,y : double; first : boolean; @@ -2579,8 +2582,8 @@ begin result:=x else result:=ScreenToWorld(x ); - end; +{$ENDIF} { TEXT } procedure TAgg2D.Text( @@ -2604,6 +2607,7 @@ var tr : conv_transform; begin + {$IFNDEF AGG2D_NO_FONT} dx:=0.0; dy:=0.0; @@ -2706,7 +2710,7 @@ begin inc(i ); end; - + {$ENDIF} end; { RESETPATH } @@ -3391,13 +3395,10 @@ begin { OK } result:=true; - end; + end; end; -END. - -{*} -{!}{ To look At } +end. -- cgit v1.2.3-70-g09d2