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