mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-24 06:11:30 +11:00
Merge pull request #371 from tomaka/get-pixel-format
Adds get_pixel_format() to Window
This commit is contained in:
commit
d5138d2708
|
@ -15,6 +15,7 @@ use Api;
|
|||
use BuilderAttribs;
|
||||
use CursorState;
|
||||
use GlRequest;
|
||||
use PixelFormat;
|
||||
use native_monitor::NativeMonitorId;
|
||||
|
||||
pub struct Window {
|
||||
|
@ -353,6 +354,10 @@ impl Window {
|
|||
::Api::OpenGlEs
|
||||
}
|
||||
|
||||
pub fn get_pixel_format(&self) -> PixelFormat {
|
||||
unimplemented!();
|
||||
}
|
||||
|
||||
pub fn set_window_resize_callback(&mut self, _: Option<fn(u32, u32)>) {
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ use libc;
|
|||
use Api;
|
||||
use BuilderAttribs;
|
||||
use GlRequest;
|
||||
use PixelFormat;
|
||||
use native_monitor::NativeMonitorId;
|
||||
|
||||
use objc::runtime::{Class, Object, Sel, BOOL, YES, NO};
|
||||
|
@ -616,6 +617,10 @@ impl Window {
|
|||
::Api::OpenGl
|
||||
}
|
||||
|
||||
pub fn get_pixel_format(&self) -> PixelFormat {
|
||||
unimplemented!();
|
||||
}
|
||||
|
||||
pub fn set_window_resize_callback(&mut self, callback: Option<fn(u32, u32)>) {
|
||||
self.delegate.state.resize_handler = callback;
|
||||
}
|
||||
|
|
|
@ -203,16 +203,17 @@ unsafe fn init(title: Vec<u16>, builder: BuilderAttribs<'static>,
|
|||
};
|
||||
|
||||
// calling SetPixelFormat
|
||||
{
|
||||
let pixel_format = {
|
||||
let formats = if extra_functions.GetPixelFormatAttribivARB.is_loaded() {
|
||||
enumerate_arb_pixel_formats(&extra_functions, &real_window)
|
||||
} else {
|
||||
enumerate_native_pixel_formats(&real_window)
|
||||
};
|
||||
|
||||
let (id, _) = try!(builder.choose_pixel_format(formats.into_iter().map(|(a, b)| (b, a))));
|
||||
let (id, f) = try!(builder.choose_pixel_format(formats.into_iter().map(|(a, b)| (b, a))));
|
||||
try!(set_pixel_format(&real_window, id));
|
||||
}
|
||||
f
|
||||
};
|
||||
|
||||
// creating the OpenGL context
|
||||
let context = try!(create_context(Some((&extra_functions, &builder)), &real_window,
|
||||
|
@ -263,6 +264,7 @@ unsafe fn init(title: Vec<u16>, builder: BuilderAttribs<'static>,
|
|||
events_receiver: events_receiver,
|
||||
is_closed: AtomicBool::new(false),
|
||||
cursor_state: cursor_state,
|
||||
pixel_format: pixel_format,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ use libc;
|
|||
use {CreationError, Event, MouseCursor};
|
||||
use CursorState;
|
||||
|
||||
use PixelFormat;
|
||||
use BuilderAttribs;
|
||||
|
||||
pub use self::headless::HeadlessContext;
|
||||
|
@ -53,6 +54,9 @@ pub struct Window {
|
|||
|
||||
/// The current cursor state.
|
||||
cursor_state: Arc<Mutex<CursorState>>,
|
||||
|
||||
/// The pixel format that has been used to create this window.
|
||||
pixel_format: PixelFormat,
|
||||
}
|
||||
|
||||
unsafe impl Send for Window {}
|
||||
|
@ -258,6 +262,10 @@ impl Window {
|
|||
::Api::OpenGl
|
||||
}
|
||||
|
||||
pub fn get_pixel_format(&self) -> PixelFormat {
|
||||
self.pixel_format.clone()
|
||||
}
|
||||
|
||||
pub fn set_window_resize_callback(&mut self, _: Option<fn(u32, u32)>) {
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ use CursorState;
|
|||
use Event;
|
||||
use GlRequest;
|
||||
use MouseCursor;
|
||||
use PixelFormat;
|
||||
use native_monitor::NativeMonitorId;
|
||||
|
||||
use gl_common;
|
||||
|
@ -388,6 +389,11 @@ impl Window {
|
|||
self.window.get_api()
|
||||
}
|
||||
|
||||
/// Returns the pixel format of this window.
|
||||
pub fn get_pixel_format(&self) -> PixelFormat {
|
||||
self.window.get_pixel_format()
|
||||
}
|
||||
|
||||
/// Create a window proxy for this window, that can be freely
|
||||
/// passed to different threads.
|
||||
#[inline]
|
||||
|
|
|
@ -12,6 +12,7 @@ use std::sync::{Arc, Mutex, Once, ONCE_INIT};
|
|||
use Api;
|
||||
use CursorState;
|
||||
use GlRequest;
|
||||
use PixelFormat;
|
||||
|
||||
pub use self::monitor::{MonitorID, get_available_monitors, get_primary_monitor};
|
||||
|
||||
|
@ -732,6 +733,10 @@ impl Window {
|
|||
::Api::OpenGl
|
||||
}
|
||||
|
||||
pub fn get_pixel_format(&self) -> PixelFormat {
|
||||
unimplemented!();
|
||||
}
|
||||
|
||||
pub fn set_window_resize_callback(&mut self, _: Option<fn(u32, u32)>) {
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue