Cargo Features

[dependencies]
mirl = { version = "9.1.0", default-features = false, features = ["imagery", "texture_manager_cleanup", "ahash", "svg", "all_backends", "minifb", "glfw", "system", "font_support", "all", "keycodes", "keyboard_query", "cursor_show_hotspot", "discord", "random", "std", "num_traits", "miri", "console", "num_traits_with_std", "test", "serde", "indexmap", "internal_use_ahash", "internal_use_indexmap"] }

# Macro thingy

default all? = std

Features enabled by default

imagery all?

Image lib support

Enables image

graphics & render

texture_manager_cleanup = std

Extra cleanup functions for the texture manager

ahash internal_use_ahash? = std

If ahash::AHashMap should be used rather than std::collection::HashMap

Enables ahash

svg minifb?

SVG/resvg support

Enables resvg and tempfile

resvg:

Rasterize SVG

Affects imagery::pixmap_to_dynamic_image

all_backends all? = console, font_support, glfw, minifb

Enable all available backends

minifb all_backends? = keyboard_query, keycodes, std, svg, system

Framework backend using minifb (NOT COMPATIBLE WITH WEB)

Enables minifb

Affects windowing::minifb

glfw all_backends? = keycodes, std, system

Framework backend using glfw (NOT COMPATIBLE WITH WEB)

Enables gl and glfw ^0.51.0

Affects windowing::glfw

system glfw? minifb? = std, x11

Low level system interactions

Enables raw-window-handle, winapi, and windows ^0.48

raw-window-handle:

Other window stuff

Affects mirl::system

font_support all_backends? = std

Font/fontdue support

Enables once_cell

Needed for glyph cache

and parking_lot

For locking/releasing a global variable (Font rendering)

and font-kit ^0.11 and fontdue

fontdue:

Font lib

all = all_backends, console, default, discord, imagery, internal_use_ahash, internal_use_indexmap, num_traits_with_std, random, serde

Enable all features that add content

keycodes glfw? minifb? = std

Support for interacting with they keyboard

Enables strum and strum_macros

strum:

Enum stuff - Used for iterating the keycodes

Affects shared::KeyManager, shared::map_keycode, shared::set_keycode, console::Framework.pressed_keys, windowing::glfw

keyboard_query minifb? = std

Support for pulling the current state of the keyboard

Enables device_query

Affects keyboard::mirl_keycode_to_keyboard_query_keycode, keyboard::keyboard_query_keycodes_to_mirls_keycode, keyboard::is_key_pressed, keyboard::get_all_pressed_keys

cursor_show_hotspot

A debug option for showing where the current cursor style will click

discord all? = std

Enables serde_json

Json stuff

and reqwest and serde

serde:

Decode/Encoding stuff

Affects network::discord

random all? = std

Unlock functions that expand on randomness

Enables rand

std default ahash? discord? font_support? glfw? indexmap? keyboard_query? keycodes? minifb? num_traits_with_std? random? serde? system? texture_manager_cleanup?

Unbind rust from any os specific features

Affects interpolation::resize_buffer_linear, interpolation::resize_buffer_nearest, interpolation::resize_buffer_cubic, interpolation::resize_buffer_lanczos, interpolation::resize_buffer_area, interpolation::resize_buffer_catmull_rom, interpolation::resize_buffer_gaussian, interpolation::resize_buffer_mitchell_netravali, interpolation::resize_buffer, mirl::text, mirl::time, mirl::console, mirl::enable_traceback, mirl::enable_traceback_detailed, mirl::disable_traceback, shared::get_time, shared::sample_fps, shared::sleep, shared::log, time::NativeTime

num_traits num_traits_with_std?

Num traits allows for less hardcoded number stuff

Enables num-traits

miri

Set this flag if you are using miri

console all? all_backends?

Enables crossterm

Console stuff

Affects windowing::console

num_traits_with_std all? = num_traits, std

Alright, this is stupid

Enables num-traits

test

A flag required when wanting to test this lib

Enables pastey

Macro stuff

serde all? = std

Support for serde

Enables derive and std of serde

indexmap internal_use_indexmap? = std

Support for indexmap

Enables indexmap

internal_use_ahash all? = ahash

If any hash builder should be replaced with the hash builder of ahash

Affects settings::HashBuilder

internal_use_indexmap all? = indexmap

If any reference to std::collection::HashMap should be replaced with indexmap::IndexMap

Affects settings::MapType

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

x11 linux system?