marco.pms.mobileapp/lib/widgets/size_observer.dart
Vaibhav Surve a5dd5e19fc Add Windows runner implementation for Flutter application
- Created CMakeLists.txt for Flutter and runner components.
- Implemented resource script (Runner.rc) for application metadata.
- Developed main entry point (main.cpp) for the Windows application.
- Added FlutterWindow class to manage the Flutter view within a Win32 window.
- Implemented utility functions for console management and command line argument parsing.
- Established Win32Window class for high DPI-aware window handling.
- Included application icon and manifest for proper Windows integration.
- Set up build configurations and dependencies for the Flutter application on Windows.
2025-04-23 09:55:31 +05:30

42 lines
880 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
typedef SizeCallback = void Function(Size size);
class _RenderSizeObserver extends RenderProxyBox {
_RenderSizeObserver({
RenderBox? child,
required this.onLayoutChangedCallback,
}) : super(child);
final SizeCallback onLayoutChangedCallback;
Size? _oldSize;
@override
void performLayout() {
super.performLayout();
if (size != _oldSize) {
onLayoutChangedCallback(size);
}
_oldSize = size;
}
}
class SizeObserver extends SingleChildRenderObjectWidget {
const SizeObserver({
super.key,
required Widget super.child,
required this.onSized,
});
final SizeCallback onSized;
@override
_RenderSizeObserver createRenderObject(BuildContext context) {
return _RenderSizeObserver(
onLayoutChangedCallback: onSized,
);
}
}