mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
canvas: rename snapshot(_data)
to surface() -> SourceSurface
/bytes() -> AsRef<[u8]>
(#36793)
`surface()` returns `SourceSurface` which is/was meant as optimization when passing from canvas to canvas (in vello that would be wgpu texture; but raquote does not really have this) while bytes returns something that must impl AsRef<[u8]> (this is more generic then `&[u8]` as it allows us to have type with drop impl - wgpu's BufferView). Testing: This is just refactoring (protected by rust), but there are WPT tests. Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
parent
0d21992edd
commit
5cdb0865ba
3 changed files with 13 additions and 11 deletions
|
@ -41,6 +41,7 @@ impl Backend for RaqoteBackend {
|
|||
type DrawTarget = raqote::DrawTarget;
|
||||
type PathBuilder = PathBuilder;
|
||||
type SourceSurface = Vec<u8>; // TODO: See if we can avoid the alloc (probably?)
|
||||
type Bytes<'a> = &'a [u8];
|
||||
type Path = raqote::Path;
|
||||
type GradientStop = raqote::GradientStop;
|
||||
type GradientStops = Vec<raqote::GradientStop>;
|
||||
|
@ -595,8 +596,8 @@ impl GenericDrawTarget<RaqoteBackend> for raqote::DrawTarget {
|
|||
fn set_transform(&mut self, matrix: &Transform2D<f32>) {
|
||||
self.set_transform(matrix);
|
||||
}
|
||||
fn snapshot(&self) -> <RaqoteBackend as Backend>::SourceSurface {
|
||||
self.snapshot_data().to_vec()
|
||||
fn surface(&self) -> <RaqoteBackend as Backend>::SourceSurface {
|
||||
self.bytes().to_vec()
|
||||
}
|
||||
fn stroke(
|
||||
&mut self,
|
||||
|
@ -655,7 +656,7 @@ impl GenericDrawTarget<RaqoteBackend> for raqote::DrawTarget {
|
|||
);
|
||||
}
|
||||
#[allow(unsafe_code)]
|
||||
fn snapshot_data(&self) -> &[u8] {
|
||||
fn bytes(&self) -> &[u8] {
|
||||
let v = self.get_data();
|
||||
unsafe { std::slice::from_raw_parts(v.as_ptr() as *const u8, std::mem::size_of_val(v)) }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue