aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/events.rs8
-rw-r--r--src/lib.rs22
-rw-r--r--src/x11/window/mod.rs3
3 files changed, 22 insertions, 11 deletions
diff --git a/src/events.rs b/src/events.rs
index 34234b2..680a077 100644
--- a/src/events.rs
+++ b/src/events.rs
@@ -1,4 +1,4 @@
-#[derive(Clone, Show, Copy)]
+#[derive(Clone, Debug, Copy)]
pub enum Event {
/// The size of the window has changed.
Resized(u32, u32),
@@ -38,13 +38,13 @@ pub enum Event {
pub type ScanCode = u8;
-#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
+#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
pub enum ElementState {
Pressed,
Released,
}
-#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
+#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
pub enum MouseButton {
LeftMouseButton,
RightMouseButton,
@@ -52,7 +52,7 @@ pub enum MouseButton {
OtherMouseButton(u8),
}
-#[derive(Show, Hash, PartialEq, Eq, Clone, Copy)]
+#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
pub enum VirtualKeyCode {
/// The '1' key over the letters.
Key1,
diff --git a/src/lib.rs b/src/lib.rs
index cfefe99..f31edfe 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -67,14 +67,14 @@ mod events;
pub struct MonitorID(winimpl::MonitorID);
/// Error that can happen while creating a window or a headless renderer.
-#[derive(Clone, Show, PartialEq, Eq)]
+#[derive(Clone, Debug, PartialEq, Eq)]
pub enum CreationError {
OsError(String),
NotSupported,
}
-impl std::error::Error for CreationError {
- fn description(&self) -> &str {
+impl CreationError {
+ fn to_string(&self) -> &str {
match self {
&CreationError::OsError(ref text) => text.as_slice(),
&CreationError::NotSupported => "Some of the requested attributes are not supported",
@@ -82,8 +82,20 @@ impl std::error::Error for CreationError {
}
}
+impl std::fmt::Display for CreationError {
+ fn fmt(&self, formatter: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
+ formatter.write_str(self.to_string())
+ }
+}
+
+impl std::error::Error for CreationError {
+ fn description(&self) -> &str {
+ self.to_string()
+ }
+}
+
/// All APIs related to OpenGL that you can possibly get while using glutin.
-#[derive(Show, Clone, Copy, PartialEq, Eq)]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Api {
/// The classical OpenGL. Available on Windows, Linux, OS/X.
OpenGl,
@@ -91,7 +103,7 @@ pub enum Api {
OpenGlEs,
}
-#[derive(Show, Copy)]
+#[derive(Debug, Copy)]
pub enum MouseCursor {
/// The platform-dependent default cursor.
Default,
diff --git a/src/x11/window/mod.rs b/src/x11/window/mod.rs
index f4c296a..b89e34c 100644
--- a/src/x11/window/mod.rs
+++ b/src/x11/window/mod.rs
@@ -519,8 +519,7 @@ impl Window {
mem::transmute(buffer.as_mut_ptr()),
buffer.len() as libc::c_int, ptr::null_mut(), ptr::null_mut());
- str::from_utf8(buffer.as_slice().slice_to(count as usize))
- .unwrap_or("").to_string()
+ str::from_utf8(&buffer.as_slice()[..count as usize]).unwrap_or("").to_string()
};
for chr in written.as_slice().chars() {