Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-01-31 13:10:09 +08:00
parent dbc7bcd0dd
commit 8964197b73
68 changed files with 560 additions and 293 deletions

View File

@@ -85,11 +85,9 @@ class RichTextEditingDeltaInsertion extends TextEditingDeltaInsertion
this.emote,
this.id,
this.rawText,
}) {
this.type =
type ??
(composing.isValid ? RichTextType.composing : RichTextType.text);
}
}) : type =
type ??
(composing.isValid ? RichTextType.composing : RichTextType.text);
@override
late final RichTextType type;
@@ -116,11 +114,9 @@ class RichTextEditingDeltaReplacement extends TextEditingDeltaReplacement
this.emote,
this.id,
this.rawText,
}) {
this.type =
type ??
(composing.isValid ? RichTextType.composing : RichTextType.text);
}
}) : type =
type ??
(composing.isValid ? RichTextType.composing : RichTextType.text);
@override
late final RichTextType type;
@@ -158,9 +154,7 @@ class RichTextItem {
required this.range,
this.emote,
this.id,
}) {
_rawText = rawText;
}
}) : _rawText = rawText;
RichTextItem.fromStart(
this.text, {
@@ -168,10 +162,8 @@ class RichTextItem {
this.type = RichTextType.text,
this.emote,
this.id,
}) {
range = TextRange(start: 0, end: text.length);
_rawText = rawText;
}
}) : range = TextRange(start: 0, end: text.length),
_rawText = rawText;
List<RichTextItem>? onInsert(
TextEditingDeltaInsertion delta,

View File

@@ -20,20 +20,22 @@ import 'package:flutter/gestures.dart' show TapGestureRecognizer;
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart' show BoxHitTestEntry;
@immutable
sealed class BaseSegment {
final double start;
final double end;
BaseSegment({
const BaseSegment({
required this.start,
required this.end,
});
}
@immutable
class Segment extends BaseSegment {
final Color color;
Segment({
const Segment({
required super.start,
required super.end,
required this.color,
@@ -54,13 +56,14 @@ class Segment extends BaseSegment {
int get hashCode => Object.hash(start, end, color);
}
@immutable
class ViewPointSegment extends BaseSegment {
final String? title;
final String? url;
final int? from;
final int? to;
ViewPointSegment({
const ViewPointSegment({
required super.start,
required super.end,
this.title,

View File

@@ -18,7 +18,7 @@ class ScaledWidgetsFlutterBinding extends WidgetsFlutterBinding {
double _scaleFactor;
/// Update scaleFactor callback, then rebuild layout
void setScaleFactor(double scaleFactor) {
set scaleFactor(double scaleFactor) {
if (_scaleFactor == scaleFactor) return;
_scaleFactor = scaleFactor;
handleMetricsChanged();