DicomShaderPainter class
A performance-critical CustomPainter that offloads medical rendering to the GPU.
DicomShaderPainter acts as the bridge between Flutter's Canvas and the
custom GLSL Fragment Shader. It handles:
- Passing current Window Center/Width to the shader.
- Binding the 16-bit packed texture.
- Passing Hounsfield Unit (HU) transformation constants.
By performing these calculations on the GPU, we ensure clinical precision and smooth 60fps interactivity even on mobile devices.
- Inheritance
-
- Object
- Listenable
- CustomPainter
- DicomShaderPainter
Constructors
- DicomShaderPainter({required DicomFrameResult frameResult, required double windowCenter, required double windowWidth, required FragmentShader shader, required Image rawTexture})
- Creates a DicomShaderPainter.
Properties
- frameResult → DicomFrameResult
-
The processing result containing metadata and pixel data pointers.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- rawTexture → Image
-
The raw 16-bit pixel data packed into an RGBA ui.Image sampler.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- semanticsBuilder → SemanticsBuilderCallback?
-
Returns a function that builds semantic information for the picture drawn
by this painter.
no setterinherited
- shader → FragmentShader
-
The compiled GLSL shader program instance.
final
- windowCenter → double
-
The user-defined or default Window Center for contrast mapping.
final
- windowWidth → double
-
The user-defined or default Window Width for contrast mapping.
final
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be notified when it is time to repaint.
inherited
-
hitTest(
Offset position) → bool? -
Called whenever a hit test is being performed on an object that is using
this custom paint delegate.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
paint(
Canvas canvas, Size size) → void -
Performs the actual drawing operation using the fragment shader.
override
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies when it is time to repaint.
inherited
-
shouldRebuildSemantics(
covariant CustomPainter oldDelegate) → bool -
Called whenever a new instance of the custom painter delegate class is
provided to the RenderCustomPaint object, or any time that a new
CustomPaint object is created with a new instance of the custom painter
delegate class (which amounts to the same thing, because the latter is
implemented in terms of the former).
inherited
-
shouldRepaint(
covariant DicomShaderPainter oldDelegate) → bool -
Determines if the painter needs to rebuild.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited