Skip to content

Commit

Permalink
Merge pull request #2725 from dls-controls/css610_legend_area
Browse files Browse the repository at this point in the history
Resize the legend area when traces are hidden
  • Loading branch information
shroffk authored Mar 13, 2024
2 parents 449df66 + 2346488 commit 6b1fce6
Showing 1 changed file with 4 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -66,22 +66,25 @@ public int getDesiredHeight(final GC gc, final int bounds_width,
final Font orig_font = gc.getFont();
gc.setFont(font);

int items = 0;
int max_width = 1, max_height = 1; // Start with 1 pixel to avoid later div-by-0
for (Trace<XTYPE> trace : traces)
{
if (!trace.isVisible())
continue;
final Point size = gc.textExtent(trace.getLabel());
if (size.x > max_width)
max_width = size.x;
if (size.y > max_height)
max_height = size.y;
items++;
}
// Arrange in grid with some extra space
grid_x = max_width + max_height / 2;
grid_y = max_height;

gc.setFont(orig_font);

final int items = traces.size();
final int items_per_row = Math.max(1, bounds_width / grid_x); // Round down, counting full items
final int rows = (items + items_per_row-1) / items_per_row; // Round up
return rows * grid_y;
Expand Down

0 comments on commit 6b1fce6

Please sign in to comment.