rust_minifb/Cargo.toml

109 lines
2.7 KiB
TOML
Raw Permalink Normal View History

2015-11-23 04:55:38 +11:00
[package]
name = "minifb"
2023-02-18 23:10:27 +11:00
version = "0.24.0"
2022-02-18 19:32:00 +11:00
license = "MIT OR Apache-2.0"
2015-11-23 04:55:38 +11:00
authors = ["Daniel Collin <daniel@collin.com>"]
Merged window-opts to master commit 53e9cd45567a1308fdbd2e46763e15b2a3fa3d4c Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:31:38 2016 +0100 Correct header for v0.4.0 commit fcf64d5dfad0796fee16ce8985e66d1b3e82c5a4 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:30:12 2016 +0100 More cleanup commit b7f4b187569a753656f19a74b78d8ada3fd95b70 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:29:23 2016 +0100 Minor cleanup commit 7392cd4a5aaad7f0d8332082c75d6cbc41d50ca6 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:28:06 2016 +0100 Updated example added Changelog link commit 236a82883a68e576ceb1e38a54b0a18fdc2e4465 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:24:58 2016 +0100 Updated readme commit e6bc68721513ca66c5566a19e6bfad33875b3280 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:20:42 2016 +0100 Doc fixes commit edfd688f045764b66c944d4aa616c6d48246816d Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:20:35 2016 +0100 Updated with 0.4.0 release info commit 784628fa9a1de93280592e634b522fd916a7588a Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:45:37 2016 +0100 Fixed bad comment commit 2c6d8730b566193b573afb5dc95a82987d1c4ce4 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:37:52 2016 +0100 Linux support for WindowOptions commit cbf7c17c3a92d676f5707095781071016e8b90e1 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:05:10 2016 +0100 Updated Windows version with WindowOptions commit ed1254245384e3e64c082a8368cbbe4a9f679efa Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:32:04 2016 +0100 Added get_window_handle commit e4a15f98c70facda7e7b2f30ba95a42091fa078c Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:30:34 2016 +0100 Cleanup + links commit 7dadb090d1037eade525093e2a541c99940e6a3a Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:25:41 2016 +0100 And again commit 70bdb0f88812e12bf9ca9adc55c1e52cc36c3ef9 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:24:44 2016 +0100 Try link again commit b4b7b3c4cda1d958e8f9cf6a2418db68ac32bcc5 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:21:54 2016 +0100 Some cleanup commit fb9845bae37f6ce9ba309b8a57128ce8c426fbca Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 13:16:23 2016 +0100 Renamed resizeable to resize commit 89c5af826612dbd887855dca3937e99856c9fcf2 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 12:59:57 2016 +0100 Working on making Windows a bit more generic * Added WindowOptions that can configure how the Window should look and behave better (resize, title, borderless) * Renamed update -> update_with_buffer * Added update which doesn't take a buffer (used to updated the window without buffers)
2016-02-01 04:34:05 +11:00
description = "Cross-platform window setup with optional bitmap rendering"
keywords = ["windowing", "window", "framebuffer"]
2017-10-02 00:48:57 +11:00
categories = ["rendering"]
repository = "https://github.com/emoon/rust_minifb"
documentation = "https://docs.rs/minifb/0.15/minifb"
2015-11-23 04:55:38 +11:00
build = "build.rs"
edition = "2018"
2017-10-02 00:48:57 +11:00
readme = "README.md"
2022-03-27 18:58:16 +11:00
exclude = ["resources/"]
2017-10-02 00:48:57 +11:00
[badges]
2022-03-27 18:58:16 +11:00
maintenance = { status = "actively-developed" }
[dev-dependencies]
png = "0.17"
2015-11-23 04:55:38 +11:00
[build-dependencies]
2018-05-19 05:58:55 +10:00
cc = "1.0"
2015-11-23 04:55:38 +11:00
[dependencies]
raw-window-handle = "0.4"
[target.'cfg(windows)'.dependencies.winapi]
version = "0.3"
2022-03-27 18:58:16 +11:00
features = ["winuser", "wingdi", "libloaderapi", "errhandlingapi", "fileapi"]
Wayland support (#141) * Wayland implementation restructuration * Moved previous X11 code into own module * Moved some data into a common struct between wayland and x11 * Added glue * Moved common unix functions into module * Revert commits * Update x11.rs * Update x11.rs * Cargo fmt * Cargo fmt * Initial Wayland struct and constructors * Create Wayland window first * Window::new constructor and removed error type * Complete window creation * More docs * Fixed window creation * Proper window creation * Added byteorder * Disallow resize and set_title * Implement is_open() and get_window_handle() * Fixed get_size() and implemented set_position() * Wayland set_position was missing * Added WIP update methods * Improved update methods * Added more prototype functions * Get Keyboard and Mouse device * outsource input device creation * get proper mouse positions * Properly get scroll wheel * Implement HasRawWindowHandle for Wayland Window * Implemented updaterate methods * is active method * More key handler methods * Retrieve all events from keyboard and mouse * Added more DisplayInfo methods * Improvements for event handling * Partial support for scaling * Properly update buffer * More imports * Styling, etc. * Merge * More code to update the framebuffer * Added scaling again * Readded better event handling * Properly render all colors as non-transparent ones * Clear all events after being read * update_with_buffer_stride is not WIP anymore * Assume a connected keyboard and pointer device * Moved keyboard and pointer from DisplayInfo into Window * Support resizing and checking if the window is still open * Rendering performance improvement * Less warnings and some comments * Byteorder now required anymore * Not anymore resizing the ShmPool below its previous size and remove WlBuffers when told to * Removed more magic numbers and added comments * Proper size check of the buffer size * Less conversions * save the previous framebuffer size in DisplayInfo instead of seeking the fd * Set the pixelformat statically depending on whether alpha channel is allowed or not * Set the fd length only again when the size really changes * Save resizability so that the size of the window doesnt get changed. * Fix rerendering issue * Fix rerendering issue * Using unstable protocol to support server-side decorations * Outsource buffer creation code * Small improvements and comments * Replaced usage of atomic types * Cleanup * Outsource Input handling into own struct * Use mspc channels instead of Vec for input handling * Implemented set_cursor_style() * Proper cursorstyle into string decoding * Implemented mouse buttons * Scroll wheel fix * Handle scroll events * Updated code for new version of the wayland crate * Reset scroll after each update * Starting on keymap support with xkb * Revert 19a590a * Add missing bracket * added missing minimum version for surface.damage_buffer() * Fix for corrupted pointer images * Implement scaling * Remove comments * Acknowledge only the last configure event when redrawing * Assign the closure to the toplevel only once * Own function for buffer filtering * Dont truncate the fd anymore * Proper damage surface * Preventg display from getting dropped first * custom BufferPool implementation * Unneccessary printlns * ack configure before committing * set active field when keyboard focus enters/leaves the surface * save modifiers each time they are changed * Requires xkbcommon-sys to retrieve the keymap - will later be removed * Prototype function to convert a key * simplify keymap creation * handle key event * simplify button state evaluation * Create wl_seat earlier so events are not getting missed * Added key conversions and key offset * Cargo fmt * Update keyhandler * Renaming * Update xkb keys * Input callback * Numpad corrections * Remove publicity from functions * Retrieve input devices as early as possible * TODO * Small cleanup * Proper key modifiers update * Scale::FitScreen cant be implemented for now * finish menu functions(copied from x11) * Clean up some stuff * unused variables * Less warnings * Comments and Variable naming improvements * retrieve toplevel info now with an own method * Constants * Remove unused function * Unused field * Unused let binding * Improve code readability * Change note * Comments * Opinionated cleanup * Comment out unused variables Might be used later on * Mouse buttons with boolean state * Prototype UnixMenu functions * Renaming * unimplemented functions * actually unimplemented * Minor formatting change * Remove unused fields Even if they will be used later on, this would be a breaking change. It's unnecessary to keep these around no matter what the future may hold. * Less unwraping now * Feature gate x11 and wayland, both enabled by default * Feature gate dependencies * Menu is now is a new file for both x11 and wayland * Feature gate everything * Cargo fmt * Simplify conditions Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com> * Missing paranthesis Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com> * Cargo fmt * Proper debug message * wayland deps * xkb dev lib * Update Cargo.toml Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com> * Update .github/workflows/ci.yml Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com> Co-authored-by: Antonino Siena <a.siena@gmx.de> Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2020-04-05 14:49:25 +10:00
[features]
default = ["wayland", "x11", "dlopen"]
dlopen = ["wayland-client/dlopen"]
x11 = ["x11-dl", "libc"]
2022-03-27 18:58:16 +11:00
wayland = [
2022-04-20 03:38:52 +10:00
"dlib",
"lazy_static",
"libc",
"tempfile",
"wayland-client",
"wayland-cursor",
"wayland-protocols",
]
2022-04-20 03:38:52 +10:00
web = ["wasm-bindgen", "web-sys", "instant/wasm-bindgen", "instant/inaccurate"]
Wayland support (#141) * Wayland implementation restructuration * Moved previous X11 code into own module * Moved some data into a common struct between wayland and x11 * Added glue * Moved common unix functions into module * Revert commits * Update x11.rs * Update x11.rs * Cargo fmt * Cargo fmt * Initial Wayland struct and constructors * Create Wayland window first * Window::new constructor and removed error type * Complete window creation * More docs * Fixed window creation * Proper window creation * Added byteorder * Disallow resize and set_title * Implement is_open() and get_window_handle() * Fixed get_size() and implemented set_position() * Wayland set_position was missing * Added WIP update methods * Improved update methods * Added more prototype functions * Get Keyboard and Mouse device * outsource input device creation * get proper mouse positions * Properly get scroll wheel * Implement HasRawWindowHandle for Wayland Window * Implemented updaterate methods * is active method * More key handler methods * Retrieve all events from keyboard and mouse * Added more DisplayInfo methods * Improvements for event handling * Partial support for scaling * Properly update buffer * More imports * Styling, etc. * Merge * More code to update the framebuffer * Added scaling again * Readded better event handling * Properly render all colors as non-transparent ones * Clear all events after being read * update_with_buffer_stride is not WIP anymore * Assume a connected keyboard and pointer device * Moved keyboard and pointer from DisplayInfo into Window * Support resizing and checking if the window is still open * Rendering performance improvement * Less warnings and some comments * Byteorder now required anymore * Not anymore resizing the ShmPool below its previous size and remove WlBuffers when told to * Removed more magic numbers and added comments * Proper size check of the buffer size * Less conversions * save the previous framebuffer size in DisplayInfo instead of seeking the fd * Set the pixelformat statically depending on whether alpha channel is allowed or not * Set the fd length only again when the size really changes * Save resizability so that the size of the window doesnt get changed. * Fix rerendering issue * Fix rerendering issue * Using unstable protocol to support server-side decorations * Outsource buffer creation code * Small improvements and comments * Replaced usage of atomic types * Cleanup * Outsource Input handling into own struct * Use mspc channels instead of Vec for input handling * Implemented set_cursor_style() * Proper cursorstyle into string decoding * Implemented mouse buttons * Scroll wheel fix * Handle scroll events * Updated code for new version of the wayland crate * Reset scroll after each update * Starting on keymap support with xkb * Revert 19a590a * Add missing bracket * added missing minimum version for surface.damage_buffer() * Fix for corrupted pointer images * Implement scaling * Remove comments * Acknowledge only the last configure event when redrawing * Assign the closure to the toplevel only once * Own function for buffer filtering * Dont truncate the fd anymore * Proper damage surface * Preventg display from getting dropped first * custom BufferPool implementation * Unneccessary printlns * ack configure before committing * set active field when keyboard focus enters/leaves the surface * save modifiers each time they are changed * Requires xkbcommon-sys to retrieve the keymap - will later be removed * Prototype function to convert a key * simplify keymap creation * handle key event * simplify button state evaluation * Create wl_seat earlier so events are not getting missed * Added key conversions and key offset * Cargo fmt * Update keyhandler * Renaming * Update xkb keys * Input callback * Numpad corrections * Remove publicity from functions * Retrieve input devices as early as possible * TODO * Small cleanup * Proper key modifiers update * Scale::FitScreen cant be implemented for now * finish menu functions(copied from x11) * Clean up some stuff * unused variables * Less warnings * Comments and Variable naming improvements * retrieve toplevel info now with an own method * Constants * Remove unused function * Unused field * Unused let binding * Improve code readability * Change note * Comments * Opinionated cleanup * Comment out unused variables Might be used later on * Mouse buttons with boolean state * Prototype UnixMenu functions * Renaming * unimplemented functions * actually unimplemented * Minor formatting change * Remove unused fields Even if they will be used later on, this would be a breaking change. It's unnecessary to keep these around no matter what the future may hold. * Less unwraping now * Feature gate x11 and wayland, both enabled by default * Feature gate dependencies * Menu is now is a new file for both x11 and wayland * Feature gate everything * Cargo fmt * Simplify conditions Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com> * Missing paranthesis Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com> * Cargo fmt * Proper debug message * wayland deps * xkb dev lib * Update Cargo.toml Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com> * Update .github/workflows/ci.yml Co-Authored-By: Cole Helbling <cole.e.helbling@outlook.com> Co-authored-by: Antonino Siena <a.siena@gmx.de> Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2020-04-05 14:49:25 +10:00
[target.'cfg(not(any(target_os = "macos", target_os = "redox", windows)))'.dependencies]
2022-03-27 18:58:16 +11:00
wayland-client = { version = "0.29", optional = true }
wayland-protocols = { version = "0.29", features = [
"client",
"unstable_protocols",
], optional = true }
wayland-cursor = { version = "0.29", optional = true }
tempfile = { version = "3.3", optional = true }
x11-dl = { version = "2.19.1", optional = true }
libc = { version = "0.2.107", optional = true }
dlib = { version = "0.5", optional = true }
lazy_static = { version = "1.0", optional = true }
2017-04-24 17:09:05 +10:00
2017-04-24 17:09:05 +10:00
[target.x86_64-unknown-redox.dependencies]
orbclient = "0.3.20"
# The `wasm-bindgen` crate provides the bare minimum functionality needed
# to interact with JavaScript.
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.79"
optional = true
features = ["serde-serialize"]
# The `web-sys` crate allows you to interact with the various browser APIs,
# like the DOM.
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.56"
optional = true
features = [
2022-04-20 03:38:52 +10:00
"console",
"Window",
"Document",
"Navigator",
"Element",
"Node",
"ImageData",
"HtmlCanvasElement",
"HtmlImageElement",
"CanvasRenderingContext2d",
"Headers",
"Request",
"RequestInit",
"RequestMode",
"Response",
"Blob",
"Url",
"Gamepad",
"GamepadButton",
"GamepadEvent",
'MouseEvent',
'KeyboardEvent',
]
[target.'cfg(target_arch = "wasm32")'.dependencies]
2022-04-20 03:38:52 +10:00
instant = { version = "0.1.12", features = ["wasm-bindgen", "inaccurate"] }
js-sys = "0.3.56"
wasm-bindgen-futures = "0.4.29"
serde = { version = "1.0.136", features = ["derive"] }
serde_derive = "1.0.123"
futures = "0.3.12"