mirror of
https://github.com/m5stack/StackChan.git
synced 2026-04-28 19:34:23 +00:00
70 lines
2.0 KiB
Swift
70 lines
2.0 KiB
Swift
/*
|
|
SPDX-FileCopyrightText: 2026 M5Stack Technology CO LTD
|
|
SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
//
|
|
// ViewFactory.swift
|
|
// Runner
|
|
//
|
|
// Created by on 2026/1/30.
|
|
//
|
|
|
|
import Flutter
|
|
import UIKit
|
|
|
|
class StackChanRobotViewFactory: NSObject, FlutterPlatformViewFactory {
|
|
|
|
private let messenger: FlutterBinaryMessenger
|
|
|
|
init(messenger: FlutterBinaryMessenger) {
|
|
self.messenger = messenger
|
|
super.init()
|
|
}
|
|
|
|
func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
|
|
return StackChanRobot(frame: frame, viewId: viewId, messenger: messenger, args: args)
|
|
}
|
|
|
|
func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
|
|
return FlutterStandardMessageCodec.sharedInstance()
|
|
}
|
|
}
|
|
|
|
|
|
class StackChanRotaryRobotViewFactory: NSObject, FlutterPlatformViewFactory {
|
|
private let messenger: FlutterBinaryMessenger
|
|
|
|
init(messenger: FlutterBinaryMessenger) {
|
|
self.messenger = messenger
|
|
super.init()
|
|
}
|
|
|
|
func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
|
|
return StackChanRotaryRobot(frame: frame, viewId: viewId, messenger: messenger, args: args)
|
|
}
|
|
|
|
func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
|
|
return FlutterStandardMessageCodec.sharedInstance()
|
|
}
|
|
}
|
|
|
|
|
|
class StackChanArViewFactory: NSObject, FlutterPlatformViewFactory {
|
|
private let messenger: FlutterBinaryMessenger
|
|
|
|
init(messenger: FlutterBinaryMessenger) {
|
|
self.messenger = messenger
|
|
super.init()
|
|
}
|
|
|
|
func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
|
|
return StackChanArView(frame: frame, viewId: viewId, messenger: messenger, args: args)
|
|
}
|
|
|
|
func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
|
|
return FlutterStandardMessageCodec.sharedInstance()
|
|
}
|
|
|
|
}
|