Files
flame/examples/lib/stories/rendering/rich_text_example.dart
Luan Nico 71f7b475e3 refactor: Mark semantically final variables as final (or const) proper [DCM] (#2783)
I was playing around with the rule avoid-global-state
While I don't think we should enable it, because we do have several totally legitimate cases of what the rule considers global state, it did help me find any current cases where the things just should be final constants.
So this PR will mark semantically final variables as final (or const) proper, exclusively on examples (no violations on actual src code are legit).
2023-10-02 09:45:42 +02:00

72 lines
2.5 KiB
Dart

import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flame/text.dart';
import 'package:flutter/painting.dart';
class RichTextExample extends FlameGame {
static const String description =
'A non-interactive example of how to render rich text in Flame.';
@override
Color backgroundColor() => const Color(0xFF888888);
@override
Future<void> onLoad() async {
final style = DocumentStyle(
width: 400,
height: 200,
padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 14),
background: BackgroundStyle(
color: const Color(0xFF4E322E),
borderColor: const Color(0xFF000000),
borderWidth: 2.0,
),
paragraph: BlockStyle(
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16),
background: BackgroundStyle(
color: const Color(0xFF004D40),
borderColor: const Color(0xFFAAAAAA),
),
),
);
final document = DocumentRoot([
HeaderNode.simple('1984', level: 1),
ParagraphNode.simple(
'Anything could be true. The so-called laws of nature were nonsense.',
),
ParagraphNode.simple(
'The law of gravity was nonsense. "If I wished," O\'Brien had said, '
'"I could float off this floor like a soap bubble." Winston worked it '
'out. "If he thinks he floats off the floor, and I simultaneously '
'think I can see him do it, then the thing happens."',
),
ParagraphNode.group([
PlainTextNode(
'Suddenly, like a lump of submerged wreckage breaking the surface '
'of water, the thought burst into his mind: '),
ItalicTextNode.group([
PlainTextNode('"It doesn\'t really happen. We imagine it. It is '),
BoldTextNode.simple('hallucination'),
PlainTextNode('."'),
]),
]),
ParagraphNode.simple(
'He pushed the thought under instantly. The fallacy was obvious. It '
'presupposed that somewhere or other, outside oneself, there was a '
'"real" world where "real" things happened. But how could there be '
'such a world? What knowledge have we of anything, save through our '
'own minds? All happenings are in the mind. Whatever happens in all '
'minds, truly happens.',
),
]);
add(
TextElementComponent.fromDocument(
document: document,
style: style,
position: Vector2(100, 50),
),
);
}
}