@@ -76,17 +76,19 @@ Geom::Rect drawLegend::getItemRect(double index) const
7676
7777Geom::Rect drawLegend::getMarkerRect (const Geom::Rect &itemRect) const
7878{
79+ auto markerSize = style.marker .size ->get (contentRect.size .y );
7980 Geom::Rect res = itemRect;
80- res.pos .y += itemHeight / 2.0 - *style. marker . size / 2.0 ;
81- res.size = Geom::Size::Square (*style. marker . size );
81+ res.pos .y += itemHeight / 2.0 - markerSize / 2.0 ;
82+ res.size = Geom::Size::Square (markerSize );
8283 return res;
8384}
8485
8586Geom::Rect drawLegend::getLabelRect (const Geom::Rect &itemRect) const
8687{
88+ auto markerSize = style.marker .size ->get (contentRect.size .y );
8789 Geom::Rect res = itemRect;
88- res.pos .x += *style. marker . size ;
89- res.size .x -= std::max (0.0 , res.size .x - *style. marker . size );
90+ res.pos .x += markerSize ;
91+ res.size .x -= std::max (0.0 , res.size .x - markerSize );
9092 return res;
9193}
9294
@@ -179,9 +181,10 @@ void drawLegend::sizeBar(const Geom::Rect &rect)
179181
180182Geom::Rect drawLegend::getBarRect () const
181183{
184+ auto markerSize = style.marker .size ->get (contentRect.size .y );
182185 Geom::Rect res = contentRect;
183186 res.pos .y += titleHeight + itemHeight / 2.0 ;
184187 res.size .y = 5 * itemHeight;
185- res.size .x = *style. marker . size ;
188+ res.size .x = markerSize ;
186189 return res;
187190}
0 commit comments