Yep, I'm not really happy with it either, but I don't have a better idea.

I added 2 replies to your comment, please have a look.

Diff comments:

> 
> === modified file 'src/graphic/animation.h'
> --- src/graphic/animation.h   2016-10-25 08:14:28 +0000
> +++ src/graphic/animation.h   2016-11-18 17:52:33 +0000
> @@ -57,8 +58,17 @@
>       }
>  
>       /// The dimensions of this animation.
> -     virtual uint16_t width() const = 0;
> -     virtual uint16_t height() const = 0;
> +     virtual float height() const = 0;

This is used by Soldiers to position their health bar etc.

> +
> +     /// The size of the animation source images. Use 'percent_from_bottom' 
> to crop the animation.

The unit is %, as the variable name says. I don't know what the unit for scale 
is, shall we rename it to zoom_scale?

> +     virtual Rectf source_rectangle(int percent_from_bottom) const = 0;
> +
> +     /// Calculates the destination rectangle for blitting the animation.
> +     /// 'position' is where the top left corner of the animation will end 
> up,
> +     /// 'source_rect' is the rectangle calculated by source_rectangle,
> +     /// 'scale' is the zoom scale.
> +     virtual Rectf
> +     destination_rectangle(const Vector2f& position, const Rectf& 
> source_rect, float scale) const = 0;
>  
>       /// The number of animation frames of this animation.
>       virtual uint16_t nr_frames() const = 0;


-- 
https://code.launchpad.net/~widelands-dev/widelands/animation_scaling/+merge/310718
Your team Widelands Developers is subscribed to branch 
lp:~widelands-dev/widelands/animation_scaling.

_______________________________________________
Mailing list: https://launchpad.net/~widelands-dev
Post to     : widelands-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to