From 39de24984ccfe8c39793f002502134cc752a4adb Mon Sep 17 00:00:00 2001 From: Erick Date: Wed, 29 Nov 2023 12:56:32 -0300 Subject: [PATCH] feat: Using viewport scale on debug mode text paint --- .../flame/lib/src/components/core/component.dart | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/flame/lib/src/components/core/component.dart b/packages/flame/lib/src/components/core/component.dart index 0a2e0ae73b9..0ca23bdc033 100644 --- a/packages/flame/lib/src/components/core/component.dart +++ b/packages/flame/lib/src/components/core/component.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:math' as math; import 'package:collection/collection.dart'; import 'package:flame/components.dart'; @@ -974,10 +975,21 @@ class Component { /// Returns a [TextPaint] object with the [debugColor] set as color for the /// text. TextPaint get debugTextPaint { - final zoom = CameraComponent.currentCamera?.viewfinder.zoom ?? 1.0; + final viewfinder = CameraComponent.currentCamera?.viewfinder; + final viewport = CameraComponent.currentCamera?.viewport; + final zoom = viewfinder?.zoom ?? 1.0; + + final viewportScale = math.max( + viewport?.transform.scale.x ?? 1, + viewport?.transform.scale.y ?? 1, + ); + if (!_debugTextPaintCache.isCacheValid([debugColor])) { final textPaint = TextPaint( - style: TextStyle(color: debugColor, fontSize: 12 / zoom), + style: TextStyle( + color: debugColor, + fontSize: 12 / zoom / viewportScale, + ), ); _debugTextPaintCache.updateCache(textPaint, [debugColor]); }