diff options
author | Graeme Geldenhuys <graeme@mastermaths.co.za> | 2012-03-12 01:38:56 +0200 |
---|---|---|
committer | Graeme Geldenhuys <graeme@mastermaths.co.za> | 2012-03-12 01:38:56 +0200 |
commit | c295c983f949de4ab9137d8011664b0c6b4de551 (patch) | |
tree | ec6071b2a07d45c590cb0a90f71f69c87bbf927e /src/corelib | |
parent | 0833db10ac66906c4d80925228cb5627d464971c (diff) | |
download | fpGUI-c295c983f949de4ab9137d8011664b0c6b4de551.tar.xz |
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.
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/render/software/Agg2D.pas | 59 |
1 files changed, 30 insertions, 29 deletions
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. |