mirror of
https://github.com/flectar/mail.git
synced 2026-11-12 10:15:19 +00:00
Tier-3 community port (maintainer: springmin), rebased onto the merged document-provider abstraction (#84) and the opener seam (#80). - platform/ohos: Slint backend (XComponent window adapter, software renderer with the experimental femtovg/wgpu path, input/IME, clipboard, system fonts), the NAPI cdylib that builds a PlatformContext (app-private paths, DocumentProvider over the ArkTS pickers, Asset Store credential store, loopback OAuth broker, external URL opener, notification publisher) and calls flectar_mail::run, the demo crate, the ArkTS shell and the build and packaging scripts (bundle name configurable, defaults to com.flectar.mail_ohos). - src/platform/ohos.rs: PDFium directory, renderer name, thread priority, preview lifecycle, email font directory; OpenHarmony stays under the mobile capability alias. - patches/fontique + crates/fontique: the Fontconfig opt-out as a patch queue applied by the platform/ohos workspace, verified from quality.yml. - .github/workflows/ohos.yml: manually dispatched tier-3 workflow, unsigned by default, signing material only from the FLECTAR_OHOS_* secrets. - src/documents.rs: run_request blocks the calling thread on mobile hosts; the picker covers the window, and keeping the presentation thread idle is what OpenHarmony needs (verified on device; desktop keeps the runtime request for the native dialog). - The email renderer and the compose editor load platform::email_font_dir() and the Han fallback, so CJK mail bodies and composed text render with the platform fonts. - New-mail notifications: a publisher seam fed by CoreEvent::MailNew; the host publishes through @kit.NotificationKit.
31 lines
1.0 KiB
TOML
31 lines
1.0 KiB
TOML
[package]
|
|
name = "slint-ohos-backend"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
rust-version = "1.92"
|
|
license = "AGPL-3.0-only"
|
|
description = "Minimal Slint platform backend for OpenHarmony (XComponent + software renderer)"
|
|
publish = false
|
|
|
|
[lib]
|
|
name = "slint_ohos_backend"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
slint.workspace = true
|
|
# The slint-ohos backend replaces the winit/linuxkms/skia backends, each of
|
|
# which enables i-slint-core's `image-decoders` + `svg` features. The
|
|
# Slint-generated code that loads embedded images (PNG/SVG) does not compile
|
|
# without them, so the backend crate carries the same features.
|
|
i-slint-core = { version = "=1.18.1", default-features = false, features = [
|
|
"image-decoders",
|
|
"svg",
|
|
] }
|
|
# Experimental GPU path: femtovg on wgpu via EGL/GLES. `unstable-wgpu-30`
|
|
# (which implies `wgpu`) exposes `i-slint-core`'s `wgpu_30::api` module so the
|
|
# backend can request the GL backend explicitly.
|
|
i-slint-renderer-femtovg = { version = "=1.18.1", default-features = false, features = [
|
|
"unstable-wgpu-30",
|
|
] }
|
|
raw-window-handle = "0.6"
|