Compositing layers with cairo_push_group and pop_group_to_source
Render a watermark or shadow into an offscreen Cairo group, then paint it as a single blended layer over your surface.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Render a watermark or shadow into an offscreen Cairo group, then paint it as a single blended layer over your surface.
Learn how Cairo’s recording surface lets you record drawing commands once and replay them to any target—PNG, PDF, or screen—without re‑drawing. The guide covers bounded vs unbounded extents, ink extents, a practical example, and trade‑offs for memory and performance.
Use Cairo's PDF backend and FreeType to draw vector shapes and Unicode text into a portable PDF without rasterization.
Learn how to avoid rasterization fallbacks in Cairo PDF exports and ensure your text and paths remain true vectors for high-resolution documents.
A diagnostic guide to identifying why Cairo's toy font API produces low-resolution output or missing characters, and how to migrate to FreeType for production quality.
Cairo 1.x makes state mutations auditable by declaring storage with #[storage] and forcing explicit self.storage.field.read() and .write() calls. This declarative model improves reviewability, serialization safety, and interface clarity.
Cairo on StarkNet separates publishing bytecode from creating a contract instance. Learn how declare and deploy work, why class hashes matter, and how to verify the result.
Learn how to create vector PDFs with Cairo’s PDF surface backend, see a minimal C example, and understand font, transparency, and version trade‑offs.
Cairo range checks prevent silent overflows by constraining field elements to specific bit-widths. Learn how to use fixed-size types to enforce bounds and verify them in Sierra.