diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
index cc8b16d..eb4befb 100644
--- a/.idea/libraries/Dart_Packages.xml
+++ b/.idea/libraries/Dart_Packages.xml
@@ -5,182 +5,174 @@
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/libraries/Dart_SDK.xml b/.idea/libraries/Dart_SDK.xml
index 51a5be2..d4bb4d4 100644
--- a/.idea/libraries/Dart_SDK.xml
+++ b/.idea/libraries/Dart_SDK.xml
@@ -1,17 +1,27 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml
index dfad0f5..b0f6971 100644
--- a/.idea/libraries/Flutter_Plugins.xml
+++ b/.idea/libraries/Flutter_Plugins.xml
@@ -1,8 +1,6 @@
-
-
-
+
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 66341e6..8058fca 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -10,68 +10,20 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -83,11 +35,16 @@
+
+
+
+
+
@@ -126,24 +83,17 @@
-
-
-
-
-
-
-
-
+
+
+
+
@@ -163,37 +113,32 @@
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -204,6 +149,7 @@
1549809262440
+
@@ -243,8 +189,8 @@
-
-
+
+
diff --git a/lib/screenshot.dart b/lib/screenshot.dart
index f463285..0a8f001 100644
--- a/lib/screenshot.dart
+++ b/lib/screenshot.dart
@@ -99,12 +99,16 @@ class ScreenshotController {
Future captureFromWidget(
Widget widget, {
Duration delay = const Duration(seconds: 1),
+ double? customHeight,
+ double? customWidth,
double? pixelRatio,
BuildContext? context,
Size? targetSize,
}) async {
ui.Image image = await widgetToUiImage(widget,
delay: delay,
+ customHeight: customHeight,
+ customWidth: customWidth,
pixelRatio: pixelRatio,
context: context,
targetSize: targetSize);
@@ -118,6 +122,8 @@ class ScreenshotController {
/// If you are building a desktop/web application that supports multiple view. Consider passing the [context] so that flutter know which view to capture.
static Future widgetToUiImage(
Widget widget, {
+ double? customHeight,
+ double? customWidth,
Duration delay = const Duration(seconds: 1),
double? pixelRatio,
BuildContext? context,
@@ -152,9 +158,13 @@ class ScreenshotController {
final fallBackView = platformDispatcher.views.first;
final view =
context == null ? fallBackView : View.maybeOf(context) ?? fallBackView;
- Size logicalSize =
- targetSize ?? view.physicalSize / view.devicePixelRatio; // Adapted
- Size imageSize = targetSize ?? view.physicalSize; // Adapted
+
+ Size logicalSize = (customHeight == null || customWidth == null?
+ targetSize ?? view.physicalSize / view.devicePixelRatio : Size(customWidth, customHeight * 2)) /
+ ui.window.devicePixelRatio; // Adapted
+ Size imageSize = (customHeight == null || customWidth == null)?
+ targetSize ?? view.physicalSize :
+ Size(customWidth, customHeight * 2); // Adapted
assert(logicalSize.aspectRatio.toStringAsPrecision(5) ==
imageSize.aspectRatio
diff --git a/pubspec.lock b/pubspec.lock
index cd59d35..83e6df0 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -37,10 +37,10 @@ packages:
dependency: transitive
description:
name: collection
- sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
+ sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
url: "https://pub.dev"
source: hosted
- version: "1.17.1"
+ version: "1.17.2"
fake_async:
dependency: transitive
description:
@@ -59,30 +59,22 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
- js:
- dependency: transitive
- description:
- name: js
- sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
- url: "https://pub.dev"
- source: hosted
- version: "0.6.7"
matcher:
dependency: transitive
description:
name: matcher
- sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
+ sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev"
source: hosted
- version: "0.12.15"
+ version: "0.12.16"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
+ sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev"
source: hosted
- version: "0.2.0"
+ version: "0.5.0"
meta:
dependency: transitive
description:
@@ -108,10 +100,10 @@ packages:
dependency: transitive
description:
name: source_span
- sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
+ sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev"
source: hosted
- version: "1.9.1"
+ version: "1.10.0"
stack_trace:
dependency: transitive
description:
@@ -148,10 +140,10 @@ packages:
dependency: transitive
description:
name: test_api
- sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
+ sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
url: "https://pub.dev"
source: hosted
- version: "0.5.1"
+ version: "0.6.0"
vector_math:
dependency: transitive
description:
@@ -160,6 +152,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
+ web:
+ dependency: transitive
+ description:
+ name: web
+ sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.1.4-beta"
sdks:
- dart: ">=3.0.0-0 <4.0.0"
+ dart: ">=3.1.0-185.0.dev <4.0.0"
flutter: ">=3.10.0"
diff --git a/screenshot.iml b/screenshot.iml
index 41fa982..4d72f85 100644
--- a/screenshot.iml
+++ b/screenshot.iml
@@ -30,8 +30,8 @@
-
+
\ No newline at end of file