[Freeciv-Dev] Re: (PR#8482) heights in gtk2 production dialog
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
<URL: http://rt.freeciv.org/Ticket/Display.html?id=8482 >
Daniel L Speyer wrote:
> I'm not convinced on the usability angle (thunderbird, in which I'm
> writing this, has uneven toolbars, as does almost everything else that
> isn't built out of square icons) but I'll grant it on aesthetics, and I
> don't care all that much, so here's a version with constant height. It
> calculates the relevant height and width once whenever a tileset is
> initialized. Works well under any circumstance I can think of.
The drawing of the flag isn't quite "right" in the current behavior, and
your code doesn't fix this.
When drawing units on the mapview, the flag is drawn with an offset of
flag_offset_x/flag_offset_y. This is specified by the tileset and
intended to put the flag behind the unit.
However in the current behavior the flag is drawn manually by the GUI
code to be at (0,0). It might be better to take
flag_offset_x/flag_offset_y into account.
However this may run into problems with the sprite bounding box. In
fact the current code may also run into problems. What happens if the
flag is bigger than the biggest unit? In non-iso view this isn't
impossible!
From my point of view I think the unit should be drawn by a call to
put_unit(), not by the GUI code. However this makes using a bounding
box system difficult. You'd want to call fill_unit_sprite_array and
then get the bounding box of the whole thing. Not very pretty.
In other news you should probably use UNIT_TILE_WIDTH instead of
NORMAL_TILE_WIDTH. And I think MAX() is prettier than manually coding
the conditional.
jason
|
|