19 releases

0.1.21 Jan 6, 2025
0.1.20 Jan 4, 2025
0.1.17 Dec 31, 2024

#1046 in Images

Download history 51/week @ 2024-12-10 237/week @ 2024-12-17 1315/week @ 2024-12-24 500/week @ 2024-12-31 56/week @ 2025-01-07 1/week @ 2025-01-14 1/week @ 2025-02-04 76/week @ 2025-02-11 5/week @ 2025-02-18 2/week @ 2025-02-25

1,056 downloads per month
Used in ferrite

GPL-3.0-or-later

215KB
2.5K SLoC

ferrite-core

Core functionality for the Ferrite image viewer. This crate provides the essential building blocks for image viewing, manipulation, and navigation.

Features

  • Fast image loading with LRU caching
  • Smooth zooming and panning
  • Directory-based image navigation
  • Configurable UI elements

Architecture

The crate is organized into several modules:

  • image/ - Image loading, caching, and management
  • ui/ - User interface components and rendering
  • navigation/ - Directory traversal and image navigation

Usage

use ferrite_core::FeriteApp;
use ferrite_config::FeriteConfig;

fn main() {
    let config = FeriteConfig::default();
    let app = FeriteApp::new(
        &eframe::CreationContext::default(),
        Some("path/to/image.jpg".into()),
        config,
    );
}

Dependencies

  • eframe, egui - GUI framework
  • image - Image processing
  • lru - Cache management
  • tracing - Logging and diagnostics
  • ferrite-config - Configuration management

License

Same as Ferrite main project

Dependencies

~22–64MB
~1M SLoC