1#![doc = include_str!("../README.md")]
2#![warn(
3 anonymous_parameters,
4 bare_trait_objects,
5 clippy::branches_sharing_code,
6 clippy::map_unwrap_or,
7 clippy::match_wildcard_for_single_variants,
8 clippy::missing_errors_doc,
9 clippy::must_use_candidate,
10 clippy::needless_for_each,
11 clippy::redundant_closure_for_method_calls,
12 clippy::semicolon_if_nothing_returned,
13 clippy::unreadable_literal,
14 clippy::unwrap_used,
15 clippy::expect_used,
16 deprecated_in_future,
17 ellipsis_inclusive_range_patterns,
18 future_incompatible,
19 missing_copy_implementations,
20 missing_debug_implementations,
21 missing_docs,
22 nonstandard_style,
23 rust_2018_compatibility,
24 rust_2018_idioms,
25 rust_2021_compatibility,
26 rustdoc::bare_urls,
27 rustdoc::broken_intra_doc_links,
28 rustdoc::invalid_html_tags,
29 rustdoc::invalid_rust_codeblocks,
30 rustdoc::private_intra_doc_links,
31 single_use_lifetimes,
32 trivial_casts,
33 trivial_numeric_casts,
34 unreachable_pub,
35 unused,
36 variant_size_differences
37)]
38#![doc(
39 html_root_url = "https://docs.rs/pix-engine/latest",
40 html_favicon_url = "",
41 html_logo_url = ""
42)]
43
44#[macro_use]
45pub mod color;
46pub mod draw;
47pub mod engine;
48pub mod error;
49#[macro_use]
50pub mod shape;
51pub mod audio;
52pub mod event;
53pub mod image;
54pub mod lighting;
55pub mod ops;
56pub mod state;
57pub mod texture;
58pub mod window;
59#[macro_use]
60pub mod math;
61#[macro_use]
62pub mod vector;
63pub mod gui;
64pub mod renderer;
65#[cfg(feature = "serde")]
66pub mod serialize;
67pub mod transform;
68
69pub mod prelude {
71 pub use super::audio::{
72 AudioCallback, AudioDevice, AudioDeviceDriver, AudioFormat, AudioFormatNum, AudioSpec,
73 AudioSpecDesired, AudioStatus,
74 };
75 pub use super::color::{Color, Mode as ColorMode};
76 pub use super::draw::Draw;
77 pub use super::engine::{Engine, PixEngine};
78 pub use super::error::{Error as PixError, Result as PixResult};
79 pub use super::event::{
80 Axis, ControllerButton, ControllerEvent, ControllerId, ControllerUpdate, Event, HatState,
81 Key, KeyEvent, KeyMod, Mouse, WindowEvent,
82 };
83 pub use super::gui::theme::{self, ColorType, Font, Theme};
84 pub use super::image::{Image, PixelFormat};
85 pub use super::lighting::{Light, LightSource};
86 pub use super::math::{map, random_rng, Float, Num};
87 pub use super::shape::{Contains, Ellipse, Intersects, Line, Point, Quad, Rect, Sphere, Tri};
88 pub use super::state::{
89 settings::{
90 AngleMode, ArcMode, BlendMode, DrawMode, EllipseMode, FontStyle, ImageMode, RectMode,
91 },
92 PixState,
93 };
94 pub use super::texture::TextureId;
95 pub use super::transform::Flipped;
96 pub use super::vector::Vector;
97 pub use super::window::{Cursor, Position, SystemCursor, WindowId};
98
99 pub use {circle, ellipse, line_, point, quad, rect, sphere, square, tri};
101 pub use {noise, random, vector};
103 pub use {color, hsb, hsl, rgb};
105}