Gdiplus [1/3] Improve accuracy in calculating height

Huw Davies huw at codeweavers.com
Fri Jun 27 09:27:44 CDT 2008


On Fri, Jun 27, 2008 at 10:16:41AM -0400, Adam Petaccia wrote:
> The previous patch I sent incorrectly calculated font-height. Now its
> correctly calculated using points_per_inch and the user's DPI setting.
> 

> diff --git a/dlls/gdiplus/font.c b/dlls/gdiplus/font.c
> index 86a3223..85df905 100644
> --- a/dlls/gdiplus/font.c
> +++ b/dlls/gdiplus/font.c
> @@ -34,6 +34,7 @@ WINE_DEFAULT_DEBUG_CHANNEL (gdiplus);
>  #include "gdiplus_private.h"
> 
>  static const REAL mm_per_pixel = 25.4;
> +static const REAL points_per_inch = 1/72;
>  

I know there are several definitions of a point, but none are this big!

points_per_inch should be around 72.


> @@ -50,7 +51,7 @@ static inline REAL get_dpi (void)
>  
>  static inline REAL point_to_pixel (REAL point)
>  {
> -    return point * 1.5;
> +    return point * (get_dpi() * points_per_inch);

And this then becomes points * get_dpi() / points_per_inch;

[Hint check the units:
 pixels (aka dots) = points * (dots / inch) / (points / inch)
]

Huw.
-- 
Huw Davies
huw at codeweavers.com



More information about the wine-devel mailing list