TWatermark class
A security and confidentiality watermark overlay for admin dashboards, records, and reports.
TWatermark overlays repeated, angled text or custom branding across its child widget.
The overlay is wrapped in IgnorePointer so all child interactions (clicks, text selection,
form inputs, and scrolling) function completely uninterrupted.
Basic Usage
TWatermark(
text: 'CONFIDENTIAL • admin@company.com',
child: MyDashboardView(),
)
Multiline Watermark
TWatermark(
lines: ['ACME CORP INTERNAL', 'John Doe (ID: 9482)', '2026-09-26 12:00 UTC'],
opacity: 0.15,
child: SensitiveDataTable(),
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- TWatermark
- Available extensions
Constructors
Properties
- child → Widget
-
The underlying widget content being protected.
final
- enabled → bool
-
Whether the watermark overlay is currently enabled and visible. Defaults to true.
final
- gapX → double
-
Horizontal spacing between adjacent watermark tile centers. Defaults to 160.0.
final
- gapY → double
-
Vertical spacing between adjacent watermark tile centers. Defaults to 140.0.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
lines
→ List<
String> ? -
Multiple lines of watermark text displayed together in each tile.
final
- opacity → double
-
Opacity multiplier for the watermark overlay. Defaults to 0.12.
final
- rotateAngle → double
-
Diagonal rotation angle in radians. Defaults to -22 degrees (-0.384 rad).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- text → String?
-
Single line watermark text. If lines is provided, this is ignored.
final
- textStyle → TextStyle?
-
Text style for the watermark. If null, a subtle dimmed style is derived from the theme.
final
Methods
-
box(
{double minW = 0.0, double minH = 0.0, double maxW = double.infinity, double maxH = double.infinity}) → Widget -
Available on Widget, provided by the WidgetX extension
Wraps this widget in a ConstrainedBox to apply layout constraints. -
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
center(
{bool when = true}) → Widget -
Available on Widget, provided by the WidgetX extension
Wraps this widget in a Center widget. -
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
expanded(
{int flex = 1}) → Widget -
Available on Widget, provided by the WidgetX extension
Wraps this widget in an Expanded widget. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
padding(
[double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0]) → Widget -
Available on Widget, provided by the WidgetX extension
Wraps this widget in a Padding with flexible edge control. -
paddingSymmetric(
{double h = 0.0, double v = 0.0}) → Widget -
Available on Widget, provided by the WidgetX extension
Wraps this widget in a Padding with symmetric horizontal and vertical spacing. -
size(
{double? w, double? h}) → Widget -
Available on Widget, provided by the WidgetX extension
Wraps this widget in a SizedBox to apply fixed width and/or height. -
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
-
visible(
bool visible, {bool maintainState = false}) → Widget -
Available on Widget, provided by the WidgetX extension
Wraps this widget in a Visibility widget. -
when(
bool condition) → Widget -
Available on Widget, provided by the WidgetX extension
Returns this widget ifconditionis true, otherwise returns SizedBox.shrink(). Usage: Text('Hello').when(isVisible)
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited