Struct basalt::BstOptions
source · pub struct BstOptions { /* private fields */ }
Expand description
Options for Basalt’s creation and operation.
Implementations§
source§impl BstOptions
impl BstOptions
sourcepub fn app_loop(self) -> Self
pub fn app_loop(self) -> Self
Configure Basalt to run in app mode. The swapchain will be managed by Basalt and all renderering to the swapchain will be done by Basalt. Additional rendering to the swapchain will be unavailable. This is useful for applications that are UI only.
sourcepub fn use_exclusive_fullscreen(self, to: bool) -> Self
pub fn use_exclusive_fullscreen(self, to: bool) -> Self
Enables the device extension required for exclusive fullscreen.
Generally this extension is only present on Windows. Basalt will return an error upon
creation if this feature isn’t supported. With this option enabled
BasaltWindow::enable_fullscreen()
will use exclusive fullscreen; otherwise,
borderless window will be used.
Default: false
Notes
Basalt
will return anErr
if the extension is not present.
sourcepub fn ignore_dpi(self, to: bool) -> Self
pub fn ignore_dpi(self, to: bool) -> Self
Ignore dpi hints provided by the platform.
Default: false
sourcepub fn window_size(self, width: u32, height: u32) -> Self
pub fn window_size(self, width: u32, height: u32) -> Self
Set the inner size of the window to be created
Default: 1920
, 1080
sourcepub fn title<T: AsRef<str>>(self, title: T) -> Self
pub fn title<T: AsRef<str>>(self, title: T) -> Self
Set the title of the window to be created
Default: "Basalt"
sourcepub fn msaa(self, to: BstMSAALevel) -> Self
pub fn msaa(self, to: BstMSAALevel) -> Self
Set the the amount of MSAA of the UI
Default: BstMSAALevel::Four
sourcepub fn prefer_integrated_gpu(self) -> Self
pub fn prefer_integrated_gpu(self) -> Self
Prefer integrated graphics if they are available
sourcepub fn instance_ext_union(self, ext: &InstanceExtensions) -> Self
pub fn instance_ext_union(self, ext: &InstanceExtensions) -> Self
Add additional instance extensions
sourcepub fn device_ext_union(self, ext: &DeviceExtensions) -> Self
pub fn device_ext_union(self, ext: &DeviceExtensions) -> Self
Add additional device extensions
sourcepub fn with_features(self, features: VkFeatures) -> Self
pub fn with_features(self, features: VkFeatures) -> Self
Specifify a custom set of vulkan features. This should be used with
basalt_required_vk_features()
to ensure Basalt functions correctly. For example:
.with_features(
Features {
storage_buffer16_bit_access: true,
.. basalt_required_vk_features()
}
)
Default: basalt_required_vk_features()
sourcepub fn composite_alpha(self, to: CompositeAlpha) -> Self
pub fn composite_alpha(self, to: CompositeAlpha) -> Self
Set the composite alpha mode used when creating the swapchain. Only effective when using app loop.
Default: CompositeAlpha::Opaque
sourcepub fn force_unix_backend_x11(self, to: bool) -> Self
pub fn force_unix_backend_x11(self, to: bool) -> Self
Setting this to true, will set the environment variable WINIT_UNIX_BACKEND=x11
forcing
winit to use x11 over wayland. It is recommended to set this to true
if you intend to
use Basalt::capture_cursor()
. With winit on wayland, MouseMotion
will not be emitted.
Default: false
sourcepub fn imt_gpu_accelerated(self, to: bool) -> Self
pub fn imt_gpu_accelerated(self, to: bool) -> Self
Basalt uses ilmenite in the backend for text. Setting this option to true will allow ilmenite to use a gpu code path which will have some performance gain; however, this code path may be broken on some systems.
Default: true
sourcepub fn imt_fill_quality(self, q: ImtFillQuality) -> Self
pub fn imt_fill_quality(self, q: ImtFillQuality) -> Self
Basalt uses ilmenite in the backend for text. This option allows for modifying the fill quality (the amount of casted rays) that ilmenite will use.
Default: ImtFillQuality::Normal
sourcepub fn imt_sample_quality(self, q: ImtSampleQuality) -> Self
pub fn imt_sample_quality(self, q: ImtSampleQuality) -> Self
Basalt uses ilmenite in the backend for text. This option allows for modifying the sample quality (the amount of samples in a subpixel) that ilmenite will use.
Default:: ImtSampleQuality::Normal
sourcepub fn bin_parallel_threads(self, bin_parallel_threads: usize) -> Self
pub fn bin_parallel_threads(self, bin_parallel_threads: usize) -> Self
Specify how many threads to use for parallel Bin
updates.
Default: 1/3 of available threads (rounded up)
sourcepub fn conservative_draw(self, enable: bool) -> Self
pub fn conservative_draw(self, enable: bool) -> Self
Only update interface image on UI/Surface change.
Default: false
Notes:
- This is for application mode applications only. See
app_loop()
. - This feature is EXPERIMENTAL and may not always work correctly.
Trait Implementations§
source§impl Clone for BstOptions
impl Clone for BstOptions
source§fn clone(&self) -> BstOptions
fn clone(&self) -> BstOptions
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for BstOptions
impl Debug for BstOptions
Auto Trait Implementations§
impl RefUnwindSafe for BstOptions
impl Send for BstOptions
impl Sync for BstOptions
impl Unpin for BstOptions
impl UnwindSafe for BstOptions
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.