A piet frontend for tiny-skia

Overview

piet-tiny-skia

A piet frontend for the tiny-skia framework.

tiny-skia is a very high-quality implementation of software rendering, based on the algorithms used by Skia. It is the fastest software renderer in the Rust community and it produces high-quality results. However, the feature set of the crate is intentionally limited so that what is there is fast and correct.

This crate, piet-tiny-skia, provides a piet-based frontend for tiny-skia that may be more familiar to users of popular graphics APIs. It may be easier to use than the tiny-skia API while also maintaining the flexibility. It also provides text rendering, provided by the cosmic-text crate.

To start, create a tiny_skia::PixmapMut and a Cache. Then, use the Cache to create a RenderContext to render into the pixmap. Finally the pixmap can be saved to a file or rendered elsewhere.

License

piet-tiny-skia is free software: you can redistribute it and/or modify it under the terms of either:

  • GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
  • Mozilla Public License as published by the Mozilla Foundation, version 2.

piet-tiny-skia is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License or the Mozilla Public License for more details.

You should have received a copy of the GNU Lesser General Public License and the Mozilla Public License along with piet-tiny-skia. If not, see https://www.gnu.org/licenses/ or https://www.mozilla.org/en-US/MPL/2.0/.

You might also like...
Tiny Rust library to draw pretty line graphs using ascii characters.

rasciigraph Tiny Rust library to draw pretty line graphs using ascii characters. Usage Add this to your Cargo.toml [dependencies] rasciigraph = "0.1.1

A tiny crate to make it easy to share and apply Git hooks for Rust projects
A tiny crate to make it easy to share and apply Git hooks for Rust projects

Shareable git hooks for Rust project. Sloughi is a friend of Husky from North Africa! :algeria:

For something between the likes of a toy bootloader or tiny kernel and Arch Linux.

For something between the likes of a toy bootloader or tiny kernel and Arch Linux.

Just a collection of tiny Rust projects I've did. None warrant a whole repo rn

Daily Rust I try to write some tiny programs daily to gradually improve my Rust skills! Current Program Descriptions first_prog.rs: My first program a

A tiny software renderer written in Rust.
A tiny software renderer written in Rust.

tiny-renderer 简单的软光栅化渲染器 基础数学库 Bresenham画线算法 Cohen-Sutherland线段裁剪算法 glTF模型加载 模型/视图/投影变换 背面剔除 视椎剔除 齐次空间裁剪 深度测试 Blinn–Phong着色模型 重心坐标插值 运行 bresenham画线算法

Tiny CLI tool that helps to visualize iCal file content in the terminal.
Tiny CLI tool that helps to visualize iCal file content in the terminal.

Calio Calio is a tiny CLI tool that helps to visualize iCal file in the terminal. Installation You can either install it via cargo or download the bin

A tiny library and application for animating text in the terminal.
A tiny library and application for animating text in the terminal.

🐌 snailshell A tiny library and application for animating text in the terminal. 🪄 It's so easy to add some flair to your text RPGs or console progra

A very tiny terminal snake game, purely implemented in Rust.
A very tiny terminal snake game, purely implemented in Rust.

tiny-snake.rs A very tiny terminal snake game, purely implemented in Rust. Features Optimized binary has only 2760 bytes. No dependencies. Not even li

A beautiful, tiny traceback and logging library supporting #![no_std] rust.

breadcrumbs Breadcrumbs is a beautiful, tiny traceback and logging library for Rust that offers seamless integration with #![no_std], multi-threading

Comments
Owner
John Nunley
All opinions shared by this account do not reflect my employer
John Nunley
a (soon to be) calculator frontend and a (soon to be optimizing) toy IR backend

Zach-Calc Zach-Calc is a pet project for me to try and better understand pattern matching, optimization, IRs, and the likes. ./libs/* contains librari

Zachary Petti 0 Jan 6, 2022
Macchina - A system information frontend, with an (unhealthy) emphasis on performance.

macchina Fast, minimal and customizable system information frontend. Linux • macOS • Windows • NetBSD • FreeBSD • OpenWrt • Android About macchina let

Macchina CLI 682 Jan 5, 2023
Simple TUI frontend for paru,

parui Simple TUI frontend for paru. Images Keybinds parui adopts vim-like keybinds. Key Mode Action <Escape> Insert Enter Select Mode <Return> Insert

Qther 25 Jan 3, 2023
Yet another command-line chat GPT frontend written in Rust.

gpterm Yet another command-line chat GPT frontend written in Rust. Features Stream output with typing effect Store chat messages/history Context aware

Makis Christou 22 May 4, 2023
Compiler frontend for the PureScript programming language.

purescript-analyzer Goals Provide an independent frontend for providing information for IDE tooling, separate from the compiler. Implement a rich edit

Justin Garcia 16 Jul 25, 2023
Experimental integration of `fedimint-client` with the Leptos web frontend framework

CAUTION: highly experimental, the Database implementation is likely horribly broken Fedimint Client built with Leptos This repo contains a proof-of-co

null 3 Aug 27, 2023
💸 An open-source wasteof.money frontend/backend implementation

wasteof.time An open-source wasteof.money frontend/backend implementation Running Backend cargo run -q -p backend Frontend To run the frontend, you ne

Max Walters 3 Feb 18, 2024
Progress In Nix - Pacman inspired frontend for Nix

Progress In Nix Pinix is a Pacman inspired frontend for Nix. It wraps a regular Nix command and replaces the output with a more modern and informative

Rémi Dupré 23 Mar 9, 2024
Tiny Rust CLI to checkout a recent git branch interactively

git-select-branch Tiny Rust CLI to checkout a recent git branch interactively. Installation Homebrew brew tap dnjstrom/git-select-branch brew install

Daniel Ström 5 Oct 11, 2022
Tiny color conversion library for TUI application builders

Definition of ANSI, RGB and HSL color types and all the conversions between them. There are many other color conversion crates. This one may be useful

Canop 8 Dec 15, 2022