supportsWireframe property

  1. @override
bool get supportsWireframe
override

Whether PolygonMode.line can be drawn.

False on OpenGL ES, which has no glPolygonMode — wireframe there means drawing line primitives from an index buffer built for the purpose, which is a decision for whoever owns the geometry and not a substitution a backend may make on its own.

Ask before requesting it. A backend that cannot draw it throws an UnsupportedError rather than filling the triangles instead, because a silent substitution here looks exactly like the wireframe setting having no effect. Typed, and not a bare exception, because the caller asking is choosing between two ways of drawing and cannot act on "something went wrong".

Both halves are held by the conformance check wireframe is drawn as edges or refused, never filled, which counts what a triangle painted: a backend answering false must throw, and one answering true must leave the interior alone. It is the one capability here that differs across all three backends, and until that check existed neither answer was tested — a backend that said true and filled the triangles passed the whole suite.

Implementation

@override
bool get supportsWireframe => inner.supportsWireframe;