From 73e5b9c7bc679be68534cbae37b85512cfb42216 Mon Sep 17 00:00:00 2001 From: gered Date: Mon, 17 Apr 2023 15:25:55 -0400 Subject: [PATCH] tweak all internal pub mod / pub use and re-do the prelude module this is based off what i saw some other libraries doing. i'm not sure what is the "best practice" to be honest, but i definitely like this. especially the prelude is now much simpler, which is nice. --- ggdt/src/audio/buffer/mod.rs | 4 +- ggdt/src/audio/buffer/wav.rs | 5 +- ggdt/src/audio/device.rs | 3 +- ggdt/src/audio/mod.rs | 12 ++-- ggdt/src/audio/queue.rs | 4 +- ggdt/src/base/mod.rs | 5 +- ggdt/src/graphics/bitmap/blit.rs | 5 +- ggdt/src/graphics/bitmap/general.rs | 10 ++- ggdt/src/graphics/bitmap/gif.rs | 6 +- ggdt/src/graphics/bitmap/iff.rs | 6 +- ggdt/src/graphics/bitmap/indexed/blit.rs | 9 ++- ggdt/src/graphics/bitmap/indexed/mod.rs | 4 +- .../src/graphics/bitmap/indexed/primitives.rs | 3 +- ggdt/src/graphics/bitmap/indexed/triangles.rs | 6 +- ggdt/src/graphics/bitmap/mod.rs | 33 ++++++---- ggdt/src/graphics/bitmap/pcx.rs | 7 +-- ggdt/src/graphics/bitmap/png.rs | 12 ++-- ggdt/src/graphics/bitmap/primitives.rs | 7 +-- ggdt/src/graphics/bitmap/rgb/blit.rs | 10 +-- ggdt/src/graphics/bitmap/rgb/mod.rs | 4 +- ggdt/src/graphics/bitmap/rgb/primitives.rs | 3 +- ggdt/src/graphics/bitmap/rgb/triangles.rs | 9 ++- ggdt/src/graphics/bitmap/triangles.rs | 7 +-- ggdt/src/graphics/bitmapatlas.rs | 6 +- ggdt/src/graphics/blendmap.rs | 5 +- ggdt/src/graphics/font.rs | 5 +- ggdt/src/graphics/mod.rs | 19 ++++-- ggdt/src/graphics/palette.rs | 3 +- ggdt/src/math/circle.rs | 3 +- ggdt/src/math/matrix3x3.rs | 3 +- ggdt/src/math/mod.rs | 13 ++-- ggdt/src/math/vector2.rs | 3 +- ggdt/src/prelude.rs | 61 +++---------------- ggdt/src/system/event.rs | 4 +- ggdt/src/system/framebuffer.rs | 4 +- ggdt/src/system/input_devices/keyboard/mod.rs | 11 ++-- ggdt/src/system/input_devices/mod.rs | 7 ++- ggdt/src/system/input_devices/mouse/cursor.rs | 8 +-- ggdt/src/system/input_devices/mouse/mod.rs | 11 ++-- ggdt/src/system/mod.rs | 13 ++-- ggdt/src/system/res/dos_like.rs | 17 ++---- ggdt/src/system/res/mod.rs | 12 ++-- ggdt/src/system/res/standard.rs | 16 ++--- ggdt/src/utils/mod.rs | 13 ++-- ggdt_imgui/src/lib.rs | 12 ++-- ggdt_imgui/src/platform.rs | 7 +-- ggdt_imgui/src/renderer.rs | 6 +- 47 files changed, 191 insertions(+), 245 deletions(-) diff --git a/ggdt/src/audio/buffer/mod.rs b/ggdt/src/audio/buffer/mod.rs index 1f5fbb3..1301b2f 100644 --- a/ggdt/src/audio/buffer/mod.rs +++ b/ggdt/src/audio/buffer/mod.rs @@ -2,7 +2,9 @@ use thiserror::Error; use crate::audio::AudioSpec; -pub mod wav; +mod wav; + +pub use wav::*; #[derive(Error, Debug)] pub enum AudioBufferError { diff --git a/ggdt/src/audio/buffer/wav.rs b/ggdt/src/audio/buffer/wav.rs index ea60bd3..4336e06 100644 --- a/ggdt/src/audio/buffer/wav.rs +++ b/ggdt/src/audio/buffer/wav.rs @@ -7,9 +7,8 @@ use byteorder::{LittleEndian, ReadBytesExt, WriteBytesExt}; use sdl2::audio::AudioFormat; use thiserror::Error; -use crate::audio::buffer::AudioBuffer; -use crate::audio::AudioSpec; -use crate::utils::io::StreamSize; +use crate::audio::{AudioBuffer, AudioSpec}; +use crate::utils::StreamSize; #[derive(Error, Debug)] pub enum WavError { diff --git a/ggdt/src/audio/device.rs b/ggdt/src/audio/device.rs index 9316d59..4fb7afc 100644 --- a/ggdt/src/audio/device.rs +++ b/ggdt/src/audio/device.rs @@ -3,8 +3,7 @@ use std::ops::{Index, IndexMut}; use sdl2::audio::AudioCallback; use thiserror::Error; -use crate::audio::buffer::AudioBuffer; -use crate::audio::{AudioGenerator, AudioSpec, NUM_CHANNELS}; +use crate::audio::{AudioBuffer, AudioGenerator, AudioSpec, NUM_CHANNELS}; /// Represents a "channel" of audio playback that will be mixed together with all of the other /// actively playing audio channels to get the final audio playback. diff --git a/ggdt/src/audio/mod.rs b/ggdt/src/audio/mod.rs index 4f9abac..a853aa0 100644 --- a/ggdt/src/audio/mod.rs +++ b/ggdt/src/audio/mod.rs @@ -2,11 +2,15 @@ use sdl2::audio::{AudioFormat, AudioFormatNum, AudioSpecDesired}; use sdl2::AudioSubsystem; use thiserror::Error; -use crate::audio::device::AudioDevice; +use crate::audio::AudioDevice; -pub mod buffer; -pub mod device; -pub mod queue; +mod buffer; +mod device; +mod queue; + +pub use buffer::*; +pub use device::*; +pub use queue::*; /// The number of simultaneously playing audio channels supported by this library currently. pub const NUM_CHANNELS: usize = 8; diff --git a/ggdt/src/audio/queue.rs b/ggdt/src/audio/queue.rs index faab960..31ad98c 100644 --- a/ggdt/src/audio/queue.rs +++ b/ggdt/src/audio/queue.rs @@ -1,9 +1,7 @@ use std::collections::VecDeque; use std::rc::Rc; -use crate::audio::buffer::AudioBuffer; -use crate::audio::device::{AudioDevice, AudioDeviceError}; -use crate::audio::{Audio, AudioGenerator, AudioSpec, NUM_CHANNELS}; +use crate::audio::{Audio, AudioBuffer, AudioDevice, AudioDeviceError, AudioGenerator, AudioSpec, NUM_CHANNELS}; pub enum AudioCommand { StopChannel(usize), diff --git a/ggdt/src/base/mod.rs b/ggdt/src/base/mod.rs index f9c01b4..32c0750 100644 --- a/ggdt/src/base/mod.rs +++ b/ggdt/src/base/mod.rs @@ -131,11 +131,10 @@ use thiserror::Error; -use crate::audio::device::AudioDeviceError; +use crate::audio::AudioDeviceError; use crate::events::{EventListeners, EventPublisher}; use crate::states::{AppState, StateError, States}; -use crate::system::res::SystemResources; -use crate::system::{System, SystemError}; +use crate::system::{System, SystemError, SystemResources}; pub trait CoreState where diff --git a/ggdt/src/graphics/bitmap/blit.rs b/ggdt/src/graphics/bitmap/blit.rs index f70dcd3..e91e9cc 100644 --- a/ggdt/src/graphics/bitmap/blit.rs +++ b/ggdt/src/graphics/bitmap/blit.rs @@ -1,6 +1,5 @@ -use crate::graphics::bitmap::Bitmap; -use crate::graphics::Pixel; -use crate::math::rect::Rect; +use crate::graphics::{Bitmap, Pixel}; +use crate::math::Rect; /// Clips the region for a source bitmap to be used in a subsequent blit operation. The source /// region will be clipped against the clipping region given for the destination bitmap. The diff --git a/ggdt/src/graphics/bitmap/general.rs b/ggdt/src/graphics/bitmap/general.rs index 1ff5dad..145843c 100644 --- a/ggdt/src/graphics/bitmap/general.rs +++ b/ggdt/src/graphics/bitmap/general.rs @@ -6,12 +6,10 @@ //! //! Only a subset of the most common Bitmap drawing operations will be provided here. -use crate::graphics::bitmap::indexed::{IndexedBitmap, IndexedBlitMethod}; -use crate::graphics::bitmap::rgb::{RgbaBitmap, RgbaBlitMethod}; -use crate::graphics::bitmap::BitmapError; -use crate::graphics::font::{Font, FontRenderOpts}; -use crate::graphics::Pixel; -use crate::math::rect::Rect; +use crate::graphics::{ + BitmapError, Font, FontRenderOpts, IndexedBitmap, IndexedBlitMethod, Pixel, RgbaBitmap, RgbaBlitMethod, +}; +use crate::math::Rect; #[derive(Clone, PartialEq)] pub enum GeneralBlitMethod { diff --git a/ggdt/src/graphics/bitmap/gif.rs b/ggdt/src/graphics/bitmap/gif.rs index 090ac60..ed665d0 100644 --- a/ggdt/src/graphics/bitmap/gif.rs +++ b/ggdt/src/graphics/bitmap/gif.rs @@ -5,10 +5,8 @@ use std::path::Path; use byteorder::{LittleEndian, ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::palette::{Palette, PaletteError, PaletteFormat}; -use crate::utils::lzwgif::{lzw_decode, lzw_encode, LzwError}; +use crate::graphics::{IndexedBitmap, Palette, PaletteError, PaletteFormat, RgbaBitmap}; +use crate::utils::{lzw_decode, lzw_encode, LzwError}; const BITS_FOR_256_COLORS: u32 = 7; // formula is `2 ^ (bits + 1) = num_colors` diff --git a/ggdt/src/graphics/bitmap/iff.rs b/ggdt/src/graphics/bitmap/iff.rs index 322f853..d95994e 100644 --- a/ggdt/src/graphics/bitmap/iff.rs +++ b/ggdt/src/graphics/bitmap/iff.rs @@ -6,10 +6,8 @@ use std::path::Path; use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::palette::{Palette, PaletteError, PaletteFormat}; -use crate::utils::packbits::{pack_bits, unpack_bits, PackBitsError}; +use crate::graphics::{IndexedBitmap, Palette, PaletteError, PaletteFormat, RgbaBitmap}; +use crate::utils::{pack_bits, unpack_bits, PackBitsError}; #[derive(Error, Debug)] pub enum IffError { diff --git a/ggdt/src/graphics/bitmap/indexed/blit.rs b/ggdt/src/graphics/bitmap/indexed/blit.rs index b163b8a..155edeb 100644 --- a/ggdt/src/graphics/bitmap/indexed/blit.rs +++ b/ggdt/src/graphics/bitmap/indexed/blit.rs @@ -1,10 +1,9 @@ use std::rc::Rc; -use crate::graphics::bitmap::blit::{clip_blit, per_pixel_blit, per_pixel_flipped_blit, per_pixel_rotozoom_blit}; -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::bitmapatlas::BitmapAtlas; -use crate::graphics::blendmap::BlendMap; -use crate::math::rect::Rect; +use crate::graphics::{ + clip_blit, per_pixel_blit, per_pixel_flipped_blit, per_pixel_rotozoom_blit, BitmapAtlas, BlendMap, IndexedBitmap, +}; +use crate::math::Rect; #[derive(Clone, PartialEq)] pub enum IndexedBlitMethod { diff --git a/ggdt/src/graphics/bitmap/indexed/mod.rs b/ggdt/src/graphics/bitmap/indexed/mod.rs index 0639e4b..4f63ce8 100644 --- a/ggdt/src/graphics/bitmap/indexed/mod.rs +++ b/ggdt/src/graphics/bitmap/indexed/mod.rs @@ -1,8 +1,6 @@ use std::path::Path; -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::bitmap::{Bitmap, BitmapError}; -use crate::graphics::palette::Palette; +use crate::graphics::{Bitmap, BitmapError, Palette, RgbaBitmap}; mod blit; mod primitives; diff --git a/ggdt/src/graphics/bitmap/indexed/primitives.rs b/ggdt/src/graphics/bitmap/indexed/primitives.rs index 6c5e8bf..c38e523 100644 --- a/ggdt/src/graphics/bitmap/indexed/primitives.rs +++ b/ggdt/src/graphics/bitmap/indexed/primitives.rs @@ -1,5 +1,4 @@ -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::blendmap::BlendMap; +use crate::graphics::{BlendMap, IndexedBitmap}; impl IndexedBitmap { /// Sets the pixel at the given coordinates using a blended color via the specified blend map, diff --git a/ggdt/src/graphics/bitmap/indexed/triangles.rs b/ggdt/src/graphics/bitmap/indexed/triangles.rs index d0ac2d0..9136f0c 100644 --- a/ggdt/src/graphics/bitmap/indexed/triangles.rs +++ b/ggdt/src/graphics/bitmap/indexed/triangles.rs @@ -1,7 +1,5 @@ -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::bitmap::triangles::{edge_function, per_pixel_triangle_2d}; -use crate::graphics::blendmap::BlendMap; -use crate::math::vector2::Vector2; +use crate::graphics::{edge_function, per_pixel_triangle_2d, BlendMap, IndexedBitmap}; +use crate::math::Vector2; #[derive(Debug, Copy, Clone, PartialEq)] pub enum IndexedTriangle2d<'a> { diff --git a/ggdt/src/graphics/bitmap/mod.rs b/ggdt/src/graphics/bitmap/mod.rs index eb20d7d..d0015eb 100644 --- a/ggdt/src/graphics/bitmap/mod.rs +++ b/ggdt/src/graphics/bitmap/mod.rs @@ -1,18 +1,29 @@ use thiserror::Error; use crate::graphics::Pixel; -use crate::math::rect::Rect; +use crate::math::Rect; -pub mod blit; -pub mod general; -pub mod gif; -pub mod iff; -pub mod indexed; -pub mod pcx; -pub mod png; -pub mod primitives; -pub mod rgb; -pub mod triangles; +mod blit; +mod general; +mod gif; +mod iff; +mod indexed; +mod pcx; +mod png; +mod primitives; +mod rgb; +mod triangles; + +pub use blit::*; +pub use general::*; +pub use gif::*; +pub use iff::*; +pub use indexed::*; +pub use pcx::*; +pub use png::*; +pub use primitives::*; +pub use rgb::*; +pub use triangles::*; #[derive(Error, Debug)] pub enum BitmapError { diff --git a/ggdt/src/graphics/bitmap/pcx.rs b/ggdt/src/graphics/bitmap/pcx.rs index 0f40faa..de55811 100644 --- a/ggdt/src/graphics/bitmap/pcx.rs +++ b/ggdt/src/graphics/bitmap/pcx.rs @@ -5,11 +5,8 @@ use std::path::Path; use byteorder::{LittleEndian, ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::color::from_rgb32; -use crate::graphics::palette::{Palette, PaletteError, PaletteFormat}; -use crate::utils::bytes::ReadFixedLengthByteArray; +use crate::graphics::{from_rgb32, IndexedBitmap, Palette, PaletteError, PaletteFormat, RgbaBitmap}; +use crate::utils::ReadFixedLengthByteArray; #[derive(Error, Debug)] pub enum PcxError { diff --git a/ggdt/src/graphics/bitmap/png.rs b/ggdt/src/graphics/bitmap/png.rs index 48f3ab7..d08e15e 100644 --- a/ggdt/src/graphics/bitmap/png.rs +++ b/ggdt/src/graphics/bitmap/png.rs @@ -7,13 +7,11 @@ use std::path::Path; use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::bitmap::Bitmap; -use crate::graphics::color::{from_argb32, from_rgb32, to_argb32, to_rgb32}; -use crate::graphics::palette::{Palette, PaletteError, PaletteFormat}; -use crate::graphics::Pixel; -use crate::utils::bytes::ReadFixedLengthByteArray; +use crate::graphics::{ + from_argb32, from_rgb32, to_argb32, to_rgb32, Bitmap, IndexedBitmap, Palette, PaletteError, PaletteFormat, Pixel, + RgbaBitmap, +}; +use crate::utils::ReadFixedLengthByteArray; const PNG_HEADER: [u8; 8] = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]; diff --git a/ggdt/src/graphics/bitmap/primitives.rs b/ggdt/src/graphics/bitmap/primitives.rs index f5537bd..beb224f 100644 --- a/ggdt/src/graphics/bitmap/primitives.rs +++ b/ggdt/src/graphics/bitmap/primitives.rs @@ -1,10 +1,7 @@ use std::mem::swap; -use crate::graphics::bitmap::Bitmap; -use crate::graphics::font::{Character, Font, FontRenderOpts}; -use crate::graphics::Pixel; -use crate::math::lerp; -use crate::math::rect::Rect; +use crate::graphics::{Bitmap, Character, Font, FontRenderOpts, Pixel}; +use crate::math::{lerp, Rect}; impl Bitmap { /// Fills the entire bitmap with the given color. diff --git a/ggdt/src/graphics/bitmap/rgb/blit.rs b/ggdt/src/graphics/bitmap/rgb/blit.rs index 44fe088..a4983af 100644 --- a/ggdt/src/graphics/bitmap/rgb/blit.rs +++ b/ggdt/src/graphics/bitmap/rgb/blit.rs @@ -1,8 +1,8 @@ -use crate::graphics::bitmap::blit::{clip_blit, per_pixel_blit, per_pixel_flipped_blit, per_pixel_rotozoom_blit}; -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::bitmapatlas::BitmapAtlas; -use crate::graphics::color::{tint_argb32, BlendFunction}; -use crate::math::rect::Rect; +use crate::graphics::{ + clip_blit, per_pixel_blit, per_pixel_flipped_blit, per_pixel_rotozoom_blit, tint_argb32, BitmapAtlas, + BlendFunction, RgbaBitmap, +}; +use crate::math::Rect; #[derive(Clone, PartialEq)] pub enum RgbaBlitMethod { diff --git a/ggdt/src/graphics/bitmap/rgb/mod.rs b/ggdt/src/graphics/bitmap/rgb/mod.rs index 8dfbd23..6b18b12 100644 --- a/ggdt/src/graphics/bitmap/rgb/mod.rs +++ b/ggdt/src/graphics/bitmap/rgb/mod.rs @@ -1,9 +1,7 @@ use byteorder::ReadBytesExt; use std::path::Path; -use crate::graphics::bitmap::{Bitmap, BitmapError}; -use crate::graphics::color::{to_argb32, to_rgb32}; -use crate::graphics::palette::Palette; +use crate::graphics::{to_argb32, to_rgb32, Bitmap, BitmapError, Palette}; mod blit; mod primitives; diff --git a/ggdt/src/graphics/bitmap/rgb/primitives.rs b/ggdt/src/graphics/bitmap/rgb/primitives.rs index 78da751..8ab0cf8 100644 --- a/ggdt/src/graphics/bitmap/rgb/primitives.rs +++ b/ggdt/src/graphics/bitmap/rgb/primitives.rs @@ -1,5 +1,4 @@ -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::color::BlendFunction; +use crate::graphics::{BlendFunction, RgbaBitmap}; impl RgbaBitmap { /// Sets the pixel at the given coordinates using a blended color via the specified blend function diff --git a/ggdt/src/graphics/bitmap/rgb/triangles.rs b/ggdt/src/graphics/bitmap/rgb/triangles.rs index 981a6e8..f64c7d1 100644 --- a/ggdt/src/graphics/bitmap/rgb/triangles.rs +++ b/ggdt/src/graphics/bitmap/rgb/triangles.rs @@ -1,9 +1,8 @@ -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::bitmap::triangles::{edge_function, per_pixel_triangle_2d}; -use crate::graphics::color::{ - from_argb32, from_rgb32, multiply_argb32, tint_argb32, to_argb32, to_rgb32, BlendFunction, +use crate::graphics::{ + edge_function, from_argb32, from_rgb32, multiply_argb32, per_pixel_triangle_2d, tint_argb32, to_argb32, to_rgb32, + BlendFunction, RgbaBitmap, }; -use crate::math::vector2::Vector2; +use crate::math::Vector2; #[derive(Debug, Copy, Clone, PartialEq)] pub enum RgbaTriangle2d<'a> { diff --git a/ggdt/src/graphics/bitmap/triangles.rs b/ggdt/src/graphics/bitmap/triangles.rs index 4ebd8d4..8221239 100644 --- a/ggdt/src/graphics/bitmap/triangles.rs +++ b/ggdt/src/graphics/bitmap/triangles.rs @@ -1,8 +1,5 @@ -use crate::graphics::bitmap::Bitmap; -use crate::graphics::Pixel; -use crate::math::rect::Rect; -use crate::math::vector2::Vector2; -use crate::math::NearlyEqual; +use crate::graphics::{Bitmap, Pixel}; +use crate::math::{NearlyEqual, Rect, Vector2}; #[inline] pub fn edge_function(a: Vector2, b: Vector2, c: Vector2) -> f32 { diff --git a/ggdt/src/graphics/bitmapatlas.rs b/ggdt/src/graphics/bitmapatlas.rs index 2e9c560..5f5daab 100644 --- a/ggdt/src/graphics/bitmapatlas.rs +++ b/ggdt/src/graphics/bitmapatlas.rs @@ -2,8 +2,8 @@ use std::ops::Index; use thiserror::Error; -use crate::graphics::bitmap::general::GeneralBitmap; -use crate::math::rect::Rect; +use crate::graphics::GeneralBitmap; +use crate::math::Rect; #[derive(Error, Debug)] pub enum BitmapAtlasError { @@ -136,7 +136,7 @@ where mod tests { use claim::*; - use crate::graphics::bitmap::indexed::IndexedBitmap; + use crate::graphics::IndexedBitmap; use super::*; diff --git a/ggdt/src/graphics/blendmap.rs b/ggdt/src/graphics/blendmap.rs index f0d91b0..a43b23a 100644 --- a/ggdt/src/graphics/blendmap.rs +++ b/ggdt/src/graphics/blendmap.rs @@ -5,10 +5,9 @@ use std::path::Path; use byteorder::{ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::color::{from_rgb32, luminance}; -use crate::graphics::palette::Palette; +use crate::graphics::{from_rgb32, luminance, Palette}; use crate::math::lerp; -use crate::utils::bytes::ReadFixedLengthByteArray; +use crate::utils::ReadFixedLengthByteArray; #[derive(Error, Debug)] pub enum BlendMapError { diff --git a/ggdt/src/graphics/font.rs b/ggdt/src/graphics/font.rs index 796bd5d..54db97d 100644 --- a/ggdt/src/graphics/font.rs +++ b/ggdt/src/graphics/font.rs @@ -5,9 +5,8 @@ use std::path::Path; use byteorder::{ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::bitmap::Bitmap; -use crate::graphics::Pixel; -use crate::math::rect::Rect; +use crate::graphics::{Bitmap, Pixel}; +use crate::math::Rect; pub static VGA_FONT_BYTES: &[u8] = include_bytes!("../../assets/vga.fnt"); diff --git a/ggdt/src/graphics/mod.rs b/ggdt/src/graphics/mod.rs index e4135e7..4cdfc0e 100644 --- a/ggdt/src/graphics/mod.rs +++ b/ggdt/src/graphics/mod.rs @@ -1,12 +1,19 @@ use num_traits::{PrimInt, Unsigned}; use std::fmt::Display; -pub mod bitmap; -pub mod bitmapatlas; -pub mod blendmap; -pub mod color; -pub mod font; -pub mod palette; +mod bitmap; +mod bitmapatlas; +mod blendmap; +mod color; +mod font; +mod palette; + +pub use bitmap::*; +pub use bitmapatlas::*; +pub use blendmap::*; +pub use color::*; +pub use font::*; +pub use palette::*; /// Common trait to represent single pixel/colour values. pub trait Pixel: PrimInt + Unsigned + Default + Display {} diff --git a/ggdt/src/graphics/palette.rs b/ggdt/src/graphics/palette.rs index 2ce714b..7299fdb 100644 --- a/ggdt/src/graphics/palette.rs +++ b/ggdt/src/graphics/palette.rs @@ -7,8 +7,7 @@ use std::path::Path; use byteorder::{ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::color::{from_rgb32, lerp_rgb32, to_argb32, to_rgb32}; +use crate::graphics::{from_rgb32, lerp_rgb32, to_argb32, to_rgb32, IndexedBitmap}; use crate::utils::abs_diff; const NUM_COLORS: usize = 256; diff --git a/ggdt/src/math/circle.rs b/ggdt/src/math/circle.rs index 1a8de8b..8f59e6f 100644 --- a/ggdt/src/math/circle.rs +++ b/ggdt/src/math/circle.rs @@ -1,5 +1,4 @@ -use crate::math::vector2::Vector2; -use crate::math::{distance_between, distance_squared_between}; +use crate::math::{distance_between, distance_squared_between, Vector2}; /// Represents a 2D circle, using integer center coordinates and radius. #[derive(Debug, Copy, Clone, Eq, PartialEq)] diff --git a/ggdt/src/math/matrix3x3.rs b/ggdt/src/math/matrix3x3.rs index 6c670cd..cae44b1 100644 --- a/ggdt/src/math/matrix3x3.rs +++ b/ggdt/src/math/matrix3x3.rs @@ -1,7 +1,6 @@ use std::ops::{Mul, MulAssign}; -use crate::math::nearly_equal; -use crate::math::vector2::Vector2; +use crate::math::{nearly_equal, Vector2}; /// Represents a 3x3 column-major matrix and provides common methods for matrix math. #[derive(Debug, Copy, Clone, PartialEq)] diff --git a/ggdt/src/math/mod.rs b/ggdt/src/math/mod.rs index db98324..6e91b1b 100644 --- a/ggdt/src/math/mod.rs +++ b/ggdt/src/math/mod.rs @@ -1,9 +1,14 @@ use std::ops::{Add, Div, Mul, Sub}; -pub mod circle; -pub mod matrix3x3; -pub mod rect; -pub mod vector2; +mod circle; +mod matrix3x3; +mod rect; +mod vector2; + +pub use circle::*; +pub use matrix3x3::*; +pub use rect::*; +pub use vector2::*; pub const PI: f32 = std::f32::consts::PI; // 180 degrees diff --git a/ggdt/src/math/vector2.rs b/ggdt/src/math/vector2.rs index 95bdbd2..6d94e8a 100644 --- a/ggdt/src/math/vector2.rs +++ b/ggdt/src/math/vector2.rs @@ -1,7 +1,6 @@ use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign}; -use crate::math::matrix3x3::Matrix3x3; -use crate::math::{angle_between, angle_to_direction, nearly_equal, NearlyEqual}; +use crate::math::{angle_between, angle_to_direction, nearly_equal, Matrix3x3, NearlyEqual}; /// Represents a 2D vector and provides common methods for vector math. #[derive(Debug, Copy, Clone, PartialEq)] diff --git a/ggdt/src/prelude.rs b/ggdt/src/prelude.rs index 8f731ab..b1c7261 100644 --- a/ggdt/src/prelude.rs +++ b/ggdt/src/prelude.rs @@ -1,52 +1,9 @@ -pub use crate::{ - // - audio::{ - buffer::{wav::*, *}, - device::*, - queue::*, - *, - }, - base::*, - entities::*, - events::*, - graphics::{ - // - bitmap::{ - blit::*, general::*, gif::*, iff::*, indexed::*, pcx::*, png::*, primitives::*, rgb::*, triangles::*, *, - }, - bitmapatlas::*, - blendmap::*, - color::*, - font::*, - palette::*, - *, - }, - math::{ - // - circle::*, - matrix3x3::*, - rect::*, - vector2::*, - *, - }, - states::*, - system::{ - event::*, // - input_devices::{ - keyboard::{codes::*, scancodes::*, *}, - mouse::{buttons::*, cursor::*, *}, - *, - }, - res::{dos_like::*, standard::*, *}, - *, - }, - utils::{ - // - bytes::*, - io::*, - lzwgif::*, - packbits::*, - *, - }, - *, -}; +pub use crate::audio::*; +pub use crate::base::*; +pub use crate::entities::*; +pub use crate::events::*; +pub use crate::graphics::*; +pub use crate::math::*; +pub use crate::states::*; +pub use crate::system::*; +pub use crate::utils::*; diff --git a/ggdt/src/system/event.rs b/ggdt/src/system/event.rs index 94e8aa3..5257a0e 100644 --- a/ggdt/src/system/event.rs +++ b/ggdt/src/system/event.rs @@ -11,9 +11,7 @@ use bitflags::bitflags; -use crate::system::input_devices::keyboard::codes::Keycode; -use crate::system::input_devices::keyboard::scancodes::Scancode; -use crate::system::input_devices::mouse::buttons::{MouseButton, MouseButtons}; +use crate::system::{Keycode, MouseButton, MouseButtons, Scancode}; #[derive(Debug, Clone, Eq, PartialEq, Hash)] pub enum WindowEvent { diff --git a/ggdt/src/system/framebuffer.rs b/ggdt/src/system/framebuffer.rs index d165688..d0f4ea5 100644 --- a/ggdt/src/system/framebuffer.rs +++ b/ggdt/src/system/framebuffer.rs @@ -1,9 +1,7 @@ use byte_slice_cast::AsByteSlice; use thiserror::Error; -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::palette::Palette; +use crate::graphics::{IndexedBitmap, Palette, RgbaBitmap}; pub fn calculate_logical_screen_size(window_width: u32, window_height: u32, scale_factor: u32) -> (u32, u32) { let logical_width = (window_width as f32 / scale_factor as f32).ceil() as u32; diff --git a/ggdt/src/system/input_devices/keyboard/mod.rs b/ggdt/src/system/input_devices/keyboard/mod.rs index 0783f4b..a892759 100644 --- a/ggdt/src/system/input_devices/keyboard/mod.rs +++ b/ggdt/src/system/input_devices/keyboard/mod.rs @@ -1,9 +1,10 @@ -use crate::system::event::{KeyboardEvent, SystemEvent, SystemEventHandler}; -use crate::system::input_devices::keyboard::scancodes::Scancode; -use crate::system::input_devices::{ButtonState, InputDevice}; +use crate::system::{ButtonState, InputDevice, KeyboardEvent, SystemEvent, SystemEventHandler}; -pub mod codes; -pub mod scancodes; +mod codes; +mod scancodes; + +pub use codes::*; +pub use scancodes::*; const MAX_KEYS: usize = 512; diff --git a/ggdt/src/system/input_devices/mod.rs b/ggdt/src/system/input_devices/mod.rs index cd89f9c..7bf1b49 100644 --- a/ggdt/src/system/input_devices/mod.rs +++ b/ggdt/src/system/input_devices/mod.rs @@ -1,5 +1,8 @@ -pub mod keyboard; -pub mod mouse; +mod keyboard; +mod mouse; + +pub use keyboard::*; +pub use mouse::*; #[derive(Clone, Copy, Eq, PartialEq, Debug)] pub enum ButtonState { diff --git a/ggdt/src/system/input_devices/mouse/cursor.rs b/ggdt/src/system/input_devices/mouse/cursor.rs index b0f8d08..c3f2e28 100644 --- a/ggdt/src/system/input_devices/mouse/cursor.rs +++ b/ggdt/src/system/input_devices/mouse/cursor.rs @@ -1,8 +1,6 @@ -use crate::graphics::bitmap::general::{GeneralBitmap, GeneralBlitMethod}; -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::math::rect::Rect; -use crate::system::input_devices::mouse::Mouse; +use crate::graphics::{GeneralBitmap, GeneralBlitMethod, IndexedBitmap, RgbaBitmap}; +use crate::math::Rect; +use crate::system::Mouse; const DEFAULT_MOUSE_CURSOR_HOTSPOT_X: u32 = 0; const DEFAULT_MOUSE_CURSOR_HOTSPOT_Y: u32 = 0; diff --git a/ggdt/src/system/input_devices/mouse/mod.rs b/ggdt/src/system/input_devices/mouse/mod.rs index d3b21b6..7702e8a 100644 --- a/ggdt/src/system/input_devices/mouse/mod.rs +++ b/ggdt/src/system/input_devices/mouse/mod.rs @@ -1,9 +1,10 @@ -use crate::system::event::{MouseEvent, SystemEvent, SystemEventHandler}; -use crate::system::input_devices::mouse::buttons::{MouseButton, MouseButtons}; -use crate::system::input_devices::{ButtonState, InputDevice}; +use crate::system::{ButtonState, InputDevice, MouseEvent, SystemEvent, SystemEventHandler}; -pub mod buttons; -pub mod cursor; +mod buttons; +mod cursor; + +pub use buttons::*; +pub use cursor::*; const MAX_BUTTONS: usize = 32; diff --git a/ggdt/src/system/mod.rs b/ggdt/src/system/mod.rs index b22a425..07471ff 100644 --- a/ggdt/src/system/mod.rs +++ b/ggdt/src/system/mod.rs @@ -1,14 +1,15 @@ use thiserror::Error; use crate::audio::AudioError; -use crate::system::event::{SystemEvent, SystemEventPump}; -use crate::system::res::{SystemResources, SystemResourcesConfig, SystemResourcesError}; - -pub mod event; -pub mod input_devices; -pub mod res; +mod event; mod framebuffer; +mod input_devices; +mod res; + +pub use event::*; +pub use input_devices::*; +pub use res::*; fn is_x11_compositor_skipping_problematic() -> bool { /* diff --git a/ggdt/src/system/res/dos_like.rs b/ggdt/src/system/res/dos_like.rs index 618b944..44e2f59 100644 --- a/ggdt/src/system/res/dos_like.rs +++ b/ggdt/src/system/res/dos_like.rs @@ -26,18 +26,13 @@ //! ``` //! -use crate::audio::queue::AudioQueue; -use crate::audio::{Audio, TARGET_AUDIO_CHANNELS, TARGET_AUDIO_FREQUENCY}; -use crate::graphics::bitmap::indexed::IndexedBitmap; -use crate::graphics::font::BitmaskFont; -use crate::graphics::palette::Palette; -use crate::system::event::{SystemEvent, SystemEventHandler, WindowEvent}; +use crate::audio::{Audio, AudioQueue, TARGET_AUDIO_CHANNELS, TARGET_AUDIO_FREQUENCY}; +use crate::graphics::{BitmaskFont, IndexedBitmap, Palette}; use crate::system::framebuffer::{calculate_logical_screen_size, SdlFramebuffer}; -use crate::system::input_devices::keyboard::Keyboard; -use crate::system::input_devices::mouse::cursor::CustomMouseCursor; -use crate::system::input_devices::mouse::Mouse; -use crate::system::input_devices::InputDevice; -use crate::system::res::{SystemResources, SystemResourcesConfig, SystemResourcesError}; +use crate::system::{ + CustomMouseCursor, InputDevice, Keyboard, Mouse, SystemEvent, SystemEventHandler, SystemResources, + SystemResourcesConfig, SystemResourcesError, WindowEvent, +}; const DEFAULT_SCREEN_WIDTH: u32 = 320; const DEFAULT_SCREEN_HEIGHT: u32 = 240; diff --git a/ggdt/src/system/res/mod.rs b/ggdt/src/system/res/mod.rs index 7abf0f5..d1cc84e 100644 --- a/ggdt/src/system/res/mod.rs +++ b/ggdt/src/system/res/mod.rs @@ -1,13 +1,15 @@ use thiserror::Error; -use crate::audio::device::AudioDeviceError; -use crate::audio::AudioError; +use crate::audio::{AudioDeviceError, AudioError}; use crate::graphics::Pixel; -use crate::system::event::SystemEvent; use crate::system::framebuffer::SdlFramebufferError; +use crate::system::SystemEvent; -pub mod dos_like; -pub mod standard; +mod dos_like; +mod standard; + +pub use dos_like::*; +pub use standard::*; #[derive(Error, Debug)] pub enum SystemResourcesError { diff --git a/ggdt/src/system/res/standard.rs b/ggdt/src/system/res/standard.rs index 8d35125..b0bf457 100644 --- a/ggdt/src/system/res/standard.rs +++ b/ggdt/src/system/res/standard.rs @@ -1,14 +1,10 @@ -use crate::audio::queue::AudioQueue; -use crate::audio::{Audio, TARGET_AUDIO_CHANNELS, TARGET_AUDIO_FREQUENCY}; -use crate::graphics::bitmap::rgb::RgbaBitmap; -use crate::graphics::font::BitmaskFont; -use crate::system::event::{SystemEvent, SystemEventHandler, WindowEvent}; +use crate::audio::{Audio, AudioQueue, TARGET_AUDIO_CHANNELS, TARGET_AUDIO_FREQUENCY}; +use crate::graphics::{BitmaskFont, RgbaBitmap}; use crate::system::framebuffer::{calculate_logical_screen_size, SdlFramebuffer}; -use crate::system::input_devices::keyboard::Keyboard; -use crate::system::input_devices::mouse::cursor::CustomMouseCursor; -use crate::system::input_devices::mouse::Mouse; -use crate::system::input_devices::InputDevice; -use crate::system::res::{SystemResources, SystemResourcesConfig, SystemResourcesError}; +use crate::system::{ + CustomMouseCursor, InputDevice, Keyboard, Mouse, SystemEvent, SystemEventHandler, SystemResources, + SystemResourcesConfig, SystemResourcesError, WindowEvent, +}; const DEFAULT_SCREEN_WIDTH: u32 = 320; const DEFAULT_SCREEN_HEIGHT: u32 = 240; diff --git a/ggdt/src/utils/mod.rs b/ggdt/src/utils/mod.rs index 06d1cd5..ca35aca 100644 --- a/ggdt/src/utils/mod.rs +++ b/ggdt/src/utils/mod.rs @@ -4,10 +4,15 @@ use num_traits::Unsigned; use rand::distributions::uniform::SampleUniform; use rand::Rng; -pub mod bytes; -pub mod io; -pub mod lzwgif; -pub mod packbits; +mod bytes; +mod io; +mod lzwgif; +mod packbits; + +pub use bytes::*; +pub use io::*; +pub use lzwgif::*; +pub use packbits::*; pub fn rnd_value(low: N, high: N) -> N { rand::thread_rng().gen_range(low..=high) diff --git a/ggdt_imgui/src/lib.rs b/ggdt_imgui/src/lib.rs index 1fc915b..6945dbe 100644 --- a/ggdt_imgui/src/lib.rs +++ b/ggdt_imgui/src/lib.rs @@ -1,10 +1,14 @@ +use ggdt::graphics::RgbaBitmap; +use ggdt::system::{SystemEvent, SystemEventHandler}; + use crate::platform::Platform; use crate::renderer::Renderer; -use ggdt::graphics::bitmap::rgb::RgbaBitmap; -use ggdt::system::event::{SystemEvent, SystemEventHandler}; -pub mod platform; -pub mod renderer; +mod platform; +mod renderer; + +pub use platform::*; +pub use renderer::*; #[derive(Debug)] pub struct ImGui { diff --git a/ggdt_imgui/src/platform.rs b/ggdt_imgui/src/platform.rs index 0418993..7eb5bdc 100644 --- a/ggdt_imgui/src/platform.rs +++ b/ggdt_imgui/src/platform.rs @@ -1,9 +1,8 @@ -use ggdt::graphics::bitmap::rgb::RgbaBitmap; -use ggdt::system::event::{KeyModifiers, KeyboardEvent, MouseEvent, SystemEvent}; -use ggdt::system::input_devices::keyboard::scancodes::Scancode; -use ggdt::system::input_devices::mouse::buttons::MouseButton; use std::time::Instant; +use ggdt::graphics::RgbaBitmap; +use ggdt::system::{KeyModifiers, KeyboardEvent, MouseButton, MouseEvent, Scancode, SystemEvent}; + fn handle_key(io: &mut imgui::Io, key: Scancode, down: bool) { let key = match key { Scancode::A => imgui::Key::A, diff --git a/ggdt_imgui/src/renderer.rs b/ggdt_imgui/src/renderer.rs index 28ae9a1..7efa746 100644 --- a/ggdt_imgui/src/renderer.rs +++ b/ggdt_imgui/src/renderer.rs @@ -1,7 +1,5 @@ -use ggdt::graphics::bitmap::rgb::{RgbaBitmap, RgbaPixelFormat}; -use ggdt::graphics::color::{to_argb32, BlendFunction}; -use ggdt::math::rect::Rect; -use ggdt::math::vector2::Vector2; +use ggdt::graphics::{to_argb32, BlendFunction, RgbaBitmap, RgbaPixelFormat}; +use ggdt::math::{Rect, Vector2}; use imgui::internal::RawWrapper; #[derive(Debug)]