win_capture 0.0.4
win_capture: ^0.0.4 copied to clipboard
screen capture plugin for mac, linux and window os
win_capture #
This plugin used to take screenshot of current screen, currently its working on macos and linux, in future we will work on window support
Screen Capture using native code to take screen shot of window. it quite fast and quick in response. This plugin have feature of bounce icon on macos to capture focus of user
Getting Started #
Add dependency in pubspec.yaml win_capture:
Linux | macOS | Windows | |
---|---|---|---|
Support | Yes | Yes | Pending |
Supported ScreenCapture and Foucs #
Directories support by platform:
Features | Linux | macOS | Windows |
---|---|---|---|
ScreenCapture | ✔️ | ✔️ | ❌️️ |
Focus | ❌️ | ✔️ | ❌️ |
Usage Examples #
Mac Support for Screen Capture #
//init Setup
var _winCapture = WinCapture();
// Check for permission
await isAccessAllowed();
// Request for permission
await requestPermission();
// Take ScreenShot
await getScreenSnapShot();
Mac Support For Focus #
//initial Setup
var _winCapture = WinCapture();
// Check for permission
await popUpWindow();
Linux Support for Screen Capture #
for Linux we are using c-interpolation to make it more native and fast. for this we have create c lib and implement it with ffi
//initial Setup
late WinCapture _winCapture;
@override
void initState() {
super.initState();
_winCapture = WinCapture();
if(Platform.isLinux){
_winCapture.initLinuxSnapLib();
}
}
void initialSetup()async{
final getTempPath = await getDownloadsDirectory();
final Directory appDocDirFolder = Directory(getTempPath!.path);
if (!await appDocDirFolder.exists()) {
await appDocDirFolder.create(recursive: true);
}
_libPath = appDocDirFolder.path;
_winCapture.initLinuxSnapLib(_libPath);
setState(() {
});
}
// Take ScreenShot
await getScreenSnapShot();
Window Support for Screen Capture #
working on it adding functionality soon