@@ -236,19 +236,25 @@ procedure TNavigationTypeButton.TooltipRender(const TooltipPosition: TVector2);
236
236
ImgMargin = 8 ;
237
237
var
238
238
ButtonR, R: TFloatRectangle;
239
+ CachedUIScale: Float;
239
240
begin
240
241
ButtonR := RenderRect;
242
+ CachedUIScale := UIScale; { make a UIScale() call only once }
241
243
242
244
R := FloatRectangle(
243
- WindowBorderMargin,
244
- ButtonR.Bottom - ButtonBottomMargin - (ImageTooltip.Height + 2 * ImgMargin),
245
- ImageTooltip.Width + 2 * ImgMargin,
246
- ImageTooltip.Height + 2 * ImgMargin);
245
+ WindowBorderMargin * CachedUIScale ,
246
+ ButtonR.Bottom - ( ButtonBottomMargin + (ImageTooltip.Height + 2 * ImgMargin)) * CachedUIScale ,
247
+ ( ImageTooltip.Width + 2 * ImgMargin) * CachedUIScale ,
248
+ ( ImageTooltip.Height + 2 * ImgMargin) * CachedUIScale );
247
249
248
250
Theme.Draw(R, tiTooltip);
249
- ImageTooltip.DrawableImage.Draw(R.Left + ImgMargin, R.Bottom + ImgMargin);
251
+ ImageTooltip.DrawableImage.Draw(R.Left + ImgMargin * CachedUIScale, R.Bottom + ImgMargin * CachedUIScale,
252
+ ImageTooltip.Width * CachedUIScale,
253
+ ImageTooltip.Height * CachedUIScale);
250
254
{ we decrease R.Top to overdraw the tooltip image border }
251
- ImageTooltipArrow.DrawableImage.Draw(ButtonR.Left + (EffectiveWidth - ImageTooltipArrow.Width) / 2 , R.Top - 1 );
255
+ ImageTooltipArrow.DrawableImage.Draw(ButtonR.Left + (EffectiveWidth - ImageTooltipArrow.Width) * CachedUIScale / 2 , R.Top - 1 ,
256
+ ImageTooltipArrow.Width * CachedUIScale,
257
+ ImageTooltipArrow.Height * CachedUIScale);
252
258
end ;
253
259
254
260
{ TNavigationUi -------------------------------------------------------------- }
0 commit comments