#image-viewer #ferrite #navigation #ui

ferrite-core

Core functionality for Ferrite image viewer

4 releases

new 0.1.5 Dec 20, 2024
0.1.4 Dec 18, 2024
0.1.3 Dec 18, 2024
0.1.2 Dec 16, 2024

#5 in #ferrite

Download history 224/week @ 2024-12-13

224 downloads per month
Used in ferrite

GPL-3.0-or-later

83KB
1.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

~21–58MB
~1M SLoC