From 15bd1462d7c35809a0b74933199ce65ddd35453b Mon Sep 17 00:00:00 2001 From: Osei Fortune Date: Thu, 11 Jan 2024 02:17:05 -0400 Subject: [PATCH] chore: fmt --- .../src/context/drawing_text/global_fonts.rs | 4 +- .../canvas-2d/src/context/drawing_text/mod.rs | 13 ++-- .../canvas-2d/src/context/filters.rs | 67 ++++++++++--------- .../src/context/gradients_and_patterns.rs | 8 +-- .../canvas-2d/src/context/mod.rs | 4 +- .../canvas-2d/src/context/paths/mod.rs | 1 - .../canvas-2d/src/context/text_encoder.rs | 4 +- .../src/context/text_styles/text_direction.rs | 2 - .../canvas-2d/src/image_bitmap.rs | 16 +---- .../canvas-native/canvas-2d/src/ios.rs | 20 +++--- .../canvas-native/canvas-2d/src/prelude.rs | 3 +- .../canvas-native/canvas-2d/src/svg/mod.rs | 2 +- .../canvas-2d/src/utils/dimensions.rs | 1 - .../canvas-2d/src/utils/image.rs | 18 ++++- .../canvas-native/canvas-android/build.rs | 10 ++- .../canvas-android/src/jni_compat/mod.rs | 2 +- .../org_nativescript_canvas_NSCCanvas.rs | 44 ++++++------ ...ript_canvas_NSCCanvasRenderingContext2D.rs | 6 +- .../canvas-android/src/utils/gl/mod.rs | 4 +- .../src/utils/gl/surface_texture.rs | 1 - .../canvas-android/src/utils/image.rs | 9 ++- .../canvas-android/src/utils/mod.rs | 2 +- .../canvas-native/canvas-c/src/buffers.rs | 2 +- .../canvas-native/canvas-c/src/lib.rs | 63 ++++++++++------- .../canvas-native/canvas-c/src/raf/android.rs | 2 +- .../canvas-native/canvas-c/src/raf/mod.rs | 2 +- .../canvas-core/src/gl/android.rs | 9 +-- .../canvas-native/canvas-core/src/gl/ios.rs | 8 ++- .../canvas-native/canvas-core/src/gl/mac.rs | 6 +- .../canvas-native/canvas-core/src/gl/mod.rs | 18 +---- .../canvas-core/src/image_asset.rs | 5 +- .../canvas-native/canvas-core/src/lib.rs | 1 - .../canvas-native/canvas-cxx/build.rs | 3 +- .../canvas-native/canvas-cxx/src/lib.rs | 25 +++---- .../canvas-native/canvas-cxx/src/raf/mod.rs | 2 +- .../canvas-native/canvas-ios/src/lib.rs | 5 +- .../canvas-native/canvas-webgl/src/webgl.rs | 24 ++----- .../canvas-native/canvas-webgl/src/webgl2.rs | 2 - .../canvas-native/gl-bindings/build.rs | 2 +- .../canvas-native/playground/src/main.rs | 16 ++--- 40 files changed, 208 insertions(+), 228 deletions(-) diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/drawing_text/global_fonts.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/drawing_text/global_fonts.rs index 9a50a0b7e..445c6b9da 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/drawing_text/global_fonts.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/drawing_text/global_fonts.rs @@ -2,11 +2,11 @@ use std::collections::HashMap; use once_cell::sync::Lazy; use parking_lot::Mutex; -use skia_safe::{FontArguments, FontMgr, Typeface}; use skia_safe::font_arguments::variation_position::Coordinate; use skia_safe::font_arguments::VariationPosition; use skia_safe::font_style::Slant; use skia_safe::textlayout::{FontCollection, TextStyle, TypefaceFontProvider}; +use skia_safe::{FontArguments, FontMgr, Typeface}; #[derive(PartialEq, Eq, Hash)] struct CollectionKey { @@ -169,7 +169,7 @@ impl FontLibrary { Ok(()) } - pub fn reset(){ + pub fn reset() { let mut library = FONT_LIBRARY.lock(); library.fonts.clear(); diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/drawing_text/mod.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/drawing_text/mod.rs index ab1321b21..5b045f3d4 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/drawing_text/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/drawing_text/mod.rs @@ -3,12 +3,12 @@ use std::os::raw::c_float; use skia_safe::{Canvas, Paint}; -use crate::context::Context; use crate::context::drawing_text::global_fonts::FONT_LIBRARY; use crate::context::drawing_text::text_metrics::TextMetrics; use crate::context::text_styles::text_align::TextAlign; use crate::context::text_styles::text_baseline::TextBaseLine; use crate::context::text_styles::text_direction::TextDirection; +use crate::context::Context; pub(crate) const MAX_TEXT_WIDTH: f32 = 100_000.0; @@ -138,10 +138,12 @@ impl Context { let font = paragraph.get_font_at(0); let (_, font_metrics) = font.metrics(); - if font_metrics.has_bounds() { } + if font_metrics.has_bounds() {} let glyphs = font.str_to_glyphs_vec(text); let glyphs_size = glyphs.len(); - if glyphs_size == 0 { return; } + if glyphs_size == 0 { + return; + } let mut bounds = vec![skia_safe::Rect::default(); glyphs_size]; font.get_bounds(glyphs.as_slice(), bounds.as_mut_slice(), None); let range: Range = 0_usize..glyphs_size; @@ -158,8 +160,9 @@ impl Context { line_width += tbox.rect.width(); } - if line_width == 0. { return; } - + if line_width == 0. { + return; + } let first_char_bounds = bounds[0]; let mut descent = first_char_bounds.bottom; diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/filters.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/filters.rs index 901bd2b97..408555537 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/filters.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/filters.rs @@ -1,7 +1,7 @@ use std::f32::consts::PI; -use skia_safe::{color_filters, image_filters, Point}; use skia_safe::wrapper::NativeTransmutableWrapper; +use skia_safe::{color_filters, image_filters, Point}; use crate::context::Context; use crate::utils::color::parse_color; @@ -62,7 +62,8 @@ impl Into for ColorChannel { ColorChannel::G => skia_safe::ColorChannel::G, ColorChannel::B => skia_safe::ColorChannel::B, ColorChannel::A => skia_safe::ColorChannel::A, - }.into() + } + .into() } } @@ -83,14 +84,14 @@ impl Into> for ImageFilter { fn into(self) -> Option { match self { ImageFilter::Blur(value) => Some(value), - ImageFilter::Brightness(value) => Some(value), - ImageFilter::ColorMatrix(value) => Some(value), - ImageFilter::Contrast(value) => Some(value), - ImageFilter::DisplacementMap(value) => Some(value), - ImageFilter::Morphology(value) => Some(value), - ImageFilter::Offset(value) => Some(value), - ImageFilter::Shadow(value) => Some(value), - ImageFilter::None => None + ImageFilter::Brightness(value) => Some(value), + ImageFilter::ColorMatrix(value) => Some(value), + ImageFilter::Contrast(value) => Some(value), + ImageFilter::DisplacementMap(value) => Some(value), + ImageFilter::Morphology(value) => Some(value), + ImageFilter::Offset(value) => Some(value), + ImageFilter::Shadow(value) => Some(value), + ImageFilter::None => None, } } } @@ -99,14 +100,14 @@ impl Into> for &ImageFilter { fn into(self) -> Option { match self { ImageFilter::Blur(value) => Some(value.clone()), - ImageFilter::Brightness(value) => Some(value.clone()), - ImageFilter::ColorMatrix(value) => Some(value.clone()), - ImageFilter::Contrast(value) => Some(value.clone()), - ImageFilter::DisplacementMap(value) => Some(value.clone()), - ImageFilter::Morphology(value) => Some(value.clone()), - ImageFilter::Offset(value) => Some(value.clone()), - ImageFilter::Shadow(value) => Some(value.clone()), - ImageFilter::None => None + ImageFilter::Brightness(value) => Some(value.clone()), + ImageFilter::ColorMatrix(value) => Some(value.clone()), + ImageFilter::Contrast(value) => Some(value.clone()), + ImageFilter::DisplacementMap(value) => Some(value.clone()), + ImageFilter::Morphology(value) => Some(value.clone()), + ImageFilter::Offset(value) => Some(value.clone()), + ImageFilter::Shadow(value) => Some(value.clone()), + ImageFilter::None => None, } } } @@ -156,22 +157,27 @@ impl ImageFilter { .map_or(Self::None, |v| Self::Contrast(v)) } - pub fn displacement_map(x: ColorChannel, y: ColorChannel, scale: f32, color: &ImageFilter, input: Option<&ImageFilter>) -> Self { - + pub fn displacement_map( + x: ColorChannel, + y: ColorChannel, + scale: f32, + color: &ImageFilter, + input: Option<&ImageFilter>, + ) -> Self { let input: Option = input.map(|i| i.clone().into()).flatten(); let color: Option = color.into(); - image_filters::displacement_map((x.into(), y.into()),scale,input, color.unwrap(),None) - .map_or(Self::None, |v| Self::Contrast(v)) + image_filters::displacement_map((x.into(), y.into()), scale, input, color.unwrap(), None) + .map_or(Self::None, |v| Self::Contrast(v)) } - pub fn shadow(dx: f32, dy: f32, blur: f32, color: &str, input: Option<&ImageFilter>) -> Self { if blur > 0.0 { if let Some(color) = parse_color(color) { let sigma = blur / 2.0; - let input: Option = input.map(|i| i.clone().into()).flatten(); + let input: Option = + input.map(|i| i.clone().into()).flatten(); return image_filters::drop_shadow( Point::new(dx, dy), @@ -204,17 +210,17 @@ impl Context { } } - self.state.paint.fill_paint_mut().set_image_filter(filter.clone()); - self.state .paint - .stroke_paint_mut() + .fill_paint_mut() .set_image_filter(filter.clone()); self.state .paint - .image_paint_mut() - .set_image_filter(filter); + .stroke_paint_mut() + .set_image_filter(filter.clone()); + + self.state.paint.image_paint_mut().set_image_filter(filter); } pub fn clear_image_filter(&mut self) { @@ -371,7 +377,8 @@ impl Context { *val = (orig * (1.0 - amt) + inv * amt) as u8; } let table = Some(&ramp); - let color_table = color_filters::table_argb(None, table, table, table).unwrap(); + let color_table = + color_filters::table_argb(None, table, table, table).unwrap(); image_filters::color_filter(color_table, chain, None) } else { chain diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/gradients_and_patterns.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/gradients_and_patterns.rs index 9eef800f4..805641228 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/gradients_and_patterns.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/gradients_and_patterns.rs @@ -43,12 +43,7 @@ impl Context { } } - pub fn create_conic_gradient( - &self, - start_angle: c_float, - x: c_float, - y: c_float, - ) -> Gradient { + pub fn create_conic_gradient(&self, start_angle: c_float, x: c_float, y: c_float) -> Gradient { let angle = crate::utils::geometry::to_degrees(start_angle) - 90.0; Gradient::Conic { center: Point::new(x, y), @@ -60,7 +55,6 @@ impl Context { } } - pub fn create_conic_gradient_with_matrix( &self, start_angle: c_float, diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/mod.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/mod.rs index 76c85b0c6..a0f085a92 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/mod.rs @@ -1,9 +1,9 @@ +use log::log; use parking_lot::{ MappedRwLockReadGuard, MappedRwLockWriteGuard, RwLock, RwLockReadGuard, RwLockWriteGuard, }; use std::os::raw::c_float; use std::sync::Arc; -use log::log; use skia_safe::gpu::gl::TextureInfo; use skia_safe::{images, Color, Data, Image, Point, Surface}; @@ -164,7 +164,7 @@ impl State { word_spacing_value: "0px".to_string(), word_spacing: 0., letter_spacing_value: "0px".to_string(), - letter_spacing: 0. + letter_spacing: 0., } } } diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/paths/mod.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/paths/mod.rs index 382f315ed..93d4590fe 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/paths/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/paths/mod.rs @@ -5,7 +5,6 @@ use crate::context::Context; pub mod path; impl Context { - pub fn begin_path(&mut self) { self.path.begin_path(); } diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/text_encoder.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/text_encoder.rs index a91e8180a..4e45bbc30 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/text_encoder.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/text_encoder.rs @@ -1,5 +1,5 @@ -use std::borrow::Cow; use encoding_rs::UTF_8; +use std::borrow::Cow; #[derive(Clone)] pub struct TextEncoder { @@ -19,7 +19,7 @@ impl TextEncoder { Vec::from(result.0) } - pub fn encode_to_cow<'a>(&mut self, text: &'a str) -> Cow<'a ,[u8]> { + pub fn encode_to_cow<'a>(&mut self, text: &'a str) -> Cow<'a, [u8]> { let result = self.inner.encode(text); result.0 } diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/text_styles/text_direction.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/text_styles/text_direction.rs index 3dc3e3fcf..7c84a3f07 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/context/text_styles/text_direction.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/context/text_styles/text_direction.rs @@ -14,8 +14,6 @@ impl From for TextDirection { } } - - impl From for TextDirection { fn from(value: u32) -> Self { match value { diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/image_bitmap.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/image_bitmap.rs index ca88e4848..74d16cbb2 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/image_bitmap.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/image_bitmap.rs @@ -2,7 +2,7 @@ use core::convert::{From, Into}; -use skia_safe::{EncodedImageFormat, surfaces}; +use skia_safe::{surfaces, EncodedImageFormat}; use canvas_core::image_asset::ImageAsset; @@ -240,11 +240,7 @@ pub(crate) fn create_image_bitmap_internal( ImageBitmapPremultiplyAlpha::from(premultiply_alpha).into(), ImageBitmapColorSpaceConversion::from(color_space_conversion).to_color_space(), ); - match surfaces::raster( - &image_info, - Some((source_rect.width() * 4.) as usize), - None, - ) { + match surfaces::raster(&image_info, Some((source_rect.width() * 4.) as usize), None) { None => {} Some(mut surface) => { let canvas = surface.canvas(); @@ -278,22 +274,16 @@ pub(crate) fn create_image_bitmap_internal( None, ); - let data = pixel_map.encode(EncodedImageFormat::PNG, 100); if let Some(data) = data { output.load_from_bytes(data.as_slice()); }; - } - } else { - - let size = image_info.height() as usize * image_info.min_row_bytes(); let mut buf = vec![0_u8; size]; - let mut info = skia_safe::ImageInfo::new( skia_safe::ISize::new(image.width(), image.height()), skia_safe::ColorType::RGBA8888, @@ -309,8 +299,6 @@ pub(crate) fn create_image_bitmap_internal( skia_safe::image::CachingHint::Allow, ); - - let encoded = image.encode(&mut ctx, EncodedImageFormat::PNG, 100); if let Some(encoded) = encoded { diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/ios.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/ios.rs index 05801f221..4d98cef44 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/ios.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/ios.rs @@ -40,15 +40,17 @@ impl Context { }; let mut context = skia_safe::gpu::DirectContext::new_metal(backend, None).unwrap(); let surface_props = SurfaceProps::new(SurfacePropsFlags::default(), PixelGeometry::Unknown); - let surface_holder = unsafe { gpu::surfaces::wrap_mtk_view( - &mut context, - view as skia_safe::gpu::mtl::Handle, - gpu::SurfaceOrigin::TopLeft, - Some(samples), - ColorType::BGRA8888, - None, - Some(&surface_props), - )}; + let surface_holder = unsafe { + gpu::surfaces::wrap_mtk_view( + &mut context, + view as skia_safe::gpu::mtl::Handle, + gpu::SurfaceOrigin::TopLeft, + Some(samples), + ColorType::BGRA8888, + None, + Some(&surface_props), + ) + }; Context { surface: surface_holder.unwrap(), diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/prelude.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/prelude.rs index 2cfd76c78..3d8fdcb74 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/prelude.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/prelude.rs @@ -18,7 +18,6 @@ impl ScaleUtils for Rect { } } - #[repr(transparent)] #[derive(Copy, Clone, Default)] pub struct ByteBufInner { @@ -82,4 +81,4 @@ impl Drop for ByteBufMut { } } -unsafe impl Send for ByteBufMut {} \ No newline at end of file +unsafe impl Send for ByteBufMut {} diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/svg/mod.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/svg/mod.rs index 2a2c625af..0adee4872 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/svg/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/svg/mod.rs @@ -1,5 +1,5 @@ -use std::io::{Read, Seek, SeekFrom}; use skia_safe::FontMgr; +use std::io::{Read, Seek, SeekFrom}; use skia_safe::svg::Dom; diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/utils/dimensions.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/utils/dimensions.rs index fbbcf4db9..f2da4b17b 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/utils/dimensions.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/utils/dimensions.rs @@ -9,7 +9,6 @@ const SIZE_PX: f32 = 1.0 / 96.0 * SIZE_INCH; const SIZE_POINT: f32 = 1.0 / 72.0 * SIZE_INCH; const SIZE_PICAS: f32 = SIZE_POINT * 12.0; - /// The default font size. pub const FONT_MEDIUM_PX: f32 = 16.0; diff --git a/packages/canvas/src-native/canvas-native/canvas-2d/src/utils/image.rs b/packages/canvas/src-native/canvas-native/canvas-2d/src/utils/image.rs index 9fb18f2d9..446fb1fe6 100644 --- a/packages/canvas/src-native/canvas-native/canvas-2d/src/utils/image.rs +++ b/packages/canvas/src-native/canvas-native/canvas-2d/src/utils/image.rs @@ -1,11 +1,23 @@ use std::ffi::c_void; use std::os::raw::c_int; -use skia_safe::{AlphaType, Bitmap, ColorType, Data, Image, ImageInfo, ISize}; +use skia_safe::{AlphaType, Bitmap, ColorType, Data, ISize, Image, ImageInfo}; -pub fn from_backend_texture(context: &mut crate::context::Context, texture: &skia_safe::gpu::BackendTexture, origin: skia_safe::gpu::SurfaceOrigin, info: &ImageInfo) -> Option { +pub fn from_backend_texture( + context: &mut crate::context::Context, + texture: &skia_safe::gpu::BackendTexture, + origin: skia_safe::gpu::SurfaceOrigin, + info: &ImageInfo, +) -> Option { if let Some(mut context) = context.surface.canvas().recording_context() { - return Image::from_texture(&mut context, texture, origin, info.color_type(), info.alpha_type(), info.color_space()) + return Image::from_texture( + &mut context, + texture, + origin, + info.color_type(), + info.alpha_type(), + info.color_space(), + ); } None } diff --git a/packages/canvas/src-native/canvas-native/canvas-android/build.rs b/packages/canvas/src-native/canvas-native/canvas-android/build.rs index ef5ecaf7c..da2e1d602 100644 --- a/packages/canvas/src-native/canvas-native/canvas-android/build.rs +++ b/packages/canvas/src-native/canvas-native/canvas-android/build.rs @@ -5,7 +5,7 @@ const DEFAULT_CLANG_VERSION: &str = "14.0.7"; fn main() { setup_aarch64_android_workaround(); - // setup_x86_64_android_workaround(); + // setup_x86_64_android_workaround(); println!("cargo:rerun-if-changed=src/lib.rs"); println!("cargo:rerun-if-changed=src/jni_compat/mod.rs"); println!("cargo:rerun-if-changed=src/jni_compat/org_nativescript_canvas_NSCCanvas.rs"); @@ -20,8 +20,7 @@ fn setup_x86_64_android_workaround() { let android_ndk_home = if let Ok(android_ndk_home) = env::var("ANDROID_NDK") { android_ndk_home } else { - env::var("ANDROID_NDK_HOME") - .expect("ANDROID_NDK_HOME not set") + env::var("ANDROID_NDK_HOME").expect("ANDROID_NDK_HOME not set") }; let build_os = match env::consts::OS { @@ -54,8 +53,7 @@ fn setup_aarch64_android_workaround() { let android_ndk_home = if let Ok(android_ndk_home) = env::var("ANDROID_NDK") { android_ndk_home } else { - env::var("ANDROID_NDK_HOME") - .expect("ANDROID_NDK_HOME not set") + env::var("ANDROID_NDK_HOME").expect("ANDROID_NDK_HOME not set") }; let build_os = match env::consts::OS { @@ -79,4 +77,4 @@ fn setup_aarch64_android_workaround() { panic!("Path {linkpath} not exists"); } } -} \ No newline at end of file +} diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/mod.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/mod.rs index 21c0e9e26..1a7906997 100644 --- a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/mod.rs @@ -1,6 +1,6 @@ #![allow(non_snake_case)] pub mod org_nativescript_canvas_NSCCanvas; -pub mod org_nativescript_canvas_NSCImageAsset; pub mod org_nativescript_canvas_NSCCanvasRenderingContext2D; +pub mod org_nativescript_canvas_NSCImageAsset; pub mod org_nativescript_canvas_NSCSVG; diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvas.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvas.rs index a09e8d452..cc148b28f 100644 --- a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvas.rs +++ b/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvas.rs @@ -1,12 +1,12 @@ use std::ffi::c_void; -use jni::JNIEnv; use jni::objects::{JClass, JObject, JString}; -use jni::sys::{jboolean, jfloat, jint, jlong, JNI_FALSE, JNI_TRUE, jobject}; +use jni::sys::{jboolean, jfloat, jint, jlong, jobject, JNI_FALSE, JNI_TRUE}; +use jni::JNIEnv; use ndk::native_window::NativeWindow; use parking_lot::RwLock; use raw_window_handle::HasRawWindowHandle; -use skia_safe::{AlphaType, ColorType, ImageInfo, ISize, Rect, Surface}; +use skia_safe::{AlphaType, ColorType, ISize, ImageInfo, Rect, Surface}; use canvas_core::context_attributes::ContextAttributes; use canvas_core::gl::GLContext; @@ -327,8 +327,7 @@ pub extern "system" fn nativeReleaseGL(context: jlong) { } #[no_mangle] -pub extern "system" fn nativeReleaseGLNormal( _env: JNIEnv, - _: JClass, context: jlong) { +pub extern "system" fn nativeReleaseGLNormal(_env: JNIEnv, _: JClass, context: jlong) { if context == 0 { return; } @@ -346,10 +345,12 @@ pub extern "system" fn nativeGetGLPointer(gl_context: jlong) -> jlong { gl_context.gl_context.as_raw_inner() as jlong } - #[no_mangle] -pub extern "system" fn nativeGetGLPointerNormal( _env: JNIEnv, - _: JClass, gl_context: jlong) -> jlong { +pub extern "system" fn nativeGetGLPointerNormal( + _env: JNIEnv, + _: JClass, + gl_context: jlong, +) -> jlong { if gl_context == 0 { return 0; } @@ -372,8 +373,11 @@ pub extern "system" fn nativeMakeGLCurrent(gl_context: jlong) -> jboolean { } #[no_mangle] -pub extern "system" fn nativeMakeGLCurrentNormal( _env: JNIEnv, - _: JClass, gl_context: jlong) -> jboolean { +pub extern "system" fn nativeMakeGLCurrentNormal( + _env: JNIEnv, + _: JClass, + gl_context: jlong, +) -> jboolean { if gl_context == 0 { return 0; } @@ -403,8 +407,11 @@ pub extern "system" fn nativeGLPointerRefCount(gl_context: jlong) -> jlong { } #[no_mangle] -pub extern "system" fn nativeGLPointerRefCountNormal( _env: JNIEnv, - _: JClass, gl_context: jlong) -> jlong { +pub extern "system" fn nativeGLPointerRefCountNormal( + _env: JNIEnv, + _: JClass, + gl_context: jlong, +) -> jlong { if gl_context == 0 { return 0; } @@ -420,9 +427,8 @@ pub extern "system" fn nativeGLPointerRefCountNormal( _env: JNIEnv, count as i64 } - #[no_mangle] -pub extern "system" fn nativeReleaseGLPointer( gl_context: jlong) { +pub extern "system" fn nativeReleaseGLPointer(gl_context: jlong) { if gl_context == 0 { return; } @@ -439,8 +445,7 @@ pub extern "system" fn nativeReleaseGLPointer( gl_context: jlong) { } #[no_mangle] -pub extern "system" fn nativeReleaseGLPointerNormal( _env: JNIEnv, - _: JClass,gl_context: jlong) { +pub extern "system" fn nativeReleaseGLPointerNormal(_env: JNIEnv, _: JClass, gl_context: jlong) { if gl_context == 0 { return; } @@ -475,8 +480,7 @@ pub extern "system" fn nativeContext2DTest(context: jlong) { } #[no_mangle] -pub extern "system" fn nativeContext2DTestNormal( _env: JNIEnv, - _: JClass, context: jlong) { +pub extern "system" fn nativeContext2DTestNormal(_env: JNIEnv, _: JClass, context: jlong) { if context == 0 { return; } @@ -493,7 +497,6 @@ pub extern "system" fn nativeContext2DTestNormal( _env: JNIEnv, context.render(); } - #[no_mangle] pub extern "system" fn nativeContext2DPathTest(context: jlong) { if context == 0 { @@ -528,8 +531,7 @@ pub extern "system" fn nativeContext2DPathTest(context: jlong) { } #[no_mangle] -pub extern "system" fn nativeContext2DPathTestNormal( _env: JNIEnv, - _: JClass, context: jlong) { +pub extern "system" fn nativeContext2DPathTestNormal(_env: JNIEnv, _: JClass, context: jlong) { if context == 0 { return; } diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvasRenderingContext2D.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvasRenderingContext2D.rs index 130cd6f49..7f1397f51 100644 --- a/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvasRenderingContext2D.rs +++ b/packages/canvas/src-native/canvas-native/canvas-android/src/jni_compat/org_nativescript_canvas_NSCCanvasRenderingContext2D.rs @@ -94,7 +94,7 @@ pub extern "system" fn nativeDrawImageDxDyWithBitmap( dx: jfloat, dy: jfloat, ) -> jboolean { - let mut bytes = crate::utils::image::get_bytes_from_bitmap(&env, bitmap); + let bytes = crate::utils::image::get_bytes_from_bitmap(&env, bitmap); if let Some((bytes, _)) = bytes { return draw_image( context, @@ -127,7 +127,7 @@ pub extern "system" fn nativeDrawImageDxDyDwDhWithBitmap( d_width: jfloat, d_height: jfloat, ) -> jboolean { - let mut bytes = crate::utils::image::get_bytes_from_bitmap(&env, bitmap); + let bytes = crate::utils::image::get_bytes_from_bitmap(&env, bitmap); if let Some((bytes, _)) = bytes { return draw_image( @@ -165,7 +165,7 @@ pub extern "system" fn nativeDrawImageWithBitmap( d_width: jfloat, d_height: jfloat, ) -> jboolean { - let mut bytes = crate::utils::image::get_bytes_from_bitmap(&env, bitmap); + let bytes = crate::utils::image::get_bytes_from_bitmap(&env, bitmap); if let Some((bytes, _)) = bytes { return draw_image( diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/utils/gl/mod.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/utils/gl/mod.rs index ab82d2cd5..3abe2127e 100644 --- a/packages/canvas/src-native/canvas-native/canvas-android/src/utils/gl/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-android/src/utils/gl/mod.rs @@ -1,7 +1,6 @@ use jni::sys::{jboolean, jlong, JNI_FALSE, JNI_TRUE}; use jni::JNIEnv; - pub mod st; pub(crate) mod surface_texture; pub mod texture_render; @@ -20,7 +19,8 @@ pub unsafe extern "system" fn Java_org_nativescript_canvas_Utils_nativeMakeState return JNI_FALSE; } - let state = state as *mut crate::jni_compat::org_nativescript_canvas_NSCCanvas::AndroidGLContext; + let state = + state as *mut crate::jni_compat::org_nativescript_canvas_NSCCanvas::AndroidGLContext; if state.is_null() { return JNI_FALSE; diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/utils/gl/surface_texture.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/utils/gl/surface_texture.rs index 88ffd3ed7..525358abf 100644 --- a/packages/canvas/src-native/canvas-native/canvas-android/src/utils/gl/surface_texture.rs +++ b/packages/canvas/src-native/canvas-native/canvas-android/src/utils/gl/surface_texture.rs @@ -134,7 +134,6 @@ extern "system" { pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64; } - extern "C" { #[doc = " Get a reference to the native ASurfaceTexture from the corresponding java object."] #[doc = ""] diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/utils/image.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/utils/image.rs index 623cf3b58..8e295c15d 100644 --- a/packages/canvas/src-native/canvas-native/canvas-android/src/utils/image.rs +++ b/packages/canvas/src-native/canvas-native/canvas-android/src/utils/image.rs @@ -34,7 +34,7 @@ impl BitmapBytes { Ok(pixels) => { self.is_locked = true; self.pixels = pixels - }, + } _ => { self.pixels = std::ptr::null(); } @@ -42,7 +42,7 @@ impl BitmapBytes { } if self.pixels.is_null() { - return None + return None; } match self.native_bitmap.get_info() { @@ -62,7 +62,7 @@ impl BitmapBytes { Ok(pixels) => { self.is_locked = true; self.pixels = pixels - }, + } _ => { self.pixels = std::ptr::null(); } @@ -70,10 +70,9 @@ impl BitmapBytes { } if self.pixels.is_null() { - return None + return None; } - match self.native_bitmap.get_info() { Ok(info) => unsafe { Some(std::slice::from_raw_parts( diff --git a/packages/canvas/src-native/canvas-native/canvas-android/src/utils/mod.rs b/packages/canvas/src-native/canvas-native/canvas-android/src/utils/mod.rs index 2832ebcbc..4ede19d22 100644 --- a/packages/canvas/src-native/canvas-native/canvas-android/src/utils/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-android/src/utils/mod.rs @@ -1,4 +1,4 @@ -use jni::objects::{JClass, JObject, JString}; +use jni::objects::{JClass, JString}; use jni::sys::{jboolean, jfloat, jint, jlong, jstring}; use jni::JNIEnv; diff --git a/packages/canvas/src-native/canvas-native/canvas-c/src/buffers.rs b/packages/canvas/src-native/canvas-native/canvas-c/src/buffers.rs index 0b4dfca89..dc60b2724 100644 --- a/packages/canvas/src-native/canvas-native/canvas-c/src/buffers.rs +++ b/packages/canvas/src-native/canvas-native/canvas-c/src/buffers.rs @@ -424,4 +424,4 @@ pub extern "C" fn canvas_native_string_buffer_destroy(buffer: *mut StringBuffer) unsafe { let _ = Box::from_raw(buffer); } -} \ No newline at end of file +} diff --git a/packages/canvas/src-native/canvas-native/canvas-c/src/lib.rs b/packages/canvas/src-native/canvas-native/canvas-c/src/lib.rs index add5ea9ad..b8ee66bb1 100644 --- a/packages/canvas/src-native/canvas-native/canvas-c/src/lib.rs +++ b/packages/canvas/src-native/canvas-native/canvas-c/src/lib.rs @@ -3,14 +3,13 @@ use std::borrow::Cow; use std::ffi::{CStr, CString}; use std::io::{Read, Write}; -use std::os::raw::{c_char, c_int, c_uint}; use std::os::raw::c_ulong; use std::os::raw::c_void; +use std::os::raw::{c_char, c_int, c_uint}; use std::sync::Arc; use parking_lot::{MappedRwLockReadGuard, MappedRwLockWriteGuard, RwLock}; -use canvas_2d::context::{Context, ContextWrapper}; use canvas_2d::context::compositing::composite_operation_type::CompositeOperationType; use canvas_2d::context::drawing_paths::fill_rule::FillRule; use canvas_2d::context::fill_and_stroke_styles::paint::paint_style_set_color_with_string; @@ -21,8 +20,12 @@ use canvas_2d::context::line_styles::line_join::LineJoin; use canvas_2d::context::text_styles::text_align::TextAlign; use canvas_2d::context::text_styles::text_baseline::TextBaseLine; use canvas_2d::context::text_styles::text_direction::TextDirection; +use canvas_2d::context::{Context, ContextWrapper}; use canvas_2d::utils::color::{parse_color, to_parsed_color}; -use canvas_2d::utils::image::{from_backend_texture, from_bitmap_slice, from_image_slice, from_image_slice_encoded, from_image_slice_no_copy}; +use canvas_2d::utils::image::{ + from_backend_texture, from_bitmap_slice, from_image_slice, from_image_slice_encoded, + from_image_slice_no_copy, +}; use canvas_core::image_asset::OutputFormat; use canvas_webgl::prelude::WebGLVersion; #[cfg(target_os = "android")] @@ -632,7 +635,7 @@ pub extern "C" fn canvas_native_context_create_gl_no_window( width as i32, height as i32, ) - .unwrap(); + .unwrap(); gl_context.make_current(); @@ -730,7 +733,6 @@ pub extern "C" fn canvas_native_context_set_letter_spacing( .set_letter_spacing(spacing.to_string_lossy().as_ref()); } - #[no_mangle] pub extern "C" fn canvas_native_context_get_word_spacing( context: *const CanvasRenderingContext2D, @@ -1095,13 +1097,21 @@ pub extern "C" fn canvas_native_context_set_text_baseline( "alphabetic" => context .get_context_mut() .set_text_baseline(TextBaseLine::ALPHABETIC), - "bottom" => context.get_context_mut().set_text_baseline(TextBaseLine::BOTTOM), - "hanging" => context.get_context_mut().set_text_baseline(TextBaseLine::HANGING), + "bottom" => context + .get_context_mut() + .set_text_baseline(TextBaseLine::BOTTOM), + "hanging" => context + .get_context_mut() + .set_text_baseline(TextBaseLine::HANGING), "ideographic" => context .get_context_mut() .set_text_baseline(TextBaseLine::IDEOGRAPHIC), - "middle" => context.get_context_mut().set_text_baseline(TextBaseLine::MIDDLE), - "top" => context.get_context_mut().set_text_baseline(TextBaseLine::TOP), + "middle" => context + .get_context_mut() + .set_text_baseline(TextBaseLine::MIDDLE), + "top" => context + .get_context_mut() + .set_text_baseline(TextBaseLine::TOP), _ => {} } } @@ -2232,8 +2242,8 @@ pub extern "C" fn canvas_native_context_draw_image_context( // gl context is shared so snapshots should work let mut source_ctx = source.get_context_mut(); - - #[cfg(any(target_os = "ios", target_os = "macos"))] { + #[cfg(any(target_os = "ios", target_os = "macos"))] + { let snapshot = source_ctx.snapshot(); let info = snapshot.image_info(); @@ -2248,13 +2258,15 @@ pub extern "C" fn canvas_native_context_draw_image_context( } } - #[cfg(target_os = "ios")] { + #[cfg(target_os = "ios")] + { let width = source_ctx.device().width; let height = source_ctx.device().height; let bytes = source_ctx.snapshot_to_raster_data(); - if let Some(image) = from_image_slice_no_copy(bytes.as_slice(), width as c_int, height as c_int) + if let Some(image) = + from_image_slice_no_copy(bytes.as_slice(), width as c_int, height as c_int) { let context = unsafe { &mut *context }; context.make_current(); @@ -2262,7 +2274,6 @@ pub extern "C" fn canvas_native_context_draw_image_context( &image, sx, sy, s_width, s_height, dx, dy, d_width, d_height, ); } - } } @@ -3752,8 +3763,8 @@ impl ImageAsset { } pub fn load_from_reader(&mut self, reader: &mut R) -> bool - where - R: Read + std::io::Seek + std::io::BufRead, + where + R: Read + std::io::Seek + std::io::BufRead, { self.0.load_from_reader(reader) } @@ -4608,8 +4619,8 @@ pub extern "C" fn canvas_native_webgl_to_data_url( format.as_ref(), quality, )) - .unwrap() - .into_raw() + .unwrap() + .into_raw() } #[derive(Debug)] @@ -6839,8 +6850,8 @@ pub extern "C" fn canvas_native_webgl_get_program_info_log( state.get_inner_mut(), ), ) - .unwrap() - .into_raw() + .unwrap() + .into_raw() } #[no_mangle] @@ -6882,8 +6893,8 @@ pub extern "C" fn canvas_native_webgl_get_shader_info_log( CString::new( canvas_webgl::webgl::canvas_native_webgl_get_shader_info_log(shader, state.get_inner_mut()), ) - .unwrap() - .into_raw() + .unwrap() + .into_raw() } #[no_mangle] @@ -6928,8 +6939,8 @@ pub extern "C" fn canvas_native_webgl_get_shader_source( shader, state.get_inner_mut(), )) - .unwrap() - .into_raw() + .unwrap() + .into_raw() } #[no_mangle] @@ -8832,8 +8843,8 @@ pub extern "C" fn canvas_native_webgl2_get_active_uniform_block_name( state.get_inner_mut(), ), ) - .unwrap() - .into_raw() + .unwrap() + .into_raw() } #[no_mangle] diff --git a/packages/canvas/src-native/canvas-native/canvas-c/src/raf/android.rs b/packages/canvas/src-native/canvas-native/canvas-c/src/raf/android.rs index fc1533662..047b36314 100644 --- a/packages/canvas/src-native/canvas-native/canvas-c/src/raf/android.rs +++ b/packages/canvas/src-native/canvas-native/canvas-c/src/raf/android.rs @@ -13,7 +13,7 @@ struct RafInner { started: bool, callback: RafCallback, use_deprecated: bool, - is_prepared: bool + is_prepared: bool, } pub struct Raf { inner: Arc>, diff --git a/packages/canvas/src-native/canvas-native/canvas-c/src/raf/mod.rs b/packages/canvas/src-native/canvas-native/canvas-c/src/raf/mod.rs index 2c342876c..dc8edc6d0 100644 --- a/packages/canvas/src-native/canvas-native/canvas-c/src/raf/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-c/src/raf/mod.rs @@ -7,4 +7,4 @@ pub use android::*; #[cfg(target_os = "ios")] mod ios; #[cfg(target_os = "ios")] -pub use ios::*; \ No newline at end of file +pub use ios::*; diff --git a/packages/canvas/src-native/canvas-native/canvas-core/src/gl/android.rs b/packages/canvas/src-native/canvas-native/canvas-core/src/gl/android.rs index eb3596cb6..11f0858e4 100644 --- a/packages/canvas/src-native/canvas-native/canvas-core/src/gl/android.rs +++ b/packages/canvas/src-native/canvas-native/canvas-core/src/gl/android.rs @@ -21,7 +21,9 @@ use raw_window_handle::{AndroidDisplayHandle, RawDisplayHandle, RawWindowHandle} use crate::context_attributes::ContextAttributes; use once_cell::sync::OnceCell; -use parking_lot::{ MappedRwLockReadGuard, MappedRwLockWriteGuard, RwLock, RwLockReadGuard, RwLockWriteGuard}; +use parking_lot::{ + MappedRwLockReadGuard, MappedRwLockWriteGuard, RwLock, RwLockReadGuard, RwLockWriteGuard, +}; pub static IS_GL_SYMBOLS_LOADED: OnceCell = OnceCell::new(); @@ -573,7 +575,7 @@ impl GLContext { surface, context, display: Some(display), - transfer_surface_info: Default::default() + transfer_surface_info: Default::default(), }; let ret = GLContext { @@ -981,7 +983,7 @@ impl GLContext { surface, context, display: Some(display), - transfer_surface_info: Default::default() + transfer_surface_info: Default::default(), })), }) } @@ -1138,7 +1140,6 @@ impl GLContext { .unwrap_or_default() } - pub fn get_transfer_surface_info(&self) -> MappedRwLockReadGuard { RwLockReadGuard::map(self.inner.read(), |v| &v.transfer_surface_info) } diff --git a/packages/canvas/src-native/canvas-native/canvas-core/src/gl/ios.rs b/packages/canvas/src-native/canvas-native/canvas-core/src/gl/ios.rs index 9df57d06e..26cbdd8e1 100644 --- a/packages/canvas/src-native/canvas-native/canvas-core/src/gl/ios.rs +++ b/packages/canvas/src-native/canvas-native/canvas-core/src/gl/ios.rs @@ -15,7 +15,9 @@ use std::sync::Arc; use crate::context_attributes::ContextAttributes; use once_cell::sync::OnceCell; -use parking_lot::{ MappedRwLockReadGuard, MappedRwLockWriteGuard, RwLock, RwLockReadGuard, RwLockWriteGuard}; +use parking_lot::{ + MappedRwLockReadGuard, MappedRwLockWriteGuard, RwLock, RwLockReadGuard, RwLockWriteGuard, +}; pub static IS_GL_SYMBOLS_LOADED: OnceCell = OnceCell::new(); @@ -24,7 +26,7 @@ pub struct GLContextInner { context: Option, sharegroup: EAGLSharegroup, view: Option, - transfer_surface_info: crate::gl::TransferSurface + transfer_surface_info: crate::gl::TransferSurface, } unsafe impl Sync for GLContextInner {} @@ -473,7 +475,7 @@ impl GLContext { context, sharegroup: share_group, view: Some(view), - transfer_surface_info: Default::default() + transfer_surface_info: Default::default(), }; Some(GLContext { diff --git a/packages/canvas/src-native/canvas-native/canvas-core/src/gl/mac.rs b/packages/canvas/src-native/canvas-native/canvas-core/src/gl/mac.rs index eab099cac..0da7d7993 100644 --- a/packages/canvas/src-native/canvas-native/canvas-core/src/gl/mac.rs +++ b/packages/canvas/src-native/canvas-native/canvas-core/src/gl/mac.rs @@ -293,7 +293,11 @@ impl GLContext { context: &GLContext, ) -> Option { GLContext::create_window_context_internal( - context_attrs, width, height, window, Some(context) + context_attrs, + width, + height, + window, + Some(context), ) } diff --git a/packages/canvas/src-native/canvas-native/canvas-core/src/gl/mod.rs b/packages/canvas/src-native/canvas-native/canvas-core/src/gl/mod.rs index 40c54212a..c8025017c 100644 --- a/packages/canvas/src-native/canvas-native/canvas-core/src/gl/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-core/src/gl/mod.rs @@ -250,14 +250,10 @@ impl TransferSurface { let mut previous_texture = -1_i32; unsafe { - gl_bindings::GetIntegerv( - gl_bindings::TEXTURE_BINDING_2D, - &mut previous_texture, - ); + gl_bindings::GetIntegerv(gl_bindings::TEXTURE_BINDING_2D, &mut previous_texture); gl_bindings::BindTexture(gl_bindings::TEXTURE_2D, texture_id); - gl_bindings::TexParameteri( gl_bindings::TEXTURE_2D, gl_bindings::TEXTURE_MAG_FILTER, @@ -282,7 +278,6 @@ impl TransferSurface { gl_bindings::BindTexture(gl_bindings::TEXTURE_2D, previous_texture as u32); - gl_bindings::CopyTexImage2D( target, level, @@ -291,7 +286,7 @@ impl TransferSurface { 0, width as i32, height as i32, - 0 + 0, ); gl_bindings::BindTexture(gl_bindings::TEXTURE_2D, previous_texture as u32); @@ -301,8 +296,6 @@ impl TransferSurface { self.height = height; } - - pub fn draw_tex_sub_image_2d( &mut self, target: u32, @@ -314,14 +307,10 @@ impl TransferSurface { flip_y_webgl: bool, texture_id: u32, ) { - let mut previous_texture = -1_i32; unsafe { - gl_bindings::GetIntegerv( - gl_bindings::TEXTURE_BINDING_2D, - &mut previous_texture, - ); + gl_bindings::GetIntegerv(gl_bindings::TEXTURE_BINDING_2D, &mut previous_texture); gl_bindings::BindTexture(gl_bindings::TEXTURE_2D, texture_id); @@ -349,7 +338,6 @@ impl TransferSurface { gl_bindings::BindTexture(gl_bindings::TEXTURE_2D, previous_texture as u32); - gl_bindings::CopyTexSubImage2D( target, level, diff --git a/packages/canvas/src-native/canvas-native/canvas-core/src/image_asset.rs b/packages/canvas/src-native/canvas-native/canvas-core/src/image_asset.rs index e3b7b1176..c8f76a084 100644 --- a/packages/canvas/src-native/canvas-native/canvas-core/src/image_asset.rs +++ b/packages/canvas/src-native/canvas-native/canvas-core/src/image_asset.rs @@ -5,10 +5,8 @@ use std::os::raw::{c_char, c_int, c_uint}; use std::ptr::null; use std::sync::Arc; -use image::{ - DynamicImage, EncodableLayout, GenericImageView, ImageFormat, Pixel, -}; use image::imageops::FilterType; +use image::{DynamicImage, EncodableLayout, GenericImageView, ImageFormat, Pixel}; use parking_lot::lock_api::{RwLockReadGuard, RwLockWriteGuard}; use parking_lot::RawRwLock; @@ -243,7 +241,6 @@ impl ImageAsset { let width = image.width() as i32; let height = image.height() as i32; - let info = skia_safe::ImageInfo::new( skia_safe::ISize::new(width, height), skia_safe::ColorType::RGBA8888, diff --git a/packages/canvas/src-native/canvas-native/canvas-core/src/lib.rs b/packages/canvas/src-native/canvas-native/canvas-core/src/lib.rs index 8f8262e70..5639d2455 100644 --- a/packages/canvas/src-native/canvas-native/canvas-core/src/lib.rs +++ b/packages/canvas/src-native/canvas-native/canvas-core/src/lib.rs @@ -1,4 +1,3 @@ pub mod context_attributes; pub mod gl; pub mod image_asset; - diff --git a/packages/canvas/src-native/canvas-native/canvas-cxx/build.rs b/packages/canvas/src-native/canvas-native/canvas-cxx/build.rs index c5a35f168..664b97edf 100644 --- a/packages/canvas/src-native/canvas-native/canvas-cxx/build.rs +++ b/packages/canvas/src-native/canvas-native/canvas-cxx/build.rs @@ -1,6 +1,5 @@ fn main() { - let _ = cxx_build::bridge("src/lib.rs") - .opt_level(3); + let _ = cxx_build::bridge("src/lib.rs").opt_level(3); println!("cargo:rerun-if-changed=src/lib.rs"); println!("cargo:rerun-if-changed=src/raf.rs"); diff --git a/packages/canvas/src-native/canvas-native/canvas-cxx/src/lib.rs b/packages/canvas/src-native/canvas-native/canvas-cxx/src/lib.rs index dc29687f8..b83c5b3b8 100644 --- a/packages/canvas/src-native/canvas-native/canvas-cxx/src/lib.rs +++ b/packages/canvas/src-native/canvas-native/canvas-cxx/src/lib.rs @@ -3647,7 +3647,9 @@ pub fn canvas_native_context_set_text_baseline( "alphabetic" => context .get_context_mut() .set_text_baseline(TextBaseline::ALPHABETIC), - "top" => context.get_context_mut().set_text_baseline(TextBaseline::TOP), + "top" => context + .get_context_mut() + .set_text_baseline(TextBaseline::TOP), "hanging" => context .get_context_mut() .set_text_baseline(TextBaseline::HANGING), @@ -4098,9 +4100,7 @@ pub fn canvas_native_context_create_image_data_with_data( ) -> Box { Box::new(ImageData::new( canvas_2d::context::pixel_manipulation::image_data::ImageData::new_with_data( - width, - height, - data, + width, height, data, ), )) } @@ -4200,7 +4200,6 @@ pub fn canvas_native_context_create_pattern_canvas2d( Box::new(PaintStyle(Repetition::try_from(repetition).map_or( None, |repetition| { - context.remove_if_current(); let width; @@ -4223,9 +4222,9 @@ pub fn canvas_native_context_create_pattern_canvas2d( // todo use gpu image created from snapshot ... need single or shared context or transfer to a texture //let data = source_ctx.snapshot_to_raster_data(); - // let mut data = source_ctx.snapshot_to_raster_data(); - let image = source_ctx.image_snapshot_to_non_texture_image(); - // context.make_current(); + // let mut data = source_ctx.snapshot_to_raster_data(); + let image = source_ctx.image_snapshot_to_non_texture_image(); + // context.make_current(); return image.map(|image| { canvas_2d::context::fill_and_stroke_styles::paint::PaintStyle::Pattern( @@ -5601,7 +5600,6 @@ impl Default for ImageAsset { } impl ImageAsset { - pub fn is_valid(&self) -> bool { self.0.is_valid() } @@ -8021,12 +8019,12 @@ fn canvas_native_webgl_tex_image2d_webgl( canvas_webgl::webgl::canvas_native_webgl_tex_image2d( target, level, - // internalformat, + // internalformat, gl_bindings::RGBA as _, pixels.0, pixels.1, 0, - // format, + // format, gl_bindings::RGBA as _, //image_type, gl_bindings::UNSIGNED_BYTE as _, @@ -8218,7 +8216,6 @@ pub fn canvas_native_webgl_tex_sub_image2d_webgl( let mut pixels = canvas_webgl::webgl::canvas_native_webgl_read_webgl_pixels(&mut webgl.0, &mut state.0); - canvas_webgl::webgl::canvas_native_webgl_tex_sub_image2d( target, level, @@ -8226,9 +8223,9 @@ pub fn canvas_native_webgl_tex_sub_image2d_webgl( yoffset, width, height, - // format, + // format, gl_bindings::RGBA as _, - // image_type, + // image_type, gl_bindings::UNSIGNED_BYTE as _, pixels.2.as_mut_slice(), state.get_inner_mut(), diff --git a/packages/canvas/src-native/canvas-native/canvas-cxx/src/raf/mod.rs b/packages/canvas/src-native/canvas-native/canvas-cxx/src/raf/mod.rs index 2c342876c..dc8edc6d0 100644 --- a/packages/canvas/src-native/canvas-native/canvas-cxx/src/raf/mod.rs +++ b/packages/canvas/src-native/canvas-native/canvas-cxx/src/raf/mod.rs @@ -7,4 +7,4 @@ pub use android::*; #[cfg(target_os = "ios")] mod ios; #[cfg(target_os = "ios")] -pub use ios::*; \ No newline at end of file +pub use ios::*; diff --git a/packages/canvas/src-native/canvas-native/canvas-ios/src/lib.rs b/packages/canvas/src-native/canvas-native/canvas-ios/src/lib.rs index 428d0b719..978581794 100644 --- a/packages/canvas/src-native/canvas-native/canvas-ios/src/lib.rs +++ b/packages/canvas/src-native/canvas-native/canvas-ios/src/lib.rs @@ -6,11 +6,11 @@ pub use canvas_c::*; use canvas_core::context_attributes::ContextAttributes; use canvas_core::gl::GLContext; use canvas_core::image_asset::ImageAsset; +use parking_lot::RwLock; use std::ffi::{c_longlong, c_void, CStr, CString}; use std::ops::DerefMut; use std::os::raw::c_char; use std::ptr::NonNull; -use parking_lot::RwLock; #[allow(non_camel_case_types)] pub(crate) enum iOSView { @@ -89,7 +89,7 @@ pub extern "C" fn canvas_native_init_ios_gl( return Box::into_raw(Box::new(iOSGLContext { ios_view: iOSView::OnScreen(ios_view), gl_context, - context_attributes: attrs + context_attributes: attrs, })) as i64; } } @@ -429,7 +429,6 @@ pub extern "C" fn canvas_native_gl_make_current(gl_context: i64) { gl_context.gl_context.make_current(); } - #[no_mangle] pub extern "C" fn canvas_native_context_2d_test_to_data_url(context: i64) -> *mut c_char { if context == 0 { diff --git a/packages/canvas/src-native/canvas-native/canvas-webgl/src/webgl.rs b/packages/canvas/src-native/canvas-native/canvas-webgl/src/webgl.rs index 6cbf73b53..3460cbe3c 100644 --- a/packages/canvas/src-native/canvas-native/canvas-webgl/src/webgl.rs +++ b/packages/canvas/src-native/canvas-native/canvas-webgl/src/webgl.rs @@ -881,12 +881,11 @@ pub fn canvas_native_webgl_get_extension( } // API_LEVEL #[allow(non_snake_case)] - let JELLY_BEAN_MR2 = 18; + let JELLY_BEAN_MR2 = 18; let ext = unsafe { CStr::from_ptr(std::mem::transmute(extensions)) }; let extensions = ext.to_string_lossy(); - let extension = if name.eq("EXT_blend_minmax") { if extensions.contains("GL_EXT_blend_minmax") { return Some(Box::new(EXT_blend_minmax::new())); @@ -1088,12 +1087,8 @@ pub fn canvas_native_webgl_get_extension( } "OES_element_index_uint" => return Some(Box::new(OES_element_index_uint::new())), "OES_fbo_render_mipmap" => return Some(Box::new(OES_fbo_render_mipmap::new())), - "OES_standard_derivatives" => { - return Some(Box::new(OES_standard_derivatives::new())) - } - "OES_texture_float_linear" => { - return Some(Box::new(OES_texture_float_linear::new())) - } + "OES_standard_derivatives" => return Some(Box::new(OES_standard_derivatives::new())), + "OES_texture_float_linear" => return Some(Box::new(OES_texture_float_linear::new())), "OES_texture_half_float" => return Some(Box::new(OES_texture_half_float::new())), "OES_texture_half_float_linear" => { return Some(Box::new(OES_texture_half_float_linear::new())) @@ -1118,7 +1113,6 @@ pub fn canvas_native_webgl_get_extension( None } - pub fn canvas_native_webgl_get_framebuffer_attachment_parameter( target: u32, attachment: u32, @@ -2142,12 +2136,10 @@ pub fn canvas_native_webgl_tex_image2d_image_asset( ) { state.make_current(); - let width = image_asset.width() as i32; let height = image_asset.height() as i32; let flip_y = state.get_flip_y(); - match utils::gl::get_image_asset_bytes_type(format, image_type) { GLImageAssetBytesType::RGBA8 => { if let Some(bytes) = image_asset.get_bytes() { @@ -2157,12 +2149,11 @@ pub fn canvas_native_webgl_tex_image2d_image_asset( utils::gl::flip_in_place( buffer.as_mut_ptr(), buffer.len(), - (utils::gl::bytes_per_pixel(image_type as u32, format as u32) as i32 * width) - as usize, + (utils::gl::bytes_per_pixel(image_type as u32, format as u32) as i32 + * width) as usize, height as usize, ); - gl_bindings::TexImage2D( target as u32, level, @@ -2200,12 +2191,11 @@ pub fn canvas_native_webgl_tex_image2d_image_asset( utils::gl::flip_in_place( buffer.as_mut_ptr(), buffer.len(), - (utils::gl::bytes_per_pixel(image_type as u32, format as u32) as i32 * width) - as usize, + (utils::gl::bytes_per_pixel(image_type as u32, format as u32) as i32 + * width) as usize, height as usize, ); - gl_bindings::TexImage2D( target as u32, level, diff --git a/packages/canvas/src-native/canvas-native/canvas-webgl/src/webgl2.rs b/packages/canvas/src-native/canvas-native/canvas-webgl/src/webgl2.rs index 9b6f73873..a3a724c6f 100644 --- a/packages/canvas/src-native/canvas-native/canvas-webgl/src/webgl2.rs +++ b/packages/canvas/src-native/canvas-native/canvas-webgl/src/webgl2.rs @@ -1583,8 +1583,6 @@ pub fn canvas_native_webgl2_transform_feedback_varyings( } } - - pub fn canvas_native_webgl2_transform_feedback_varyings_raw( program: u32, varyings: *const *const c_char, diff --git a/packages/canvas/src-native/canvas-native/gl-bindings/build.rs b/packages/canvas/src-native/canvas-native/gl-bindings/build.rs index 36ddc5e0b..b93d33e6e 100644 --- a/packages/canvas/src-native/canvas-native/gl-bindings/build.rs +++ b/packages/canvas/src-native/canvas-native/gl-bindings/build.rs @@ -57,7 +57,7 @@ fn main() { "GL_OES_packed_depth_stencil", "GL_EXT_draw_buffers", "OES_fbo_render_mipmap", - "GL_EXT_texture_format_BGRA8888" + "GL_EXT_texture_format_BGRA8888", ], ) .write_bindings(GlobalGenerator, &mut file) diff --git a/packages/canvas/src-native/canvas-native/playground/src/main.rs b/packages/canvas/src-native/canvas-native/playground/src/main.rs index 807762a4a..f9e7cfe84 100644 --- a/packages/canvas/src-native/canvas-native/playground/src/main.rs +++ b/packages/canvas/src-native/canvas-native/playground/src/main.rs @@ -53,7 +53,9 @@ use canvas_webgl::webgl::{ canvas_native_webgl_uniform2f, canvas_native_webgl_uniform4fv, canvas_native_webgl_use_program, canvas_native_webgl_vertex_attrib_pointer, canvas_native_webgl_viewport, }; -use canvas_webgl::webgl2::{canvas_native_webgl2_bind_vertex_array, canvas_native_webgl2_create_vertex_array}; +use canvas_webgl::webgl2::{ + canvas_native_webgl2_bind_vertex_array, canvas_native_webgl2_create_vertex_array, +}; // Vertex and fragment shaders @@ -387,7 +389,7 @@ void main() { state, ); - gl_state.make_current(); + gl_state.make_current(); let mut ctx = ctx_2d.get_context_mut(); @@ -402,13 +404,13 @@ void main() { ctx.set_fill_style(fill_style); ctx.fill_text("Hello, WebGL!", 50., 50., None); - // let d = ctx.read_pixels(); + // let d = ctx.read_pixels(); let (_, texture_id) = ctx.snapshot_with_texture_id(); state.make_current(); - // gl_state.init_transfer_surface(texture_id); + // gl_state.init_transfer_surface(texture_id); gl_state.draw_tex_image_2d( gl_bindings::TEXTURE_2D, @@ -421,7 +423,6 @@ void main() { texture_id, ); - /* let mut asset = ImageAsset::new(); let bytes = include_bytes!("./svh.jpeg"); @@ -452,7 +453,6 @@ void main() { // state, // ); - // lookup uniforms let resolutionLocation = canvas_native_webgl_get_uniform_location(program, "u_resolution", state); @@ -474,7 +474,6 @@ void main() { let vaoId = canvas_native_webgl2_create_vertex_array(state); canvas_native_webgl2_bind_vertex_array(vaoId, state); - // Turn on the position attribute canvas_native_webgl_enable_vertex_attrib_array(position_location as u32, state); @@ -498,15 +497,12 @@ void main() { state, ); - // Turn on the teccord attribute canvas_native_webgl_enable_vertex_attrib_array(texcoord_location as u32, state); // Bind the position buffer. canvas_native_webgl_bind_buffer(gl_bindings::ARRAY_BUFFER, texcoordBuffer, state); - - // Tell the position attribute how to get data out of positionBuffer (ARRAY_BUFFER) let size = 2; // 2 components per iteration let ttype = gl_bindings::FLOAT; // the data is 32bit floats