Skip to content

Latest commit

 

History

History
40 lines (33 loc) · 1.22 KB

README.md

File metadata and controls

40 lines (33 loc) · 1.22 KB

Desktop Duplikation

A library to make usage of Windows Desktop Duplication API easy on Kotlin Native for target mingw64.

Kotlin

Dependencies

In order to build this project you need to install directx 11 headers to your msys2 installation. Either create a system environment variable called MINGW64_DIR and point to your msys2 installation, or install it under C:/msys64/mingw64

$ pacman -S mingw-w64-x86_64-headers-git

If you wish to use this code as a pre-compiled library, put this into your gradle mingw64 dependencies:

implementation("io.github.syrou:desktopduplikation:0.0.3")

Usage

In order to automatically clear arena allocation, use the .use {} lambda

val desktopDuplikationManager = DesktopDuplikationManager()
desktopDuplikationManager.use {
    if(!desktopDuplikationManager.initialize()) return
    desktopDuplikationManager.captureNext { sr, desc ->
        desktopDuplikationManager.dumpBitmap(
            "c:\\test.bmp",
            sr.pData as CArrayPointer<ByteVar>,
            sr.RowPitch.toInt(),
            desc.Width.toInt(),
            desc.Height.toInt()
        )
    }
}