* Revert "Revert vcpkg ffmpeg (#8751)" This reverts commit5c16a8302e. * vcpkg: Reland ffmpeg and try to fix sciter build Signed-off-by: Vasyl Gello <vasek.gello@gmail.com> * vcpkg: Detect AVX2 by requiring __m256i (ubuntu18.04 sciter) Signed-off-by: Vasyl Gello <vasek.gello@gmail.com> * Install nasm from debian buster and python3.7 ... from ubuntu universe [Skip CI] * vcpkg: Add libyuv port with fix for windows Fromabc59feabfFound by @deep-soft Signed-off-by: Vasyl Gello <vasek.gello@gmail.com> * Bump vcpkg baseline to 2024.07.12 Signed-off-by: Vasyl Gello <vasek.gello@gmail.com> * Fix F-Droid version action I thought the latest release will be updated by the time hook starts but it is not the case. Get tag from GITHUB_REF instead if GITHUB_REF_TYPE is "tag". Signed-off-by: Vasyl Gello <vasek.gello@gmail.com> --------- Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
a72a8906b0
·
2024-07-23 23:31:36 +08:00
History
Derived from https://github.com/quadrupleslap/scrap
scrap
Scrap records your screen! At least it does if you're on Windows, macOS, or Linux.
Usage
[dependencies]
scrap = "0.5"
Its API is as simple as it gets!
struct Display; /// A screen.
struct Frame; /// An array of the pixels that were on-screen.
struct Capturer; /// A recording instance.
impl Capturer {
/// Begin recording.
pub fn new(display: Display) -> io::Result<Capturer>;
/// Try to get a frame.
/// Returns WouldBlock if it's not ready yet.
pub fn frame<'a>(&'a mut self) -> io::Result<Frame<'a>>;
pub fn width(&self) -> usize;
pub fn height(&self) -> usize;
}
impl Display {
/// The primary screen.
pub fn primary() -> io::Result<Display>;
/// All the screens.
pub fn all() -> io::Result<Vec<Display>>;
pub fn width(&self) -> usize;
pub fn height(&self) -> usize;
}
impl<'a> ops::Deref for Frame<'a> {
/// A frame is just an array of bytes.
type Target = [u8];
}
The Frame Format
- The frame format is guaranteed to be packed BGRA.
- The width and height are guaranteed to remain constant.
- The stride might be greater than the width, and it may also vary between frames.
System Requirements
| OS | Minimum Requirements |
|---|---|
| macOS | macOS 10.8 |
| Linux | XCB + SHM + RandR |
| Windows | DirectX 11.1 |