Windows gpui platform (#8490)

First implementation of gpui platform for Windows.

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
This commit is contained in:
白山風露 2024-03-04 03:53:22 +09:00 committed by GitHub
parent a88df2c103
commit 69e0474ebb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 1610 additions and 33 deletions

View file

@ -12,12 +12,15 @@ mod linux;
#[cfg(target_os = "macos")]
mod mac;
#[cfg(any(target_os = "linux", feature = "macos-blade"))]
#[cfg(any(target_os = "linux", target_os = "windows", feature = "macos-blade"))]
mod blade;
#[cfg(any(test, feature = "test-support"))]
mod test;
#[cfg(target_os = "windows")]
mod windows;
use crate::{
Action, AnyWindowHandle, AsyncWindowContext, BackgroundExecutor, Bounds, DevicePixels, Font,
FontId, FontMetrics, FontRun, ForegroundExecutor, GlobalPixels, GlyphId, Keymap, LineLayout,
@ -54,6 +57,8 @@ pub(crate) use mac::*;
pub(crate) use test::*;
use time::UtcOffset;
pub use util::SemanticVersion;
#[cfg(target_os = "windows")]
pub(crate) use windows::*;
#[cfg(target_os = "macos")]
pub(crate) fn current_platform() -> Rc<dyn Platform> {
@ -66,7 +71,7 @@ pub(crate) fn current_platform() -> Rc<dyn Platform> {
// todo("windows")
#[cfg(target_os = "windows")]
pub(crate) fn current_platform() -> Rc<dyn Platform> {
unimplemented!()
Rc::new(WindowsPlatform::new())
}
pub(crate) trait Platform: 'static {