Initial commit
This commit is contained in:
commit
1cc0447c5e
10 changed files with 5394 additions and 0 deletions
114
src/lib.rs
Normal file
114
src/lib.rs
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
#![feature(unsafe_destructor)]
|
||||
|
||||
extern crate libc;
|
||||
|
||||
#[cfg(windows)]
|
||||
pub use win32::Window;
|
||||
|
||||
#[cfg(windows)]
|
||||
mod win32;
|
||||
|
||||
#[deriving(Clone,Show)]
|
||||
pub enum Event {
|
||||
/// The position of the window has changed.
|
||||
PositionChanged(uint, uint),
|
||||
|
||||
/// The size of the window has changed.
|
||||
SizeChanged(uint, uint),
|
||||
|
||||
/// The window has been closed.
|
||||
Closed,
|
||||
|
||||
/// The cursor has moved on the window.
|
||||
///
|
||||
/// The parameter are the (x,y) coords in pixels relative to the top-left corner of the window.
|
||||
CursorPositionChanged(uint, uint),
|
||||
|
||||
/// The window gained or lost focus.
|
||||
///
|
||||
/// The parameter is true if the window has gained focus, and false if it has lost focus.
|
||||
Focused(bool),
|
||||
|
||||
/// The window has been turned into an icon or restored.
|
||||
///
|
||||
/// The parameter is true if the window has been iconified, and false if it has been restored.
|
||||
Iconified(bool),
|
||||
|
||||
/// The system asked that the content of this window must be redrawn.
|
||||
NeedRefresh,
|
||||
|
||||
/// The size of the framebuffer of the window has changed.
|
||||
FramebufferSizeChanged(uint, uint),
|
||||
}
|
||||
|
||||
#[deriving(Clone,Show)]
|
||||
pub struct Hints {
|
||||
pub resizable: bool,
|
||||
pub visible: bool,
|
||||
pub decorated: bool,
|
||||
pub red_bits: u8,
|
||||
pub green_bits: u8,
|
||||
pub blue_bits: u8,
|
||||
pub alpha_bits: u8,
|
||||
pub depth_bits: u8,
|
||||
pub stencil_bits: u8,
|
||||
pub accum_red_bits: u8,
|
||||
pub accum_green_bits: u8,
|
||||
pub accum_blue_bits: u8,
|
||||
pub accum_alpha_bits: u8,
|
||||
pub aux_buffers: u8,
|
||||
pub samples: u8,
|
||||
pub refresh_rate: u8,
|
||||
pub stereo: bool,
|
||||
pub srgb_capable: bool,
|
||||
pub client_api: ClientAPI,
|
||||
pub context_version: (u8, u8),
|
||||
//pub robustness: ,
|
||||
pub opengl_forward_compat: bool,
|
||||
pub opengl_debug_context: bool,
|
||||
pub opengl_profile: Profile,
|
||||
}
|
||||
|
||||
#[deriving(Clone, Show)]
|
||||
pub enum ClientAPI {
|
||||
OpenGL,
|
||||
OpenGLES,
|
||||
}
|
||||
|
||||
#[deriving(Clone, Show)]
|
||||
pub enum Profile {
|
||||
AnyProfile,
|
||||
CompatProfile,
|
||||
CoreProfile,
|
||||
}
|
||||
|
||||
impl std::default::Default for Hints {
|
||||
fn default() -> Hints {
|
||||
Hints {
|
||||
resizable: true,
|
||||
visible: true,
|
||||
decorated: true,
|
||||
red_bits: 8,
|
||||
green_bits: 8,
|
||||
blue_bits: 8,
|
||||
alpha_bits: 8,
|
||||
depth_bits: 24,
|
||||
stencil_bits: 8,
|
||||
accum_red_bits: 0,
|
||||
accum_green_bits: 0,
|
||||
accum_blue_bits: 0,
|
||||
accum_alpha_bits: 0,
|
||||
aux_buffers: 0,
|
||||
samples: 0,
|
||||
refresh_rate: 0,
|
||||
stereo: false,
|
||||
srgb_capable: false,
|
||||
client_api: OpenGL,
|
||||
context_version: (1, 0),
|
||||
//robustness: ,
|
||||
opengl_forward_compat: false,
|
||||
opengl_debug_context: false,
|
||||
opengl_profile: AnyProfile,
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue