From 261a6cb6c6a0c84916eda09ecf6391fe5bfab3d0 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 17 Feb 2018 11:57:16 -0800 Subject: [PATCH] remove some dead xproto code from xgfx --- src/xgfx.rs | 174 ---------------------------------------------------- 1 file changed, 174 deletions(-) diff --git a/src/xgfx.rs b/src/xgfx.rs index 8b9f1d70e..8f1832a97 100644 --- a/src/xgfx.rs +++ b/src/xgfx.rs @@ -3,7 +3,6 @@ use gl; use glium; use glium::backend::Backend; use libc; -use resize; use std::convert::From; use std::io; use std::mem; @@ -300,13 +299,6 @@ impl<'a> Window<'a> { xcb::map_window(self.conn.conn(), self.window_id); } - pub fn swap_buffers(&self) { - self.conn - .egl_display - .swap_buffers(&self.gl.surface) - .expect("failed to swap buffers"); - } - pub fn draw(&self) -> glium::Frame { glium::Frame::new( self.glium_context.clone(), @@ -359,83 +351,6 @@ unsafe impl glium::backend::Backend for GlState { } } -pub struct Context<'a> { - gc_id: xcb::xproto::Gcontext, - conn: &'a Connection, - drawable: xcb::xproto::Drawable, -} - -impl<'a> Context<'a> { - pub fn new(conn: &'a Connection, d: &Drawable) -> Context<'a> { - let gc_id = conn.conn().generate_id(); - let drawable = d.as_drawable(); - xcb::create_gc(conn.conn(), gc_id, drawable, &[]); - Context { - gc_id, - conn, - drawable, - } - } - - /// Copy an area from one drawable to another using the settings - /// defined in this context. - pub fn copy_area( - &self, - src: &Drawable, - src_x: i16, - src_y: i16, - dest: &Drawable, - dest_x: i16, - dest_y: i16, - width: u16, - height: u16, - ) -> xcb::VoidCookie { - xcb::copy_area( - self.conn.conn(), - src.as_drawable(), - dest.as_drawable(), - self.gc_id, - src_x, - src_y, - dest_x, - dest_y, - width, - height, - ) - } - - /// Send image bytes and render them into the drawable that was used to - /// create this context. - pub fn put_image(&self, dest_x: i16, dest_y: i16, im: &Image) -> xcb::VoidCookie { - debug!( - "put_image @{},{} x {},{}", - dest_x, - dest_y, - im.width, - im.height - ); - xcb::put_image( - self.conn.conn(), - xcb::xproto::IMAGE_FORMAT_Z_PIXMAP as u8, - self.drawable, - self.gc_id, - im.width as u16, - im.height as u16, - dest_x, - dest_y, - 0, - 24, - &im.data, - ) - } -} - -impl<'a> Drop for Context<'a> { - fn drop(&mut self) { - xcb::free_gc(self.conn.conn(), self.gc_id); - } -} - /// A color stored as big endian bgra32 #[derive(Copy, Clone, Debug)] pub struct Color(u32); @@ -760,95 +675,6 @@ impl Image { height, } } - - /// Create a new bgra32 image buffer with the specified dimensions. - /// The buffer is populated with the source data in bgr24 format. - pub fn with_bgr24(width: usize, height: usize, stride: usize, data: &[u8]) -> Image { - let mut image = Image::new(width, height); - for y in 0..height { - let src_offset = y * stride; - let dest_offset = y * width * 4; - for x in 0..width { - let blue = data[src_offset + (x * 3) + 0]; - let green = data[src_offset + (x * 3) + 1]; - let red = data[src_offset + (x * 3) + 2]; - let alpha = red | green | blue; - image.data[dest_offset + (x * 4) + 0] = blue; - image.data[dest_offset + (x * 4) + 1] = green; - image.data[dest_offset + (x * 4) + 2] = red; - image.data[dest_offset + (x * 4) + 3] = alpha; - } - } - - image - } - - /// Create a new bgra32 image buffer with the specified dimensions. - /// The buffer is populated with the source data in argb32 format. - pub fn with_bgra32(width: usize, height: usize, stride: usize, data: &[u8]) -> Image { - let mut image = Image::new(width, height); - for y in 0..height { - let src_offset = y * stride; - let dest_offset = y * width * 4; - for x in 0..width { - let blue = data[src_offset + (x * 4) + 0]; - let green = data[src_offset + (x * 4) + 1]; - let red = data[src_offset + (x * 4) + 2]; - let alpha = data[src_offset + (x * 4) + 3]; - - image.data[dest_offset + (x * 4) + 0] = blue; - image.data[dest_offset + (x * 4) + 1] = green; - image.data[dest_offset + (x * 4) + 2] = red; - image.data[dest_offset + (x * 4) + 3] = alpha; - } - } - - image - } - - pub fn with_8bpp(width: usize, height: usize, stride: usize, data: &[u8]) -> Image { - let mut image = Image::new(width, height); - for y in 0..height { - let src_offset = y * stride; - let dest_offset = y * width * 4; - for x in 0..width { - let gray = data[src_offset + x]; - - image.data[dest_offset + (x * 4) + 0] = gray; - image.data[dest_offset + (x * 4) + 1] = gray; - image.data[dest_offset + (x * 4) + 2] = gray; - image.data[dest_offset + (x * 4) + 3] = gray; - } - } - - image - } - - /// Creates a new image with the contents of the current image, but - /// resized to the specified dimensions. - pub fn resize(&self, width: usize, height: usize) -> Image { - let mut dest = Image::new(width, height); - let algo = if (width * height) < (self.width * self.height) { - resize::Type::Lanczos3 - } else { - resize::Type::Mitchell - }; - resize::new( - self.width, - self.height, - width, - height, - resize::Pixel::RGBA, - algo, - ).resize(&self.data, &mut dest.data); - dest - } - - pub fn scale_by(&self, scale: f64) -> Image { - let width = (self.width as f64 * scale) as usize; - let height = (self.height as f64 * scale) as usize; - self.resize(width, height) - } } impl BitmapImage for Image {