diff --git a/win32/dll/gdi32/src/bitmap.rs b/win32/dll/gdi32/src/bitmap.rs index 0be174fa..2134f6a3 100644 --- a/win32/dll/gdi32/src/bitmap.rs +++ b/win32/dll/gdi32/src/bitmap.rs @@ -1,6 +1,6 @@ //! The bitmap file/memory format and pixel buffers. -use super::COLORREF; +use crate::draw::COLORREF; use memory::{Extensions, ExtensionsMut, Mem}; use std::ops::Range; use win32_winapi::RECT; diff --git a/win32/dll/gdi32/src/bitmap_api.rs b/win32/dll/gdi32/src/bitmap_api.rs index 89637304..28723214 100644 --- a/win32/dll/gdi32/src/bitmap_api.rs +++ b/win32/dll/gdi32/src/bitmap_api.rs @@ -1,22 +1,23 @@ //! GDI functions working with bitmaps. //! The general bitmap-related structures are in bitmap.rs. -use super::{ - COLORREF, HDC, HGDIOBJ, Object, +use crate::{ + HDC, HGDIOBJ, Object, bitmap::{BI, Bitmap, PixelData, PixelFormat}, - get_state, - state::GDIHandles, + draw::COLORREF, + state::{GDIHandles, get_state}, }; use memory::{Extensions, Mem}; use win32_system::System; use win32_winapi::{POINT, RECT}; -pub use super::bitmap::BITMAPINFOHEADER; +pub use crate::bitmap::BITMAPINFOHEADER; pub type HBITMAP = HGDIOBJ; /// This is only used as serialization in GetObject, and is separate from the various /// bitmap file headers defined in bitmap.rs. +#[repr(C)] #[derive(Clone)] pub struct BITMAP { pub bmType: u32, diff --git a/win32/dll/gdi32/src/dc.rs b/win32/dll/gdi32/src/dc.rs index 0563ee21..267bd7df 100644 --- a/win32/dll/gdi32/src/dc.rs +++ b/win32/dll/gdi32/src/dc.rs @@ -1,7 +1,8 @@ -use super::{ - DCHandles, GDIHandles, HGDIOBJ, R2, +use crate::{ + HGDIOBJ, bitmap::{self, Bitmap, PixelData}, - get_state, + draw::R2, + state::{DCHandles, GDIHandles, get_state}, }; use std::{cell::RefCell, rc::Rc}; use win32_system::System; diff --git a/win32/dll/gdi32/src/draw.rs b/win32/dll/gdi32/src/draw.rs index 74c027b8..c1af315e 100644 --- a/win32/dll/gdi32/src/draw.rs +++ b/win32/dll/gdi32/src/draw.rs @@ -1,6 +1,6 @@ //! Pens, brushes, color. -use super::{HDC, HGDIOBJ, Object, get_state}; +use crate::{HDC, HGDIOBJ, Object, state::get_state}; use win32_system::System; use win32_winapi::{ POINT, RECT, diff --git a/win32/dll/gdi32/src/lib.rs b/win32/dll/gdi32/src/lib.rs index 5a0ae037..af65e2a3 100644 --- a/win32/dll/gdi32/src/lib.rs +++ b/win32/dll/gdi32/src/lib.rs @@ -13,20 +13,9 @@ mod object; mod palette; mod state; mod text; -pub use bitmap_api::*; -pub use dc::*; -pub use draw::*; -pub use object::*; -pub use palette::*; -pub use state::*; -pub use text::*; -use win32_system::System; - -pub fn get_state(sys: &dyn System) -> std::cell::RefMut { - type SysState = std::cell::RefCell; - sys.state(&std::any::TypeId::of::()) - .downcast_ref::() - .unwrap() - .borrow_mut() -} +pub use dc::{DC, DCTarget, HDC}; +pub use draw::{Brush, COLORREF, fill_rect}; +pub use object::{HGDIOBJ, LOWEST_HGDIOBJ, Object}; +pub use palette::PALETTEENTRY; +pub use state::{GDIHandles, State, get_state}; diff --git a/win32/dll/gdi32/src/object.rs b/win32/dll/gdi32/src/object.rs index 51f94c27..cdf8a6da 100644 --- a/win32/dll/gdi32/src/object.rs +++ b/win32/dll/gdi32/src/object.rs @@ -1,4 +1,10 @@ -use super::{BITMAP, Brush, COLORREF, HDC, Pen, bitmap::Bitmap, get_state}; +use crate::{ + HDC, + bitmap::Bitmap, + bitmap_api::BITMAP, + draw::{Brush, COLORREF, Pen}, + state::get_state, +}; use memory::ExtensionsMut; use std::{cell::RefCell, rc::Rc}; use win32_system::System; diff --git a/win32/dll/gdi32/src/palette.rs b/win32/dll/gdi32/src/palette.rs index 7f5515b2..dbd91e56 100644 --- a/win32/dll/gdi32/src/palette.rs +++ b/win32/dll/gdi32/src/palette.rs @@ -1,4 +1,4 @@ -use super::{HDC, HGDIOBJ}; +use crate::{HDC, HGDIOBJ}; use win32_system::System; use win32_winapi::HANDLE; diff --git a/win32/dll/gdi32/src/state.rs b/win32/dll/gdi32/src/state.rs index 4b17007e..dd9bc6e3 100644 --- a/win32/dll/gdi32/src/state.rs +++ b/win32/dll/gdi32/src/state.rs @@ -1,5 +1,7 @@ -use super::{DC, DCTarget, HDC, HGDIOBJ, LOWEST_HGDIOBJ, Object, ScreenDCTarget, bitmap::Bitmap}; +use crate::dc::{DC, DCTarget, HDC, ScreenDCTarget}; +use crate::{HGDIOBJ, LOWEST_HGDIOBJ, Object, bitmap::Bitmap}; use std::{cell::RefCell, rc::Rc}; +use win32_system::System; use win32_winapi::Handles; pub struct State { @@ -57,3 +59,11 @@ impl State { self.screen_dc } } + +pub fn get_state(sys: &dyn System) -> std::cell::RefMut { + type SysState = std::cell::RefCell; + sys.state(&std::any::TypeId::of::()) + .downcast_ref::() + .unwrap() + .borrow_mut() +} diff --git a/win32/dll/gdi32/src/text.rs b/win32/dll/gdi32/src/text.rs index 94b59213..ebd8335c 100644 --- a/win32/dll/gdi32/src/text.rs +++ b/win32/dll/gdi32/src/text.rs @@ -1,4 +1,5 @@ -use super::{CLR_INVALID, COLORREF, HDC}; +pub use crate::draw::COLORREF; +use crate::{HDC, draw::CLR_INVALID}; use memory::Pod; use win32_system::System; use win32_winapi::{HANDLE, LPARAM, calling_convention::Array}; diff --git a/win32/dll/user32/src/paint.rs b/win32/dll/user32/src/paint.rs index a02f0f9c..8997bb3c 100644 --- a/win32/dll/user32/src/paint.rs +++ b/win32/dll/user32/src/paint.rs @@ -1,6 +1,6 @@ use super::{DCTarget, HBRUSH, HDC, WindowType, get_state}; use builtin_gdi32 as gdi32; -use builtin_gdi32::{COLORREF, HGDIOBJ}; +use gdi32::{COLORREF, HGDIOBJ}; use win32_system::System; use win32_winapi::calling_convention::FromArg; use win32_winapi::{HWND, RECT, Str16};