diff --git a/Makefile b/Makefile index efa159d..68c7570 100644 --- a/Makefile +++ b/Makefile @@ -19,4 +19,7 @@ open-ios: open example/ios/Runner.xcworkspace run-all: - cd example && flutter run -d all \ No newline at end of file + cd example && flutter run -d all + +docs: + flutter pub run dartdoc --output docs/api \ No newline at end of file diff --git a/README.md b/README.md index 6129e9a..c522c2a 100644 --- a/README.md +++ b/README.md @@ -148,4 +148,3 @@ I used this project to test the capabilities of the following technologies: * Handle progress seek * Handle queue * Handle mini-player -* Produce HTML docs diff --git a/docs/api/__404error.html b/docs/api/__404error.html new file mode 100644 index 0000000..b839f22 --- /dev/null +++ b/docs/api/__404error.html @@ -0,0 +1,104 @@ + + + + + + + + + flutter_cast_framework - Dart API docs + + + + + + + + + + + + + + + + + +
+ +
+ + +
flutter_cast_framework
+ +
+ +
+ + +
+

404: Something's gone wrong :-(

+ +
+

You've tried to visit a page that doesn't exist. Luckily this site + has other pages.

+

If you were looking for something specific, try searching: +

+

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/AdBreakClipProgressListener.html b/docs/api/cast/AdBreakClipProgressListener.html new file mode 100644 index 0000000..5a483ba --- /dev/null +++ b/docs/api/cast/AdBreakClipProgressListener.html @@ -0,0 +1,153 @@ + + + + + + + + AdBreakClipProgressListener typedef - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AdBreakClipProgressListener
+ +
+ +
+ + +
+
+

AdBreakClipProgressListener typedef + Null safety + +

+ +
+ AdBreakClipProgressListener = + void Function(String adBreakId, String adBreakClipId, int progressMs, int durationMs, int whenSkippableMs) + +
+ + + + +
+

Implementation

+
typedef AdBreakClipProgressListener = void Function(
+  String adBreakId,
+  String adBreakClipId,
+  int progressMs,
+  int durationMs,
+  int whenSkippableMs,
+);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/AdBreakStatus-class.html b/docs/api/cast/AdBreakStatus-class.html new file mode 100644 index 0000000..de561fc --- /dev/null +++ b/docs/api/cast/AdBreakStatus-class.html @@ -0,0 +1,326 @@ + + + + + + + + AdBreakStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AdBreakStatus
+ +
+ +
+ + +
+
+

AdBreakStatus class + Null safety + +

+ + + + + +
+

Constructors

+ +
+
+ AdBreakStatus() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ adBreakClipId + String? + +
+
+ +
read / write
+ +
+ +
+ adBreakId + String? + +
+
+ +
read / write
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ whenSkippableMs + int? + +
+
+ +
read / write
+ +
+ +
+
+ +
+

Methods

+
+
+ encode() + Object + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(Object message) + AdBreakStatus + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/AdBreakStatus/AdBreakStatus.html b/docs/api/cast/AdBreakStatus/AdBreakStatus.html new file mode 100644 index 0000000..68d7618 --- /dev/null +++ b/docs/api/cast/AdBreakStatus/AdBreakStatus.html @@ -0,0 +1,136 @@ + + + + + + + + AdBreakStatus constructor - AdBreakStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AdBreakStatus
+ +
+ +
+ + +
+
+

AdBreakStatus constructor + Null safety +

+ +
+ AdBreakStatus() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/AdBreakStatus/adBreakClipId.html b/docs/api/cast/AdBreakStatus/adBreakClipId.html new file mode 100644 index 0000000..f9a51f8 --- /dev/null +++ b/docs/api/cast/AdBreakStatus/adBreakClipId.html @@ -0,0 +1,143 @@ + + + + + + + + adBreakClipId property - AdBreakStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
adBreakClipId
+ +
+ +
+ + +
+
+

adBreakClipId property + Null safety +

+ +
+ String? + adBreakClipId +
read / write
+ +
+ + + +
+

Implementation

+
String? adBreakClipId;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/AdBreakStatus/adBreakId.html b/docs/api/cast/AdBreakStatus/adBreakId.html new file mode 100644 index 0000000..292efdf --- /dev/null +++ b/docs/api/cast/AdBreakStatus/adBreakId.html @@ -0,0 +1,143 @@ + + + + + + + + adBreakId property - AdBreakStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
adBreakId
+ +
+ +
+ + +
+
+

adBreakId property + Null safety +

+ +
+ String? + adBreakId +
read / write
+ +
+ + + +
+

Implementation

+
String? adBreakId;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/AdBreakStatus/decode.html b/docs/api/cast/AdBreakStatus/decode.html new file mode 100644 index 0000000..7b0a41e --- /dev/null +++ b/docs/api/cast/AdBreakStatus/decode.html @@ -0,0 +1,152 @@ + + + + + + + + decode method - AdBreakStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
decode
+ +
+ +
+ + +
+
+

decode method + Null safety +

+ +
+ + +AdBreakStatus +decode(
  1. Object message
  2. +
) + + + +
+ + + + +
+

Implementation

+
static AdBreakStatus decode(Object message) {
+  final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
+  return AdBreakStatus()
+    ..adBreakId = pigeonMap['adBreakId'] as String?
+    ..adBreakClipId = pigeonMap['adBreakClipId'] as String?
+    ..whenSkippableMs = pigeonMap['whenSkippableMs'] as int?;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/AdBreakStatus/encode.html b/docs/api/cast/AdBreakStatus/encode.html new file mode 100644 index 0000000..a138dff --- /dev/null +++ b/docs/api/cast/AdBreakStatus/encode.html @@ -0,0 +1,151 @@ + + + + + + + + encode method - AdBreakStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
encode
+ +
+ +
+ + +
+
+

encode method + Null safety +

+ +
+ + +Object +encode() + + + +
+ + + + +
+

Implementation

+
Object encode() {
+  final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
+  pigeonMap['adBreakId'] = adBreakId;
+  pigeonMap['adBreakClipId'] = adBreakClipId;
+  pigeonMap['whenSkippableMs'] = whenSkippableMs;
+  return pigeonMap;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/AdBreakStatus/whenSkippableMs.html b/docs/api/cast/AdBreakStatus/whenSkippableMs.html new file mode 100644 index 0000000..45daa9c --- /dev/null +++ b/docs/api/cast/AdBreakStatus/whenSkippableMs.html @@ -0,0 +1,143 @@ + + + + + + + + whenSkippableMs property - AdBreakStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
whenSkippableMs
+ +
+ +
+ + +
+
+

whenSkippableMs property + Null safety +

+ +
+ int? + whenSkippableMs +
read / write
+ +
+ + + +
+

Implementation

+
int? whenSkippableMs;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastContext-class.html b/docs/api/cast/CastContext-class.html new file mode 100644 index 0000000..1593fc0 --- /dev/null +++ b/docs/api/cast/CastContext-class.html @@ -0,0 +1,311 @@ + + + + + + + + CastContext class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastContext
+ +
+ +
+ + +
+
+

CastContext class + Null safety + +

+ + +
+

Class wrapping the global context fot the Cast SDK

+
+ + + +
+

Constructors

+ +
+
+ CastContext(CastHostApi _hostApi) +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ sessionManager + SessionManager + +
+
+ Returns the SessionManager. +
read-only
+ +
+ +
+ state + ValueListenable<CastState> + +
+
+ Listenable connection state of the cast device +
read-only
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ onCastStateChanged(int castState) + → void + + + +
+
+ Internal method that shouldn't be visible + + +
+ +
+ showCastChooserDialog() + → void + + + +
+
+ Display the native dialog to select the cast device to connect + + +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastContext/CastContext.html b/docs/api/cast/CastContext/CastContext.html new file mode 100644 index 0000000..eead7d7 --- /dev/null +++ b/docs/api/cast/CastContext/CastContext.html @@ -0,0 +1,139 @@ + + + + + + + + CastContext constructor - CastContext class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastContext
+ +
+ +
+ + +
+
+

CastContext constructor + Null safety +

+ +
+ CastContext(
  1. CastHostApi _hostApi
  2. +
) +
+ + + + + +
+

Implementation

+
CastContext(this._hostApi);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastContext/onCastStateChanged.html b/docs/api/cast/CastContext/onCastStateChanged.html new file mode 100644 index 0000000..cfd5593 --- /dev/null +++ b/docs/api/cast/CastContext/onCastStateChanged.html @@ -0,0 +1,155 @@ + + + + + + + + onCastStateChanged method - CastContext class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onCastStateChanged
+ +
+ +
+ + +
+
+

onCastStateChanged method + Null safety +

+ +
+ +
+
    +
  1. @internal
  2. +
+
+ +void +onCastStateChanged(
  1. int castState
  2. +
) + + + +
+ +
+

Internal method that shouldn't be visible

+
+ + + +
+

Implementation

+
@internal
+void onCastStateChanged(int castState) {
+  _stateNotifier.value = CastState.values[castState];
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastContext/sessionManager.html b/docs/api/cast/CastContext/sessionManager.html new file mode 100644 index 0000000..2820d91 --- /dev/null +++ b/docs/api/cast/CastContext/sessionManager.html @@ -0,0 +1,155 @@ + + + + + + + + sessionManager property - CastContext class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
sessionManager
+ +
+ +
+ + +
+
+

sessionManager property + Null safety +

+ + + +
+ +
+ SessionManager + sessionManager + + +
+ + +
+

Returns the SessionManager.

+
+ + +
+

Implementation

+
SessionManager get sessionManager {
+  var result = _sessionManager;
+  if (result == null) {
+    _sessionManager = result = SessionManager(_hostApi);
+  }
+  return result;
+}
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastContext/showCastChooserDialog.html b/docs/api/cast/CastContext/showCastChooserDialog.html new file mode 100644 index 0000000..8e4b60c --- /dev/null +++ b/docs/api/cast/CastContext/showCastChooserDialog.html @@ -0,0 +1,148 @@ + + + + + + + + showCastChooserDialog method - CastContext class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
showCastChooserDialog
+ +
+ +
+ + +
+
+

showCastChooserDialog method + Null safety +

+ +
+ + +void +showCastChooserDialog() + + + +
+ +
+

Display the native dialog to select the cast device to connect

+
+ + + +
+

Implementation

+
void showCastChooserDialog() {
+  _hostApi.showCastDialog();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastContext/state.html b/docs/api/cast/CastContext/state.html new file mode 100644 index 0000000..c8d1a62 --- /dev/null +++ b/docs/api/cast/CastContext/state.html @@ -0,0 +1,149 @@ + + + + + + + + state property - CastContext class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
state
+ +
+ +
+ + +
+
+

state property + Null safety +

+ + + +
+ +
+ ValueListenable<CastState> + state + + +
+ + +
+

Listenable connection state of the cast device

+
+ + +
+

Implementation

+
ValueListenable<CastState> get state => _stateNotifier;
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastDevice-class.html b/docs/api/cast/CastDevice-class.html new file mode 100644 index 0000000..40d5d55 --- /dev/null +++ b/docs/api/cast/CastDevice-class.html @@ -0,0 +1,326 @@ + + + + + + + + CastDevice class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastDevice
+ +
+ +
+ + +
+
+

CastDevice class + Null safety + +

+ + + + + +
+

Constructors

+ +
+
+ CastDevice() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ deviceId + String? + +
+
+ +
read / write
+ +
+ +
+ friendlyName + String? + +
+
+ +
read / write
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ modelName + String? + +
+
+ +
read / write
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ encode() + Object + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(Object message) + CastDevice + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastDevice/CastDevice.html b/docs/api/cast/CastDevice/CastDevice.html new file mode 100644 index 0000000..a03dda2 --- /dev/null +++ b/docs/api/cast/CastDevice/CastDevice.html @@ -0,0 +1,136 @@ + + + + + + + + CastDevice constructor - CastDevice class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastDevice
+ +
+ +
+ + +
+
+

CastDevice constructor + Null safety +

+ +
+ CastDevice() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastDevice/decode.html b/docs/api/cast/CastDevice/decode.html new file mode 100644 index 0000000..13d45b4 --- /dev/null +++ b/docs/api/cast/CastDevice/decode.html @@ -0,0 +1,152 @@ + + + + + + + + decode method - CastDevice class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
decode
+ +
+ +
+ + +
+
+

decode method + Null safety +

+ +
+ + +CastDevice +decode(
  1. Object message
  2. +
) + + + +
+ + + + +
+

Implementation

+
static CastDevice decode(Object message) {
+  final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
+  return CastDevice()
+    ..deviceId = pigeonMap['deviceId'] as String?
+    ..friendlyName = pigeonMap['friendlyName'] as String?
+    ..modelName = pigeonMap['modelName'] as String?;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastDevice/deviceId.html b/docs/api/cast/CastDevice/deviceId.html new file mode 100644 index 0000000..a744fa1 --- /dev/null +++ b/docs/api/cast/CastDevice/deviceId.html @@ -0,0 +1,143 @@ + + + + + + + + deviceId property - CastDevice class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
deviceId
+ +
+ +
+ + +
+
+

deviceId property + Null safety +

+ +
+ String? + deviceId +
read / write
+ +
+ + + +
+

Implementation

+
String? deviceId;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastDevice/encode.html b/docs/api/cast/CastDevice/encode.html new file mode 100644 index 0000000..2c23be9 --- /dev/null +++ b/docs/api/cast/CastDevice/encode.html @@ -0,0 +1,151 @@ + + + + + + + + encode method - CastDevice class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
encode
+ +
+ +
+ + +
+
+

encode method + Null safety +

+ +
+ + +Object +encode() + + + +
+ + + + +
+

Implementation

+
Object encode() {
+  final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
+  pigeonMap['deviceId'] = deviceId;
+  pigeonMap['friendlyName'] = friendlyName;
+  pigeonMap['modelName'] = modelName;
+  return pigeonMap;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastDevice/friendlyName.html b/docs/api/cast/CastDevice/friendlyName.html new file mode 100644 index 0000000..e6144a6 --- /dev/null +++ b/docs/api/cast/CastDevice/friendlyName.html @@ -0,0 +1,143 @@ + + + + + + + + friendlyName property - CastDevice class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
friendlyName
+ +
+ +
+ + +
+
+

friendlyName property + Null safety +

+ +
+ String? + friendlyName +
read / write
+ +
+ + + +
+

Implementation

+
String? friendlyName;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastDevice/modelName.html b/docs/api/cast/CastDevice/modelName.html new file mode 100644 index 0000000..02ce8a4 --- /dev/null +++ b/docs/api/cast/CastDevice/modelName.html @@ -0,0 +1,143 @@ + + + + + + + + modelName property - CastDevice class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
modelName
+ +
+ +
+ + +
+
+

modelName property + Null safety +

+ +
+ String? + modelName +
read / write
+ +
+ + + +
+

Implementation

+
String? modelName;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastMessage-class.html b/docs/api/cast/CastMessage-class.html new file mode 100644 index 0000000..4cc716c --- /dev/null +++ b/docs/api/cast/CastMessage-class.html @@ -0,0 +1,314 @@ + + + + + + + + CastMessage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastMessage
+ +
+ +
+ + +
+
+

CastMessage class + Null safety + +

+ + + + + +
+

Constructors

+ +
+
+ CastMessage() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ message + String? + +
+
+ +
read / write
+ +
+ +
+ namespace + String? + +
+
+ +
read / write
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ encode() + Object + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(Object message) + CastMessage + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastMessage/CastMessage.html b/docs/api/cast/CastMessage/CastMessage.html new file mode 100644 index 0000000..e43a238 --- /dev/null +++ b/docs/api/cast/CastMessage/CastMessage.html @@ -0,0 +1,135 @@ + + + + + + + + CastMessage constructor - CastMessage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastMessage
+ +
+ +
+ + +
+
+

CastMessage constructor + Null safety +

+ +
+ CastMessage() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastMessage/decode.html b/docs/api/cast/CastMessage/decode.html new file mode 100644 index 0000000..ec37c14 --- /dev/null +++ b/docs/api/cast/CastMessage/decode.html @@ -0,0 +1,150 @@ + + + + + + + + decode method - CastMessage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
decode
+ +
+ +
+ + +
+
+

decode method + Null safety +

+ +
+ + +CastMessage +decode(
  1. Object message
  2. +
) + + + +
+ + + + +
+

Implementation

+
static CastMessage decode(Object message) {
+  final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
+  return CastMessage()
+    ..namespace = pigeonMap['namespace'] as String?
+    ..message = pigeonMap['message'] as String?;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastMessage/encode.html b/docs/api/cast/CastMessage/encode.html new file mode 100644 index 0000000..b8665e2 --- /dev/null +++ b/docs/api/cast/CastMessage/encode.html @@ -0,0 +1,149 @@ + + + + + + + + encode method - CastMessage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
encode
+ +
+ +
+ + +
+
+

encode method + Null safety +

+ +
+ + +Object +encode() + + + +
+ + + + +
+

Implementation

+
Object encode() {
+  final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
+  pigeonMap['namespace'] = namespace;
+  pigeonMap['message'] = message;
+  return pigeonMap;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastMessage/message.html b/docs/api/cast/CastMessage/message.html new file mode 100644 index 0000000..8a16cd6 --- /dev/null +++ b/docs/api/cast/CastMessage/message.html @@ -0,0 +1,142 @@ + + + + + + + + message property - CastMessage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
message
+ +
+ +
+ + +
+
+

message property + Null safety +

+ +
+ String? + message +
read / write
+ +
+ + + +
+

Implementation

+
String? message;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastMessage/namespace.html b/docs/api/cast/CastMessage/namespace.html new file mode 100644 index 0000000..d4c2fcc --- /dev/null +++ b/docs/api/cast/CastMessage/namespace.html @@ -0,0 +1,142 @@ + + + + + + + + namespace property - CastMessage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
namespace
+ +
+ +
+ + +
+
+

namespace property + Null safety +

+ +
+ String? + namespace +
read / write
+ +
+ + + +
+

Implementation

+
String? namespace;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastState.html b/docs/api/cast/CastState.html new file mode 100644 index 0000000..13137cd --- /dev/null +++ b/docs/api/cast/CastState.html @@ -0,0 +1,361 @@ + + + + + + + + CastState enum - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastState
+ +
+ +
+ + +
+
+

CastState enum + Null safety + +

+ + +
+

The possible casting states.

+
+ + +
+
+ +
+
+ +
+

Constants

+ +
+
+ connected + → const CastState + + +
+
+

A Cast session is established.

+ + +
+ const CastState(4) +
+
+ +
+ connecting + → const CastState + + +
+
+

A Cast session is being established.

+ + +
+ const CastState(3) +
+
+ +
+ idle + → const CastState + + +
+
+

Cast connection has never been initialized.

+ + +
+ const CastState(0) +
+
+ +
+ unavailable + → const CastState + + +
+
+

No Cast devices are available.

+ + +
+ const CastState(1) +
+
+ +
+ unconnected + → const CastState + + +
+
+

Cast devices are available, but a Cast session is not established.

+ + +
+ const CastState(2) +
+
+ +
+ values + → const List<CastState> + + +
+
+

A constant List of the values in this enum, in order of their declaration.

+ + +
+ const List<CastState> +
+
+ +
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ index + int + +
+
+

The integer index of this enum.

+
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/CastState/toString.html b/docs/api/cast/CastState/toString.html new file mode 100644 index 0000000..04ab146 --- /dev/null +++ b/docs/api/cast/CastState/toString.html @@ -0,0 +1,151 @@ + + + + + + + + toString method - CastState extension - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ + +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string represetion.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/FlutterCastFramework-class.html b/docs/api/cast/FlutterCastFramework-class.html new file mode 100644 index 0000000..6de766d --- /dev/null +++ b/docs/api/cast/FlutterCastFramework-class.html @@ -0,0 +1,272 @@ + + + + + + + + FlutterCastFramework class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
FlutterCastFramework
+ +
+ +
+ + +
+
+

FlutterCastFramework class + Null safety + +

+ + +
+

Entrypoint for the Flutter Cast Framework

+
+ + + +
+

Constructors

+ +
+
+ FlutterCastFramework.create(List<String> namespaces) +
+
+ Create the Flutter Cast Framework. +namespaces is the list of namespaces to listen for custom messages. +
+
+
+ +
+

Properties

+ +
+
+ castContext + CastContext + +
+
+ Get the entrypoint for the Cast SDK. This is immutable and it is expected to never change. +
read-only
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/FlutterCastFramework/FlutterCastFramework.create.html b/docs/api/cast/FlutterCastFramework/FlutterCastFramework.create.html new file mode 100644 index 0000000..e4e563b --- /dev/null +++ b/docs/api/cast/FlutterCastFramework/FlutterCastFramework.create.html @@ -0,0 +1,149 @@ + + + + + + + + FlutterCastFramework.create constructor - FlutterCastFramework class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
FlutterCastFramework.create
+ +
+ +
+ + +
+
+

FlutterCastFramework.create constructor + Null safety +

+ +
+ FlutterCastFramework.create(
  1. List<String> namespaces
  2. +
) +
+ + +
+

Create the Flutter Cast Framework. +namespaces is the list of namespaces to listen for custom messages.

+
+ + + +
+

Implementation

+
FlutterCastFramework.create(List<String> namespaces) {
+  debugPrint("FlutterCastFramework created!");
+  final castContext = CastContext(_hostApi);
+  this._castFlutterApiImplementor = new _CastFlutterApiImplementor(
+    castContext: castContext,
+    namespaces: namespaces,
+  );
+
+  CastFlutterApi.setup(this._castFlutterApiImplementor);
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/FlutterCastFramework/castContext.html b/docs/api/cast/FlutterCastFramework/castContext.html new file mode 100644 index 0000000..7b543c1 --- /dev/null +++ b/docs/api/cast/FlutterCastFramework/castContext.html @@ -0,0 +1,146 @@ + + + + + + + + castContext property - FlutterCastFramework class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
castContext
+ +
+ +
+ + +
+
+

castContext property + Null safety +

+ + + +
+ +
+ CastContext + castContext + + +
+ + +
+

Get the entrypoint for the Cast SDK. This is immutable and it is expected to never change.

+
+ + +
+

Implementation

+
CastContext get castContext => _castFlutterApiImplementor.castContext;
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo-class.html b/docs/api/cast/MediaInfo-class.html new file mode 100644 index 0000000..2c4cbe9 --- /dev/null +++ b/docs/api/cast/MediaInfo-class.html @@ -0,0 +1,374 @@ + + + + + + + + MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaInfo
+ +
+ +
+ + +
+
+

MediaInfo class + Null safety + +

+ + + + + +
+

Constructors

+ +
+
+ MediaInfo() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ contentId + String? + +
+
+ +
read / write
+ +
+ +
+ contentType + String? + +
+
+ +
read / write
+ +
+ +
+ customDataAsJson + String? + +
+
+ +
read / write
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ mediaMetadata + MediaMetadata? + +
+
+ +
read / write
+ +
+ +
+ mediaTracks + List<MediaTrack?>? + +
+
+ +
read / write
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ streamDuration + int? + +
+
+ +
read / write
+ +
+ +
+ streamType + StreamType? + +
+
+ +
read / write
+ +
+ +
+
+ +
+

Methods

+
+
+ encode() + Object + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(Object message) + MediaInfo + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/MediaInfo.html b/docs/api/cast/MediaInfo/MediaInfo.html new file mode 100644 index 0000000..39bacad --- /dev/null +++ b/docs/api/cast/MediaInfo/MediaInfo.html @@ -0,0 +1,140 @@ + + + + + + + + MediaInfo constructor - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaInfo
+ +
+ +
+ + +
+
+

MediaInfo constructor + Null safety +

+ +
+ MediaInfo() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/contentId.html b/docs/api/cast/MediaInfo/contentId.html new file mode 100644 index 0000000..8cb3c8e --- /dev/null +++ b/docs/api/cast/MediaInfo/contentId.html @@ -0,0 +1,147 @@ + + + + + + + + contentId property - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
contentId
+ +
+ +
+ + +
+
+

contentId property + Null safety +

+ +
+ String? + contentId +
read / write
+ +
+ + + +
+

Implementation

+
String? contentId;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/contentType.html b/docs/api/cast/MediaInfo/contentType.html new file mode 100644 index 0000000..bffc323 --- /dev/null +++ b/docs/api/cast/MediaInfo/contentType.html @@ -0,0 +1,147 @@ + + + + + + + + contentType property - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
contentType
+ +
+ +
+ + +
+
+

contentType property + Null safety +

+ +
+ String? + contentType +
read / write
+ +
+ + + +
+

Implementation

+
String? contentType;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/customDataAsJson.html b/docs/api/cast/MediaInfo/customDataAsJson.html new file mode 100644 index 0000000..45d7809 --- /dev/null +++ b/docs/api/cast/MediaInfo/customDataAsJson.html @@ -0,0 +1,147 @@ + + + + + + + + customDataAsJson property - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
customDataAsJson
+ +
+ +
+ + +
+
+

customDataAsJson property + Null safety +

+ +
+ String? + customDataAsJson +
read / write
+ +
+ + + +
+

Implementation

+
String? customDataAsJson;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/decode.html b/docs/api/cast/MediaInfo/decode.html new file mode 100644 index 0000000..d0386af --- /dev/null +++ b/docs/api/cast/MediaInfo/decode.html @@ -0,0 +1,164 @@ + + + + + + + + decode method - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
decode
+ +
+ +
+ + +
+
+

decode method + Null safety +

+ +
+ + +MediaInfo +decode(
  1. Object message
  2. +
) + + + +
+ + + + +
+

Implementation

+
static MediaInfo decode(Object message) {
+  final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
+  return MediaInfo()
+    ..contentId = pigeonMap['contentId'] as String?
+    ..streamType = pigeonMap['streamType'] != null
+        ? StreamType.values[pigeonMap['streamType']! as int]
+        : null
+    ..contentType = pigeonMap['contentType'] as String?
+    ..mediaMetadata = pigeonMap['mediaMetadata'] != null
+        ? MediaMetadata.decode(pigeonMap['mediaMetadata']!)
+        : null
+    ..mediaTracks = (pigeonMap['mediaTracks'] as List<Object?>?)?.cast<MediaTrack?>()
+    ..streamDuration = pigeonMap['streamDuration'] as int?
+    ..customDataAsJson = pigeonMap['customDataAsJson'] as String?;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/encode.html b/docs/api/cast/MediaInfo/encode.html new file mode 100644 index 0000000..e54665b --- /dev/null +++ b/docs/api/cast/MediaInfo/encode.html @@ -0,0 +1,159 @@ + + + + + + + + encode method - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
encode
+ +
+ +
+ + +
+
+

encode method + Null safety +

+ +
+ + +Object +encode() + + + +
+ + + + +
+

Implementation

+
Object encode() {
+  final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
+  pigeonMap['contentId'] = contentId;
+  pigeonMap['streamType'] = streamType == null ? null : streamType!.index;
+  pigeonMap['contentType'] = contentType;
+  pigeonMap['mediaMetadata'] = mediaMetadata == null ? null : mediaMetadata!.encode();
+  pigeonMap['mediaTracks'] = mediaTracks;
+  pigeonMap['streamDuration'] = streamDuration;
+  pigeonMap['customDataAsJson'] = customDataAsJson;
+  return pigeonMap;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/mediaMetadata.html b/docs/api/cast/MediaInfo/mediaMetadata.html new file mode 100644 index 0000000..459da08 --- /dev/null +++ b/docs/api/cast/MediaInfo/mediaMetadata.html @@ -0,0 +1,147 @@ + + + + + + + + mediaMetadata property - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
mediaMetadata
+ +
+ +
+ + +
+
+

mediaMetadata property + Null safety +

+ +
+ MediaMetadata? + mediaMetadata +
read / write
+ +
+ + + +
+

Implementation

+
MediaMetadata? mediaMetadata;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/mediaTracks.html b/docs/api/cast/MediaInfo/mediaTracks.html new file mode 100644 index 0000000..6ca381f --- /dev/null +++ b/docs/api/cast/MediaInfo/mediaTracks.html @@ -0,0 +1,147 @@ + + + + + + + + mediaTracks property - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
mediaTracks
+ +
+ +
+ + +
+
+

mediaTracks property + Null safety +

+ +
+ List<MediaTrack?>? + mediaTracks +
read / write
+ +
+ + + +
+

Implementation

+
List<MediaTrack?>? mediaTracks;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/streamDuration.html b/docs/api/cast/MediaInfo/streamDuration.html new file mode 100644 index 0000000..da3ace2 --- /dev/null +++ b/docs/api/cast/MediaInfo/streamDuration.html @@ -0,0 +1,147 @@ + + + + + + + + streamDuration property - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
streamDuration
+ +
+ +
+ + +
+
+

streamDuration property + Null safety +

+ +
+ int? + streamDuration +
read / write
+ +
+ + + +
+

Implementation

+
int? streamDuration;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaInfo/streamType.html b/docs/api/cast/MediaInfo/streamType.html new file mode 100644 index 0000000..085db94 --- /dev/null +++ b/docs/api/cast/MediaInfo/streamType.html @@ -0,0 +1,147 @@ + + + + + + + + streamType property - MediaInfo class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
streamType
+ +
+ +
+ + +
+
+

streamType property + Null safety +

+ +
+ StreamType? + streamType +
read / write
+ +
+ + + +
+

Implementation

+
StreamType? streamType;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaLoadRequestData-class.html b/docs/api/cast/MediaLoadRequestData-class.html new file mode 100644 index 0000000..a518c40 --- /dev/null +++ b/docs/api/cast/MediaLoadRequestData-class.html @@ -0,0 +1,326 @@ + + + + + + + + MediaLoadRequestData class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaLoadRequestData
+ +
+ +
+ + +
+
+

MediaLoadRequestData class + Null safety + +

+ + + + + +
+

Constructors

+ +
+
+ MediaLoadRequestData() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ currentTime + int? + +
+
+ +
read / write
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ mediaInfo + MediaInfo? + +
+
+ +
read / write
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ shouldAutoplay + bool? + +
+
+ +
read / write
+ +
+ +
+
+ +
+

Methods

+
+
+ encode() + Object + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(Object message) + MediaLoadRequestData + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaLoadRequestData/MediaLoadRequestData.html b/docs/api/cast/MediaLoadRequestData/MediaLoadRequestData.html new file mode 100644 index 0000000..2015514 --- /dev/null +++ b/docs/api/cast/MediaLoadRequestData/MediaLoadRequestData.html @@ -0,0 +1,136 @@ + + + + + + + + MediaLoadRequestData constructor - MediaLoadRequestData class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaLoadRequestData
+ +
+ +
+ + +
+
+

MediaLoadRequestData constructor + Null safety +

+ +
+ MediaLoadRequestData() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaLoadRequestData/currentTime.html b/docs/api/cast/MediaLoadRequestData/currentTime.html new file mode 100644 index 0000000..a3c547a --- /dev/null +++ b/docs/api/cast/MediaLoadRequestData/currentTime.html @@ -0,0 +1,143 @@ + + + + + + + + currentTime property - MediaLoadRequestData class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
currentTime
+ +
+ +
+ + +
+
+

currentTime property + Null safety +

+ +
+ int? + currentTime +
read / write
+ +
+ + + +
+

Implementation

+
int? currentTime;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaLoadRequestData/decode.html b/docs/api/cast/MediaLoadRequestData/decode.html new file mode 100644 index 0000000..f8756fd --- /dev/null +++ b/docs/api/cast/MediaLoadRequestData/decode.html @@ -0,0 +1,154 @@ + + + + + + + + decode method - MediaLoadRequestData class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
decode
+ +
+ +
+ + +
+
+

decode method + Null safety +

+ +
+ + +MediaLoadRequestData +decode(
  1. Object message
  2. +
) + + + +
+ + + + +
+

Implementation

+
static MediaLoadRequestData decode(Object message) {
+  final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
+  return MediaLoadRequestData()
+    ..shouldAutoplay = pigeonMap['shouldAutoplay'] as bool?
+    ..currentTime = pigeonMap['currentTime'] as int?
+    ..mediaInfo = pigeonMap['mediaInfo'] != null
+        ? MediaInfo.decode(pigeonMap['mediaInfo']!)
+        : null;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaLoadRequestData/encode.html b/docs/api/cast/MediaLoadRequestData/encode.html new file mode 100644 index 0000000..38f0457 --- /dev/null +++ b/docs/api/cast/MediaLoadRequestData/encode.html @@ -0,0 +1,151 @@ + + + + + + + + encode method - MediaLoadRequestData class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
encode
+ +
+ +
+ + +
+
+

encode method + Null safety +

+ +
+ + +Object +encode() + + + +
+ + + + +
+

Implementation

+
Object encode() {
+  final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
+  pigeonMap['shouldAutoplay'] = shouldAutoplay;
+  pigeonMap['currentTime'] = currentTime;
+  pigeonMap['mediaInfo'] = mediaInfo == null ? null : mediaInfo!.encode();
+  return pigeonMap;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaLoadRequestData/mediaInfo.html b/docs/api/cast/MediaLoadRequestData/mediaInfo.html new file mode 100644 index 0000000..d57dab4 --- /dev/null +++ b/docs/api/cast/MediaLoadRequestData/mediaInfo.html @@ -0,0 +1,143 @@ + + + + + + + + mediaInfo property - MediaLoadRequestData class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
mediaInfo
+ +
+ +
+ + +
+
+

mediaInfo property + Null safety +

+ +
+ MediaInfo? + mediaInfo +
read / write
+ +
+ + + +
+

Implementation

+
MediaInfo? mediaInfo;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaLoadRequestData/shouldAutoplay.html b/docs/api/cast/MediaLoadRequestData/shouldAutoplay.html new file mode 100644 index 0000000..50ece35 --- /dev/null +++ b/docs/api/cast/MediaLoadRequestData/shouldAutoplay.html @@ -0,0 +1,143 @@ + + + + + + + + shouldAutoplay property - MediaLoadRequestData class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
shouldAutoplay
+ +
+ +
+ + +
+
+

shouldAutoplay property + Null safety +

+ +
+ bool? + shouldAutoplay +
read / write
+ +
+ + + +
+

Implementation

+
bool? shouldAutoplay;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaMetadata-class.html b/docs/api/cast/MediaMetadata-class.html new file mode 100644 index 0000000..210c240 --- /dev/null +++ b/docs/api/cast/MediaMetadata-class.html @@ -0,0 +1,314 @@ + + + + + + + + MediaMetadata class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaMetadata
+ +
+ +
+ + +
+
+

MediaMetadata class + Null safety + +

+ + + + + +
+

Constructors

+ +
+
+ MediaMetadata() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ mediaType + MediaType? + +
+
+ +
read / write
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ webImages + List<WebImage?>? + +
+
+ +
read / write
+ +
+ +
+
+ +
+

Methods

+
+
+ encode() + Object + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(Object message) + MediaMetadata + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaMetadata/MediaMetadata.html b/docs/api/cast/MediaMetadata/MediaMetadata.html new file mode 100644 index 0000000..8456c85 --- /dev/null +++ b/docs/api/cast/MediaMetadata/MediaMetadata.html @@ -0,0 +1,135 @@ + + + + + + + + MediaMetadata constructor - MediaMetadata class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaMetadata
+ +
+ +
+ + +
+
+

MediaMetadata constructor + Null safety +

+ +
+ MediaMetadata() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaMetadata/decode.html b/docs/api/cast/MediaMetadata/decode.html new file mode 100644 index 0000000..a157544 --- /dev/null +++ b/docs/api/cast/MediaMetadata/decode.html @@ -0,0 +1,152 @@ + + + + + + + + decode method - MediaMetadata class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
decode
+ +
+ +
+ + +
+
+

decode method + Null safety +

+ +
+ + +MediaMetadata +decode(
  1. Object message
  2. +
) + + + +
+ + + + +
+

Implementation

+
static MediaMetadata decode(Object message) {
+  final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
+  return MediaMetadata()
+    ..mediaType = pigeonMap['mediaType'] != null
+        ? MediaType.values[pigeonMap['mediaType']! as int]
+        : null
+    ..webImages = (pigeonMap['webImages'] as List<Object?>?)?.cast<WebImage?>();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaMetadata/encode.html b/docs/api/cast/MediaMetadata/encode.html new file mode 100644 index 0000000..a5212ef --- /dev/null +++ b/docs/api/cast/MediaMetadata/encode.html @@ -0,0 +1,149 @@ + + + + + + + + encode method - MediaMetadata class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
encode
+ +
+ +
+ + +
+
+

encode method + Null safety +

+ +
+ + +Object +encode() + + + +
+ + + + +
+

Implementation

+
Object encode() {
+  final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
+  pigeonMap['mediaType'] = mediaType == null ? null : mediaType!.index;
+  pigeonMap['webImages'] = webImages;
+  return pigeonMap;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaMetadata/mediaType.html b/docs/api/cast/MediaMetadata/mediaType.html new file mode 100644 index 0000000..8bdfa14 --- /dev/null +++ b/docs/api/cast/MediaMetadata/mediaType.html @@ -0,0 +1,142 @@ + + + + + + + + mediaType property - MediaMetadata class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
mediaType
+ +
+ +
+ + +
+
+

mediaType property + Null safety +

+ +
+ MediaType? + mediaType +
read / write
+ +
+ + + +
+

Implementation

+
MediaType? mediaType;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaMetadata/webImages.html b/docs/api/cast/MediaMetadata/webImages.html new file mode 100644 index 0000000..36b9dc5 --- /dev/null +++ b/docs/api/cast/MediaMetadata/webImages.html @@ -0,0 +1,142 @@ + + + + + + + + webImages property - MediaMetadata class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
webImages
+ +
+ +
+ + +
+
+

webImages property + Null safety +

+ +
+ List<WebImage?>? + webImages +
read / write
+ +
+ + + +
+

Implementation

+
List<WebImage?>? webImages;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaStatus-class.html b/docs/api/cast/MediaStatus-class.html new file mode 100644 index 0000000..01026c1 --- /dev/null +++ b/docs/api/cast/MediaStatus-class.html @@ -0,0 +1,338 @@ + + + + + + + + MediaStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaStatus
+ +
+ +
+ + +
+
+

MediaStatus class + Null safety + +

+ + + + + +
+

Constructors

+ +
+
+ MediaStatus() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ adBreakStatus + AdBreakStatus? + +
+
+ +
read / write
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ isPlayingAd + bool? + +
+
+ +
read / write
+ +
+ +
+ mediaInfo + MediaInfo? + +
+
+ +
read / write
+ +
+ +
+ playerState + PlayerState? + +
+
+ +
read / write
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ encode() + Object + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(Object message) + MediaStatus + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaStatus/MediaStatus.html b/docs/api/cast/MediaStatus/MediaStatus.html new file mode 100644 index 0000000..71922fc --- /dev/null +++ b/docs/api/cast/MediaStatus/MediaStatus.html @@ -0,0 +1,137 @@ + + + + + + + + MediaStatus constructor - MediaStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaStatus
+ +
+ +
+ + +
+
+

MediaStatus constructor + Null safety +

+ +
+ MediaStatus() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaStatus/adBreakStatus.html b/docs/api/cast/MediaStatus/adBreakStatus.html new file mode 100644 index 0000000..26a52ef --- /dev/null +++ b/docs/api/cast/MediaStatus/adBreakStatus.html @@ -0,0 +1,144 @@ + + + + + + + + adBreakStatus property - MediaStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
adBreakStatus
+ +
+ +
+ + +
+
+

adBreakStatus property + Null safety +

+ +
+ AdBreakStatus? + adBreakStatus +
read / write
+ +
+ + + +
+

Implementation

+
AdBreakStatus? adBreakStatus;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaStatus/decode.html b/docs/api/cast/MediaStatus/decode.html new file mode 100644 index 0000000..60e835e --- /dev/null +++ b/docs/api/cast/MediaStatus/decode.html @@ -0,0 +1,160 @@ + + + + + + + + decode method - MediaStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
decode
+ +
+ +
+ + +
+
+

decode method + Null safety +

+ +
+ + +MediaStatus +decode(
  1. Object message
  2. +
) + + + +
+ + + + +
+

Implementation

+
static MediaStatus decode(Object message) {
+  final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
+  return MediaStatus()
+    ..playerState = pigeonMap['playerState'] != null
+        ? PlayerState.values[pigeonMap['playerState']! as int]
+        : null
+    ..isPlayingAd = pigeonMap['isPlayingAd'] as bool?
+    ..mediaInfo = pigeonMap['mediaInfo'] != null
+        ? MediaInfo.decode(pigeonMap['mediaInfo']!)
+        : null
+    ..adBreakStatus = pigeonMap['adBreakStatus'] != null
+        ? AdBreakStatus.decode(pigeonMap['adBreakStatus']!)
+        : null;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaStatus/encode.html b/docs/api/cast/MediaStatus/encode.html new file mode 100644 index 0000000..287d3db --- /dev/null +++ b/docs/api/cast/MediaStatus/encode.html @@ -0,0 +1,153 @@ + + + + + + + + encode method - MediaStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
encode
+ +
+ +
+ + +
+
+

encode method + Null safety +

+ +
+ + +Object +encode() + + + +
+ + + + +
+

Implementation

+
Object encode() {
+  final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
+  pigeonMap['playerState'] = playerState == null ? null : playerState!.index;
+  pigeonMap['isPlayingAd'] = isPlayingAd;
+  pigeonMap['mediaInfo'] = mediaInfo == null ? null : mediaInfo!.encode();
+  pigeonMap['adBreakStatus'] = adBreakStatus == null ? null : adBreakStatus!.encode();
+  return pigeonMap;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaStatus/isPlayingAd.html b/docs/api/cast/MediaStatus/isPlayingAd.html new file mode 100644 index 0000000..49f71e6 --- /dev/null +++ b/docs/api/cast/MediaStatus/isPlayingAd.html @@ -0,0 +1,144 @@ + + + + + + + + isPlayingAd property - MediaStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
isPlayingAd
+ +
+ +
+ + +
+
+

isPlayingAd property + Null safety +

+ +
+ bool? + isPlayingAd +
read / write
+ +
+ + + +
+

Implementation

+
bool? isPlayingAd;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaStatus/mediaInfo.html b/docs/api/cast/MediaStatus/mediaInfo.html new file mode 100644 index 0000000..11b684e --- /dev/null +++ b/docs/api/cast/MediaStatus/mediaInfo.html @@ -0,0 +1,144 @@ + + + + + + + + mediaInfo property - MediaStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
mediaInfo
+ +
+ +
+ + +
+
+

mediaInfo property + Null safety +

+ +
+ MediaInfo? + mediaInfo +
read / write
+ +
+ + + +
+

Implementation

+
MediaInfo? mediaInfo;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaStatus/playerState.html b/docs/api/cast/MediaStatus/playerState.html new file mode 100644 index 0000000..4ac8d7e --- /dev/null +++ b/docs/api/cast/MediaStatus/playerState.html @@ -0,0 +1,144 @@ + + + + + + + + playerState property - MediaStatus class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
playerState
+ +
+ +
+ + +
+
+

playerState property + Null safety +

+ +
+ PlayerState? + playerState +
read / write
+ +
+ + + +
+

Implementation

+
PlayerState? playerState;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack-class.html b/docs/api/cast/MediaTrack-class.html new file mode 100644 index 0000000..b4fabbb --- /dev/null +++ b/docs/api/cast/MediaTrack-class.html @@ -0,0 +1,362 @@ + + + + + + + + MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaTrack
+ +
+ +
+ + +
+
+

MediaTrack class + Null safety + +

+ + + + + +
+

Constructors

+ +
+
+ MediaTrack() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ contentId + String? + +
+
+ +
read / write
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ id + int? + +
+
+ +
read / write
+ +
+ +
+ language + String? + +
+
+ +
read / write
+ +
+ +
+ name + String? + +
+
+ +
read / write
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ trackSubtype + TrackSubtype? + +
+
+ +
read / write
+ +
+ +
+ trackType + TrackType? + +
+
+ +
read / write
+ +
+ +
+
+ +
+

Methods

+
+
+ encode() + Object + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(Object message) + MediaTrack + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack/MediaTrack.html b/docs/api/cast/MediaTrack/MediaTrack.html new file mode 100644 index 0000000..90159d8 --- /dev/null +++ b/docs/api/cast/MediaTrack/MediaTrack.html @@ -0,0 +1,139 @@ + + + + + + + + MediaTrack constructor - MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaTrack
+ +
+ +
+ + +
+
+

MediaTrack constructor + Null safety +

+ +
+ MediaTrack() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack/contentId.html b/docs/api/cast/MediaTrack/contentId.html new file mode 100644 index 0000000..54203e9 --- /dev/null +++ b/docs/api/cast/MediaTrack/contentId.html @@ -0,0 +1,146 @@ + + + + + + + + contentId property - MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
contentId
+ +
+ +
+ + +
+
+

contentId property + Null safety +

+ +
+ String? + contentId +
read / write
+ +
+ + + +
+

Implementation

+
String? contentId;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack/decode.html b/docs/api/cast/MediaTrack/decode.html new file mode 100644 index 0000000..cdc901c --- /dev/null +++ b/docs/api/cast/MediaTrack/decode.html @@ -0,0 +1,162 @@ + + + + + + + + decode method - MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
decode
+ +
+ +
+ + +
+
+

decode method + Null safety +

+ +
+ + +MediaTrack +decode(
  1. Object message
  2. +
) + + + +
+ + + + +
+

Implementation

+
static MediaTrack decode(Object message) {
+  final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
+  return MediaTrack()
+    ..id = pigeonMap['id'] as int?
+    ..trackType = pigeonMap['trackType'] != null
+        ? TrackType.values[pigeonMap['trackType']! as int]
+        : null
+    ..name = pigeonMap['name'] as String?
+    ..trackSubtype = pigeonMap['trackSubtype'] != null
+        ? TrackSubtype.values[pigeonMap['trackSubtype']! as int]
+        : null
+    ..contentId = pigeonMap['contentId'] as String?
+    ..language = pigeonMap['language'] as String?;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack/encode.html b/docs/api/cast/MediaTrack/encode.html new file mode 100644 index 0000000..3040f86 --- /dev/null +++ b/docs/api/cast/MediaTrack/encode.html @@ -0,0 +1,157 @@ + + + + + + + + encode method - MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
encode
+ +
+ +
+ + +
+
+

encode method + Null safety +

+ +
+ + +Object +encode() + + + +
+ + + + +
+

Implementation

+
Object encode() {
+  final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
+  pigeonMap['id'] = id;
+  pigeonMap['trackType'] = trackType == null ? null : trackType!.index;
+  pigeonMap['name'] = name;
+  pigeonMap['trackSubtype'] = trackSubtype == null ? null : trackSubtype!.index;
+  pigeonMap['contentId'] = contentId;
+  pigeonMap['language'] = language;
+  return pigeonMap;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack/id.html b/docs/api/cast/MediaTrack/id.html new file mode 100644 index 0000000..e80d11d --- /dev/null +++ b/docs/api/cast/MediaTrack/id.html @@ -0,0 +1,146 @@ + + + + + + + + id property - MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
id
+ +
+ +
+ + +
+
+

id property + Null safety +

+ +
+ int? + id +
read / write
+ +
+ + + +
+

Implementation

+
int? id;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack/language.html b/docs/api/cast/MediaTrack/language.html new file mode 100644 index 0000000..a8b481b --- /dev/null +++ b/docs/api/cast/MediaTrack/language.html @@ -0,0 +1,146 @@ + + + + + + + + language property - MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
language
+ +
+ +
+ + +
+
+

language property + Null safety +

+ +
+ String? + language +
read / write
+ +
+ + + +
+

Implementation

+
String? language;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack/name.html b/docs/api/cast/MediaTrack/name.html new file mode 100644 index 0000000..cf8aa55 --- /dev/null +++ b/docs/api/cast/MediaTrack/name.html @@ -0,0 +1,146 @@ + + + + + + + + name property - MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
name
+ +
+ +
+ + +
+
+

name property + Null safety +

+ +
+ String? + name +
read / write
+ +
+ + + +
+

Implementation

+
String? name;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack/trackSubtype.html b/docs/api/cast/MediaTrack/trackSubtype.html new file mode 100644 index 0000000..56e822f --- /dev/null +++ b/docs/api/cast/MediaTrack/trackSubtype.html @@ -0,0 +1,146 @@ + + + + + + + + trackSubtype property - MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
trackSubtype
+ +
+ +
+ + +
+
+

trackSubtype property + Null safety +

+ +
+ TrackSubtype? + trackSubtype +
read / write
+ +
+ + + +
+

Implementation

+
TrackSubtype? trackSubtype;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaTrack/trackType.html b/docs/api/cast/MediaTrack/trackType.html new file mode 100644 index 0000000..72dc1b4 --- /dev/null +++ b/docs/api/cast/MediaTrack/trackType.html @@ -0,0 +1,146 @@ + + + + + + + + trackType property - MediaTrack class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
trackType
+ +
+ +
+ + +
+
+

trackType property + Null safety +

+ +
+ TrackType? + trackType +
read / write
+ +
+ + + +
+

Implementation

+
TrackType? trackType;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaType.html b/docs/api/cast/MediaType.html new file mode 100644 index 0000000..5dbedbf --- /dev/null +++ b/docs/api/cast/MediaType.html @@ -0,0 +1,390 @@ + + + + + + + + MediaType enum - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MediaType
+ +
+ +
+ + +
+
+

MediaType enum + Null safety + +

+ + + + +
+
+ +
+
+ +
+

Constants

+ +
+
+ audiobookChapter + → const MediaType + + +
+
+ + + +
+ const MediaType(5) +
+
+ +
+ generic + → const MediaType + + +
+
+ + + +
+ const MediaType(0) +
+
+ +
+ movie + → const MediaType + + +
+
+ + + +
+ const MediaType(1) +
+
+ +
+ musicTrack + → const MediaType + + +
+
+ + + +
+ const MediaType(3) +
+
+ +
+ photo + → const MediaType + + +
+
+ + + +
+ const MediaType(4) +
+
+ +
+ tvShow + → const MediaType + + +
+
+ + + +
+ const MediaType(2) +
+
+ +
+ user + → const MediaType + + +
+
+ + + +
+ const MediaType(6) +
+
+ +
+ values + → const List<MediaType> + + +
+
+

A constant List of the values in this enum, in order of their declaration.

+ + +
+ const List<MediaType> +
+
+ +
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ index + int + +
+
+

The integer index of this enum.

+
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MediaType/toString.html b/docs/api/cast/MediaType/toString.html new file mode 100644 index 0000000..79acc50 --- /dev/null +++ b/docs/api/cast/MediaType/toString.html @@ -0,0 +1,153 @@ + + + + + + + + toString method - MediaType extension - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ + +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string represetion.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/MessageReceivedCallback.html b/docs/api/cast/MessageReceivedCallback.html new file mode 100644 index 0000000..4ad4c19 --- /dev/null +++ b/docs/api/cast/MessageReceivedCallback.html @@ -0,0 +1,148 @@ + + + + + + + + MessageReceivedCallback typedef - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MessageReceivedCallback
+ +
+ +
+ + +
+
+

MessageReceivedCallback typedef + Null safety + +

+ +
+ MessageReceivedCallback = + void Function(String namespace, String message) + +
+ + + + +
+

Implementation

+
typedef MessageReceivedCallback = void Function(
+    String namespace, String message);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/PlayerState.html b/docs/api/cast/PlayerState.html new file mode 100644 index 0000000..ed39500 --- /dev/null +++ b/docs/api/cast/PlayerState.html @@ -0,0 +1,374 @@ + + + + + + + + PlayerState enum - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
PlayerState
+ +
+ +
+ + +
+
+

PlayerState enum + Null safety + +

+ + + + +
+
+ +
+
+ +
+

Constants

+ +
+
+ buffering + → const PlayerState + + +
+
+ + + +
+ const PlayerState(4) +
+
+ +
+ idle + → const PlayerState + + +
+
+ + + +
+ const PlayerState(1) +
+
+ +
+ loading + → const PlayerState + + +
+
+ + + +
+ const PlayerState(5) +
+
+ +
+ paused + → const PlayerState + + +
+
+ + + +
+ const PlayerState(3) +
+
+ +
+ playing + → const PlayerState + + +
+
+ + + +
+ const PlayerState(2) +
+
+ +
+ unknown + → const PlayerState + + +
+
+ + + +
+ const PlayerState(0) +
+
+ +
+ values + → const List<PlayerState> + + +
+
+

A constant List of the values in this enum, in order of their declaration.

+ + +
+ const List<PlayerState> +
+
+ +
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ index + int + +
+
+

The integer index of this enum.

+
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/PlayerState/toString.html b/docs/api/cast/PlayerState/toString.html new file mode 100644 index 0000000..c1df3b6 --- /dev/null +++ b/docs/api/cast/PlayerState/toString.html @@ -0,0 +1,152 @@ + + + + + + + + toString method - PlayerState extension - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ + +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string represetion.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/ProgressListener.html b/docs/api/cast/ProgressListener.html new file mode 100644 index 0000000..7aba87f --- /dev/null +++ b/docs/api/cast/ProgressListener.html @@ -0,0 +1,147 @@ + + + + + + + + ProgressListener typedef - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ProgressListener
+ +
+ +
+ + +
+
+

ProgressListener typedef + Null safety + +

+ +
+ ProgressListener = + void Function(int progressMs, int durationMs) + +
+ + + + +
+

Implementation

+
typedef ProgressListener = void Function(int progressMs, int durationMs);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient-class.html b/docs/api/cast/RemoteMediaClient-class.html new file mode 100644 index 0000000..b9ac993 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient-class.html @@ -0,0 +1,480 @@ + + + + + + + + RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
RemoteMediaClient
+ +
+ +
+ + +
+
+

RemoteMediaClient class + Null safety + +

+ + +
+

Class for controlling a media player application running on a receiver.

+
+ + + +
+

Constructors

+ +
+
+ RemoteMediaClient(CastHostApi _hostApi) +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ onAdBreakClipProgressUpdated + AdBreakClipProgressListener? + +
+
+ Callback to get updates on the progess of the currently playing ad break clip +
read / write
+ +
+ +
+ onAdBreakStatusUpdated + VoidCallback? + +
+
+ Called when updated ad break status information is received. +
read / write
+ +
+ +
+ onMediaError + VoidCallback? + +
+
+ Called when receiving media error message. +
read / write
+ +
+ +
+ onMetadataUpdated + VoidCallback? + +
+
+ Called when updated media metadata is received. +
read / write
+ +
+ +
+ onPreloadStatusUpdated + VoidCallback? + +
+
+ Called when updated player queue preload status information is received, +for example, the next item to play has been preloaded. +
read / write
+ +
+ +
+ onProgressUpdated + ProgressListener? + +
+
+ Callback to get updates on the progress of the currently playing media. +
read / write
+ +
+ +
+ onQueueStatusUpdated + VoidCallback? + +
+
+ Called when updated player queue status information is received. +
read / write
+ +
+ +
+ onSendingRemoteMediaRequest + VoidCallback? + +
+
+ Called when there is an outgoing request to the receiver. +
read / write
+ +
+ +
+ playerState + ValueListenable<PlayerState> + +
+
+ Listenable state of the remote media player +
read-only
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ dispatchPlayerStateUpdate(PlayerState playerState) + → void + + + +
+
+ Internal method that shouldn't be visible + + +
+ +
+ getMediaInfo() + Future<MediaInfo> + + + +
+
+ Returns the current media information + + +
+ +
+ load(MediaLoadRequestData request) + → void + + + +
+
+ Loads a new media item with specified options. + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ pause() + → void + + + +
+
+ Pauses playback of the current media item. + + +
+ +
+ play() + → void + + + +
+
+ Begins (or resumes) playback of the current media item. + + +
+ +
+ showTracksChooserDialog() + → void + + + +
+
+ A Dialog to show the available tracks (Text and Audio) for user to select. + + +
+ +
+ skipAd() + → void + + + +
+
+ Skips the playing ad. + + +
+ +
+ stop() + → void + + + +
+
+ Stops playback of the current media item. + + +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/RemoteMediaClient.html b/docs/api/cast/RemoteMediaClient/RemoteMediaClient.html new file mode 100644 index 0000000..2e73de1 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/RemoteMediaClient.html @@ -0,0 +1,152 @@ + + + + + + + + RemoteMediaClient constructor - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
RemoteMediaClient
+ +
+ +
+ + +
+
+

RemoteMediaClient constructor + Null safety +

+ +
+ RemoteMediaClient(
  1. CastHostApi _hostApi
  2. +
) +
+ + + + + +
+

Implementation

+
RemoteMediaClient(this._hostApi);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/dispatchPlayerStateUpdate.html b/docs/api/cast/RemoteMediaClient/dispatchPlayerStateUpdate.html new file mode 100644 index 0000000..4214aa1 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/dispatchPlayerStateUpdate.html @@ -0,0 +1,168 @@ + + + + + + + + dispatchPlayerStateUpdate method - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
dispatchPlayerStateUpdate
+ +
+ +
+ + +
+
+

dispatchPlayerStateUpdate method + Null safety +

+ +
+ +
+
    +
  1. @internal
  2. +
+
+ +void +dispatchPlayerStateUpdate(
  1. PlayerState playerState
  2. +
) + + + +
+ +
+

Internal method that shouldn't be visible

+
+ + + +
+

Implementation

+
@internal
+void dispatchPlayerStateUpdate(PlayerState playerState) {
+  this._playerStateNotifier.value = playerState;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/getMediaInfo.html b/docs/api/cast/RemoteMediaClient/getMediaInfo.html new file mode 100644 index 0000000..82c6cee --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/getMediaInfo.html @@ -0,0 +1,162 @@ + + + + + + + + getMediaInfo method - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
getMediaInfo
+ +
+ +
+ + +
+
+

getMediaInfo method + Null safety +

+ +
+ + +Future<MediaInfo> +getMediaInfo() + + + +
+ +
+

Returns the current media information

+
+ + + +
+

Implementation

+
Future<MediaInfo> getMediaInfo() async {
+  // FIXME: can remove future? we could avoid to call host and rely on listener callbacks (maybe onMetadataUpdated)
+  return await _hostApi.getMediaInfo();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/load.html b/docs/api/cast/RemoteMediaClient/load.html new file mode 100644 index 0000000..e303595 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/load.html @@ -0,0 +1,162 @@ + + + + + + + + load method - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
load
+ +
+ +
+ + +
+
+

load method + Null safety +

+ +
+ + +void +load(
  1. MediaLoadRequestData request
  2. +
) + + + +
+ +
+

Loads a new media item with specified options.

+
+ + + +
+

Implementation

+
void load(MediaLoadRequestData request) {
+  _hostApi.loadMediaLoadRequestData(request);
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/onAdBreakClipProgressUpdated.html b/docs/api/cast/RemoteMediaClient/onAdBreakClipProgressUpdated.html new file mode 100644 index 0000000..fc3ec83 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/onAdBreakClipProgressUpdated.html @@ -0,0 +1,157 @@ + + + + + + + + onAdBreakClipProgressUpdated property - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onAdBreakClipProgressUpdated
+ +
+ +
+ + +
+
+

onAdBreakClipProgressUpdated property + Null safety +

+ +
+ AdBreakClipProgressListener? + onAdBreakClipProgressUpdated +
read / write
+ +
+ +
+

Callback to get updates on the progess of the currently playing ad break clip

+
+ + +
+

Implementation

+
AdBreakClipProgressListener? onAdBreakClipProgressUpdated;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/onAdBreakStatusUpdated.html b/docs/api/cast/RemoteMediaClient/onAdBreakStatusUpdated.html new file mode 100644 index 0000000..10ff38a --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/onAdBreakStatusUpdated.html @@ -0,0 +1,157 @@ + + + + + + + + onAdBreakStatusUpdated property - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onAdBreakStatusUpdated
+ +
+ +
+ + +
+
+

onAdBreakStatusUpdated property + Null safety +

+ +
+ VoidCallback? + onAdBreakStatusUpdated +
read / write
+ +
+ +
+

Called when updated ad break status information is received.

+
+ + +
+

Implementation

+
VoidCallback? onAdBreakStatusUpdated;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/onMediaError.html b/docs/api/cast/RemoteMediaClient/onMediaError.html new file mode 100644 index 0000000..7f63c1c --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/onMediaError.html @@ -0,0 +1,157 @@ + + + + + + + + onMediaError property - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onMediaError
+ +
+ +
+ + +
+
+

onMediaError property + Null safety +

+ +
+ VoidCallback? + onMediaError +
read / write
+ +
+ +
+

Called when receiving media error message.

+
+ + +
+

Implementation

+
VoidCallback? onMediaError;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/onMetadataUpdated.html b/docs/api/cast/RemoteMediaClient/onMetadataUpdated.html new file mode 100644 index 0000000..9cc2513 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/onMetadataUpdated.html @@ -0,0 +1,157 @@ + + + + + + + + onMetadataUpdated property - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onMetadataUpdated
+ +
+ +
+ + +
+
+

onMetadataUpdated property + Null safety +

+ +
+ VoidCallback? + onMetadataUpdated +
read / write
+ +
+ +
+

Called when updated media metadata is received.

+
+ + +
+

Implementation

+
VoidCallback? onMetadataUpdated;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/onPreloadStatusUpdated.html b/docs/api/cast/RemoteMediaClient/onPreloadStatusUpdated.html new file mode 100644 index 0000000..8ee5e50 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/onPreloadStatusUpdated.html @@ -0,0 +1,158 @@ + + + + + + + + onPreloadStatusUpdated property - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onPreloadStatusUpdated
+ +
+ +
+ + +
+
+

onPreloadStatusUpdated property + Null safety +

+ +
+ VoidCallback? + onPreloadStatusUpdated +
read / write
+ +
+ +
+

Called when updated player queue preload status information is received, +for example, the next item to play has been preloaded.

+
+ + +
+

Implementation

+
VoidCallback? onPreloadStatusUpdated;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/onProgressUpdated.html b/docs/api/cast/RemoteMediaClient/onProgressUpdated.html new file mode 100644 index 0000000..f5f0fcb --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/onProgressUpdated.html @@ -0,0 +1,157 @@ + + + + + + + + onProgressUpdated property - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onProgressUpdated
+ +
+ +
+ + +
+
+

onProgressUpdated property + Null safety +

+ +
+ ProgressListener? + onProgressUpdated +
read / write
+ +
+ +
+

Callback to get updates on the progress of the currently playing media.

+
+ + +
+

Implementation

+
ProgressListener? onProgressUpdated;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/onQueueStatusUpdated.html b/docs/api/cast/RemoteMediaClient/onQueueStatusUpdated.html new file mode 100644 index 0000000..b4fa187 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/onQueueStatusUpdated.html @@ -0,0 +1,157 @@ + + + + + + + + onQueueStatusUpdated property - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onQueueStatusUpdated
+ +
+ +
+ + +
+
+

onQueueStatusUpdated property + Null safety +

+ +
+ VoidCallback? + onQueueStatusUpdated +
read / write
+ +
+ +
+

Called when updated player queue status information is received.

+
+ + +
+

Implementation

+
VoidCallback? onQueueStatusUpdated;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/onSendingRemoteMediaRequest.html b/docs/api/cast/RemoteMediaClient/onSendingRemoteMediaRequest.html new file mode 100644 index 0000000..23e34c2 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/onSendingRemoteMediaRequest.html @@ -0,0 +1,157 @@ + + + + + + + + onSendingRemoteMediaRequest property - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onSendingRemoteMediaRequest
+ +
+ +
+ + +
+
+

onSendingRemoteMediaRequest property + Null safety +

+ +
+ VoidCallback? + onSendingRemoteMediaRequest +
read / write
+ +
+ +
+

Called when there is an outgoing request to the receiver.

+
+ + +
+

Implementation

+
VoidCallback? onSendingRemoteMediaRequest;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/pause.html b/docs/api/cast/RemoteMediaClient/pause.html new file mode 100644 index 0000000..2bc7c82 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/pause.html @@ -0,0 +1,161 @@ + + + + + + + + pause method - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
pause
+ +
+ +
+ + +
+
+

pause method + Null safety +

+ +
+ + +void +pause() + + + +
+ +
+

Pauses playback of the current media item.

+
+ + + +
+

Implementation

+
void pause() {
+  _hostApi.pause();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/play.html b/docs/api/cast/RemoteMediaClient/play.html new file mode 100644 index 0000000..2b1ac4c --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/play.html @@ -0,0 +1,161 @@ + + + + + + + + play method - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
play
+ +
+ +
+ + +
+
+

play method + Null safety +

+ +
+ + +void +play() + + + +
+ +
+

Begins (or resumes) playback of the current media item.

+
+ + + +
+

Implementation

+
void play() {
+  _hostApi.play();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/playerState.html b/docs/api/cast/RemoteMediaClient/playerState.html new file mode 100644 index 0000000..48023c9 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/playerState.html @@ -0,0 +1,162 @@ + + + + + + + + playerState property - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
playerState
+ +
+ +
+ + +
+
+

playerState property + Null safety +

+ + + +
+ +
+ ValueListenable<PlayerState> + playerState + + +
+ + +
+

Listenable state of the remote media player

+
+ + +
+

Implementation

+
ValueListenable<PlayerState> get playerState => _playerStateNotifier;
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/showTracksChooserDialog.html b/docs/api/cast/RemoteMediaClient/showTracksChooserDialog.html new file mode 100644 index 0000000..67fa3e8 --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/showTracksChooserDialog.html @@ -0,0 +1,161 @@ + + + + + + + + showTracksChooserDialog method - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
showTracksChooserDialog
+ +
+ +
+ + +
+
+

showTracksChooserDialog method + Null safety +

+ +
+ + +void +showTracksChooserDialog() + + + +
+ +
+

A Dialog to show the available tracks (Text and Audio) for user to select.

+
+ + + +
+

Implementation

+
void showTracksChooserDialog() {
+  _hostApi.showTracksChooserDialog();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/skipAd.html b/docs/api/cast/RemoteMediaClient/skipAd.html new file mode 100644 index 0000000..ca436aa --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/skipAd.html @@ -0,0 +1,161 @@ + + + + + + + + skipAd method - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
skipAd
+ +
+ +
+ + +
+
+

skipAd method + Null safety +

+ +
+ + +void +skipAd() + + + +
+ +
+

Skips the playing ad.

+
+ + + +
+

Implementation

+
void skipAd() {
+  _hostApi.skipAd();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/RemoteMediaClient/stop.html b/docs/api/cast/RemoteMediaClient/stop.html new file mode 100644 index 0000000..b7237ee --- /dev/null +++ b/docs/api/cast/RemoteMediaClient/stop.html @@ -0,0 +1,161 @@ + + + + + + + + stop method - RemoteMediaClient class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
stop
+ +
+ +
+ + +
+
+

stop method + Null safety +

+ +
+ + +void +stop() + + + +
+ +
+

Stops playback of the current media item.

+
+ + + +
+

Implementation

+
void stop() {
+  _hostApi.stop();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager-class.html b/docs/api/cast/SessionManager-class.html new file mode 100644 index 0000000..70dabb6 --- /dev/null +++ b/docs/api/cast/SessionManager-class.html @@ -0,0 +1,366 @@ + + + + + + + + SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
SessionManager
+ +
+ +
+ + +
+
+

SessionManager class + Null safety + +

+ + +
+

A class that manages Session instances. The application can attach a +listeners to be notified of session events.

+
+ + + +
+

Constructors

+ +
+
+ SessionManager(CastHostApi _hostApi) +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ onMessageReceived + MessageReceivedCallback? + +
+
+ Callback called when the Cast Receiver sent a message +
read / write
+ +
+ +
+ remoteMediaClient + RemoteMediaClient + +
+
+ Returns the RemoteMediaClient for remote media control. +
read-only
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ state + ValueListenable<SessionState> + +
+
+ Listenable session state of the cast device +
read-only
+ +
+ +
+
+ +
+

Methods

+
+
+ getCastDevice() + Future<CastDevice> + + + +
+
+ Returns the currently connected cast device + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ onSessionStateChanged(SessionState sessionState) + → void + + + +
+
+ Internal method that shouldn't be visible + + +
+ +
+ platformOnMessageReceived(CastMessage castMessage) + → void + + + +
+
+ Internal method that shouldn't be visible + + +
+ +
+ sendMessage(String namespace, String message) + → void + + + +
+
+ Send a string message to the Cast Receiver using the input namespace + + +
+ +
+ setMute(bool muted) + → void + + + +
+
+ Toggles the stream muting. + + +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager/SessionManager.html b/docs/api/cast/SessionManager/SessionManager.html new file mode 100644 index 0000000..d2628c8 --- /dev/null +++ b/docs/api/cast/SessionManager/SessionManager.html @@ -0,0 +1,143 @@ + + + + + + + + SessionManager constructor - SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
SessionManager
+ +
+ +
+ + +
+
+

SessionManager constructor + Null safety +

+ +
+ SessionManager(
  1. CastHostApi _hostApi
  2. +
) +
+ + + + + +
+

Implementation

+
SessionManager(this._hostApi);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager/getCastDevice.html b/docs/api/cast/SessionManager/getCastDevice.html new file mode 100644 index 0000000..a9933a5 --- /dev/null +++ b/docs/api/cast/SessionManager/getCastDevice.html @@ -0,0 +1,152 @@ + + + + + + + + getCastDevice method - SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
getCastDevice
+ +
+ +
+ + +
+
+

getCastDevice method + Null safety +

+ +
+ + +Future<CastDevice> +getCastDevice() + + + +
+ +
+

Returns the currently connected cast device

+
+ + + +
+

Implementation

+
Future<CastDevice> getCastDevice() async {
+  return await _hostApi.getCastDevice();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager/onMessageReceived.html b/docs/api/cast/SessionManager/onMessageReceived.html new file mode 100644 index 0000000..ae66dc7 --- /dev/null +++ b/docs/api/cast/SessionManager/onMessageReceived.html @@ -0,0 +1,148 @@ + + + + + + + + onMessageReceived property - SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onMessageReceived
+ +
+ +
+ + +
+
+

onMessageReceived property + Null safety +

+ +
+ MessageReceivedCallback? + onMessageReceived +
read / write
+ +
+ +
+

Callback called when the Cast Receiver sent a message

+
+ + +
+

Implementation

+
MessageReceivedCallback? onMessageReceived;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager/onSessionStateChanged.html b/docs/api/cast/SessionManager/onSessionStateChanged.html new file mode 100644 index 0000000..3f44d6e --- /dev/null +++ b/docs/api/cast/SessionManager/onSessionStateChanged.html @@ -0,0 +1,174 @@ + + + + + + + + onSessionStateChanged method - SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onSessionStateChanged
+ +
+ +
+ + +
+
+

onSessionStateChanged method + Null safety +

+ +
+ +
+
    +
  1. @internal
  2. +
+
+ +void +onSessionStateChanged(
  1. SessionState sessionState
  2. +
) + + + +
+ +
+

Internal method that shouldn't be visible

+
+ + + +
+

Implementation

+
@internal
+void onSessionStateChanged(SessionState sessionState) {
+  switch (sessionState) {
+    case SessionState.starting:
+    case SessionState.started:
+    case SessionState.start_failed:
+    case SessionState.ending:
+    case SessionState.ended:
+    case SessionState.resuming:
+    case SessionState.resumed:
+    case SessionState.resume_failed:
+    case SessionState.suspended:
+      _stateNotifier.value = sessionState;
+      break;
+    case SessionState.idle:
+      // Not raised
+      break;
+  }
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager/platformOnMessageReceived.html b/docs/api/cast/SessionManager/platformOnMessageReceived.html new file mode 100644 index 0000000..a74fe14 --- /dev/null +++ b/docs/api/cast/SessionManager/platformOnMessageReceived.html @@ -0,0 +1,165 @@ + + + + + + + + platformOnMessageReceived method - SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
platformOnMessageReceived
+ +
+ +
+ + +
+
+

platformOnMessageReceived method + Null safety +

+ +
+ +
+
    +
  1. @internal
  2. +
+
+ +void +platformOnMessageReceived(
  1. CastMessage castMessage
  2. +
) + + + +
+ +
+

Internal method that shouldn't be visible

+
+ + + +
+

Implementation

+
@internal
+void platformOnMessageReceived(CastMessage castMessage) {
+  var thisOnMessageReceived = onMessageReceived;
+
+  if (thisOnMessageReceived == null) return;
+  final namespace = castMessage.namespace ?? "";
+  final message = castMessage.message ?? "";
+
+  thisOnMessageReceived(namespace, message);
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager/remoteMediaClient.html b/docs/api/cast/SessionManager/remoteMediaClient.html new file mode 100644 index 0000000..0b2deff --- /dev/null +++ b/docs/api/cast/SessionManager/remoteMediaClient.html @@ -0,0 +1,159 @@ + + + + + + + + remoteMediaClient property - SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
remoteMediaClient
+ +
+ +
+ + +
+
+

remoteMediaClient property + Null safety +

+ + + +
+ +
+ RemoteMediaClient + remoteMediaClient + + +
+ + +
+

Returns the RemoteMediaClient for remote media control.

+
+ + +
+

Implementation

+
RemoteMediaClient get remoteMediaClient {
+  var result = _remoteMediaClient;
+  if (result == null) {
+    _remoteMediaClient = result = RemoteMediaClient(_hostApi);
+  }
+  return result;
+}
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager/sendMessage.html b/docs/api/cast/SessionManager/sendMessage.html new file mode 100644 index 0000000..931e1d2 --- /dev/null +++ b/docs/api/cast/SessionManager/sendMessage.html @@ -0,0 +1,157 @@ + + + + + + + + sendMessage method - SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
sendMessage
+ +
+ +
+ + +
+
+

sendMessage method + Null safety +

+ +
+ + +void +sendMessage(
  1. String namespace,
  2. +
  3. String message
  4. +
) + + + +
+ +
+

Send a string message to the Cast Receiver using the input namespace

+
+ + + +
+

Implementation

+
void sendMessage(String namespace, String message) {
+  final castMessage = CastMessage();
+  castMessage.namespace = namespace;
+  castMessage.message = message;
+  _hostApi.sendMessage(castMessage);
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager/setMute.html b/docs/api/cast/SessionManager/setMute.html new file mode 100644 index 0000000..b9162b2 --- /dev/null +++ b/docs/api/cast/SessionManager/setMute.html @@ -0,0 +1,153 @@ + + + + + + + + setMute method - SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
setMute
+ +
+ +
+ + +
+
+

setMute method + Null safety +

+ +
+ + +void +setMute(
  1. bool muted
  2. +
) + + + +
+ +
+

Toggles the stream muting.

+
+ + + +
+

Implementation

+
void setMute(bool muted) {
+  _hostApi.setMute(muted);
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionManager/state.html b/docs/api/cast/SessionManager/state.html new file mode 100644 index 0000000..cb70bc9 --- /dev/null +++ b/docs/api/cast/SessionManager/state.html @@ -0,0 +1,153 @@ + + + + + + + + state property - SessionManager class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
state
+ +
+ +
+ + +
+
+

state property + Null safety +

+ + + +
+ +
+ ValueListenable<SessionState> + state + + +
+ + +
+

Listenable session state of the cast device

+
+ + +
+

Implementation

+
ValueListenable<SessionState> get state => _stateNotifier;
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionState.html b/docs/api/cast/SessionState.html new file mode 100644 index 0000000..5298fbe --- /dev/null +++ b/docs/api/cast/SessionState.html @@ -0,0 +1,441 @@ + + + + + + + + SessionState enum - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
SessionState
+ +
+ +
+ + +
+
+

SessionState enum + Null safety + +

+ + +
+

State of the session

+
+ + +
+
+ +
+
+ +
+

Constants

+ +
+
+ ended + → const SessionState + + +
+
+ + + +
+ const SessionState(5) +
+
+ +
+ ending + → const SessionState + + +
+
+ + + +
+ const SessionState(4) +
+
+ +
+ idle + → const SessionState + + +
+
+ + + +
+ const SessionState(0) +
+
+ +
+ resume_failed + → const SessionState + + +
+
+ + + +
+ const SessionState(8) +
+
+ +
+ resumed + → const SessionState + + +
+
+ + + +
+ const SessionState(7) +
+
+ +
+ resuming + → const SessionState + + +
+
+ + + +
+ const SessionState(6) +
+
+ +
+ start_failed + → const SessionState + + +
+
+ + + +
+ const SessionState(3) +
+
+ +
+ started + → const SessionState + + +
+
+ + + +
+ const SessionState(2) +
+
+ +
+ starting + → const SessionState + + +
+
+ + + +
+ const SessionState(1) +
+
+ +
+ suspended + → const SessionState + + +
+
+ + + +
+ const SessionState(9) +
+
+ +
+ values + → const List<SessionState> + + +
+
+

A constant List of the values in this enum, in order of their declaration.

+ + +
+ const List<SessionState> +
+
+ +
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ index + int + +
+
+

The integer index of this enum.

+
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/SessionState/toString.html b/docs/api/cast/SessionState/toString.html new file mode 100644 index 0000000..0592c1b --- /dev/null +++ b/docs/api/cast/SessionState/toString.html @@ -0,0 +1,156 @@ + + + + + + + + toString method - SessionState extension - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ + +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string represetion.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/StreamType.html b/docs/api/cast/StreamType.html new file mode 100644 index 0000000..cebd2e4 --- /dev/null +++ b/docs/api/cast/StreamType.html @@ -0,0 +1,342 @@ + + + + + + + + StreamType enum - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
StreamType
+ +
+ +
+ + +
+
+

StreamType enum + Null safety + +

+ + + + +
+
+ +
+
+ +
+

Constants

+ +
+
+ buffered + → const StreamType + + +
+
+ + + +
+ const StreamType(2) +
+
+ +
+ invalid + → const StreamType + + +
+
+ + + +
+ const StreamType(0) +
+
+ +
+ live + → const StreamType + + +
+
+ + + +
+ const StreamType(3) +
+
+ +
+ none + → const StreamType + + +
+
+ + + +
+ const StreamType(1) +
+
+ +
+ values + → const List<StreamType> + + +
+
+

A constant List of the values in this enum, in order of their declaration.

+ + +
+ const List<StreamType> +
+
+ +
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ index + int + +
+
+

The integer index of this enum.

+
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/StreamType/toString.html b/docs/api/cast/StreamType/toString.html new file mode 100644 index 0000000..8820869 --- /dev/null +++ b/docs/api/cast/StreamType/toString.html @@ -0,0 +1,150 @@ + + + + + + + + toString method - StreamType extension - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ + +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string represetion.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/TrackSubtype.html b/docs/api/cast/TrackSubtype.html new file mode 100644 index 0000000..5f719ff --- /dev/null +++ b/docs/api/cast/TrackSubtype.html @@ -0,0 +1,390 @@ + + + + + + + + TrackSubtype enum - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
TrackSubtype
+ +
+ +
+ + +
+
+

TrackSubtype enum + Null safety + +

+ + + + +
+
+ +
+
+ +
+

Constants

+ +
+
+ captions + → const TrackSubtype + + +
+
+ + + +
+ const TrackSubtype(3) +
+
+ +
+ chapters + → const TrackSubtype + + +
+
+ + + +
+ const TrackSubtype(5) +
+
+ +
+ descriptions + → const TrackSubtype + + +
+
+ + + +
+ const TrackSubtype(4) +
+
+ +
+ metadata + → const TrackSubtype + + +
+
+ + + +
+ const TrackSubtype(6) +
+
+ +
+ none + → const TrackSubtype + + +
+
+ + + +
+ const TrackSubtype(1) +
+
+ +
+ subtitles + → const TrackSubtype + + +
+
+ + + +
+ const TrackSubtype(2) +
+
+ +
+ unknown + → const TrackSubtype + + +
+
+ + + +
+ const TrackSubtype(0) +
+
+ +
+ values + → const List<TrackSubtype> + + +
+
+

A constant List of the values in this enum, in order of their declaration.

+ + +
+ const List<TrackSubtype> +
+
+ +
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ index + int + +
+
+

The integer index of this enum.

+
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/TrackSubtype/toString.html b/docs/api/cast/TrackSubtype/toString.html new file mode 100644 index 0000000..b3e61c6 --- /dev/null +++ b/docs/api/cast/TrackSubtype/toString.html @@ -0,0 +1,153 @@ + + + + + + + + toString method - TrackSubtype extension - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ + +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string represetion.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/TrackType.html b/docs/api/cast/TrackType.html new file mode 100644 index 0000000..3833f22 --- /dev/null +++ b/docs/api/cast/TrackType.html @@ -0,0 +1,342 @@ + + + + + + + + TrackType enum - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
TrackType
+ +
+ +
+ + +
+
+

TrackType enum + Null safety + +

+ + + + +
+
+ +
+
+ +
+

Constants

+ +
+
+ audio + → const TrackType + + +
+
+ + + +
+ const TrackType(2) +
+
+ +
+ text + → const TrackType + + +
+
+ + + +
+ const TrackType(1) +
+
+ +
+ unknown + → const TrackType + + +
+
+ + + +
+ const TrackType(0) +
+
+ +
+ values + → const List<TrackType> + + +
+
+

A constant List of the values in this enum, in order of their declaration.

+ + +
+ const List<TrackType> +
+
+ +
+ video + → const TrackType + + +
+
+ + + +
+ const TrackType(3) +
+
+ +
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ index + int + +
+
+

The integer index of this enum.

+
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/TrackType/toString.html b/docs/api/cast/TrackType/toString.html new file mode 100644 index 0000000..834b89f --- /dev/null +++ b/docs/api/cast/TrackType/toString.html @@ -0,0 +1,150 @@ + + + + + + + + toString method - TrackType extension - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ + +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string represetion.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/WebImage-class.html b/docs/api/cast/WebImage-class.html new file mode 100644 index 0000000..997bea3 --- /dev/null +++ b/docs/api/cast/WebImage-class.html @@ -0,0 +1,302 @@ + + + + + + + + WebImage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
WebImage
+ +
+ +
+ + +
+
+

WebImage class + Null safety + +

+ + + + + +
+

Constructors

+ +
+
+ WebImage() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ url + String? + +
+
+ +
read / write
+ +
+ +
+
+ +
+

Methods

+
+
+ encode() + Object + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(Object message) + WebImage + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/WebImage/WebImage.html b/docs/api/cast/WebImage/WebImage.html new file mode 100644 index 0000000..1038350 --- /dev/null +++ b/docs/api/cast/WebImage/WebImage.html @@ -0,0 +1,134 @@ + + + + + + + + WebImage constructor - WebImage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
WebImage
+ +
+ +
+ + +
+
+

WebImage constructor + Null safety +

+ +
+ WebImage() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/WebImage/decode.html b/docs/api/cast/WebImage/decode.html new file mode 100644 index 0000000..e0973eb --- /dev/null +++ b/docs/api/cast/WebImage/decode.html @@ -0,0 +1,148 @@ + + + + + + + + decode method - WebImage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
decode
+ +
+ +
+ + +
+
+

decode method + Null safety +

+ +
+ + +WebImage +decode(
  1. Object message
  2. +
) + + + +
+ + + + +
+

Implementation

+
static WebImage decode(Object message) {
+  final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
+  return WebImage()
+    ..url = pigeonMap['url'] as String?;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/WebImage/encode.html b/docs/api/cast/WebImage/encode.html new file mode 100644 index 0000000..866ae95 --- /dev/null +++ b/docs/api/cast/WebImage/encode.html @@ -0,0 +1,147 @@ + + + + + + + + encode method - WebImage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
encode
+ +
+ +
+ + +
+
+

encode method + Null safety +

+ +
+ + +Object +encode() + + + +
+ + + + +
+

Implementation

+
Object encode() {
+  final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
+  pigeonMap['url'] = url;
+  return pigeonMap;
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/WebImage/url.html b/docs/api/cast/WebImage/url.html new file mode 100644 index 0000000..94aa63d --- /dev/null +++ b/docs/api/cast/WebImage/url.html @@ -0,0 +1,141 @@ + + + + + + + + url property - WebImage class - cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
url
+ +
+ +
+ + +
+
+

url property + Null safety +

+ +
+ String? + url +
read / write
+ +
+ + + +
+

Implementation

+
String? url;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/cast/cast-library.html b/docs/api/cast/cast-library.html new file mode 100644 index 0000000..5d48ade --- /dev/null +++ b/docs/api/cast/cast-library.html @@ -0,0 +1,370 @@ + + + + + + + + cast library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
cast
+ +
+ +
+ + +
+
+

cast library + Null safety + +

+ + + + +
+

Classes

+ +
+
+ AdBreakStatus + +
+
+ +
+ +
+ CastContext + +
+
+ Class wrapping the global context fot the Cast SDK +
+ +
+ CastDevice + +
+
+ +
+ +
+ CastMessage + +
+
+ +
+ +
+ FlutterCastFramework + +
+
+ Entrypoint for the Flutter Cast Framework +
+ +
+ MediaInfo + +
+
+ +
+ +
+ MediaLoadRequestData + +
+
+ +
+ +
+ MediaMetadata + +
+
+ +
+ +
+ MediaStatus + +
+
+ +
+ +
+ MediaTrack + +
+
+ +
+ +
+ RemoteMediaClient + +
+
+ Class for controlling a media player application running on a receiver. +
+ +
+ SessionManager + +
+
+ A class that manages Session instances. The application can attach a +listeners to be notified of session events. +
+ +
+ WebImage + +
+
+ +
+ +
+
+ + + + + + +
+

Enums

+ +
+
+ CastState + +
+
+ The possible casting states. +
+ +
+ MediaType + +
+
+ +
+ +
+ PlayerState + +
+
+ +
+ +
+ SessionState + +
+
+ State of the session +
+ +
+ StreamType + +
+
+ +
+ +
+ TrackSubtype + +
+
+ +
+ +
+ TrackType + +
+
+ +
+ +
+
+ +
+

Typedefs

+ +
+ +
+ AdBreakClipProgressListener + = void Function(String adBreakId, String adBreakClipId, int progressMs, int durationMs, int whenSkippableMs) + + + +
+
+ + + +
+ + +
+ MessageReceivedCallback + = void Function(String namespace, String message) + + + +
+
+ + + +
+ + +
+ ProgressListener + = void Function(int progressMs, int durationMs) + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/categories.json b/docs/api/categories.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/docs/api/categories.json @@ -0,0 +1 @@ +[] diff --git a/docs/api/index.html b/docs/api/index.html new file mode 100644 index 0000000..56db57b --- /dev/null +++ b/docs/api/index.html @@ -0,0 +1,234 @@ + + + + + + + + + flutter_cast_framework - Dart API docs + + + + + + + + + + + + + + + + + +
+ +
+ + +
flutter_cast_framework
+ +
+ +
+ + +
+ +
+

Flutter Cast Framework

+

Overview

+

Flutter Cast Framework is a POC of a flutter plugin that lets you use Chromecast API in a flutter app.

+

Exposed APIs

+

Currently only the following APIs are integrated (both Android and iOS):

+
    +
  • Cast State
  • +
  • Session state
  • +
  • Send custom message
  • +
  • Listen to received custom messages
  • +
  • Load RemoteMediaRequestData
  • +
  • Play, Pause, Stop media
  • +
  • Expanded controls
  • +
  • Cast Button
  • +
  • Chromecast connection
  • +
+

Setup

+

Add Dependency

+

Clone this repo and add the following piece of code to your app's pubspec

+
dependencies:
+  flutter_cast_framework:
+    path: ../flutter_cast_framework/ # the path depends on where you cloned this repo
+
+

Android Setup

+

1. Create CastOptionsProvider

+

Add the following class to your Android project:

+
import android.content.Context
+import com.google.android.gms.cast.framework.CastOptions
+import com.google.android.gms.cast.framework.OptionsProvider
+import com.google.android.gms.cast.framework.SessionProvider
+
+class CastOptionsProvider : OptionsProvider {
+    override fun getCastOptions(context: Context): CastOptions {
+        return CastOptions.Builder()
+                .setReceiverApplicationId("4F8B3483") // Your receiver Application ID
+                .build()
+    }
+
+    override fun getAdditionalSessionProviders(context: Context): List<SessionProvider>? {
+        return null
+    }
+}
+
+

2. Load CastOptionsProvider

+

Add the following entry in the AndroidManifest.xml file under the <application> tag to reference the CastOptionsProvider class:

+
<application>
+    <meta-data
+        android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
+        android:value="com.gianlucaparadise.flutter_cast_framework_example.CastOptionsProvider" />
+</application>
+
+

3. Theme

+

Make sure that your application and your activity are using an AppCompat theme (as stated here).

+

iOS Setup

+

1. Minimum iOS version

+

Make sure you minimum iOS version is 10.0. +Select Runner from left pane > General tab > Deployment Info > Target: set 10.0 or higher

+

2. Install iOS dependencies

+

When Xcode is closed, open a terminal at the root folder of your project and run:

+
cd ios && pod install
+
+

3. Open project in Xcode

+

To open your flutter project with Xcode, from root folder run open ios/Runner.xcworkspace

+

4. Chromecast SDK setup

+

Add the following lines to your AppDelegate.swift:

+
 import UIKit
+ import Flutter
++import GoogleCast
+ 
+ @UIApplicationMain
+-@objc class AppDelegate: FlutterAppDelegate {
++@objc class AppDelegate: FlutterAppDelegate, GCKLoggerDelegate {
++  let kReceiverAppID = "4F8B3483" // Your receiver Application ID
++  let kDebugLoggingEnabled = true
++  
+   override func application(
+     _ application: UIApplication,
+     didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
+   ) -> Bool {
++    let criteria = GCKDiscoveryCriteria(applicationID: kReceiverAppID)
++    let options = GCKCastOptions(discoveryCriteria: criteria)
++    GCKCastContext.setSharedInstanceWith(options)
++
++    // Enable logger.
++    GCKLogger.sharedInstance().delegate = self
++    
+     GeneratedPluginRegistrant.register(with: self)
+     return super.application(application, didFinishLaunchingWithOptions: launchOptions)
+   }
++  
++  // MARK: - GCKLoggerDelegate
++  
++  func logMessage(_ message: String,
++                  at level: GCKLoggerLevel,
++                  fromFunction function: String,
++                  location: String) {
++      if (kDebugLoggingEnabled) {
++          print(function + " - " + message)
++      }
++  }
+ }
+
+

Tech notes

+

I used this project to test the capabilities of the following technologies:

+
    +
  • Chromecast API (Sender - Android SDK)
  • +
  • Flutter
  • +
  • Flutter custom platform-specific code
  • +
+

Roadmap

+
    +
  • CC in Expanded Controls (iOS)
  • +
  • Handle Ad Break (ad skip, ad UI, ad countdown)
  • +
  • Handle progress seek
  • +
  • Handle queue
  • +
  • Handle mini-player
  • +
+
+ + +
+

Libraries

+
+
+ cast + +
+
+
+ +
+ widgets + +
+
+
+ +
+
+ +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/docs/api/index.json b/docs/api/index.json new file mode 100644 index 0000000..4427379 --- /dev/null +++ b/docs/api/index.json @@ -0,0 +1 @@ +[{"name":"cast","qualifiedName":"cast","href":"cast/cast-library.html","type":"library","overriddenDepth":0,"packageName":"flutter_cast_framework"},{"name":"AdBreakClipProgressListener","qualifiedName":"cast.AdBreakClipProgressListener","href":"cast/AdBreakClipProgressListener.html","type":"typedef","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"AdBreakStatus","qualifiedName":"cast.AdBreakStatus","href":"cast/AdBreakStatus-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"AdBreakStatus","qualifiedName":"cast.AdBreakStatus.AdBreakStatus","href":"cast/AdBreakStatus/AdBreakStatus.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"AdBreakStatus","type":"class"}},{"name":"adBreakClipId","qualifiedName":"cast.AdBreakStatus.adBreakClipId","href":"cast/AdBreakStatus/adBreakClipId.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"AdBreakStatus","type":"class"}},{"name":"adBreakId","qualifiedName":"cast.AdBreakStatus.adBreakId","href":"cast/AdBreakStatus/adBreakId.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"AdBreakStatus","type":"class"}},{"name":"decode","qualifiedName":"cast.AdBreakStatus.decode","href":"cast/AdBreakStatus/decode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"AdBreakStatus","type":"class"}},{"name":"encode","qualifiedName":"cast.AdBreakStatus.encode","href":"cast/AdBreakStatus/encode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"AdBreakStatus","type":"class"}},{"name":"whenSkippableMs","qualifiedName":"cast.AdBreakStatus.whenSkippableMs","href":"cast/AdBreakStatus/whenSkippableMs.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"AdBreakStatus","type":"class"}},{"name":"CastContext","qualifiedName":"cast.CastContext","href":"cast/CastContext-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"CastContext","qualifiedName":"cast.CastContext.CastContext","href":"cast/CastContext/CastContext.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastContext","type":"class"}},{"name":"onCastStateChanged","qualifiedName":"cast.CastContext.onCastStateChanged","href":"cast/CastContext/onCastStateChanged.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastContext","type":"class"}},{"name":"sessionManager","qualifiedName":"cast.CastContext.sessionManager","href":"cast/CastContext/sessionManager.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastContext","type":"class"}},{"name":"showCastChooserDialog","qualifiedName":"cast.CastContext.showCastChooserDialog","href":"cast/CastContext/showCastChooserDialog.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastContext","type":"class"}},{"name":"state","qualifiedName":"cast.CastContext.state","href":"cast/CastContext/state.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastContext","type":"class"}},{"name":"CastDevice","qualifiedName":"cast.CastDevice","href":"cast/CastDevice-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"CastDevice","qualifiedName":"cast.CastDevice.CastDevice","href":"cast/CastDevice/CastDevice.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastDevice","type":"class"}},{"name":"decode","qualifiedName":"cast.CastDevice.decode","href":"cast/CastDevice/decode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastDevice","type":"class"}},{"name":"deviceId","qualifiedName":"cast.CastDevice.deviceId","href":"cast/CastDevice/deviceId.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastDevice","type":"class"}},{"name":"encode","qualifiedName":"cast.CastDevice.encode","href":"cast/CastDevice/encode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastDevice","type":"class"}},{"name":"friendlyName","qualifiedName":"cast.CastDevice.friendlyName","href":"cast/CastDevice/friendlyName.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastDevice","type":"class"}},{"name":"modelName","qualifiedName":"cast.CastDevice.modelName","href":"cast/CastDevice/modelName.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastDevice","type":"class"}},{"name":"CastMessage","qualifiedName":"cast.CastMessage","href":"cast/CastMessage-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"CastMessage","qualifiedName":"cast.CastMessage.CastMessage","href":"cast/CastMessage/CastMessage.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastMessage","type":"class"}},{"name":"decode","qualifiedName":"cast.CastMessage.decode","href":"cast/CastMessage/decode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastMessage","type":"class"}},{"name":"encode","qualifiedName":"cast.CastMessage.encode","href":"cast/CastMessage/encode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastMessage","type":"class"}},{"name":"message","qualifiedName":"cast.CastMessage.message","href":"cast/CastMessage/message.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastMessage","type":"class"}},{"name":"namespace","qualifiedName":"cast.CastMessage.namespace","href":"cast/CastMessage/namespace.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastMessage","type":"class"}},{"name":"CastState","qualifiedName":"cast.CastState","href":"cast/CastState.html","type":"enum","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"toString","qualifiedName":"cast.CastState.toString","href":"cast/CastState/toString.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastState","type":"enum"}},{"name":"FlutterCastFramework","qualifiedName":"cast.FlutterCastFramework","href":"cast/FlutterCastFramework-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"castContext","qualifiedName":"cast.FlutterCastFramework.castContext","href":"cast/FlutterCastFramework/castContext.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"FlutterCastFramework","type":"class"}},{"name":"FlutterCastFramework.create","qualifiedName":"cast.FlutterCastFramework.create","href":"cast/FlutterCastFramework/FlutterCastFramework.create.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"FlutterCastFramework","type":"class"}},{"name":"MediaInfo","qualifiedName":"cast.MediaInfo","href":"cast/MediaInfo-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"MediaInfo","qualifiedName":"cast.MediaInfo.MediaInfo","href":"cast/MediaInfo/MediaInfo.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"contentId","qualifiedName":"cast.MediaInfo.contentId","href":"cast/MediaInfo/contentId.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"contentType","qualifiedName":"cast.MediaInfo.contentType","href":"cast/MediaInfo/contentType.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"customDataAsJson","qualifiedName":"cast.MediaInfo.customDataAsJson","href":"cast/MediaInfo/customDataAsJson.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"decode","qualifiedName":"cast.MediaInfo.decode","href":"cast/MediaInfo/decode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"encode","qualifiedName":"cast.MediaInfo.encode","href":"cast/MediaInfo/encode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"mediaMetadata","qualifiedName":"cast.MediaInfo.mediaMetadata","href":"cast/MediaInfo/mediaMetadata.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"mediaTracks","qualifiedName":"cast.MediaInfo.mediaTracks","href":"cast/MediaInfo/mediaTracks.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"streamDuration","qualifiedName":"cast.MediaInfo.streamDuration","href":"cast/MediaInfo/streamDuration.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"streamType","qualifiedName":"cast.MediaInfo.streamType","href":"cast/MediaInfo/streamType.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaInfo","type":"class"}},{"name":"MediaLoadRequestData","qualifiedName":"cast.MediaLoadRequestData","href":"cast/MediaLoadRequestData-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"MediaLoadRequestData","qualifiedName":"cast.MediaLoadRequestData.MediaLoadRequestData","href":"cast/MediaLoadRequestData/MediaLoadRequestData.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaLoadRequestData","type":"class"}},{"name":"currentTime","qualifiedName":"cast.MediaLoadRequestData.currentTime","href":"cast/MediaLoadRequestData/currentTime.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaLoadRequestData","type":"class"}},{"name":"decode","qualifiedName":"cast.MediaLoadRequestData.decode","href":"cast/MediaLoadRequestData/decode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaLoadRequestData","type":"class"}},{"name":"encode","qualifiedName":"cast.MediaLoadRequestData.encode","href":"cast/MediaLoadRequestData/encode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaLoadRequestData","type":"class"}},{"name":"mediaInfo","qualifiedName":"cast.MediaLoadRequestData.mediaInfo","href":"cast/MediaLoadRequestData/mediaInfo.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaLoadRequestData","type":"class"}},{"name":"shouldAutoplay","qualifiedName":"cast.MediaLoadRequestData.shouldAutoplay","href":"cast/MediaLoadRequestData/shouldAutoplay.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaLoadRequestData","type":"class"}},{"name":"MediaMetadata","qualifiedName":"cast.MediaMetadata","href":"cast/MediaMetadata-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"MediaMetadata","qualifiedName":"cast.MediaMetadata.MediaMetadata","href":"cast/MediaMetadata/MediaMetadata.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaMetadata","type":"class"}},{"name":"decode","qualifiedName":"cast.MediaMetadata.decode","href":"cast/MediaMetadata/decode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaMetadata","type":"class"}},{"name":"encode","qualifiedName":"cast.MediaMetadata.encode","href":"cast/MediaMetadata/encode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaMetadata","type":"class"}},{"name":"mediaType","qualifiedName":"cast.MediaMetadata.mediaType","href":"cast/MediaMetadata/mediaType.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaMetadata","type":"class"}},{"name":"webImages","qualifiedName":"cast.MediaMetadata.webImages","href":"cast/MediaMetadata/webImages.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaMetadata","type":"class"}},{"name":"MediaStatus","qualifiedName":"cast.MediaStatus","href":"cast/MediaStatus-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"MediaStatus","qualifiedName":"cast.MediaStatus.MediaStatus","href":"cast/MediaStatus/MediaStatus.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaStatus","type":"class"}},{"name":"adBreakStatus","qualifiedName":"cast.MediaStatus.adBreakStatus","href":"cast/MediaStatus/adBreakStatus.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaStatus","type":"class"}},{"name":"decode","qualifiedName":"cast.MediaStatus.decode","href":"cast/MediaStatus/decode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaStatus","type":"class"}},{"name":"encode","qualifiedName":"cast.MediaStatus.encode","href":"cast/MediaStatus/encode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaStatus","type":"class"}},{"name":"isPlayingAd","qualifiedName":"cast.MediaStatus.isPlayingAd","href":"cast/MediaStatus/isPlayingAd.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaStatus","type":"class"}},{"name":"mediaInfo","qualifiedName":"cast.MediaStatus.mediaInfo","href":"cast/MediaStatus/mediaInfo.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaStatus","type":"class"}},{"name":"playerState","qualifiedName":"cast.MediaStatus.playerState","href":"cast/MediaStatus/playerState.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaStatus","type":"class"}},{"name":"MediaTrack","qualifiedName":"cast.MediaTrack","href":"cast/MediaTrack-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"MediaTrack","qualifiedName":"cast.MediaTrack.MediaTrack","href":"cast/MediaTrack/MediaTrack.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaTrack","type":"class"}},{"name":"contentId","qualifiedName":"cast.MediaTrack.contentId","href":"cast/MediaTrack/contentId.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaTrack","type":"class"}},{"name":"decode","qualifiedName":"cast.MediaTrack.decode","href":"cast/MediaTrack/decode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaTrack","type":"class"}},{"name":"encode","qualifiedName":"cast.MediaTrack.encode","href":"cast/MediaTrack/encode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaTrack","type":"class"}},{"name":"id","qualifiedName":"cast.MediaTrack.id","href":"cast/MediaTrack/id.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaTrack","type":"class"}},{"name":"language","qualifiedName":"cast.MediaTrack.language","href":"cast/MediaTrack/language.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaTrack","type":"class"}},{"name":"name","qualifiedName":"cast.MediaTrack.name","href":"cast/MediaTrack/name.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaTrack","type":"class"}},{"name":"trackSubtype","qualifiedName":"cast.MediaTrack.trackSubtype","href":"cast/MediaTrack/trackSubtype.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaTrack","type":"class"}},{"name":"trackType","qualifiedName":"cast.MediaTrack.trackType","href":"cast/MediaTrack/trackType.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaTrack","type":"class"}},{"name":"MediaType","qualifiedName":"cast.MediaType","href":"cast/MediaType.html","type":"enum","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"toString","qualifiedName":"cast.MediaType.toString","href":"cast/MediaType/toString.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"MediaType","type":"enum"}},{"name":"MessageReceivedCallback","qualifiedName":"cast.MessageReceivedCallback","href":"cast/MessageReceivedCallback.html","type":"typedef","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"PlayerState","qualifiedName":"cast.PlayerState","href":"cast/PlayerState.html","type":"enum","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"toString","qualifiedName":"cast.PlayerState.toString","href":"cast/PlayerState/toString.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"PlayerState","type":"enum"}},{"name":"ProgressListener","qualifiedName":"cast.ProgressListener","href":"cast/ProgressListener.html","type":"typedef","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"RemoteMediaClient","qualifiedName":"cast.RemoteMediaClient","href":"cast/RemoteMediaClient-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"RemoteMediaClient","qualifiedName":"cast.RemoteMediaClient.RemoteMediaClient","href":"cast/RemoteMediaClient/RemoteMediaClient.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"dispatchPlayerStateUpdate","qualifiedName":"cast.RemoteMediaClient.dispatchPlayerStateUpdate","href":"cast/RemoteMediaClient/dispatchPlayerStateUpdate.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"getMediaInfo","qualifiedName":"cast.RemoteMediaClient.getMediaInfo","href":"cast/RemoteMediaClient/getMediaInfo.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"load","qualifiedName":"cast.RemoteMediaClient.load","href":"cast/RemoteMediaClient/load.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"onAdBreakClipProgressUpdated","qualifiedName":"cast.RemoteMediaClient.onAdBreakClipProgressUpdated","href":"cast/RemoteMediaClient/onAdBreakClipProgressUpdated.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"onAdBreakStatusUpdated","qualifiedName":"cast.RemoteMediaClient.onAdBreakStatusUpdated","href":"cast/RemoteMediaClient/onAdBreakStatusUpdated.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"onMediaError","qualifiedName":"cast.RemoteMediaClient.onMediaError","href":"cast/RemoteMediaClient/onMediaError.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"onMetadataUpdated","qualifiedName":"cast.RemoteMediaClient.onMetadataUpdated","href":"cast/RemoteMediaClient/onMetadataUpdated.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"onPreloadStatusUpdated","qualifiedName":"cast.RemoteMediaClient.onPreloadStatusUpdated","href":"cast/RemoteMediaClient/onPreloadStatusUpdated.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"onProgressUpdated","qualifiedName":"cast.RemoteMediaClient.onProgressUpdated","href":"cast/RemoteMediaClient/onProgressUpdated.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"onQueueStatusUpdated","qualifiedName":"cast.RemoteMediaClient.onQueueStatusUpdated","href":"cast/RemoteMediaClient/onQueueStatusUpdated.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"onSendingRemoteMediaRequest","qualifiedName":"cast.RemoteMediaClient.onSendingRemoteMediaRequest","href":"cast/RemoteMediaClient/onSendingRemoteMediaRequest.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"pause","qualifiedName":"cast.RemoteMediaClient.pause","href":"cast/RemoteMediaClient/pause.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"play","qualifiedName":"cast.RemoteMediaClient.play","href":"cast/RemoteMediaClient/play.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"playerState","qualifiedName":"cast.RemoteMediaClient.playerState","href":"cast/RemoteMediaClient/playerState.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"showTracksChooserDialog","qualifiedName":"cast.RemoteMediaClient.showTracksChooserDialog","href":"cast/RemoteMediaClient/showTracksChooserDialog.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"skipAd","qualifiedName":"cast.RemoteMediaClient.skipAd","href":"cast/RemoteMediaClient/skipAd.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"stop","qualifiedName":"cast.RemoteMediaClient.stop","href":"cast/RemoteMediaClient/stop.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"RemoteMediaClient","type":"class"}},{"name":"SessionManager","qualifiedName":"cast.SessionManager","href":"cast/SessionManager-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"SessionManager","qualifiedName":"cast.SessionManager.SessionManager","href":"cast/SessionManager/SessionManager.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionManager","type":"class"}},{"name":"getCastDevice","qualifiedName":"cast.SessionManager.getCastDevice","href":"cast/SessionManager/getCastDevice.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionManager","type":"class"}},{"name":"onMessageReceived","qualifiedName":"cast.SessionManager.onMessageReceived","href":"cast/SessionManager/onMessageReceived.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionManager","type":"class"}},{"name":"onSessionStateChanged","qualifiedName":"cast.SessionManager.onSessionStateChanged","href":"cast/SessionManager/onSessionStateChanged.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionManager","type":"class"}},{"name":"platformOnMessageReceived","qualifiedName":"cast.SessionManager.platformOnMessageReceived","href":"cast/SessionManager/platformOnMessageReceived.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionManager","type":"class"}},{"name":"remoteMediaClient","qualifiedName":"cast.SessionManager.remoteMediaClient","href":"cast/SessionManager/remoteMediaClient.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionManager","type":"class"}},{"name":"sendMessage","qualifiedName":"cast.SessionManager.sendMessage","href":"cast/SessionManager/sendMessage.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionManager","type":"class"}},{"name":"setMute","qualifiedName":"cast.SessionManager.setMute","href":"cast/SessionManager/setMute.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionManager","type":"class"}},{"name":"state","qualifiedName":"cast.SessionManager.state","href":"cast/SessionManager/state.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionManager","type":"class"}},{"name":"SessionState","qualifiedName":"cast.SessionState","href":"cast/SessionState.html","type":"enum","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"toString","qualifiedName":"cast.SessionState.toString","href":"cast/SessionState/toString.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"SessionState","type":"enum"}},{"name":"StreamType","qualifiedName":"cast.StreamType","href":"cast/StreamType.html","type":"enum","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"toString","qualifiedName":"cast.StreamType.toString","href":"cast/StreamType/toString.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"StreamType","type":"enum"}},{"name":"TrackSubtype","qualifiedName":"cast.TrackSubtype","href":"cast/TrackSubtype.html","type":"enum","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"toString","qualifiedName":"cast.TrackSubtype.toString","href":"cast/TrackSubtype/toString.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"TrackSubtype","type":"enum"}},{"name":"TrackType","qualifiedName":"cast.TrackType","href":"cast/TrackType.html","type":"enum","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"toString","qualifiedName":"cast.TrackType.toString","href":"cast/TrackType/toString.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"TrackType","type":"enum"}},{"name":"WebImage","qualifiedName":"cast.WebImage","href":"cast/WebImage-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"cast","type":"library"}},{"name":"WebImage","qualifiedName":"cast.WebImage.WebImage","href":"cast/WebImage/WebImage.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"WebImage","type":"class"}},{"name":"decode","qualifiedName":"cast.WebImage.decode","href":"cast/WebImage/decode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"WebImage","type":"class"}},{"name":"encode","qualifiedName":"cast.WebImage.encode","href":"cast/WebImage/encode.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"WebImage","type":"class"}},{"name":"url","qualifiedName":"cast.WebImage.url","href":"cast/WebImage/url.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"WebImage","type":"class"}},{"name":"widgets","qualifiedName":"widgets","href":"widgets/widgets-library.html","type":"library","overriddenDepth":0,"packageName":"flutter_cast_framework"},{"name":"CAST_DEVICE_NAME_PLACEHOLDER","qualifiedName":"widgets.CAST_DEVICE_NAME_PLACEHOLDER","href":"widgets/CAST_DEVICE_NAME_PLACEHOLDER-constant.html","type":"top-level constant","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"widgets","type":"library"}},{"name":"CastButton","qualifiedName":"widgets.CastButton","href":"widgets/CastButton-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"widgets","type":"library"}},{"name":"CastButton","qualifiedName":"widgets.CastButton.CastButton","href":"widgets/CastButton/CastButton.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastButton","type":"class"}},{"name":"build","qualifiedName":"widgets.CastButton.build","href":"widgets/CastButton/build.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastButton","type":"class"}},{"name":"castFramework","qualifiedName":"widgets.CastButton.castFramework","href":"widgets/CastButton/castFramework.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastButton","type":"class"}},{"name":"color","qualifiedName":"widgets.CastButton.color","href":"widgets/CastButton/color.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastButton","type":"class"}},{"name":"padding","qualifiedName":"widgets.CastButton.padding","href":"widgets/CastButton/padding.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastButton","type":"class"}},{"name":"CastIcon","qualifiedName":"widgets.CastIcon","href":"widgets/CastIcon-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"widgets","type":"library"}},{"name":"CastIcon","qualifiedName":"widgets.CastIcon.CastIcon","href":"widgets/CastIcon/CastIcon.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastIcon","type":"class"}},{"name":"castFramework","qualifiedName":"widgets.CastIcon.castFramework","href":"widgets/CastIcon/castFramework.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastIcon","type":"class"}},{"name":"color","qualifiedName":"widgets.CastIcon.color","href":"widgets/CastIcon/color.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastIcon","type":"class"}},{"name":"createState","qualifiedName":"widgets.CastIcon.createState","href":"widgets/CastIcon/createState.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"CastIcon","type":"class"}},{"name":"ExpandedControls","qualifiedName":"widgets.ExpandedControls","href":"widgets/ExpandedControls-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"widgets","type":"library"}},{"name":"ExpandedControls","qualifiedName":"widgets.ExpandedControls.ExpandedControls","href":"widgets/ExpandedControls/ExpandedControls.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"adInfoBoxText","qualifiedName":"widgets.ExpandedControls.adInfoBoxText","href":"widgets/ExpandedControls/adInfoBoxText.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"adSkipBoxController","qualifiedName":"widgets.ExpandedControls.adSkipBoxController","href":"widgets/ExpandedControls/adSkipBoxController.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"castFramework","qualifiedName":"widgets.ExpandedControls.castFramework","href":"widgets/ExpandedControls/castFramework.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"castingToText","qualifiedName":"widgets.ExpandedControls.castingToText","href":"widgets/ExpandedControls/castingToText.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"createState","qualifiedName":"widgets.ExpandedControls.createState","href":"widgets/ExpandedControls/createState.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"onCloseRequested","qualifiedName":"widgets.ExpandedControls.onCloseRequested","href":"widgets/ExpandedControls/onCloseRequested.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"progressController","qualifiedName":"widgets.ExpandedControls.progressController","href":"widgets/ExpandedControls/progressController.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"skipAdButtonText","qualifiedName":"widgets.ExpandedControls.skipAdButtonText","href":"widgets/ExpandedControls/skipAdButtonText.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"skipAdTimerText","qualifiedName":"widgets.ExpandedControls.skipAdTimerText","href":"widgets/ExpandedControls/skipAdTimerText.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControls","type":"class"}},{"name":"ExpandedControlsConnectedDeviceLabel","qualifiedName":"widgets.ExpandedControlsConnectedDeviceLabel","href":"widgets/ExpandedControlsConnectedDeviceLabel-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"widgets","type":"library"}},{"name":"ExpandedControlsConnectedDeviceLabel","qualifiedName":"widgets.ExpandedControlsConnectedDeviceLabel.ExpandedControlsConnectedDeviceLabel","href":"widgets/ExpandedControlsConnectedDeviceLabel/ExpandedControlsConnectedDeviceLabel.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsConnectedDeviceLabel","type":"class"}},{"name":"build","qualifiedName":"widgets.ExpandedControlsConnectedDeviceLabel.build","href":"widgets/ExpandedControlsConnectedDeviceLabel/build.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsConnectedDeviceLabel","type":"class"}},{"name":"castFramework","qualifiedName":"widgets.ExpandedControlsConnectedDeviceLabel.castFramework","href":"widgets/ExpandedControlsConnectedDeviceLabel/castFramework.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsConnectedDeviceLabel","type":"class"}},{"name":"castingToText","qualifiedName":"widgets.ExpandedControlsConnectedDeviceLabel.castingToText","href":"widgets/ExpandedControlsConnectedDeviceLabel/castingToText.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsConnectedDeviceLabel","type":"class"}},{"name":"ExpandedControlsPlayer","qualifiedName":"widgets.ExpandedControlsPlayer","href":"widgets/ExpandedControlsPlayer-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"widgets","type":"library"}},{"name":"ExpandedControlsPlayer","qualifiedName":"widgets.ExpandedControlsPlayer.ExpandedControlsPlayer","href":"widgets/ExpandedControlsPlayer/ExpandedControlsPlayer.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsPlayer","type":"class"}},{"name":"castFramework","qualifiedName":"widgets.ExpandedControlsPlayer.castFramework","href":"widgets/ExpandedControlsPlayer/castFramework.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsPlayer","type":"class"}},{"name":"createState","qualifiedName":"widgets.ExpandedControlsPlayer.createState","href":"widgets/ExpandedControlsPlayer/createState.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsPlayer","type":"class"}},{"name":"ExpandedControlsProgress","qualifiedName":"widgets.ExpandedControlsProgress","href":"widgets/ExpandedControlsProgress-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"widgets","type":"library"}},{"name":"ExpandedControlsProgress","qualifiedName":"widgets.ExpandedControlsProgress.ExpandedControlsProgress","href":"widgets/ExpandedControlsProgress/ExpandedControlsProgress.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsProgress","type":"class"}},{"name":"controller","qualifiedName":"widgets.ExpandedControlsProgress.controller","href":"widgets/ExpandedControlsProgress/controller.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsProgress","type":"class"}},{"name":"createState","qualifiedName":"widgets.ExpandedControlsProgress.createState","href":"widgets/ExpandedControlsProgress/createState.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsProgress","type":"class"}},{"name":"ExpandedControlsProgressController","qualifiedName":"widgets.ExpandedControlsProgressController","href":"widgets/ExpandedControlsProgressController-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"widgets","type":"library"}},{"name":"ExpandedControlsProgressController","qualifiedName":"widgets.ExpandedControlsProgressController.ExpandedControlsProgressController","href":"widgets/ExpandedControlsProgressController/ExpandedControlsProgressController.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsProgressController","type":"class"}},{"name":"duration","qualifiedName":"widgets.ExpandedControlsProgressController.duration","href":"widgets/ExpandedControlsProgressController/duration.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsProgressController","type":"class"}},{"name":"progress","qualifiedName":"widgets.ExpandedControlsProgressController.progress","href":"widgets/ExpandedControlsProgressController/progress.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsProgressController","type":"class"}},{"name":"updateProgress","qualifiedName":"widgets.ExpandedControlsProgressController.updateProgress","href":"widgets/ExpandedControlsProgressController/updateProgress.html","type":"method","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsProgressController","type":"class"}},{"name":"ExpandedControlsToolbar","qualifiedName":"widgets.ExpandedControlsToolbar","href":"widgets/ExpandedControlsToolbar-class.html","type":"class","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"widgets","type":"library"}},{"name":"ExpandedControlsToolbar","qualifiedName":"widgets.ExpandedControlsToolbar.ExpandedControlsToolbar","href":"widgets/ExpandedControlsToolbar/ExpandedControlsToolbar.html","type":"constructor","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsToolbar","type":"class"}},{"name":"build","qualifiedName":"widgets.ExpandedControlsToolbar.build","href":"widgets/ExpandedControlsToolbar/build.html","type":"method","overriddenDepth":1,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsToolbar","type":"class"}},{"name":"castFramework","qualifiedName":"widgets.ExpandedControlsToolbar.castFramework","href":"widgets/ExpandedControlsToolbar/castFramework.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsToolbar","type":"class"}},{"name":"onBackTapped","qualifiedName":"widgets.ExpandedControlsToolbar.onBackTapped","href":"widgets/ExpandedControlsToolbar/onBackTapped.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsToolbar","type":"class"}},{"name":"subtitle","qualifiedName":"widgets.ExpandedControlsToolbar.subtitle","href":"widgets/ExpandedControlsToolbar/subtitle.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsToolbar","type":"class"}},{"name":"title","qualifiedName":"widgets.ExpandedControlsToolbar.title","href":"widgets/ExpandedControlsToolbar/title.html","type":"property","overriddenDepth":0,"packageName":"flutter_cast_framework","enclosedBy":{"name":"ExpandedControlsToolbar","type":"class"}}] diff --git a/docs/api/static-assets/favicon.png b/docs/api/static-assets/favicon.png new file mode 100644 index 0000000..43d2ffa Binary files /dev/null and b/docs/api/static-assets/favicon.png differ diff --git a/docs/api/static-assets/github.css b/docs/api/static-assets/github.css new file mode 100644 index 0000000..791932b --- /dev/null +++ b/docs/api/static-assets/github.css @@ -0,0 +1,99 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #998; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal, +.hljs-variable, +.hljs-template-variable, +.hljs-tag .hljs-attr { + color: #008080; +} + +.hljs-string, +.hljs-doctag { + color: #d14; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #900; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-type, +.hljs-class .hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-link { + color: #009926; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/docs/api/static-assets/highlight.pack.js b/docs/api/static-assets/highlight.pack.js new file mode 100644 index 0000000..dabdd3c --- /dev/null +++ b/docs/api/static-assets/highlight.pack.js @@ -0,0 +1,775 @@ +/*! + Highlight.js v11.0.1 (git: 1cf31f015d) + (c) 2006-2021 Ivan Sagalaev and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";var e={exports:{}};function t(e){ +return e instanceof Map?e.clear=e.delete=e.set=()=>{ +throw Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((n=>{var i=e[n] +;"object"!=typeof i||Object.isFrozen(i)||t(i)})),e} +e.exports=t,e.exports.default=t;var n=e.exports;class i{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function r(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function s(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] +;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const o=e=>!!e.kind +;class a{constructor(e,t){ +this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ +this.buffer+=r(e)}openNode(e){if(!o(e))return;let t=e.kind +;t=e.sublanguage?"language-"+t:((e,{prefix:t})=>{if(e.includes(".")){ +const n=e.split(".") +;return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ") +}return`${t}${e}`})(t,{prefix:this.classPrefix}),this.span(t)}closeNode(e){ +o(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}class l{constructor(){this.rootNode={ +children:[]},this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const t={kind:e,children:[]} +;this.add(t),this.stack.push(t)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ +return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), +t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +l._collapse(e)})))}}class c extends l{constructor(e){super(),this.options=e} +addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())} +addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root +;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){ +return new a(this,this.options).value()}finalize(){return!0}}function g(e){ +return e?"string"==typeof e?e:e.source:null}function d(...e){ +return e.map((e=>g(e))).join("")}function u(...e){return"("+((e=>{ +const t=e[e.length-1] +;return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{} +})(e).capture?"":"?:")+e.map((e=>g(e))).join("|")+")"}function h(e){ +return RegExp(e.toString()+"|").exec("").length-1} +const f=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function p(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n +;let i=g(e),r="";for(;i.length>0;){const e=f.exec(i);if(!e){r+=i;break} +r+=i.substring(0,e.index), +i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+(Number(e[1])+t):(r+=e[0], +"("===e[0]&&n++)}return r})).map((e=>`(${e})`)).join(t)} +const b="[a-zA-Z]\\w*",m="[a-zA-Z_]\\w*",E="\\b\\d+(\\.\\d+)?",x="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",y="\\b(0b[01]+)",w={ +begin:"\\\\[\\s\\S]",relevance:0},_={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[w]},v={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[w]},O=(e,t,n={})=>{const i=s({scope:"comment",begin:e,end:t, +contains:[]},n);i.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const r=u("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return i.contains.push({begin:d(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i +},k=O("//","$"),N=O("/\\*","\\*/"),S=O("#","$");var M=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:b,UNDERSCORE_IDENT_RE:m, +NUMBER_RE:E,C_NUMBER_RE:x,BINARY_NUMBER_RE:y, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const t=/^#![ ]*\// +;return e.binary&&(e.begin=d(t,/.*\b/,e.binary,/\b.*/)),s({scope:"meta",begin:t, +end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)}, +BACKSLASH_ESCAPE:w,APOS_STRING_MODE:_,QUOTE_STRING_MODE:v,PHRASAL_WORDS_MODE:{ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},COMMENT:O,C_LINE_COMMENT_MODE:k,C_BLOCK_COMMENT_MODE:N,HASH_COMMENT_MODE:S, +NUMBER_MODE:{scope:"number",begin:E,relevance:0},C_NUMBER_MODE:{scope:"number", +begin:x,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:y,relevance:0}, +REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, +end:/\/[gimuy]*/,illegal:/\n/,contains:[w,{begin:/\[/,end:/\]/,relevance:0, +contains:[w]}]}]},TITLE_MODE:{scope:"title",begin:b,relevance:0}, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:m,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ +t.data._beginMatch!==e[1]&&t.ignoreMatch()}})});function R(e,t){ +"."===e.input[e.index-1]&&t.ignoreMatch()}function j(e,t){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function A(e,t){ +t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=R,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function I(e,t){ +Array.isArray(e.illegal)&&(e.illegal=u(...e.illegal))}function B(e,t){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function T(e,t){ +void 0===e.relevance&&(e.relevance=1)}const L=(e,t)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t] +})),e.keywords=n.keywords, +e.begin=d(n.beforeMatch,d("(?=",n.begin,")")),e.starts={relevance:0, +contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch +},D=["of","and","for","in","not","or","if","then","parent","list","value"] +;function P(e,t,n="keyword"){const i=Object.create(null) +;return"string"==typeof e?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach((n=>{ +Object.assign(i,P(e[n],t,n))})),i;function r(e,n){ +t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") +;i[n[0]]=[e,C(n[0],n[1])]}))}}function C(e,t){ +return t?Number(t):(e=>D.includes(e.toLowerCase()))(e)?0:1}const H={},$=e=>{ +console.error(e)},U=(e,...t)=>{console.log("WARN: "+e,...t)},z=(e,t)=>{ +H[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),H[`${e}/${t}`]=!0) +},K=Error();function W(e,t,{key:n}){let i=0;const r=e[n],s={},o={} +;for(let e=1;e<=t.length;e++)o[e+i]=r[e],s[e+i]=!0,i+=h(t[e-1]) +;e[n]=o,e[n]._emit=s,e[n]._multi=!0}function X(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw $("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +K +;if("object"!=typeof e.beginScope||null===e.beginScope)throw $("beginScope must be object"), +K;W(e,e.begin,{key:"beginScope"}),e.begin=p(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw $("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +K +;if("object"!=typeof e.endScope||null===e.endScope)throw $("endScope must be object"), +K;W(e,e.end,{key:"endScope"}),e.end=p(e.end,{joinWith:""})}})(e)}function G(e){ +function t(t,n){return RegExp(g(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))} +class n{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,t){ +t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), +this.matchAt+=h(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(p(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const t=this.matcherRe.exec(e);if(!t)return null +;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] +;return t.splice(0,n),Object.assign(t,i)}}class i{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n +;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), +t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ +this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ +const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex +;let n=t.exec(e) +;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ +const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} +return n&&(this.regexIndex+=n.position+1, +this.regexIndex===this.count&&this.considerAll()),n}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=s(e.classNameAliases||{}),function n(r,o){const a=r +;if(r.isCompiled)return a +;[j,B,X,L].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))), +r.__beforeBegin=null,[A,I,T].forEach((e=>e(r,o))),r.isCompiled=!0;let l=null +;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), +l=r.keywords.$pattern, +delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=P(r.keywords,e.case_insensitive)), +a.keywordPatternRe=t(l,!0), +o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=t(r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), +r.end&&(a.endRe=t(r.end)), +a.terminatorEnd=g(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)), +r.illegal&&(a.illegalRe=t(r.illegal)), +r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>s(e,{ +variants:null},t)))),e.cachedVariants?e.cachedVariants:Z(e)?s(e,{ +starts:e.starts?s(e.starts):null +}):Object.isFrozen(e)?s(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{n(e,a) +})),r.starts&&n(r.starts,o),a.matcher=(e=>{const t=new i +;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(a),a}(e)}function Z(e){ +return!!e&&(e.endsWithParent||Z(e.starts))}const F=r,V=s,q=Symbol("nomatch") +;var J=(e=>{const t=Object.create(null),r=Object.create(null),s=[];let o=!0 +;const a="Could not find the language '{}', did you forget to load/include a language module?",l={ +disableAutodetect:!0,name:"Plain text",contains:[]};let g={ +ignoreUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:c};function d(e){ +return g.noHighlightRe.test(e)}function u(e,t,n,i){let r="",s="" +;"object"==typeof t?(r=e, +n=t.ignoreIllegals,s=t.language,i=void 0):(z("10.7.0","highlight(lang, code, ...args) has been deprecated."), +z("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +s=e,r=t),void 0===n&&(n=!0);const o={code:r,language:s};w("before:highlight",o) +;const a=o.result?o.result:h(o.language,o.code,n,i) +;return a.code=o.code,w("after:highlight",a),a}function h(e,n,r,s){ +const l=Object.create(null);function c(){if(!k.keywords)return void S.addText(M) +;let e=0;k.keywordPatternRe.lastIndex=0;let t=k.keywordPatternRe.exec(M),n="" +;for(;t;){n+=M.substring(e,t.index) +;const r=_.case_insensitive?t[0].toLowerCase():t[0],s=(i=r,k.keywords[i]);if(s){ +const[e,i]=s +;if(S.addText(n),n="",l[r]=(l[r]||0)+1,l[r]<=7&&(R+=i),e.startsWith("_"))n+=t[0];else{ +const n=_.classNameAliases[e]||e;S.addKeyword(t[0],n)}}else n+=t[0] +;e=k.keywordPatternRe.lastIndex,t=k.keywordPatternRe.exec(M)}var i +;n+=M.substr(e),S.addText(n)}function d(){null!=k.subLanguage?(()=>{ +if(""===M)return;let e=null;if("string"==typeof k.subLanguage){ +if(!t[k.subLanguage])return void S.addText(M) +;e=h(k.subLanguage,M,!0,N[k.subLanguage]),N[k.subLanguage]=e._top +}else e=f(M,k.subLanguage.length?k.subLanguage:null) +;k.relevance>0&&(R+=e.relevance),S.addSublanguage(e._emitter,e.language) +})():c(),M=""}function u(e,t){let n=1;for(;void 0!==t[n];){if(!e._emit[n]){n++ +;continue}const i=_.classNameAliases[e[n]]||e[n],r=t[n] +;i?S.addKeyword(r,i):(M=r,c(),M=""),n++}}function p(e,t){ +return e.scope&&"string"==typeof e.scope&&S.openNode(_.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(S.addKeyword(M,_.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +M=""):e.beginScope._multi&&(u(e.beginScope,t),M="")),k=Object.create(e,{parent:{ +value:k}}),k}function b(e,t,n){let r=((e,t)=>{const n=e&&e.exec(t) +;return n&&0===n.index})(e.endRe,n);if(r){if(e["on:end"]){const n=new i(e) +;e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return b(e.parent,t,n)}function m(e){ +return 0===k.matcher.regexIndex?(M+=e[0],1):(I=!0,0)}function x(e){ +const t=e[0],i=n.substr(e.index),r=b(k,e,i);if(!r)return q;const s=k +;k.endScope&&k.endScope._wrap?(d(), +S.addKeyword(t,k.endScope._wrap)):k.endScope&&k.endScope._multi?(d(), +u(k.endScope,e)):s.skip?M+=t:(s.returnEnd||s.excludeEnd||(M+=t), +d(),s.excludeEnd&&(M=t));do{ +k.scope&&!k.isMultiClass&&S.closeNode(),k.skip||k.subLanguage||(R+=k.relevance), +k=k.parent}while(k!==r.parent) +;return r.starts&&p(r.starts,e),s.returnEnd?0:t.length}let y={};function w(t,s){ +const a=s&&s[0];if(M+=t,null==a)return d(),0 +;if("begin"===y.type&&"end"===s.type&&y.index===s.index&&""===a){ +if(M+=n.slice(s.index,s.index+1),!o){const t=Error(`0 width match regex (${e})`) +;throw t.languageName=e,t.badRule=y.rule,t}return 1} +if(y=s,"begin"===s.type)return(e=>{ +const t=e[0],n=e.rule,r=new i(n),s=[n.__beforeBegin,n["on:begin"]] +;for(const n of s)if(n&&(n(e,r),r.isMatchIgnored))return m(t) +;return n.skip?M+=t:(n.excludeBegin&&(M+=t), +d(),n.returnBegin||n.excludeBegin||(M=t)),p(n,e),n.returnBegin?0:t.length})(s) +;if("illegal"===s.type&&!r){ +const e=Error('Illegal lexeme "'+a+'" for mode "'+(k.scope||"")+'"') +;throw e.mode=k,e}if("end"===s.type){const e=x(s);if(e!==q)return e} +if("illegal"===s.type&&""===a)return 1 +;if(A>1e5&&A>3*s.index)throw Error("potential infinite loop, way more iterations than matches") +;return M+=a,a.length}const _=E(e) +;if(!_)throw $(a.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const v=G(_);let O="",k=s||v;const N={},S=new g.__emitter(g);(()=>{const e=[] +;for(let t=k;t!==_;t=t.parent)t.scope&&e.unshift(t.scope) +;e.forEach((e=>S.openNode(e)))})();let M="",R=0,j=0,A=0,I=!1;try{ +for(k.matcher.considerAll();;){ +A++,I?I=!1:k.matcher.considerAll(),k.matcher.lastIndex=j +;const e=k.matcher.exec(n);if(!e)break;const t=w(n.substring(j,e.index),e) +;j=e.index+t}return w(n.substr(j)),S.closeAllNodes(),S.finalize(),O=S.toHTML(),{ +language:e,value:O,relevance:R,illegal:!1,_emitter:S,_top:k}}catch(t){ +if(t.message&&t.message.includes("Illegal"))return{language:e,value:F(n), +illegal:!0,relevance:0,_illegalBy:{message:t.message,index:j, +context:n.slice(j-100,j+100),mode:t.mode,resultSoFar:O},_emitter:S};if(o)return{ +language:e,value:F(n),illegal:!1,relevance:0,errorRaised:t,_emitter:S,_top:k} +;throw t}}function f(e,n){n=n||g.languages||Object.keys(t);const i=(e=>{ +const t={value:F(e),illegal:!1,relevance:0,_top:l,_emitter:new g.__emitter(g)} +;return t._emitter.addText(e),t})(e),r=n.filter(E).filter(y).map((t=>h(t,e,!1))) +;r.unshift(i);const s=r.sort(((e,t)=>{ +if(e.relevance!==t.relevance)return t.relevance-e.relevance +;if(e.language&&t.language){if(E(e.language).supersetOf===t.language)return 1 +;if(E(t.language).supersetOf===e.language)return-1}return 0})),[o,a]=s,c=o +;return c.secondBest=a,c}function p(e){let t=null;const n=(e=>{ +let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"" +;const n=g.languageDetectRe.exec(t);if(n){const t=E(n[1]) +;return t||(U(a.replace("{}",n[1])), +U("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"} +return t.split(/\s+/).find((e=>d(e)||E(e)))})(e);if(d(n))return +;w("before:highlightElement",{el:e,language:n +}),!g.ignoreUnescapedHTML&&e.children.length>0&&(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/issues/2886"), +console.warn(e)),t=e;const i=t.textContent,s=n?u(i,{language:n,ignoreIllegals:!0 +}):f(i);e.innerHTML=s.value,((e,t,n)=>{const i=t&&r[t]||n +;e.classList.add("hljs"),e.classList.add("language-"+i) +})(e,n,s.language),e.result={language:s.language,re:s.relevance, +relevance:s.relevance},s.secondBest&&(e.secondBest={ +language:s.secondBest.language,relevance:s.secondBest.relevance +}),w("after:highlightElement",{el:e,result:s,text:i})}let b=!1;function m(){ +"loading"!==document.readyState?document.querySelectorAll(g.cssSelector).forEach(p):b=!0 +}function E(e){return e=(e||"").toLowerCase(),t[e]||t[r[e]]} +function x(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +r[e.toLowerCase()]=t}))}function y(e){const t=E(e) +;return t&&!t.disableAutodetect}function w(e,t){const n=e;s.forEach((e=>{ +e[n]&&e[n](t)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +b&&m()}),!1),Object.assign(e,{highlight:u,highlightAuto:f,highlightAll:m, +highlightElement:p, +highlightBlock:e=>(z("10.7.0","highlightBlock will be removed entirely in v12.0"), +z("10.7.0","Please use highlightElement now."),p(e)),configure:e=>{g=V(g,e)}, +initHighlighting:()=>{ +m(),z("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +m(),z("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(n,i)=>{let r=null;try{r=i(e)}catch(e){ +if($("Language definition for '{}' could not be registered.".replace("{}",n)), +!o)throw e;$(e),r=l} +r.name||(r.name=n),t[n]=r,r.rawDefinition=i.bind(null,e),r.aliases&&x(r.aliases,{ +languageName:n})},unregisterLanguage:e=>{delete t[e] +;for(const t of Object.keys(r))r[t]===e&&delete r[t]}, +listLanguages:()=>Object.keys(t),getLanguage:E,registerAliases:x, +autoDetection:y,inherit:V,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ +e["before:highlightBlock"](Object.assign({block:t.el},t)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ +e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),s.push(e)} +}),e.debugMode=()=>{o=!1},e.safeMode=()=>{o=!0},e.versionString="11.0.1" +;for(const e in M)"object"==typeof M[e]&&n(M[e]);return Object.assign(e,M),e +})({}),Y=Object.freeze({__proto__:null});const Q=J +;for(const e of Object.keys(Y)){const t=e.replace("grmr_","") +;Q.registerLanguage(t,Y[e])}return Q}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("xml",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} +function a(...n){return n.map((n=>e(n))).join("")}function s(...n){ +return"("+((e=>{const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(n).capture?"":"?:")+n.map((n=>e(n))).join("|")+")"}return e=>{ +const t=a(/[A-Z_]/,a("(?:",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),i={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},c={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},r=e.inherit(c,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),g=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),m={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,contains:[{className:"meta",begin://, +relevance:10,contains:[c,g,l,r,{begin:/\[/,end:/\]/,contains:[{className:"meta", +begin://,contains:[c,r,g,l]}]}]},e.COMMENT(//,{ +relevance:10}),{begin://,relevance:10},i,{ +className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[m],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[m],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:a(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name", +begin:t,relevance:0,starts:m}]},{className:"tag",begin:a(/<\//,n(a(t,/>/))), +contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0, +endsParent:!0}]}]}}})());hljs.registerLanguage("markdown",(()=>{"use strict";function n(...n){ +return n.map((n=>{return(e=n)?"string"==typeof e?e:e.source:null;var e +})).join("")}return e=>{const a={begin:/<\/?[A-Za-z_]/,end:">", +subLanguage:"xml",relevance:0},i={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0 +},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{begin:n(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.+?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{ +className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},s={className:"strong",contains:[], +variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},c={ +className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{ +begin:/_(?!_)/,end:/_/,relevance:0}]};s.contains.push(c),c.contains.push(s) +;let t=[a,i] +;return s.contains=s.contains.concat(t),c.contains=c.contains.concat(t), +t=t.concat(s,c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:t},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:t}]}]},a,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},s,c,{className:"quote",begin:"^>\\s+",contains:t, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},i,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}})());hljs.registerLanguage("css",(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() +;return n=>{const a=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},HEXCOLOR:{ +scope:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, +ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0}}))(n),l=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", +case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, +classNameAliases:{keyframePosition:"selector-tag"}, +contains:[n.C_BLOCK_COMMENT_MODE,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ +},a.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 +},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+i.join("|")+")"},{begin:"::("+o.join("|")+")"}]},{ +className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:":",end:"[;}]", +contains:[a.HEXCOLOR,a.IMPORTANT,a.CSS_NUMBER_MODE,...l,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}] +},{className:"built_in",begin:/[\w-]+(?=\()/}]},{ +begin:(s=/@/,((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",s,")")), +end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword", +begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0, +relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only", +attribute:t.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute" +},...l,a.CSS_NUMBER_MODE]}]},{className:"selector-tag", +begin:"\\b("+e.join("|")+")\\b"}]};var s}})());hljs.registerLanguage("plaintext",(()=>{"use strict";return t=>({ +name:"Plain text",aliases:["text","txt"],disableAutodetect:!0})})());hljs.registerLanguage("bash",(()=>{"use strict";function e(...e){ +return e.map((e=>{return(s=e)?"string"==typeof s?s:s.source:null;var s +})).join("")}return s=>{const n={},t={begin:/\$\{/,end:/\}/,contains:["self",{ +begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{ +begin:e(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const a={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[s.BACKSLASH_ESCAPE]},i={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[s.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/, +contains:[s.BACKSLASH_ESCAPE,n,a]};a.contains.push(c);const o={begin:/\$\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},s.NUMBER_MODE,n] +},r=s.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),l={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[s.inherit(s.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z._-]+\b/, +keyword:["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"], +literal:["true","false"], +built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp" +},contains:[r,s.SHEBANG(),l,o,s.HASH_COMMENT_MODE,i,c,{className:"",begin:/\\"/ +},{className:"string",begin:/'/,end:/'/},n]}}})());hljs.registerLanguage("kotlin",(()=>{"use strict" +;var e="\\.([0-9](_*[0-9])*)",n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={ +className:"number",variants:[{ +begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ +begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};return e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},t={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[t,s]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,t,s]}]};s.contains.push(r);const l={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(r,{className:"string"})]}] +},o=a,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),E={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},d=E;return d.variants[1].contains=[E],E.variants[1].contains=[d], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},i,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[E,e.C_LINE_COMMENT_MODE,b],relevance:0 +},e.C_LINE_COMMENT_MODE,b,l,c,r,e.C_NUMBER_MODE]},b]},{className:"class", +beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/, +excludeBegin:!0,returnEnd:!0},l,c]},r,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},o]}}})());hljs.registerLanguage("diff",(()=>{"use strict";function e(...e){ +return"("+((e=>{const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(e).capture?"":"?:")+e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null +;var n})).join("|")+")"}return n=>({name:"Diff",aliases:["patch"],contains:[{ +className:"meta",relevance:10, +match:e(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:e(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]})})());hljs.registerLanguage("shell",(()=>{"use strict";return s=>({ +name:"Shell Session",aliases:["console","shellsession"],contains:[{ +className:"meta",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{ +end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]})})());hljs.registerLanguage("json",(()=>{"use strict";return e=>({name:"JSON", +contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01 +},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,{ +beginKeywords:"true false null" +},e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}) +})());hljs.registerLanguage("java",(()=>{"use strict" +;var e="\\.([0-9](_*[0-9])*)",a="[0-9a-fA-F](_*[0-9a-fA-F])*",n={ +className:"number",variants:[{ +begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ +begin:`\\b0[xX]((${a})\\.?|(${a})?\\.(${a}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${a})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};function s(e,a,n){return-1===n?"":e.replace(a,(t=>s(e,a,n-1)))} +return e=>{ +const a="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",t=a+s("(?:<"+a+"~~~(?:\\s*,\\s*"+a+"~~~)*>)?",/~~~/g,2),i={ +keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do"], +literal:["false","true","null"], +type:["char","boolean","long","float","int","byte","short","double"], +built_in:["super","this"]},r={className:"meta",begin:"@"+a,contains:[{ +begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} +;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,a],className:{ +1:"keyword",3:"title.class"}},{begin:[a,/\s+/,a,/\s+/,/=/],className:{1:"type", +3:"variable",5:"operator"}},{begin:[/record/,/\s+/,a],className:{1:"keyword", +3:"title.class"},contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{ +begin:["(?:"+t+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ +2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0, +contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,n,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},n,r]}}})());hljs.registerLanguage("objectivec",(()=>{"use strict";return e=>{ +const n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n, +keyword:["@interface","@class","@protocol","@implementation"]};return{ +name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], +keywords:{$pattern:n, +keyword:["int","float","while","char","export","sizeof","typedef","const","struct","for","union","unsigned","long","volatile","static","bool","mutable","if","do","return","goto","void","enum","else","break","extern","asm","case","short","default","double","register","explicit","signed","typename","this","switch","continue","wchar_t","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","super","unichar","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], +literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], +built_in:["BOOL","dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"] +},illegal:"/,end:/$/,illegal:"\\n" +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", +begin:"("+_.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:_, +contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, +relevance:0}]}}})());hljs.registerLanguage("dart",(()=>{"use strict";return e=>{const n={ +className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},a={className:"subst", +variants:[{begin:/\$\{/,end:/\}/}],keywords:"true false null this is new super" +},t={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""', +end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n" +},{begin:"'''",end:"'''",contains:[e.BACKSLASH_ESCAPE,n,a]},{begin:'"""', +end:'"""',contains:[e.BACKSLASH_ESCAPE,n,a]},{begin:"'",end:"'",illegal:"\\n", +contains:[e.BACKSLASH_ESCAPE,n,a]},{begin:'"',end:'"',illegal:"\\n", +contains:[e.BACKSLASH_ESCAPE,n,a]}]};a.contains=[e.C_NUMBER_MODE,t] +;const i=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"],r=i.map((e=>e+"?")) +;return{name:"Dart",keywords:{ +keyword:["abstract","as","assert","async","await","break","case","catch","class","const","continue","covariant","default","deferred","do","dynamic","else","enum","export","extends","extension","external","factory","false","final","finally","for","Function","get","hide","if","implements","import","in","inferface","is","late","library","mixin","new","null","on","operator","part","required","rethrow","return","set","show","static","super","switch","sync","this","throw","true","try","typedef","var","void","while","with","yield"], +built_in:i.concat(r).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]), +$pattern:/[A-Za-z][A-Za-z0-9_]*\??/}, +contains:[t,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0 +}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".", +end:"$",relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{ +className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0, +contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE] +},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}}})());hljs.registerLanguage("ruby",(()=>{"use strict";function e(e){ +return n("(?=",e,")")}function n(...e){return e.map((e=>{ +return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return a=>{ +const i="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s={ +keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__", +built_in:"proc lambda",literal:"true false nil"},r={className:"doctag", +begin:"@[A-Za-z]+"},b={begin:"#<",end:">"},c=[a.COMMENT("#","$",{contains:[r] +}),a.COMMENT("^=begin","^=end",{contains:[r],relevance:10 +}),a.COMMENT("^__END__","\\n$")],t={className:"subst",begin:/#\{/,end:/\}/, +keywords:s},g={className:"string",contains:[a.BACKSLASH_ESCAPE,t],variants:[{ +begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/, +end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{ +begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/, +end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{ +begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{ +begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n(/<<[-~]?'?/,e(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[a.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[a.BACKSLASH_ESCAPE,t]})]}]},d="[0-9](_?[0-9])*",l={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},o={className:"params",begin:"\\(",end:"\\)", +endsParent:!0,keywords:s},_=[g,{className:"class",beginKeywords:"class module", +end:"$|;",illegal:/=/,contains:[a.inherit(a.TITLE_MODE,{ +begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{ +begin:"("+a.IDENT_RE+"::)?"+a.IDENT_RE,relevance:0}]}].concat(c)},{ +className:"function",begin:n(/def\s+/,e(i+"\\s*(\\(|;|$)")),relevance:0, +keywords:"def",end:"$|;",contains:[a.inherit(a.TITLE_MODE,{begin:i +}),o].concat(c)},{begin:a.IDENT_RE+"::"},{className:"symbol", +begin:a.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[g,{begin:i}],relevance:0},l,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:s},{ +begin:"("+a.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{ +className:"regexp",contains:[a.BACKSLASH_ESCAPE,t],illegal:/\n/,variants:[{ +begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(", +end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}] +}].concat(b,c),relevance:0}].concat(b,c);t.contains=_,o.contains=_;const E=[{ +begin:/^\s*=>/,starts:{end:"$",contains:_}},{className:"meta", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",contains:_}}];return c.unshift(b),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/, +contains:[a.SHEBANG({binary:"ruby"})].concat(E).concat(c).concat(_)}}})());hljs.registerLanguage("yaml",(()=>{"use strict";return e=>{ +const n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(s,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},t={begin:/\{/, +end:/\}/,contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]", +contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{ +begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ +begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type", +begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},t,g,s],c=[...b] +;return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:b}}})());hljs.registerLanguage("javascript",(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],t=["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],s=["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],r=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],i=["arguments","this","super","console","window","document","localStorage","module","global"],c=[].concat(r,t,s) +;function o(e){return l("(?=",e,")")}function l(...e){return e.map((e=>{ +return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return b=>{ +const g=e,d={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/, +isTrulyOpeningTag:(e,n)=>{const a=e[0].length+e.index,t=e.input[a] +;"<"!==t?">"===t&&(((e,{after:n})=>{const a="",B={ +match:[/const|var|let/,/\s+/,g,/\s*/,/=\s*/,o(C)],className:{1:"keyword", +3:"title.function"},contains:[w]};return{name:"Javascript", +aliases:["js","jsx","mjs","cjs"],keywords:u,exports:{PARAMS_CONTAINS:S}, +illegal:/#(?![$_A-z])/,contains:[b.SHEBANG({label:"shebang",binary:"node", +relevance:5}),{label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},b.APOS_STRING_MODE,b.QUOTE_STRING_MODE,N,f,A,v,y,O,{className:"attr", +begin:g+o(":"),relevance:0},B,{ +begin:"("+b.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[v,b.REGEXP_MODE,{ +className:"function",begin:C,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:b.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0, +excludeEnd:!0,keywords:u,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/, +relevance:0},{variants:[{begin:"<>",end:""},{begin:d.begin, +"on:begin":d.isTrulyOpeningTag,end:d.end}],subLanguage:"xml",contains:[{ +begin:d.begin,end:d.end,skip:!0,contains:["self"]}]}]},I,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+b.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[w,b.inherit(b.TITLE_MODE,{begin:g, +className:"title.function"})]},{match:/\.\.\./,relevance:0},M,{match:"\\$"+g, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[w]},T,{relevance:0,match:/\b[A-Z][A-Z_]+\b/, +className:"variable.constant"},R,k,{match:/\$[(.]/}]}}})());hljs.registerLanguage("c",(()=>{"use strict";function e(e){ +return((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?:",e,")?") +}return n=>{const t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}] +}),s="[a-zA-Z_]\\w*::",r="(decltype\\(auto\\)|"+e(s)+"[a-zA-Z_]\\w*"+e("<[^<>]+>")+")",a={ +className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ +match:/\batomic_[a-z]{3,6}\b/}]},i={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},n.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},n.inherit(i,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},o={ +className:"title",begin:e(s)+n.IDENT_RE,relevance:0 +},d=e(s)+n.IDENT_RE+"\\s*\\(",u={ +keyword:["asm","auto","break","case","const","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","static","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], +type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","complex","bool","imaginary"], +literal:"true false NULL", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" +},g=[c,a,t,n.C_BLOCK_COMMENT_MODE,l,i],m={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:g.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:g.concat(["self"]),relevance:0}]),relevance:0},_={ +begin:"("+r+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", +keywords:u,relevance:0},{begin:d,returnBegin:!0,contains:[n.inherit(o,{ +className:"title.function"})],relevance:0},{relevance:0,match:/,/},{ +className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0, +contains:[t,n.C_BLOCK_COMMENT_MODE,i,l,a,{begin:/\(/,end:/\)/,keywords:u, +relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,i,l,a]}] +},a,t,n.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, +disableAutodetect:!0,illegal:"=]/,contains:[{ +beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{preprocessor:c, +strings:i,keywords:u}}}})());hljs.registerLanguage("swift",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function a(e){return t("(?=",e,")")} +function t(...a){return a.map((a=>e(a))).join("")}function n(...a){ +return"("+((e=>{const a=e[e.length-1] +;return"object"==typeof a&&a.constructor===Object?(e.splice(e.length-1,1),a):{} +})(a).capture?"":"?:")+a.map((a=>e(a))).join("|")+")"} +const i=e=>t(/\b/,e,/\w$/.test(e)?/\b/:/\B/),s=["Protocol","Type"].map(i),u=["init","self"].map(i),c=["Any","Self"],r=["actor","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],o=["false","nil","true"],l=["assignment","associativity","higherThan","left","lowerThan","none","right"],m=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],p=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],F=n(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),d=n(F,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),b=t(F,d,"*"),h=n(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),f=n(h,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),w=t(h,f,"*"),y=t(/[A-Z]/,f,"*"),g=["autoclosure",t(/convention\(/,n("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",t(/objc\(/,w,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],E=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] +;return e=>{const F={match:/\s+/,relevance:0},h=e.COMMENT("/\\*","\\*/",{ +contains:["self"]}),v=[e.C_LINE_COMMENT_MODE,h],A={match:[/\./,n(...s,...u)], +className:{2:"keyword"}},N={match:t(/\./,n(...r)),relevance:0 +},C=r.filter((e=>"string"==typeof e)).concat(["_|0"]),D={variants:[{ +className:"keyword", +match:n(...r.filter((e=>"string"!=typeof e)).concat(c).map(i),...u)}]},k={ +$pattern:n(/\b\w+/,/#\w+/),keyword:C.concat(m),literal:o},B=[A,N,D],_=[{ +match:t(/\./,n(...p)),relevance:0},{className:"built_in", +match:t(/\b/,n(...p),/(?=\()/)}],S={match:/->/,relevance:0},M=[S,{ +className:"operator",relevance:0,variants:[{match:b},{match:`\\.(\\.|${d})+`}] +}],x="([0-9a-fA-F]_*)+",I={className:"number",relevance:0,variants:[{ +match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{ +match:`\\b0x(${x})(\\.(${x}))?([pP][+-]?(([0-9]_*)+))?\\b`},{ +match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},L=(e="")=>({ +className:"subst",variants:[{match:t(/\\/,e,/[0\\tnr"']/)},{ +match:t(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),O=(e="")=>({className:"subst", +match:t(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),T=(e="")=>({className:"subst", +label:"interpol",begin:t(/\\/,e,/\(/),end:/\)/}),$=(e="")=>({begin:t(e,/"""/), +end:t(/"""/,e),contains:[L(e),O(e),T(e)]}),j=(e="")=>({begin:t(e,/"/), +end:t(/"/,e),contains:[L(e),T(e)]}),P={className:"string", +variants:[$(),$("#"),$("##"),$("###"),j(),j("#"),j("##"),j("###")]},K={ +match:t(/`/,w,/`/)},z=[K,{className:"variable",match:/\$\d+/},{ +className:"variable",match:`\\$${f}+`}],q=[{match:/(@|#)available/, +className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:E, +contains:[...M,I,P]}]}},{className:"keyword",match:t(/@/,n(...g))},{ +className:"meta",match:t(/@/,w)}],U={match:a(/\b[A-Z]/),relevance:0,contains:[{ +className:"type", +match:t(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,f,"+") +},{className:"type",match:y,relevance:0},{match:/[?!]+/,relevance:0},{ +match:/\.\.\./,relevance:0},{match:t(/\s+&\s+/,a(y)),relevance:0}]},Z={ +begin://,keywords:k,contains:[...v,...B,...q,S,U]};U.contains.push(Z) +;const V={begin:/\(/,end:/\)/,relevance:0,keywords:k,contains:["self",{ +match:t(w,/\s*:/),keywords:"_|0",relevance:0 +},...v,...B,..._,...M,I,P,...z,...q,U]},W={begin://,contains:[...v,U] +},G={begin:/\(/,end:/\)/,keywords:k,contains:[{ +begin:n(a(t(w,/\s*:/)),a(t(w,/\s+/,w,/\s*:/))),end:/:/,relevance:0,contains:[{ +className:"keyword",match:/\b_\b/},{className:"params",match:w}] +},...v,...B,...M,I,P,...q,U,V],endsParent:!0,illegal:/["']/},R={ +match:[/func/,/\s+/,n(K.match,w,b)],className:{1:"keyword",3:"title.function"}, +contains:[W,G,F],illegal:[/\[/,/%/]},X={ +match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, +contains:[W,G,F],illegal:/\[|%/},H={match:[/operator/,/\s+/,b],className:{ +1:"keyword",3:"title"}},J={begin:[/precedencegroup/,/\s+/,y],className:{ +1:"keyword",3:"title"},contains:[U],keywords:[...l,...o],end:/}/} +;for(const e of P.variants){const a=e.contains.find((e=>"interpol"===e.label)) +;a.keywords=k;const t=[...B,..._,...M,I,P,...z];a.contains=[...t,{begin:/\(/, +end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:k, +contains:[...v,R,X,{beginKeywords:"struct protocol class extension enum actor", +end:"\\{",excludeEnd:!0,keywords:k,contains:[e.inherit(e.TITLE_MODE,{ +className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...B] +},H,J,{beginKeywords:"import",end:/$/,contains:[...v],relevance:0 +},...B,..._,...M,I,P,...z,...q,U,V]}}})()); \ No newline at end of file diff --git a/docs/api/static-assets/play_button.svg b/docs/api/static-assets/play_button.svg new file mode 100644 index 0000000..c39a2f4 --- /dev/null +++ b/docs/api/static-assets/play_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/api/static-assets/readme.md b/docs/api/static-assets/readme.md new file mode 100644 index 0000000..357c11c --- /dev/null +++ b/docs/api/static-assets/readme.md @@ -0,0 +1,22 @@ +# highlight.js + +Generated from https://highlightjs.org/download/ on 2021-07-13 + +**Included languages:** + +* bash +* c +* css +* dart +* diff +* html, xml +* java +* javascript +* json +* kotlin +* markdown +* objective-c +* plaintext +* shell +* swift +* yaml diff --git a/docs/api/static-assets/script.js b/docs/api/static-assets/script.js new file mode 100644 index 0000000..e88f030 --- /dev/null +++ b/docs/api/static-assets/script.js @@ -0,0 +1,501 @@ +/* + * + * Update script.js versions in all lib/templates when modifying this file! + * + */ +function initSideNav() { + const leftNavToggle = document.getElementById('sidenav-left-toggle'); + const leftDrawer = document.querySelector('.sidebar-offcanvas-left'); + const overlay = document.getElementById('overlay-under-drawer'); + + function toggleBoth() { + if (leftDrawer) { + leftDrawer.classList.toggle('active'); + } + + if (overlay) { + overlay.classList.toggle('active'); + } + } + + if (overlay) { + overlay.addEventListener('click', toggleBoth); + } + + if (leftNavToggle) { + leftNavToggle.addEventListener('click', toggleBoth); + } +} + +function saveLeftScroll() { + const leftSidebar = document.getElementById('dartdoc-sidebar-left'); + sessionStorage.setItem('dartdoc-sidebar-left-scrollt' + window.location.pathname, leftSidebar.scrollTop.toString()); + sessionStorage.setItem('dartdoc-sidebar-left-scrolll' + window.location.pathname, leftSidebar.scrollLeft.toString()); +} + +function saveMainContentScroll() { + const mainContent = document.getElementById('dartdoc-main-content'); + sessionStorage.setItem('dartdoc-main-content-scrollt' + window.location.pathname, mainContent.scrollTop.toString()); + sessionStorage.setItem('dartdoc-main-content-scrolll' + window.location.pathname, mainContent.scrollLeft.toString()); +} + +function saveRightScroll() { + const rightSidebar = document.getElementById('dartdoc-sidebar-right'); + sessionStorage.setItem('dartdoc-sidebar-right-scrollt' + window.location.pathname, rightSidebar.scrollTop.toString()); + sessionStorage.setItem('dartdoc-sidebar-right-scrolll' + window.location.pathname, rightSidebar.scrollLeft.toString()); +} + +function restoreScrolls() { + const leftSidebar = document.getElementById('dartdoc-sidebar-left'); + const mainContent = document.getElementById('dartdoc-main-content'); + const rightSidebar = document.getElementById('dartdoc-sidebar-right'); + + try { + const leftSidebarX = sessionStorage.getItem('dartdoc-sidebar-left-scrolll' + window.location.pathname); + const leftSidebarY = sessionStorage.getItem('dartdoc-sidebar-left-scrollt' + window.location.pathname); + + const mainContentX = sessionStorage.getItem('dartdoc-main-content-scrolll' + window.location.pathname); + const mainContentY = sessionStorage.getItem('dartdoc-main-content-scrollt' + window.location.pathname); + + const rightSidebarX = sessionStorage.getItem('dartdoc-sidebar-right-scrolll' + window.location.pathname); + const rightSidebarY = sessionStorage.getItem('dartdoc-sidebar-right-scrollt' + window.location.pathname); + + leftSidebar.scrollTo(parseFloat(leftSidebarX), parseFloat(leftSidebarY)); + mainContent.scrollTo(parseFloat(mainContentX), parseFloat(mainContentY)); + rightSidebar.scrollTo(parseFloat(rightSidebarX), parseFloat(rightSidebarY)); + } finally { + // Set visibility to visible after scroll to prevent the brief appearance of the + // panel in the wrong position. + leftSidebar.style.visibility = 'visible'; + mainContent.style.visibility = 'visible'; + rightSidebar.style.visibility = 'visible'; + } +} + +function initScrollSave() { + const leftSidebar = document.getElementById('dartdoc-sidebar-left'); + const mainContent = document.getElementById('dartdoc-main-content'); + const rightSidebar = document.getElementById('dartdoc-sidebar-right'); + + leftSidebar.addEventListener("scroll", saveLeftScroll, true); + mainContent.addEventListener("scroll", saveMainContentScroll, true); + rightSidebar.addEventListener("scroll", saveRightScroll, true); +} + +const weights = { + 'library' : 2, + 'class' : 2, + 'mixin' : 3, + 'extension' : 3, + 'typedef' : 3, + 'method' : 4, + 'accessor' : 4, + 'operator' : 4, + 'constant' : 4, + 'property' : 4, + 'constructor' : 4 +}; + +function findMatches(index, query) { + if (query === '') { + return []; + } + + const allMatches = []; + + index.forEach(element => { + function score(value) { + value -= element.overriddenDepth * 10; + const weightFactor = weights[element.type] || 4; + allMatches.push({element: element, score: (value / weightFactor) >> 0}); + } + + const name = element.name; + const qualifiedName = element.qualifiedName; + const lowerName = name.toLowerCase(); + const lowerQualifiedName = qualifiedName.toLowerCase(); + const lowerQuery = query.toLowerCase(); + + if (name === query || qualifiedName === query || name === `dart:${query}`) { + score(2000); + } else if (lowerName === `dart:${lowerQuery}`) { + score(1800); + } else if (lowerName === lowerQuery || lowerQualifiedName === lowerQuery) { + score(1700); + } else if (query.length > 1) { + if (name.startsWith(query) || qualifiedName.startsWith(query)) { + score(750); + } else if (lowerName.startsWith(lowerQuery) || lowerQualifiedName.startsWith(lowerQuery)) { + score(650); + } else if (name.includes(query) || qualifiedName.includes(query)) { + score(500); + } else if (lowerName.includes(lowerQuery) || lowerQualifiedName.includes(query)) { + score(400); + } + } + }); + + allMatches.sort((a, b) => { + const x = b.score - a.score; + if (x === 0) { + return a.element.name.length - b.element.name.length; + } + return x; + }); + + const justElements = []; + + for (let i = 0; i < allMatches.length; i++) { + justElements.push(allMatches[i].element); + } + + return justElements; +} + +let baseHref = ''; + +const minLength = 1; +const suggestionLimit = 10; + +function initializeSearch(input, index) { + input.disabled = false; + input.setAttribute('placeholder', 'Search API Docs'); + + // Handle grabbing focus when the users types / outside of the input + document.addEventListener('keypress', (event) => { + if (event.code === 'Slash' && !(document.activeElement instanceof HTMLInputElement)) { + event.preventDefault(); + input.focus(); + } + }); + + // Prepare elements + + const parentForm = input.parentNode; + const wrapper = document.createElement('div'); + wrapper.classList.add('tt-wrapper'); + + parentForm.replaceChild(wrapper, input); + + const inputHint = document.createElement('input'); + inputHint.setAttribute('type', 'text'); + inputHint.setAttribute('autocomplete', 'off'); + inputHint.setAttribute('readonly', 'true'); + inputHint.setAttribute('spellcheck', 'false'); + inputHint.setAttribute('tabindex', '-1'); + inputHint.classList.add('typeahead', 'tt-hint'); + + wrapper.appendChild(inputHint); + + input.setAttribute('autocomplete', 'off'); + input.setAttribute('spellcheck', 'false'); + input.classList.add('tt-input'); + + wrapper.appendChild(input); + + const listBox = document.createElement('div'); + listBox.setAttribute('role', 'listbox'); + listBox.setAttribute('aria-expanded', 'false'); + listBox.style.display = 'none'; + listBox.classList.add('tt-menu'); + + const presentation = document.createElement('div'); + presentation.classList.add('tt-elements'); + + listBox.appendChild(presentation); + + wrapper.appendChild(listBox); + + // Set up various search functionality + + function highlight(text, query) { + query = query.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + return text.replace(new RegExp(query, 'gi'), (matched) => { + return `${matched}`; + }); + } + + function createSuggestion(query, match) { + const suggestion = document.createElement('div'); + suggestion.setAttribute('data-href', match.href); + suggestion.classList.add('tt-suggestion'); + + const suggestionTitle = document.createElement('span'); + suggestionTitle.classList.add('tt-suggestion-title'); + suggestionTitle.innerHTML = highlight(`${match.name} ${match.type.toLowerCase()}`, query); + + suggestion.appendChild(suggestionTitle); + + if (match.enclosedBy) { + const fromLib = document.createElement('div'); + fromLib.classList.add('search-from-lib'); + fromLib.innerHTML = `from ${highlight(match.enclosedBy.name, query)}`; + + suggestion.appendChild(fromLib); + } + + suggestion.addEventListener('mousedown', event => { + event.preventDefault(); + }); + + suggestion.addEventListener('click', event => { + if (match.href) { + window.location = baseHref + match.href; + event.preventDefault(); + } + }); + + return suggestion; + } + + let storedValue = null; + let actualValue = ''; + let hint = null; + + let suggestionElements = []; + let suggestionsInfo = []; + let selectedElement = null; + + function setHint(value) { + hint = value; + inputHint.value = value || ''; + } + + function updateSuggestions(query, suggestions) { + suggestionsInfo = []; + suggestionElements = []; + presentation.textContent = ''; + + if (suggestions.length < minLength) { + setHint(null) + hideSuggestions(); + return; + } + + for (let i = 0; i < suggestions.length; i++) { + const element = createSuggestion(query, suggestions[i]); + suggestionElements.push(element); + presentation.appendChild(element); + } + + suggestionsInfo = suggestions; + + setHint(query + suggestions[0].name.slice(query.length)); + selectedElement = null; + + showSuggestions(); + } + + function handle(newValue, forceUpdate) { + if (actualValue === newValue && !forceUpdate) { + return; + } + + if (newValue === null || newValue.length === 0) { + updateSuggestions('', []); + return; + } + + const suggestions = findMatches(index, newValue).slice(0, suggestionLimit); + actualValue = newValue; + + updateSuggestions(newValue, suggestions); + } + + function showSuggestions() { + if (presentation.hasChildNodes()) { + listBox.style.display = 'block'; + listBox.setAttribute('aria-expanded', 'true'); + } + } + + function hideSuggestions() { + listBox.style.display = 'none'; + listBox.setAttribute('aria-expanded', 'false'); + } + + // Hook up events + + input.addEventListener('focus', () => { + handle(input.value, true); + }); + + input.addEventListener('blur', () => { + selectedElement = null; + if (storedValue !== null) { + input.value = storedValue; + storedValue = null; + } + hideSuggestions(); + setHint(null); + }); + + input.addEventListener('input', event => { + handle(event.target.value); + }); + + input.addEventListener('keydown', event => { + if (suggestionElements.length === 0) { + return; + } + + if (event.code === 'Enter') { + const selectingElement = selectedElement || 0; + const href = suggestionElements[selectingElement].dataset.href; + if (href) { + window.location = baseHref + href; + } + return; + } + + if (event.code === 'Tab') { + if (selectedElement === null) { + // The user wants to fill the field with the hint + if (hint !== null) { + input.value = hint; + handle(hint); + event.preventDefault(); + } + } else { + // The user wants to fill the input field with their currently selected suggestion + handle(suggestionsInfo[selectedElement].name); + storedValue = null; + selectedElement = null; + event.preventDefault(); + } + return; + } + + const lastIndex = suggestionElements.length - 1; + const previousSelectedElement = selectedElement; + + if (event.code === 'ArrowUp') { + if (selectedElement === null) { + selectedElement = lastIndex; + } else if (selectedElement === 0) { + selectedElement = null; + } else { + selectedElement--; + } + } else if (event.code === 'ArrowDown') { + if (selectedElement === null) { + selectedElement = 0; + } else if (selectedElement === lastIndex) { + selectedElement = null; + } else { + selectedElement++; + } + } else { + if (storedValue !== null) { + storedValue = null; + handle(input.value); + } + return; + } + + if (previousSelectedElement !== null) { + suggestionElements[previousSelectedElement].classList.remove('tt-cursor'); + } + + if (selectedElement !== null) { + const selected = suggestionElements[selectedElement]; + selected.classList.add('tt-cursor'); + + // Guarantee the selected element is visible + if (selectedElement === 0) { + listBox.scrollTop = 0; + } else if (selectedElement === lastIndex) { + listBox.scrollTop = listBox.scrollHeight; + } else { + const offsetTop = selected.offsetTop; + const parentOffsetHeight = listBox.offsetHeight; + if (offsetTop < parentOffsetHeight || parentOffsetHeight < (offsetTop + selected.offsetHeight)) { + selected.scrollIntoView({behavior: 'auto', block: 'nearest'}); + } + } + + if (storedValue === null) { + // Store the actual input value to display their currently selected item + storedValue = input.value; + } + input.value = suggestionsInfo[selectedElement].name; + setHint(''); + } else if (storedValue !== null && previousSelectedElement !== null) { + // They are moving back to the input field, so return the stored value + input.value = storedValue; + setHint(storedValue + suggestionsInfo[0].name.slice(storedValue.length)); + storedValue = null; + } + + event.preventDefault(); + }); +} + +document.addEventListener('DOMContentLoaded', () => { + // Place this first so that unexpected exceptions in other JavaScript do not block page visibility. + restoreScrolls(); + hljs.highlightAll(); + initSideNav(); + initScrollSave(); + + const searchBox = document.getElementById('search-box'); + const searchBody = document.getElementById('search-body'); + const searchSidebar = document.getElementById('search-sidebar'); + + if (document.body.getAttribute('data-using-base-href') === 'false') { + // If dartdoc did not add a base-href tag, we will need to add the relative + // path ourselves. + baseHref = document.body.getAttribute('data-base-href'); + } + + function disableSearch() { + console.log('Could not activate search functionality.'); + if (searchBox) { + searchBox.placeholder = 'Failed to initialize search'; + } + + if (searchBody) { + searchBody.placeholder = 'Failed to initialize search'; + } + + if (searchSidebar) { + searchSidebar.placeholder = 'Failed to initialize search'; + } + } + + if ('fetch' in window) { + fetch(baseHref + 'index.json', {method: 'GET'}) + .then(response => response.json()) + .then(index => { + // Handle if the user specified a `search` parameter in the URL + if ('URLSearchParams' in window) { + const search = new URLSearchParams(window.location.search).get('search'); + if (search) { + const matches = findMatches(search); + if (matches.length !== 0) { + window.location = baseHref + matches[0].href; + return; + } + } + } + + // Initialize all three search fields + if (searchBox) { + initializeSearch(searchBox, index); + } + + if (searchBody) { + initializeSearch(searchBody, index); + } + + if (searchSidebar) { + initializeSearch(searchSidebar, index); + } + }) + .catch(() => { + disableSearch(); + }); + } else { + disableSearch(); + } +}); diff --git a/docs/api/static-assets/styles.css b/docs/api/static-assets/styles.css new file mode 100644 index 0000000..7ea04df --- /dev/null +++ b/docs/api/static-assets/styles.css @@ -0,0 +1,1022 @@ +/* + * + * Update styles.css versions in all lib/templates when modifying this file! + * + */ + +/* Palette generated by Material Palette - materialpalette.com/blue/cyan */ + +.dark-primary-color { background: #1976D2; } +.default-primary-color { background: #2196F3; } +.light-primary-color { background: #BBDEFB; } +.text-primary-color { color: #FFFFFF; } +.accent-color { background: #00BCD4; } +.primary-text-color { color: #212121; } +.secondary-text-color { color: #727272; } +.divider-color { border-color: #B6B6B6; } + +/* for layout */ +html, +body { + margin: 0; + padding: 0; + height: 100%; + width: 100%; + overflow: hidden; + box-sizing: border-box; +} + +*, *:before, *:after { + box-sizing: inherit; +} + +body { + display: flex; + flex-direction: column; + -webkit-overflow-scrolling: touch; +} + +header { + flex: 0 0 50px; + display: flex; + flex-direction: row; + align-items: center; + padding-left: 30px; +} + +header ol { + list-style: none; + margin: 0; + padding: 0; +} + +header ol li { + display: inline; +} + +header form { + display: flex; + flex: 1; + justify-content: flex-end; + padding-right: 30px; +} + +header#header-search-sidebar { + height: 50px; + margin-bottom: 25px; +} + +footer { + flex: 0 0 16px; + text-align: center; + padding: 16px 20px; +} + +main { + flex: 1; + display: flex; + flex-direction: row; + padding: 20px; + min-height: 0; +} + +.sidebar-offcanvas-left { + flex: 0 1 230px; + order: 1; + overflow-y: scroll; + padding: 20px 0 15px 30px; + margin: 5px 20px 0 0; + visibility: hidden; /* shown by Javascript after scroll position restore */ +} + +::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0px; background-color: #AAA; } +::-webkit-scrollbar-button:hover{ background-color: #AAA; } +::-webkit-scrollbar-thumb{ background-color: #CCC; } +::-webkit-scrollbar-thumb:hover{ background-color: #CCC; } +::-webkit-scrollbar{ width: 4px; } + +.main-content::-webkit-scrollbar{ width: 8px; } + +.main-content { + flex: 1; + order: 2; + overflow-y: scroll; + padding: 10px 20px 0 20px; + visibility: hidden; /* shown by Javascript after scroll position restore */ +} + +.sidebar-offcanvas-right { + flex: 0 1 12em; + order: 3; + overflow-y: scroll; + padding: 20px 15px 15px 15px; + margin-top: 5px; + margin-right: 20px; + visibility: hidden; /* shown by Javascript after scroll position restore */ +} +/* end for layout */ + +body { + -webkit-text-size-adjust: 100%; + overflow-x: hidden; + font-family: Roboto, sans-serif; + font-size: 16px; + line-height: 1.42857143; + color: #111111; + background-color: #fff; +} + +/* some of this is to reset bootstrap */ +nav.navbar { + background-color: inherit; + min-height: 50px; + border: 0; +} + +@media (max-width: 768px) { + .hidden-xs { + display: none !important; + } +} + +@media (min-width: 769px) { + .hidden-l { + display: none !important; + } +} + +nav.navbar .row { + padding-top: 8px; +} + +nav .container { + white-space: nowrap; +} + +header { + background-color: #eeeeee; + box-shadow: 0 3px 5px rgba(0,0,0,0.1); +} + +header.header-fixed nav.navbar-fixed-top { + box-shadow: 0 3px 5px rgba(0,0,0,0.1); +} + +header.container-fluid { + padding: 0; +} + +header .masthead { + padding-top: 64px; +} + +header .contents { + padding: 0; +} + +@media screen and (max-width:768px) { + header .contents { + padding-left: 15px; + padding-right: 15px; + } +} + +a { + text-decoration: none; +} + +.body { + margin-top: 90px; +} + +section { + margin-bottom: 36px; +} + +dl { + margin: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: Roboto, sans-serif; + font-weight: 400; + margin-top: 1.5em; + color: #111111; +} + +h1.title { + overflow: hidden; + text-overflow: ellipsis; +} + +h1 { + font-size: 37px; + margin-top: 0; + margin-bottom: 0.67em; +} + +h2 { + font-size: 28px; +} + +h5 { + font-size: 16px; +} + +.subtitle { + font-size: 17px; + min-height: 1.4em; +} + +.title-description .subtitle { + white-space: nowrap; + overflow-x: hidden; + text-overflow: ellipsis; +} + +p { + margin-bottom: 1em; + margin-top: 0; +} + +a { + color: #0175C2; +} + +a:hover { + color: #13B9FD; +} + +pre.prettyprint { + font-family: 'Roboto Mono', Menlo, monospace; + color: black; + border-radius: 0; + font-size: 15px; + word-wrap: normal; + line-height: 1.4; + border: 0; + margin: 16px 0 16px 0; + padding: 8px; +} + +pre code { + white-space: pre; + word-wrap: initial; + font-size: 100% +} + +.fixed { + white-space: pre; +} + +pre { + border: 1px solid #ddd; + background-color: #eee; + font-size: 14px; +} + +code { + font-family: 'Roboto Mono', Menlo, monospace; + /* overriding bootstrap */ + color: inherit; + padding: 0.2em 0.4em; + font-size: 85%; + background-color: rgba(27,31,35,0.05); + border-radius: 3px; +} + +@media(max-width: 768px) { + nav .container { + width: 100% + } + + h1 { + font-size: 24px; + } + + pre { + margin: 16px 0; + } +} + +@media (min-width: 768px) { + ul.subnav li { + font-size: 17px; + } +} + +header h1 { + font-weight: 400; + margin-bottom: 16px; +} + +header a, +header p, +header li { + color: #111111; +} + +header a:hover { + color: #0175C2; +} + +header h1 .kind { + color: #555; +} + +dt { + font-weight: normal; +} + +dd { + color: #212121; + margin-bottom: 1em; + margin-left: 0; +} + +dd.callable, dd.constant, dd.property { + margin-bottom: 24px; +} + +dd p { + overflow-x: hidden; + text-overflow: ellipsis; + margin-bottom: 0; +} + +/* Enum values do not have their own pages; their full docs are presented on the + * enum class's page. */ +dt.constant + dd p { + margin-bottom: 1em; +} + +/* indents wrapped lines */ +section.summary dt { + margin-left: 24px; + text-indent: -24px; +} + +.dl-horizontal dd { + margin-left: initial; +} + +dl.dl-horizontal dt { + font-style: normal; + text-align: left; + color: #727272; + margin-right: 20px; + width: initial; +} + +dt .name { + font-weight: 500; +} + +dl dt.callable .name { + float: none; + width: auto; +} + +.parameter { + white-space: nowrap; +} + +.type-parameter { + white-space: nowrap; +} + +.multi-line-signature .type-parameter .parameter { + margin-left: 0px; + display: unset; +} + +.parameter-list { + display: table-cell; + margin-left: 10px; + list-style-type: none; +} + +.signature { + color: #727272; +} + +.signature a { + /* 50% mix of default-primary-color and primary-text-color. */ + color: #4674a2; +} + +.optional { + font-style: italic; +} + +.undocumented { + font-style: italic; +} + +.is-const { + font-style: italic; +} + +.deprecated { + text-decoration: line-through; +} + +.category.linked { + font-weight: bold; + opacity: 1; +} + +/* Colors for category based on categoryOrder in dartdoc_options.config. */ +.category.cp-0 { + background-color: #54b7c4 +} + +.category.cp-1 { + background-color: #54c47f +} + +.category.cp-2 { + background-color: #c4c254 +} + +.category.cp-3 { + background-color: #c49f54 +} + +.category.cp-4 { + background-color: #c45465 +} + +.category.cp-5 { + background-color: #c454c4 +} + +.category a { + color: white; +} + +.category { + padding: 2px 4px; + font-size: 12px; + border-radius: 4px; + background-color: #999; + text-transform: uppercase; + color: white; + opacity: .5; +} + +h1 .category { + vertical-align: middle; +} + +.feature { + display: inline-block; + background: white; + border: 1px solid #0175c2; + border-radius: 20px; + color: #0175c2; + + font-size: 12px; + padding: 1px 6px; + margin: 0 8px 0 0; +} + +a.feature:hover { + border-color: #13B9FD; +} + +h1 .feature { + vertical-align: middle; +} + +.source-link { + padding: 18px 4px; + vertical-align: middle; +} + +.source-link .material-icons { + font-size: 18px; +} + +@media (max-width: 768px) { + .source-link { + padding: 7px 2px; + font-size: 10px; + } +} + +#external-links { + float: right; +} + +.btn-group { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +p.firstline { + font-weight: bold; +} + +footer { + color: #fff; + background-color: #111111; + width: 100%; +} + +footer p { + margin: 0; +} + +footer .no-break { + white-space: nowrap; +} + +footer .container, +footer .container-fluid { + padding-left: 0; + padding-right: 0; +} + +footer a, footer a:hover { + color: #fff; +} + +.markdown.desc { + max-width: 700px; +} + +.markdown h1 { + font-size: 24px; + margin-bottom: 8px; +} + +.markdown h2 { + font-size: 20px; + margin-top: 24px; + margin-bottom: 8px; +} + +.markdown h3 { + font-size: 18px; + margin-bottom: 8px; +} + +.markdown h4 { + font-size: 16px; + margin-bottom: 0; +} + +.markdown li p { + margin: 0; +} + +.gt-separated { + list-style: none; + padding: 0; + margin: 0; +} + +.gt-separated li { + display: inline-block; +} + +.gt-separated li:before { + background-image: url("data:image/svg+xml;utf8,"); + background-position: center; + content: "\00a0"; + margin: 0 6px 0 4px; + padding: 0 3px 0 0; +} + +.gt-separated.dark li:before { + background-image: url("data:image/svg+xml;utf8,"); +} + +.gt-separated li:first-child:before { + background-image: none; + content: ""; + margin: 0; + padding: 0; +} + +/* The slug line under a declaration for things like "const", "read-only", etc. */ +.features { + font-style: italic; + color: #727272; +} + +.multi-line-signature { + font-size: 17px; + color: #727272; +} + +.multi-line-signature .parameter { + margin-left: 24px; + display: block; +} + +.breadcrumbs { + padding: 0; + margin: 8px 0 8px 0; + white-space: nowrap; + line-height: 1; +} + +@media screen and (min-width: 768px) { + nav ol.breadcrumbs { + float: left; + } +} + +@media screen and (max-width: 768px) { + .breadcrumbs { + margin: 0 0 24px 0; + overflow-x: hidden; + } +} + +.self-crumb { + color: #555; +} + +.self-name { + color: #555; + display: none; +} + +.annotation-list { + list-style: none; + padding: 0; + display: inline; +} + +.comma-separated { + list-style: none; + padding: 0; + display: inline; +} + +.comma-separated li { + display: inline; +} + +.comma-separated li:after { + content: ", "; +} + +.comma-separated li:last-child:after { + content: ""; +} + +.end-with-period li:last-child:after { + content: "."; +} + +.container > section:first-child { + border: 0; +} + +.constructor-modifier { + font-style: italic; +} + +section.multi-line-signature div.parameters { + margin-left: 24px; +} + +/* subnav styles */ + +ul.subnav { + overflow: auto; + white-space: nowrap; + padding-left: 0; + min-height: 25px; +} + +ul.subnav::-webkit-scrollbar { + display: none; +} + +ul.subnav li { + display: inline-block; + text-transform: uppercase; +} + +ul.subnav li a { + color: #111; +} + +ul.subnav li { + margin-right: 24px; +} + +ul.subnav li:last-of-type { + margin-right: 0; +} + +@media(max-width: 768px) { + ul.subnav li { + margin-right: 16px; + } +} + +/* sidebar styles */ + +.sidebar ol { + list-style: none; + line-height: 22px; + margin-top: 0; + margin-bottom: 0; + padding: 0 0 15px 0; +} + +.sidebar h5 a, +.sidebar h5 a:hover { + color: #727272; +} + +.sidebar h5, +.sidebar ol li { + text-overflow: ellipsis; + overflow: hidden; + padding: 3px 0 3px 3px; +} + +.sidebar h5 { + color: #727272; + font-size: 18px; + margin: 0 0 22px 0; + padding-top: 0; +} + +.sidebar ol li.section-title { + font-size: 18px; + font-weight: normal; + text-transform: uppercase; + padding-top: 25px; +} + +.sidebar ol li.section-subtitle a { + color: inherit; +} + +.sidebar ol li.section-subtitle { + font-weight: 400; + text-transform: uppercase; +} + +.sidebar ol li.section-subitem { + margin-left: 12px; +} + +.sidebar ol li:first-child { + padding-top: 3px; + margin-top: 0; +} + +button { + padding: 0; +} + +#sidenav-left-toggle { + display: none; + vertical-align: text-bottom; + padding: 0; +} + +/* left-nav disappears, and can transition in from the left */ +@media screen and (max-width:768px) { + #sidenav-left-toggle { + display: inline; + background: no-repeat url("data:image/svg+xml;utf8,"); + background-position: center; + width: 24px; + height: 24px; + border: none; + margin-right: 24px; + } + + #overlay-under-drawer.active { + opacity: 0.4; + height: 100%; + z-index: 1999; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: black; + display: block; + } + + .sidebar-offcanvas-left { + left: -100%; + position: fixed; + -webkit-transition:all .25s ease-out; + -o-transition:all .25s ease-out; + transition:all .25s ease-out; + z-index: 2000; + top: 0; + width: 280px; /* works all the way down to an iphone 4 */ + height: 90%; + background-color: white; + overflow-y: scroll; /* TODO: how to hide scroll bars? */ + padding: 10px; + margin: 10px 10px; + box-shadow: 5px 5px 5px 5px #444444; + visibility: hidden; /* shown by Javascript after scroll position restore */ + } + + ol#sidebar-nav { + font-size: 18px; + white-space: pre-line; + } + + .sidebar-offcanvas-left.active { + left: 0; /* this animates our drawer into the page */ + } + + .self-name { + display: inline-block; + } +} + +.sidebar-offcanvas-left h5 { + margin-bottom: 10px; +} + +.sidebar-offcanvas-left h5:last-of-type { + border: 0; + margin-bottom: 25px; +} + +/* the right nav disappears out of view when the window shrinks */ +@media screen and (max-width: 992px) { + .sidebar-offcanvas-right { + display: none; + } +} + +#overlay-under-drawer { + display: none; +} + +/* find-as-you-type search box */ + +/* override bootstrap defaults */ +.form-control { + border-radius: 0; + border: 0; +} + +@media screen and (max-width: 768px) { + form.search { + display: none; + } +} + +.typeahead, +.tt-query, +.tt-hint { + width: 200px; + height: 20px; + padding: 2px 7px 1px 7px; + line-height: 20px; + outline: none; +} + +.typeahead { + background-color: #fff; + border-radius: 2px; +} + +.tt-wrapper { + position: relative; + display: inline-block; +} + +.tt-input { + position: relative; + vertical-align: top; + background-color: transparent; +} + +.tt-query { + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.tt-hint { + position: absolute; + top: 0; + left: 0; + box-shadow: none; + background: none 0 0 / auto repeat scroll padding-box border-box rgb(255, 255, 255); + border-color: transparent; + color: #999; + border-width: 0; +} + +.navbar-right .tt-menu { + right:0; + left: inherit !important; + width: 422px; + max-height: 250px; + overflow-y: scroll; +} + +.tt-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 100; + font-size: 14px; + margin: 0; + padding: 8px 0; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2); + -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2); + box-shadow: 0 5px 10px rgba(0,0,0,.2); +} + +.tt-suggestion { + padding: 3px 20px; + color: #212121; +} + +.tt-suggestion:hover { + cursor: pointer; + color: #fff; + background-color: #0097cf; +} + +.tt-suggestion:hover .search-from-lib { + color: #ddd; +} + +.tt-suggestion.tt-cursor { + color: #fff; + background-color: #0097cf; +} + +.tt-suggestion.tt-cursor .search-from-lib { + color: #ddd; +} + +.tt-suggestion p { + margin: 0; +} + +.search-from-lib { + font-style: italic; + color: gray; +} + +.search-body { + border: 1px solid #7f7f7f; + max-width: 400px; + box-shadow: 3px 3px 5px rgba(0,0,0,0.1); +} + +section#setter { + border-top: 1px solid #ddd; + padding-top: 36px; +} + +li.inherited a { + opacity: 0.65; + font-style: italic; +} + +#instance-methods dt.inherited .name, +#instance-properties dt.inherited .name, +#operators dt.inherited .name { + font-weight: 300; + font-style: italic; +} + +#instance-methods dt.inherited .signature, +#instance-properties dt.inherited .signature, +#operators dt.inherited .signature { + font-weight: 300; +} + +@media print { + .subnav, .sidebar { + display:none; + } + + a[href]:after { + content:"" !important; + } +} diff --git a/docs/api/widgets/CAST_DEVICE_NAME_PLACEHOLDER-constant.html b/docs/api/widgets/CAST_DEVICE_NAME_PLACEHOLDER-constant.html new file mode 100644 index 0000000..8dd90bf --- /dev/null +++ b/docs/api/widgets/CAST_DEVICE_NAME_PLACEHOLDER-constant.html @@ -0,0 +1,136 @@ + + + + + + + + CAST_DEVICE_NAME_PLACEHOLDER constant - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CAST_DEVICE_NAME_PLACEHOLDER
+ +
+ +
+ + +
+
+

CAST_DEVICE_NAME_PLACEHOLDER top-level constant + Null safety + +

+ +
+ String + const CAST_DEVICE_NAME_PLACEHOLDER + + +
+ +
+

Placeholder to be used for the castingToText of ExpandedControlsConnectedDeviceLabel

+
+ + +
+

Implementation

+
const CAST_DEVICE_NAME_PLACEHOLDER = "{{cast_device_name}}";
+
+ + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastButton-class.html b/docs/api/widgets/CastButton-class.html new file mode 100644 index 0000000..3ad663c --- /dev/null +++ b/docs/api/widgets/CastButton-class.html @@ -0,0 +1,420 @@ + + + + + + + + CastButton class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastButton
+ +
+ +
+ + +
+
+

CastButton class + Null safety + +

+ + + + +
+
+
Inheritance
+
+ + + + + +
+
+ +
+

Constructors

+ +
+
+ CastButton({required FlutterCastFramework castFramework, Color color = const Color(0xFFFFFFFF), EdgeInsets padding = const EdgeInsets.all(8.0)}) +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ castFramework + FlutterCastFramework + +
+
+ +
final
+ +
+ +
+ color + Color + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
@nonVirtual, read-only, inherited
+ +
+ +
+ key + Key? + +
+
+ Controls how one widget replaces another widget in the tree. [...] +
final, inherited
+ +
+ +
+ padding + EdgeInsets + +
+
+ +
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ build(BuildContext context) + Widget + + + +
+
+ Describes the part of the user interface represented by this widget. [...] +
override
+ +
+ +
+ 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. [...] +
@protected, inherited
+ +
+ +
+ debugFillProperties(DiagnosticPropertiesBuilder properties) + → void + + + +
+
+ Add additional properties associated with the node. [...] +
inherited
+ +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ 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}) + 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
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
@nonVirtual, inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastButton/CastButton.html b/docs/api/widgets/CastButton/CastButton.html new file mode 100644 index 0000000..0439a3e --- /dev/null +++ b/docs/api/widgets/CastButton/CastButton.html @@ -0,0 +1,153 @@ + + + + + + + + CastButton constructor - CastButton class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastButton
+ +
+ +
+ + +
+
+

CastButton constructor + Null safety +

+ +
+ CastButton(
  1. {required FlutterCastFramework castFramework,
  2. +
  3. Color color = const Color(0xFFFFFFFF),
  4. +
  5. EdgeInsets padding = const EdgeInsets.all(8.0)}
  6. +
) +
+ + + + + +
+

Implementation

+
CastButton({
+  required this.castFramework,
+  this.color = const Color(0xFFFFFFFF), // white
+  this.padding = const EdgeInsets.all(8.0),
+});
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastButton/build.html b/docs/api/widgets/CastButton/build.html new file mode 100644 index 0000000..88e4554 --- /dev/null +++ b/docs/api/widgets/CastButton/build.html @@ -0,0 +1,203 @@ + + + + + + + + build method - CastButton class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
build
+ +
+ +
+ + +
+
+

build method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +Widget +build(
  1. BuildContext context
  2. +
) + +
override
+ +
+ +
+

Describes the part of the user interface represented by this widget.

+

The framework calls this method when this widget is inserted into the tree +in a given BuildContext and when the dependencies of this widget change +(e.g., an InheritedWidget referenced by this widget changes). This +method can potentially be called in every frame and should not have any side +effects beyond building a widget.

+

The framework replaces the subtree below this widget with the widget +returned by this method, either by updating the existing subtree or by +removing the subtree and inflating a new subtree, depending on whether the +widget returned by this method can update the root of the existing +subtree, as determined by calling Widget.canUpdate.

+

Typically implementations return a newly created constellation of widgets +that are configured with information from this widget's constructor and +from the given BuildContext.

+

The given BuildContext contains information about the location in the +tree at which this widget is being built. For example, the context +provides the set of inherited widgets for this location in the tree. A +given widget might be built with multiple different BuildContext +arguments over time if the widget is moved around the tree or if the +widget is inserted into the tree in multiple places at once.

+

The implementation of this method must only depend on:

+ +

If a widget's build method is to depend on anything else, use a +StatefulWidget instead.

+

See also:

+
    +
  • StatelessWidget, which contains the discussion on performance considerations.
  • +
+
+ + + +
+

Implementation

+
@override
+Widget build(BuildContext context) {
+  return GestureDetector(
+      child: Padding(
+        padding: padding,
+        child:  CastIcon(
+          castFramework: castFramework,
+          color: color,
+        ),
+      ),
+      onTap: () => castFramework.castContext.showCastChooserDialog());
+}
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastButton/castFramework.html b/docs/api/widgets/CastButton/castFramework.html new file mode 100644 index 0000000..b06bed1 --- /dev/null +++ b/docs/api/widgets/CastButton/castFramework.html @@ -0,0 +1,149 @@ + + + + + + + + castFramework property - CastButton class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
castFramework
+ +
+ +
+ + +
+
+

castFramework property + Null safety +

+ +
+ FlutterCastFramework + castFramework +
final
+ +
+ + + +
+

Implementation

+
final FlutterCastFramework castFramework;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastButton/color.html b/docs/api/widgets/CastButton/color.html new file mode 100644 index 0000000..62cfdbb --- /dev/null +++ b/docs/api/widgets/CastButton/color.html @@ -0,0 +1,149 @@ + + + + + + + + color property - CastButton class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
color
+ +
+ +
+ + +
+
+

color property + Null safety +

+ +
+ Color + color +
final
+ +
+ + + +
+

Implementation

+
final Color color;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastButton/padding.html b/docs/api/widgets/CastButton/padding.html new file mode 100644 index 0000000..f1ddb3a --- /dev/null +++ b/docs/api/widgets/CastButton/padding.html @@ -0,0 +1,149 @@ + + + + + + + + padding property - CastButton class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
padding
+ +
+ +
+ + +
+
+

padding property + Null safety +

+ +
+ EdgeInsets + padding +
final
+ +
+ + + +
+

Implementation

+
final EdgeInsets padding;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastIcon-class.html b/docs/api/widgets/CastIcon-class.html new file mode 100644 index 0000000..acb15cc --- /dev/null +++ b/docs/api/widgets/CastIcon-class.html @@ -0,0 +1,408 @@ + + + + + + + + CastIcon class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastIcon
+ +
+ +
+ + +
+
+

CastIcon class + Null safety + +

+ + + + +
+
+
Inheritance
+
+ + + + + +
+
+ +
+

Constructors

+ +
+
+ CastIcon({required FlutterCastFramework castFramework, Color color = _defaultIconColor}) +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ castFramework + FlutterCastFramework + +
+
+ +
final
+ +
+ +
+ color + Color + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
@nonVirtual, read-only, inherited
+ +
+ +
+ key + Key? + +
+
+ Controls how one widget replaces another widget in the tree. [...] +
final, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ createElement() + StatefulElement + + + +
+
+ Creates a StatefulElement to manage this widget's location in the tree. [...] +
inherited
+ +
+ +
+ createState() + → _CastIconState + + + +
+
+ Creates the mutable state for this widget at a given location in the tree. [...] +
override
+ +
+ +
+ debugDescribeChildren() + List<DiagnosticsNode> + + + +
+
+ Returns a list of DiagnosticsNode objects describing this node's +children. [...] +
@protected, inherited
+ +
+ +
+ debugFillProperties(DiagnosticPropertiesBuilder properties) + → void + + + +
+
+ Add additional properties associated with the node. [...] +
inherited
+ +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ 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}) + 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
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
@nonVirtual, inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastIcon/CastIcon.html b/docs/api/widgets/CastIcon/CastIcon.html new file mode 100644 index 0000000..22ddaa9 --- /dev/null +++ b/docs/api/widgets/CastIcon/CastIcon.html @@ -0,0 +1,150 @@ + + + + + + + + CastIcon constructor - CastIcon class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
CastIcon
+ +
+ +
+ + +
+
+

CastIcon constructor + Null safety +

+ +
+ CastIcon(
  1. {required FlutterCastFramework castFramework,
  2. +
  3. Color color = _defaultIconColor}
  4. +
) +
+ + + + + +
+

Implementation

+
CastIcon({
+  required this.castFramework,
+  this.color = _defaultIconColor,
+});
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastIcon/castFramework.html b/docs/api/widgets/CastIcon/castFramework.html new file mode 100644 index 0000000..990ade4 --- /dev/null +++ b/docs/api/widgets/CastIcon/castFramework.html @@ -0,0 +1,148 @@ + + + + + + + + castFramework property - CastIcon class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
castFramework
+ +
+ +
+ + +
+
+

castFramework property + Null safety +

+ +
+ FlutterCastFramework + castFramework +
final
+ +
+ + + +
+

Implementation

+
final FlutterCastFramework castFramework;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastIcon/color.html b/docs/api/widgets/CastIcon/color.html new file mode 100644 index 0000000..6cb9bd4 --- /dev/null +++ b/docs/api/widgets/CastIcon/color.html @@ -0,0 +1,148 @@ + + + + + + + + color property - CastIcon class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
color
+ +
+ +
+ + +
+
+

color property + Null safety +

+ +
+ Color + color +
final
+ +
+ + + +
+

Implementation

+
final Color color;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/CastIcon/createState.html b/docs/api/widgets/CastIcon/createState.html new file mode 100644 index 0000000..5aba555 --- /dev/null +++ b/docs/api/widgets/CastIcon/createState.html @@ -0,0 +1,171 @@ + + + + + + + + createState method - CastIcon class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
createState
+ +
+ +
+ + +
+
+

createState method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +_CastIconState +createState() + +
override
+ +
+ +
+

Creates the mutable state for this widget at a given location in the tree.

+

Subclasses should override this method to return a newly created +instance of their associated State subclass:

+
@override
+State<MyWidget> createState() => _MyWidgetState();
+
+

The framework can call this method multiple times over the lifetime of +a StatefulWidget. For example, if the widget is inserted into the tree +in multiple locations, the framework will create a separate State object +for each location. Similarly, if the widget is removed from the tree and +later inserted into the tree again, the framework will call createState +again to create a fresh State object, simplifying the lifecycle of +State objects.

+
+ + + +
+

Implementation

+
@override
+_CastIconState createState() => _CastIconState();
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls-class.html b/docs/api/widgets/ExpandedControls-class.html new file mode 100644 index 0000000..3a0b694 --- /dev/null +++ b/docs/api/widgets/ExpandedControls-class.html @@ -0,0 +1,483 @@ + + + + + + + + ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControls
+ +
+ +
+ + +
+
+

ExpandedControls class + Null safety + +

+ + + + +
+
+
Inheritance
+
+ + + + + +
+
+ +
+

Constructors

+ +
+
+ ExpandedControls({required FlutterCastFramework castFramework, String? castingToText, String? skipAdTimerText, String? skipAdButtonText, String adInfoBoxText = "Ad in progress...", VoidCallback? onCloseRequested}) +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ adInfoBoxText + String + +
+
+ Label for the Ad Info box. Default is "Ad in progress...". +
final
+ +
+ +
+ adSkipBoxController + → ExpandedControlsAdSkipBoxController + +
+
+ +
final
+ +
+ +
+ castFramework + FlutterCastFramework + +
+
+ +
final
+ +
+ +
+ castingToText + String? + +
+
+ Label to introduce cast device. Default is "Casting to {{cast_device_name}}", where {{cast_device_name}} is replaced with the device name +{{cast_device_name}} can be found in the constant CAST_DEVICE_NAME_PLACEHOLDER. +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
@nonVirtual, read-only, inherited
+ +
+ +
+ key + Key? + +
+
+ Controls how one widget replaces another widget in the tree. [...] +
final, inherited
+ +
+ +
+ onCloseRequested + VoidCallback? + +
+
+ This is called when the back button is tapped or when the session is closed +
final
+ +
+ +
+ progressController + ExpandedControlsProgressController + +
+
+ +
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ skipAdButtonText + String? + +
+
+ Label for the Skip Ad button. Default is "Skip Ad". +
final
+ +
+ +
+ skipAdTimerText + String? + +
+
+ Label to indicate remaining time for ad. Default is "You can skip this ad in {{skip_remaining_time}}...", +where {{skip_remaining_time}} is replaced with the remaining time. +{{skip_remaining_time}} can be found in the constant SKIP_AD_TIMER_PLACEHOLDER. +
final
+ +
+ +
+
+ +
+

Methods

+
+
+ createElement() + StatefulElement + + + +
+
+ Creates a StatefulElement to manage this widget's location in the tree. [...] +
inherited
+ +
+ +
+ createState() + State<ExpandedControls> + + + +
+
+ Creates the mutable state for this widget at a given location in the tree. [...] +
override
+ +
+ +
+ debugDescribeChildren() + List<DiagnosticsNode> + + + +
+
+ Returns a list of DiagnosticsNode objects describing this node's +children. [...] +
@protected, inherited
+ +
+ +
+ debugFillProperties(DiagnosticPropertiesBuilder properties) + → void + + + +
+
+ Add additional properties associated with the node. [...] +
inherited
+ +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ 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}) + 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
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
@nonVirtual, inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/ExpandedControls.html b/docs/api/widgets/ExpandedControls/ExpandedControls.html new file mode 100644 index 0000000..a35ea17 --- /dev/null +++ b/docs/api/widgets/ExpandedControls/ExpandedControls.html @@ -0,0 +1,164 @@ + + + + + + + + ExpandedControls constructor - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControls
+ +
+ +
+ + +
+
+

ExpandedControls constructor + Null safety +

+ +
+ ExpandedControls(
  1. {required FlutterCastFramework castFramework,
  2. +
  3. String? castingToText,
  4. +
  5. String? skipAdTimerText,
  6. +
  7. String? skipAdButtonText,
  8. +
  9. String adInfoBoxText = "Ad in progress...",
  10. +
  11. VoidCallback? onCloseRequested}
  12. +
) +
+ + + + + +
+

Implementation

+
ExpandedControls({
+  required this.castFramework,
+  this.castingToText,
+  this.skipAdTimerText,
+  this.skipAdButtonText,
+  this.adInfoBoxText = "Ad in progress...",
+  this.onCloseRequested,
+});
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/adInfoBoxText.html b/docs/api/widgets/ExpandedControls/adInfoBoxText.html new file mode 100644 index 0000000..ff917f3 --- /dev/null +++ b/docs/api/widgets/ExpandedControls/adInfoBoxText.html @@ -0,0 +1,157 @@ + + + + + + + + adInfoBoxText property - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
adInfoBoxText
+ +
+ +
+ + +
+
+

adInfoBoxText property + Null safety +

+ +
+ String + adInfoBoxText +
final
+ +
+ +
+

Label for the Ad Info box. Default is "Ad in progress...".

+
+ + +
+

Implementation

+
final String adInfoBoxText;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/adSkipBoxController.html b/docs/api/widgets/ExpandedControls/adSkipBoxController.html new file mode 100644 index 0000000..75d9c87 --- /dev/null +++ b/docs/api/widgets/ExpandedControls/adSkipBoxController.html @@ -0,0 +1,154 @@ + + + + + + + + adSkipBoxController property - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
adSkipBoxController
+ +
+ +
+ + +
+
+

adSkipBoxController property + Null safety +

+ +
+ ExpandedControlsAdSkipBoxController + adSkipBoxController +
final
+ +
+ + + +
+

Implementation

+
final adSkipBoxController = ExpandedControlsAdSkipBoxController();
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/castFramework.html b/docs/api/widgets/ExpandedControls/castFramework.html new file mode 100644 index 0000000..bd57089 --- /dev/null +++ b/docs/api/widgets/ExpandedControls/castFramework.html @@ -0,0 +1,154 @@ + + + + + + + + castFramework property - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
castFramework
+ +
+ +
+ + +
+
+

castFramework property + Null safety +

+ +
+ FlutterCastFramework + castFramework +
final
+ +
+ + + +
+

Implementation

+
final FlutterCastFramework castFramework;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/castingToText.html b/docs/api/widgets/ExpandedControls/castingToText.html new file mode 100644 index 0000000..ed656af --- /dev/null +++ b/docs/api/widgets/ExpandedControls/castingToText.html @@ -0,0 +1,158 @@ + + + + + + + + castingToText property - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
castingToText
+ +
+ +
+ + +
+
+

castingToText property + Null safety +

+ +
+ String? + castingToText +
final
+ +
+ +
+

Label to introduce cast device. Default is "Casting to {{cast_device_name}}", where {{cast_device_name}} is replaced with the device name +{{cast_device_name}} can be found in the constant CAST_DEVICE_NAME_PLACEHOLDER.

+
+ + +
+

Implementation

+
final String? castingToText;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/createState.html b/docs/api/widgets/ExpandedControls/createState.html new file mode 100644 index 0000000..ece3fb5 --- /dev/null +++ b/docs/api/widgets/ExpandedControls/createState.html @@ -0,0 +1,177 @@ + + + + + + + + createState method - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
createState
+ +
+ +
+ + +
+
+

createState method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +State<ExpandedControls> +createState() + +
override
+ +
+ +
+

Creates the mutable state for this widget at a given location in the tree.

+

Subclasses should override this method to return a newly created +instance of their associated State subclass:

+
@override
+State<MyWidget> createState() => _MyWidgetState();
+
+

The framework can call this method multiple times over the lifetime of +a StatefulWidget. For example, if the widget is inserted into the tree +in multiple locations, the framework will create a separate State object +for each location. Similarly, if the widget is removed from the tree and +later inserted into the tree again, the framework will call createState +again to create a fresh State object, simplifying the lifecycle of +State objects.

+
+ + + +
+

Implementation

+
@override
+State<ExpandedControls> createState() => _ExpandedControlsState();
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/onCloseRequested.html b/docs/api/widgets/ExpandedControls/onCloseRequested.html new file mode 100644 index 0000000..46a34c7 --- /dev/null +++ b/docs/api/widgets/ExpandedControls/onCloseRequested.html @@ -0,0 +1,157 @@ + + + + + + + + onCloseRequested property - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onCloseRequested
+ +
+ +
+ + +
+
+

onCloseRequested property + Null safety +

+ +
+ VoidCallback? + onCloseRequested +
final
+ +
+ +
+

This is called when the back button is tapped or when the session is closed

+
+ + +
+

Implementation

+
final VoidCallback? onCloseRequested;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/progressController.html b/docs/api/widgets/ExpandedControls/progressController.html new file mode 100644 index 0000000..0be5772 --- /dev/null +++ b/docs/api/widgets/ExpandedControls/progressController.html @@ -0,0 +1,154 @@ + + + + + + + + progressController property - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
progressController
+ +
+ +
+ + +
+
+

progressController property + Null safety +

+ +
+ ExpandedControlsProgressController + progressController +
final
+ +
+ + + +
+

Implementation

+
final progressController = ExpandedControlsProgressController();
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/skipAdButtonText.html b/docs/api/widgets/ExpandedControls/skipAdButtonText.html new file mode 100644 index 0000000..2a5b4a5 --- /dev/null +++ b/docs/api/widgets/ExpandedControls/skipAdButtonText.html @@ -0,0 +1,157 @@ + + + + + + + + skipAdButtonText property - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
skipAdButtonText
+ +
+ +
+ + +
+
+

skipAdButtonText property + Null safety +

+ +
+ String? + skipAdButtonText +
final
+ +
+ +
+

Label for the Skip Ad button. Default is "Skip Ad".

+
+ + +
+

Implementation

+
final String? skipAdButtonText;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControls/skipAdTimerText.html b/docs/api/widgets/ExpandedControls/skipAdTimerText.html new file mode 100644 index 0000000..3912511 --- /dev/null +++ b/docs/api/widgets/ExpandedControls/skipAdTimerText.html @@ -0,0 +1,159 @@ + + + + + + + + skipAdTimerText property - ExpandedControls class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
skipAdTimerText
+ +
+ +
+ + +
+
+

skipAdTimerText property + Null safety +

+ +
+ String? + skipAdTimerText +
final
+ +
+ +
+

Label to indicate remaining time for ad. Default is "You can skip this ad in {{skip_remaining_time}}...", +where {{skip_remaining_time}} is replaced with the remaining time. +{{skip_remaining_time}} can be found in the constant SKIP_AD_TIMER_PLACEHOLDER.

+
+ + +
+

Implementation

+
final String? skipAdTimerText;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsConnectedDeviceLabel-class.html b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel-class.html new file mode 100644 index 0000000..3683090 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel-class.html @@ -0,0 +1,410 @@ + + + + + + + + ExpandedControlsConnectedDeviceLabel class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsConnectedDeviceLabel
+ +
+ +
+ + +
+
+

ExpandedControlsConnectedDeviceLabel class + Null safety + +

+ + + + +
+
+
Inheritance
+
+ + + + + +
+
+ +
+

Constructors

+ +
+
+ ExpandedControlsConnectedDeviceLabel({Key? key, required FlutterCastFramework castFramework, String? castingToText}) +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ castFramework + FlutterCastFramework + +
+
+ +
final
+ +
+ +
+ castingToText + String? + +
+
+ Label to introduce cast device. Default is "Casting to {{cast_device_name}}", +where {{cast_device_name}} is replaced with the device name. +{{cast_device_name}} can be found in the constant CAST_DEVICE_NAME_PLACEHOLDER. +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
@nonVirtual, read-only, inherited
+ +
+ +
+ key + Key? + +
+
+ Controls how one widget replaces another widget in the tree. [...] +
final, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ build(BuildContext context) + Widget + + + +
+
+ Describes the part of the user interface represented by this widget. [...] +
override
+ +
+ +
+ 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. [...] +
@protected, inherited
+ +
+ +
+ debugFillProperties(DiagnosticPropertiesBuilder properties) + → void + + + +
+
+ Add additional properties associated with the node. [...] +
inherited
+ +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ 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}) + 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
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
@nonVirtual, inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/ExpandedControlsConnectedDeviceLabel.html b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/ExpandedControlsConnectedDeviceLabel.html new file mode 100644 index 0000000..fb3e385 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/ExpandedControlsConnectedDeviceLabel.html @@ -0,0 +1,152 @@ + + + + + + + + ExpandedControlsConnectedDeviceLabel constructor - ExpandedControlsConnectedDeviceLabel class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsConnectedDeviceLabel
+ +
+ +
+ + +
+
+

ExpandedControlsConnectedDeviceLabel constructor + Null safety +

+ +
+ ExpandedControlsConnectedDeviceLabel(
  1. {Key? key,
  2. +
  3. required FlutterCastFramework castFramework,
  4. +
  5. String? castingToText}
  6. +
) +
+ + + + + +
+

Implementation

+
ExpandedControlsConnectedDeviceLabel({
+  Key? key,
+  required this.castFramework,
+  this.castingToText,
+}) : super(key: key);
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/build.html b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/build.html new file mode 100644 index 0000000..b34908a --- /dev/null +++ b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/build.html @@ -0,0 +1,213 @@ + + + + + + + + build method - ExpandedControlsConnectedDeviceLabel class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
build
+ +
+ +
+ + +
+
+

build method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +Widget +build(
  1. BuildContext context
  2. +
) + +
override
+ +
+ +
+

Describes the part of the user interface represented by this widget.

+

The framework calls this method when this widget is inserted into the tree +in a given BuildContext and when the dependencies of this widget change +(e.g., an InheritedWidget referenced by this widget changes). This +method can potentially be called in every frame and should not have any side +effects beyond building a widget.

+

The framework replaces the subtree below this widget with the widget +returned by this method, either by updating the existing subtree or by +removing the subtree and inflating a new subtree, depending on whether the +widget returned by this method can update the root of the existing +subtree, as determined by calling Widget.canUpdate.

+

Typically implementations return a newly created constellation of widgets +that are configured with information from this widget's constructor and +from the given BuildContext.

+

The given BuildContext contains information about the location in the +tree at which this widget is being built. For example, the context +provides the set of inherited widgets for this location in the tree. A +given widget might be built with multiple different BuildContext +arguments over time if the widget is moved around the tree or if the +widget is inserted into the tree in multiple places at once.

+

The implementation of this method must only depend on:

+ +

If a widget's build method is to depend on anything else, use a +StatefulWidget instead.

+

See also:

+
    +
  • StatelessWidget, which contains the discussion on performance considerations.
  • +
+
+ + + +
+

Implementation

+
@override
+Widget build(BuildContext context) {
+  final textStyle =
+      Theme.of(context).textTheme.bodyText2?.copyWith(color: Colors.white);
+
+  return FutureBuilder<CastDevice>(
+    future: castFramework.castContext.sessionManager.getCastDevice(),
+    builder: (context, snapshot) {
+      if (snapshot.hasData) {
+        final castDevice = snapshot.data;
+        final castDeviceName = castDevice?.friendlyName ?? "";
+        final baseCastLabel = castingToText ?? _defaultCastingToText;
+        final label = _replaceDeviceName(baseCastLabel, castDeviceName);
+        return Text(label, style: textStyle);
+      } else if (snapshot.hasError) {
+        debugPrint("error while retrieving cast device ${snapshot.error}");
+        return Text("");
+      } else {
+        return Text("");
+      }
+    },
+  );
+}
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/castFramework.html b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/castFramework.html new file mode 100644 index 0000000..ba23997 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/castFramework.html @@ -0,0 +1,148 @@ + + + + + + + + castFramework property - ExpandedControlsConnectedDeviceLabel class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
castFramework
+ +
+ +
+ + +
+
+

castFramework property + Null safety +

+ +
+ FlutterCastFramework + castFramework +
final
+ +
+ + + +
+

Implementation

+
final FlutterCastFramework castFramework;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/castingToText.html b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/castingToText.html new file mode 100644 index 0000000..ccd3669 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsConnectedDeviceLabel/castingToText.html @@ -0,0 +1,153 @@ + + + + + + + + castingToText property - ExpandedControlsConnectedDeviceLabel class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
castingToText
+ +
+ +
+ + +
+
+

castingToText property + Null safety +

+ +
+ String? + castingToText +
final
+ +
+ +
+

Label to introduce cast device. Default is "Casting to {{cast_device_name}}", +where {{cast_device_name}} is replaced with the device name. +{{cast_device_name}} can be found in the constant CAST_DEVICE_NAME_PLACEHOLDER.

+
+ + +
+

Implementation

+
final String? castingToText;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsPlayer-class.html b/docs/api/widgets/ExpandedControlsPlayer-class.html new file mode 100644 index 0000000..a1e24ba --- /dev/null +++ b/docs/api/widgets/ExpandedControlsPlayer-class.html @@ -0,0 +1,396 @@ + + + + + + + + ExpandedControlsPlayer class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsPlayer
+ +
+ +
+ + +
+
+

ExpandedControlsPlayer class + Null safety + +

+ + + + +
+
+
Inheritance
+
+ + + + + +
+
+ +
+

Constructors

+ +
+
+ ExpandedControlsPlayer({required FlutterCastFramework castFramework}) +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ castFramework + FlutterCastFramework + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
@nonVirtual, read-only, inherited
+ +
+ +
+ key + Key? + +
+
+ Controls how one widget replaces another widget in the tree. [...] +
final, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ createElement() + StatefulElement + + + +
+
+ Creates a StatefulElement to manage this widget's location in the tree. [...] +
inherited
+ +
+ +
+ createState() + State<ExpandedControlsPlayer> + + + +
+
+ Creates the mutable state for this widget at a given location in the tree. [...] +
override
+ +
+ +
+ debugDescribeChildren() + List<DiagnosticsNode> + + + +
+
+ Returns a list of DiagnosticsNode objects describing this node's +children. [...] +
@protected, inherited
+ +
+ +
+ debugFillProperties(DiagnosticPropertiesBuilder properties) + → void + + + +
+
+ Add additional properties associated with the node. [...] +
inherited
+ +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ 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}) + 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
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
@nonVirtual, inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsPlayer/ExpandedControlsPlayer.html b/docs/api/widgets/ExpandedControlsPlayer/ExpandedControlsPlayer.html new file mode 100644 index 0000000..4bb0f4e --- /dev/null +++ b/docs/api/widgets/ExpandedControlsPlayer/ExpandedControlsPlayer.html @@ -0,0 +1,147 @@ + + + + + + + + ExpandedControlsPlayer constructor - ExpandedControlsPlayer class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsPlayer
+ +
+ +
+ + +
+
+

ExpandedControlsPlayer constructor + Null safety +

+ +
+ ExpandedControlsPlayer(
  1. {required FlutterCastFramework castFramework}
  2. +
) +
+ + + + + +
+

Implementation

+
ExpandedControlsPlayer({
+  required this.castFramework,
+});
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsPlayer/castFramework.html b/docs/api/widgets/ExpandedControlsPlayer/castFramework.html new file mode 100644 index 0000000..a92e3d7 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsPlayer/castFramework.html @@ -0,0 +1,147 @@ + + + + + + + + castFramework property - ExpandedControlsPlayer class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
castFramework
+ +
+ +
+ + +
+
+

castFramework property + Null safety +

+ +
+ FlutterCastFramework + castFramework +
final
+ +
+ + + +
+

Implementation

+
final FlutterCastFramework castFramework;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsPlayer/createState.html b/docs/api/widgets/ExpandedControlsPlayer/createState.html new file mode 100644 index 0000000..f0715b7 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsPlayer/createState.html @@ -0,0 +1,170 @@ + + + + + + + + createState method - ExpandedControlsPlayer class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
createState
+ +
+ +
+ + +
+
+

createState method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +State<ExpandedControlsPlayer> +createState() + +
override
+ +
+ +
+

Creates the mutable state for this widget at a given location in the tree.

+

Subclasses should override this method to return a newly created +instance of their associated State subclass:

+
@override
+State<MyWidget> createState() => _MyWidgetState();
+
+

The framework can call this method multiple times over the lifetime of +a StatefulWidget. For example, if the widget is inserted into the tree +in multiple locations, the framework will create a separate State object +for each location. Similarly, if the widget is removed from the tree and +later inserted into the tree again, the framework will call createState +again to create a fresh State object, simplifying the lifecycle of +State objects.

+
+ + + +
+

Implementation

+
@override
+State<ExpandedControlsPlayer> createState() => _ExpandedControlsPlayerState();
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsProgress-class.html b/docs/api/widgets/ExpandedControlsProgress-class.html new file mode 100644 index 0000000..c293ad6 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsProgress-class.html @@ -0,0 +1,397 @@ + + + + + + + + ExpandedControlsProgress class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsProgress
+ +
+ +
+ + +
+
+

ExpandedControlsProgress class + Null safety + +

+ + + + +
+
+
Inheritance
+
+ + + + + +
+
+ +
+

Constructors

+ +
+
+ ExpandedControlsProgress({Key? key, required ExpandedControlsProgressController controller}) +
+
+ +
const
+
+
+
+ +
+

Properties

+ +
+
+ controller + ExpandedControlsProgressController + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
@nonVirtual, read-only, inherited
+ +
+ +
+ key + Key? + +
+
+ Controls how one widget replaces another widget in the tree. [...] +
final, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ createElement() + StatefulElement + + + +
+
+ Creates a StatefulElement to manage this widget's location in the tree. [...] +
inherited
+ +
+ +
+ createState() + State<ExpandedControlsProgress> + + + +
+
+ Creates the mutable state for this widget at a given location in the tree. [...] +
override
+ +
+ +
+ debugDescribeChildren() + List<DiagnosticsNode> + + + +
+
+ Returns a list of DiagnosticsNode objects describing this node's +children. [...] +
@protected, inherited
+ +
+ +
+ debugFillProperties(DiagnosticPropertiesBuilder properties) + → void + + + +
+
+ Add additional properties associated with the node. [...] +
inherited
+ +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ 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}) + 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
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
@nonVirtual, inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsProgress/ExpandedControlsProgress.html b/docs/api/widgets/ExpandedControlsProgress/ExpandedControlsProgress.html new file mode 100644 index 0000000..4786a8e --- /dev/null +++ b/docs/api/widgets/ExpandedControlsProgress/ExpandedControlsProgress.html @@ -0,0 +1,149 @@ + + + + + + + + ExpandedControlsProgress constructor - ExpandedControlsProgress class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsProgress
+ +
+ +
+ + +
+
+

ExpandedControlsProgress constructor + Null safety +

+ +
const + ExpandedControlsProgress(
  1. {Key? key,
  2. +
  3. required ExpandedControlsProgressController controller}
  4. +
) +
+ + + + + +
+

Implementation

+
const ExpandedControlsProgress({
+  Key? key,
+  required this.controller,
+}) : super(key: key);
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsProgress/controller.html b/docs/api/widgets/ExpandedControlsProgress/controller.html new file mode 100644 index 0000000..7d5d762 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsProgress/controller.html @@ -0,0 +1,147 @@ + + + + + + + + controller property - ExpandedControlsProgress class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
controller
+ +
+ +
+ + +
+
+

controller property + Null safety +

+ +
+ ExpandedControlsProgressController + controller +
final
+ +
+ + + +
+

Implementation

+
final ExpandedControlsProgressController controller;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsProgress/createState.html b/docs/api/widgets/ExpandedControlsProgress/createState.html new file mode 100644 index 0000000..5a0f7df --- /dev/null +++ b/docs/api/widgets/ExpandedControlsProgress/createState.html @@ -0,0 +1,171 @@ + + + + + + + + createState method - ExpandedControlsProgress class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
createState
+ +
+ +
+ + +
+
+

createState method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +State<ExpandedControlsProgress> +createState() + +
override
+ +
+ +
+

Creates the mutable state for this widget at a given location in the tree.

+

Subclasses should override this method to return a newly created +instance of their associated State subclass:

+
@override
+State<MyWidget> createState() => _MyWidgetState();
+
+

The framework can call this method multiple times over the lifetime of +a StatefulWidget. For example, if the widget is inserted into the tree +in multiple locations, the framework will create a separate State object +for each location. Similarly, if the widget is removed from the tree and +later inserted into the tree again, the framework will call createState +again to create a fresh State object, simplifying the lifecycle of +State objects.

+
+ + + +
+

Implementation

+
@override
+State<ExpandedControlsProgress> createState() =>
+    _ExpandedControlsProgressState();
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsProgressController-class.html b/docs/api/widgets/ExpandedControlsProgressController-class.html new file mode 100644 index 0000000..1b49bfa --- /dev/null +++ b/docs/api/widgets/ExpandedControlsProgressController-class.html @@ -0,0 +1,366 @@ + + + + + + + + ExpandedControlsProgressController class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsProgressController
+ +
+ +
+ + +
+
+

ExpandedControlsProgressController class + Null safety + +

+ + + + +
+
+
Inheritance
+
+ + + + + +
+
+ +
+

Constructors

+ +
+
+ ExpandedControlsProgressController() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ duration + int + +
+
+ +
read / write
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
read-only, inherited
+ +
+ +
+ hasListeners + bool + +
+
+ Whether any listeners are currently registered. [...] +
@protected, read-only, inherited
+ +
+ +
+ progress + int + +
+
+ +
read / write
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ +
+

Methods

+
+
+ addListener(VoidCallback listener) + → void + + + +
+
+ Register a closure to be called when the object changes. [...] +
inherited
+ +
+ +
+ dispose() + → void + + + +
+
+ Discards any resources used by the object. After this is called, the +object is not in a usable state and should be discarded (calls to +addListener and removeListener will throw after the object is +disposed). [...] +
@mustCallSuper, inherited
+ +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ notifyListeners() + → void + + + +
+
+ Call all the registered listeners. [...] + + +
+ +
+ removeListener(VoidCallback listener) + → void + + + +
+
+ Remove a previously registered closure from the list of closures that are +notified when the object changes. [...] +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. [...] +
inherited
+ +
+ +
+ updateProgress(int progress, int duration) + → void + + + +
+
+ + + +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsProgressController/ExpandedControlsProgressController.html b/docs/api/widgets/ExpandedControlsProgressController/ExpandedControlsProgressController.html new file mode 100644 index 0000000..94bb1d3 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsProgressController/ExpandedControlsProgressController.html @@ -0,0 +1,138 @@ + + + + + + + + ExpandedControlsProgressController constructor - ExpandedControlsProgressController class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsProgressController
+ +
+ +
+ + +
+
+

ExpandedControlsProgressController constructor + Null safety +

+ +
+ ExpandedControlsProgressController() +
+ + + + + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsProgressController/duration.html b/docs/api/widgets/ExpandedControlsProgressController/duration.html new file mode 100644 index 0000000..168a77d --- /dev/null +++ b/docs/api/widgets/ExpandedControlsProgressController/duration.html @@ -0,0 +1,145 @@ + + + + + + + + duration property - ExpandedControlsProgressController class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
duration
+ +
+ +
+ + +
+
+

duration property + Null safety +

+ +
+ int + duration +
read / write
+ +
+ + + +
+

Implementation

+
int duration = 0;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsProgressController/progress.html b/docs/api/widgets/ExpandedControlsProgressController/progress.html new file mode 100644 index 0000000..6a062e1 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsProgressController/progress.html @@ -0,0 +1,145 @@ + + + + + + + + progress property - ExpandedControlsProgressController class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
progress
+ +
+ +
+ + +
+
+

progress property + Null safety +

+ +
+ int + progress +
read / write
+ +
+ + + +
+

Implementation

+
int progress = 0;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsProgressController/updateProgress.html b/docs/api/widgets/ExpandedControlsProgressController/updateProgress.html new file mode 100644 index 0000000..a32ba09 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsProgressController/updateProgress.html @@ -0,0 +1,153 @@ + + + + + + + + updateProgress method - ExpandedControlsProgressController class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
updateProgress
+ +
+ +
+ + +
+
+

updateProgress method + Null safety +

+ +
+ + +void +updateProgress(
  1. int progress,
  2. +
  3. int duration
  4. +
) + + + +
+ + + + +
+

Implementation

+
void updateProgress(int progress, int duration) {
+  this.progress = progress;
+  this.duration = duration;
+  notifyListeners();
+}
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsToolbar-class.html b/docs/api/widgets/ExpandedControlsToolbar-class.html new file mode 100644 index 0000000..ab21669 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsToolbar-class.html @@ -0,0 +1,433 @@ + + + + + + + + ExpandedControlsToolbar class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsToolbar
+ +
+ +
+ + +
+
+

ExpandedControlsToolbar class + Null safety + +

+ + + + +
+
+
Inheritance
+
+ + + + + +
+
+ +
+

Constructors

+ +
+
+ ExpandedControlsToolbar({required FlutterCastFramework castFramework, String title = "", String subtitle = "", VoidCallback? onBackTapped, Key? key}) +
+
+ +
const
+
+
+
+ +
+

Properties

+ +
+
+ castFramework + FlutterCastFramework + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. [...] +
@nonVirtual, read-only, inherited
+ +
+ +
+ key + Key? + +
+
+ Controls how one widget replaces another widget in the tree. [...] +
final, inherited
+ +
+ +
+ onBackTapped + VoidCallback? + +
+
+ +
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ subtitle + String + +
+
+ +
final
+ +
+ +
+ title + String + +
+
+ +
final
+ +
+ +
+
+ +
+

Methods

+
+
+ build(BuildContext context) + Widget + + + +
+
+ Describes the part of the user interface represented by this widget. [...] +
override
+ +
+ +
+ 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. [...] +
@protected, inherited
+ +
+ +
+ debugFillProperties(DiagnosticPropertiesBuilder properties) + → void + + + +
+
+ Add additional properties associated with the node. [...] +
inherited
+ +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. [...] +
inherited
+ +
+ +
+ 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}) + 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
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. [...] +
@nonVirtual, inherited
+ +
+ +
+
+ + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsToolbar/ExpandedControlsToolbar.html b/docs/api/widgets/ExpandedControlsToolbar/ExpandedControlsToolbar.html new file mode 100644 index 0000000..e339010 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsToolbar/ExpandedControlsToolbar.html @@ -0,0 +1,158 @@ + + + + + + + + ExpandedControlsToolbar constructor - ExpandedControlsToolbar class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ExpandedControlsToolbar
+ +
+ +
+ + +
+
+

ExpandedControlsToolbar constructor + Null safety +

+ +
const + ExpandedControlsToolbar(
  1. {required FlutterCastFramework castFramework,
  2. +
  3. String title = "",
  4. +
  5. String subtitle = "",
  6. +
  7. VoidCallback? onBackTapped,
  8. +
  9. Key? key}
  10. +
) +
+ + + + + +
+

Implementation

+
const ExpandedControlsToolbar({
+  required this.castFramework,
+  this.title = "",
+  this.subtitle = "",
+  this.onBackTapped,
+  Key? key,
+}) : super(key: key);
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsToolbar/build.html b/docs/api/widgets/ExpandedControlsToolbar/build.html new file mode 100644 index 0000000..24909de --- /dev/null +++ b/docs/api/widgets/ExpandedControlsToolbar/build.html @@ -0,0 +1,240 @@ + + + + + + + + build method - ExpandedControlsToolbar class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
build
+ +
+ +
+ + +
+
+

build method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +Widget +build(
  1. BuildContext context
  2. +
) + +
override
+ +
+ +
+

Describes the part of the user interface represented by this widget.

+

The framework calls this method when this widget is inserted into the tree +in a given BuildContext and when the dependencies of this widget change +(e.g., an InheritedWidget referenced by this widget changes). This +method can potentially be called in every frame and should not have any side +effects beyond building a widget.

+

The framework replaces the subtree below this widget with the widget +returned by this method, either by updating the existing subtree or by +removing the subtree and inflating a new subtree, depending on whether the +widget returned by this method can update the root of the existing +subtree, as determined by calling Widget.canUpdate.

+

Typically implementations return a newly created constellation of widgets +that are configured with information from this widget's constructor and +from the given BuildContext.

+

The given BuildContext contains information about the location in the +tree at which this widget is being built. For example, the context +provides the set of inherited widgets for this location in the tree. A +given widget might be built with multiple different BuildContext +arguments over time if the widget is moved around the tree or if the +widget is inserted into the tree in multiple places at once.

+

The implementation of this method must only depend on:

+ +

If a widget's build method is to depend on anything else, use a +StatefulWidget instead.

+

See also:

+
    +
  • StatelessWidget, which contains the discussion on performance considerations.
  • +
+
+ + + +
+

Implementation

+
@override
+Widget build(BuildContext context) {
+  final titleStyle = Theme.of(context)
+      .textTheme
+      .headline5
+      ?.copyWith(fontWeight: FontWeight.bold, color: Colors.white);
+
+  final subtitleStyle =
+      Theme.of(context).textTheme.subtitle1?.copyWith(color: Colors.grey);
+
+  return Row(
+    children: [
+      GestureDetector(
+        child: Padding(
+          padding: const EdgeInsets.fromLTRB(8, 8, 16, 8),
+          child: Icon(
+            Icons.keyboard_arrow_down,
+            color: Colors.white,
+          ),
+        ),
+        onTap: onBackTapped,
+      ),
+      Expanded(
+        child: Column(
+          mainAxisAlignment: MainAxisAlignment.spaceAround,
+          crossAxisAlignment: CrossAxisAlignment.start,
+          children: [
+            Text(
+              this.title,
+              maxLines: 1,
+              overflow: TextOverflow.ellipsis,
+              style: titleStyle,
+            ),
+            Text(
+              this.subtitle,
+              maxLines: 1,
+              overflow: TextOverflow.ellipsis,
+              style: subtitleStyle,
+            ),
+          ],
+        ),
+      ),
+      CastButton(
+        castFramework: castFramework,
+      )
+    ],
+  );
+}
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsToolbar/castFramework.html b/docs/api/widgets/ExpandedControlsToolbar/castFramework.html new file mode 100644 index 0000000..ba0a1b0 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsToolbar/castFramework.html @@ -0,0 +1,150 @@ + + + + + + + + castFramework property - ExpandedControlsToolbar class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
castFramework
+ +
+ +
+ + +
+
+

castFramework property + Null safety +

+ +
+ FlutterCastFramework + castFramework +
final
+ +
+ + + +
+

Implementation

+
final FlutterCastFramework castFramework;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsToolbar/onBackTapped.html b/docs/api/widgets/ExpandedControlsToolbar/onBackTapped.html new file mode 100644 index 0000000..7005056 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsToolbar/onBackTapped.html @@ -0,0 +1,150 @@ + + + + + + + + onBackTapped property - ExpandedControlsToolbar class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
onBackTapped
+ +
+ +
+ + +
+
+

onBackTapped property + Null safety +

+ +
+ VoidCallback? + onBackTapped +
final
+ +
+ + + +
+

Implementation

+
final VoidCallback? onBackTapped;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsToolbar/subtitle.html b/docs/api/widgets/ExpandedControlsToolbar/subtitle.html new file mode 100644 index 0000000..961e177 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsToolbar/subtitle.html @@ -0,0 +1,150 @@ + + + + + + + + subtitle property - ExpandedControlsToolbar class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
subtitle
+ +
+ +
+ + +
+
+

subtitle property + Null safety +

+ +
+ String + subtitle +
final
+ +
+ + + +
+

Implementation

+
final String subtitle;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/ExpandedControlsToolbar/title.html b/docs/api/widgets/ExpandedControlsToolbar/title.html new file mode 100644 index 0000000..7a15479 --- /dev/null +++ b/docs/api/widgets/ExpandedControlsToolbar/title.html @@ -0,0 +1,150 @@ + + + + + + + + title property - ExpandedControlsToolbar class - widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
title
+ +
+ +
+ + +
+
+

title property + Null safety +

+ +
+ String + title +
final
+ +
+ + + +
+

Implementation

+
final String title;
+
+
+
+ + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/docs/api/widgets/widgets-library.html b/docs/api/widgets/widgets-library.html new file mode 100644 index 0000000..0551c71 --- /dev/null +++ b/docs/api/widgets/widgets-library.html @@ -0,0 +1,225 @@ + + + + + + + + widgets library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
widgets
+ +
+ +
+ + +
+
+

widgets library + Null safety + +

+ + + + +
+

Classes

+ +
+
+ CastButton + +
+
+ +
+ +
+ CastIcon + +
+
+ +
+ +
+ ExpandedControls + +
+
+ +
+ +
+ ExpandedControlsConnectedDeviceLabel + +
+
+ +
+ +
+ ExpandedControlsPlayer + +
+
+ +
+ +
+ ExpandedControlsProgress + +
+
+ +
+ +
+ ExpandedControlsProgressController + +
+
+ +
+ +
+ ExpandedControlsToolbar + +
+
+ +
+ +
+
+ + + +
+

Constants

+ +
+
+ CAST_DEVICE_NAME_PLACEHOLDER + → const String + + +
+
+ Placeholder to be used for the castingToText of ExpandedControlsConnectedDeviceLabel + + +
+ "{{cast_device_name}}" +
+
+ +
+
+ + + + + + +
+ + + + + +
+ +
+ + flutter_cast_framework + 0.0.1 + + + +
+ + + + + + + + + + + + diff --git a/pubspec.lock b/pubspec.lock index 9dcf218..3c9c398 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -85,6 +85,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.0.1" + csslib: + dependency: transitive + description: + name: csslib + url: "https://pub.dartlang.org" + source: hosted + version: "0.17.1" + dartdoc: + dependency: "direct dev" + description: + name: dartdoc + url: "https://pub.dartlang.org" + source: hosted + version: "4.1.0" fake_async: dependency: transitive description: @@ -123,6 +137,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.2" + html: + dependency: transitive + description: + name: html + url: "https://pub.dartlang.org" + source: hosted + version: "0.15.0" + logging: + dependency: transitive + description: + name: logging + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" + markdown: + dependency: transitive + description: + name: markdown + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.1" matcher: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 4e0186e..c9ee60a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_cast_framework description: A new flutter plugin project. version: 0.0.1 -homepage: +homepage: https://gianlucaparadise.github.io/flutter_cast_framework/ environment: sdk: ">=2.12.0 <3.0.0" @@ -13,6 +13,7 @@ dependencies: meta: ^1.7.0 dev_dependencies: + dartdoc: ^4.1.0 flutter_test: sdk: flutter pigeon: ^1.0.8