noctua/src/constant.rs

41 lines
1.3 KiB
Rust
Raw Normal View History

// SPDX-License-Identifier: GPL-3.0-or-later
// src/constant.rs
//
// Application constants that should not be changed by the user.
/// Rotation step in degrees (90 = quarter turn).
pub const ROTATION_STEP: i16 = 90;
/// Full rotation in degrees (for modulo calculation in angle normalization).
pub const FULL_ROTATION: i16 = 360;
/// Minutes per degree (GPS coordinate conversion: DMS to decimal degrees).
pub const MINUTES_PER_DEGREE: f64 = 60.0;
/// Seconds per degree (GPS coordinate conversion: DMS to decimal degrees).
pub const SECONDS_PER_DEGREE: f64 = 3600.0;
/// Minimum pixmap size for SVG rendering (prevents 0x0 images).
pub const MIN_PIXMAP_SIZE: u32 = 1;
/// Tolerance for scale comparisons (float precision in zoom synchronization).
pub const SCALE_EPSILON: f32 = 0.0001;
/// Tolerance for offset comparisons (float precision in pan synchronization).
pub const OFFSET_EPSILON: f32 = 0.01;
/// Maximum thumbnail width in pixels (nav bar page thumbnails).
pub const THUMBNAIL_MAX_WIDTH: f32 = 100.0;
/// Thumbnail cache directory name.
pub const CACHE_DIR: &str = "noctua";
/// Thumbnail file extension.
pub const THUMBNAIL_EXT: &str = "png";
/// Default render scale for PDF pages.
pub const PDF_RENDER_SCALE: f64 = 2.0;
/// Thumbnail render scale (smaller for quick rendering).
pub const PDF_THUMBNAIL_SCALE: f64 = 0.25;