A layered image editor for Linux and Omarchy, ported from Compositor (github.com/robbietilton/Compositor), whose Swift source is its specification. It reads and writes Compositor's .comp projects. Packages for Ubuntu, Fedora and Arch come from the release workflow; scripts/install/ holds one install script per distribution family, and flake.nix serves NixOS. Co-Authored-By: Claude <noreply@anthropic.com>
13 lines
764 B
C
13 lines
764 B
C
#ifndef LensPixels_h
|
|
#define LensPixels_h
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
// Radial lens distortion over premultiplied RGBA (4 bytes per pixel, `stride` bytes per row, same
|
|
// layout for source and destination). Each destination pixel samples the source bilinearly at
|
|
// its offset from the image center scaled by (1 - k * r²), where r is that offset relative to the
|
|
// half-diagonal: k > 0 pulls samples inward (straightens barrel distortion, corners crop), k < 0
|
|
// pushes them outward (straightens pincushion distortion, corners turn transparent). Pixels
|
|
// outside the source are transparent. k = 0 copies the source exactly.
|
|
void lens_distort(const uint8_t *source, uint8_t *destination, size_t width, size_t height, size_t stride, double k);
|
|
#endif
|