#[repr(C)]pub(crate) struct ImageData {
reflector_: Reflector,
width: u32,
height: u32,
data: HeapBufferSource<ClampedU8>,
pixel_format: ImageDataPixelFormat,
color_space: PredefinedColorSpace,
}Fields§
§reflector_: Reflector§width: u32§height: u32§data: HeapBufferSource<ClampedU8>§pixel_format: ImageDataPixelFormat§color_space: PredefinedColorSpaceImplementations§
Source§impl ImageData
impl ImageData
fn __assert_parent_type(&self)
Source§impl ImageData
impl ImageData
pub(crate) fn new( global: &GlobalScope, width: u32, height: u32, data: Option<Vec<u8>>, can_gc: CanGc, ) -> Fallible<DomRoot<ImageData>>
Sourcefn initialize(
pixels_per_row: u32,
rows: u32,
settings: &ImageDataSettings,
source: Option<CustomAutoRooterGuard<'_, Uint8ClampedArray>>,
default_color_space: Option<PredefinedColorSpace>,
global: &GlobalScope,
proto: Option<HandleObject<'_>>,
can_gc: CanGc,
) -> Fallible<DomRoot<ImageData>>
fn initialize( pixels_per_row: u32, rows: u32, settings: &ImageDataSettings, source: Option<CustomAutoRooterGuard<'_, Uint8ClampedArray>>, default_color_space: Option<PredefinedColorSpace>, global: &GlobalScope, proto: Option<HandleObject<'_>>, can_gc: CanGc, ) -> Fallible<DomRoot<ImageData>>
pub(crate) fn is_detached(&self) -> bool
pub(crate) fn get_size(&self) -> Size2D<u32>
Sourcepub(crate) unsafe fn as_slice(&self) -> &[u8] ⓘ
pub(crate) unsafe fn as_slice(&self) -> &[u8] ⓘ
Nothing must change the array on the JS side while the slice is live.
Sourcepub(crate) unsafe fn get_rect(&self, rect: Rect<u32>) -> Cow<'_, [u8]>
pub(crate) unsafe fn get_rect(&self, rect: Rect<u32>) -> Cow<'_, [u8]>
Nothing must change the array on the JS side while the slice is live.
pub(crate) fn get_snapshot_rect(&self, rect: Rect<u32>) -> Snapshot
pub(crate) fn to_vec(&self) -> Vec<u8> ⓘ
Trait Implementations§
Source§impl DomObjectWrap<DomTypeHolder> for ImageData
impl DomObjectWrap<DomTypeHolder> for ImageData
Source§const WRAP: unsafe fn(SafeJSContext, &GlobalScope, Option<HandleObject<'_>>, Box<Self>, CanGc) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_bindings::script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::canvas::imagedata::ImageData>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::canvas::imagedata::ImageData>>}
const WRAP: unsafe fn(SafeJSContext, &GlobalScope, Option<HandleObject<'_>>, Box<Self>, CanGc) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_bindings::script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::canvas::imagedata::ImageData>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::canvas::imagedata::ImageData>>}
Function pointer to the general wrap function type
Source§impl IDLInterface for ImageData
impl IDLInterface for ImageData
Source§impl ImageDataMethods<DomTypeHolder> for ImageData
impl ImageDataMethods<DomTypeHolder> for ImageData
Source§fn Constructor(
global: &GlobalScope,
proto: Option<HandleObject<'_>>,
can_gc: CanGc,
sw: u32,
sh: u32,
settings: &ImageDataSettings,
) -> Fallible<DomRoot<Self>>
fn Constructor( global: &GlobalScope, proto: Option<HandleObject<'_>>, can_gc: CanGc, sw: u32, sh: u32, settings: &ImageDataSettings, ) -> Fallible<DomRoot<Self>>
Source§fn Constructor_(
global: &GlobalScope,
proto: Option<HandleObject<'_>>,
can_gc: CanGc,
data: CustomAutoRooterGuard<'_, Uint8ClampedArray>,
sw: u32,
sh: Option<u32>,
settings: &ImageDataSettings,
) -> Fallible<DomRoot<Self>>
fn Constructor_( global: &GlobalScope, proto: Option<HandleObject<'_>>, can_gc: CanGc, data: CustomAutoRooterGuard<'_, Uint8ClampedArray>, sw: u32, sh: Option<u32>, settings: &ImageDataSettings, ) -> Fallible<DomRoot<Self>>
Source§fn PixelFormat(&self) -> ImageDataPixelFormat
fn PixelFormat(&self) -> ImageDataPixelFormat
Source§impl MallocSizeOf for ImageData
impl MallocSizeOf for ImageData
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Source§impl MarkedAsSerializableInIdl for ImageData
impl MarkedAsSerializableInIdl for ImageData
Source§fn assert_serializable()
fn assert_serializable()
Used to define compile-time assertions about the type implementing this trait.
Source§impl MutDomObject for ImageData
impl MutDomObject for ImageData
Source§impl Serializable for ImageData
impl Serializable for ImageData
Source§fn deserialize(
owner: &GlobalScope,
serialized: Self::Data,
can_gc: CanGc,
) -> Result<DomRoot<Self>, ()>
fn deserialize( owner: &GlobalScope, serialized: Self::Data, can_gc: CanGc, ) -> Result<DomRoot<Self>, ()>
type Index = ImageDataIndex
type Data = SerializableImageData
Source§fn serialized_storage<'a>(
reader: StructuredData<'a, '_>,
) -> &'a mut Option<FxHashMap<ImageDataId, Self::Data>>
fn serialized_storage<'a>( reader: StructuredData<'a, '_>, ) -> &'a mut Option<FxHashMap<ImageDataId, Self::Data>>
Returns the field of [StructuredDataReader]/[StructuredDataWriter] that
should be used to read/store serialized instances of this type.
Source§impl ToJSValConvertible for ImageData
impl ToJSValConvertible for ImageData
impl Eq for ImageData
Auto Trait Implementations§
impl !Freeze for ImageData
impl !RefUnwindSafe for ImageData
impl !Send for ImageData
impl !Sync for ImageData
impl Unpin for ImageData
impl !UnwindSafe for ImageData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<D, T> DomGlobalGeneric<D> for T
impl<D, T> DomGlobalGeneric<D> for T
Source§fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
Returns the [
GlobalScope] of the realm that the DomObject was created in. If this
object is a Node, this will be different from it’s owning Document if adopted by. For
Nodes it’s almost always better to use NodeTraits::owning_global.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert