зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1374730 - Update for clip API change in WR cset 0bf6655. r=mrobinson
MozReview-Commit-ID: dEe7yDDZPk --HG-- extra : rebase_source : 09a1f858a347bdc95baa8015db9fa156b119334a
This commit is contained in:
Родитель
ca68cf1d4a
Коммит
7fe2c84b1e
|
@ -151,7 +151,7 @@ WebRenderRefLayer::RenderLayer(wr::DisplayListBuilder& aBuilder,
|
|||
DumpLayerInfo("RefLayer", rect);
|
||||
|
||||
WrRect r = aSc.ToRelativeWrRect(rect);
|
||||
aBuilder.PushIFrame(r, r, wr::AsPipelineId(mId));
|
||||
aBuilder.PushIFrame(r, wr::AsPipelineId(mId));
|
||||
}
|
||||
|
||||
} // namespace layers
|
||||
|
|
|
@ -160,7 +160,7 @@ WebRenderImageLayer::RenderLayer(wr::DisplayListBuilder& aBuilder,
|
|||
DumpLayerInfo("Image Layer async", rect);
|
||||
|
||||
WrRect r = aSc.ToRelativeWrRect(rect);
|
||||
aBuilder.PushIFrame(r, r, mPipelineId.ref());
|
||||
aBuilder.PushIFrame(r, mPipelineId.ref());
|
||||
|
||||
gfx::Matrix4x4 scTransform = GetTransform();
|
||||
// Translate is applied as part of PushIFrame()
|
||||
|
|
|
@ -107,7 +107,7 @@ WebRenderImageData::CreateAsyncImageWebRenderCommands(mozilla::wr::DisplayListBu
|
|||
// where it will be done when we build the display list for the iframe.
|
||||
// That happens in WebRenderCompositableHolder.
|
||||
WrRect r = aSc.ToRelativeWrRect(aBounds);
|
||||
aBuilder.PushIFrame(r, r, mPipelineId.ref());
|
||||
aBuilder.PushIFrame(r, mPipelineId.ref());
|
||||
|
||||
WrBridge()->AddWebRenderParentCommand(OpUpdateAsyncImagePipeline(mPipelineId.value(),
|
||||
aSCBounds,
|
||||
|
|
|
@ -584,7 +584,7 @@ void
|
|||
DisplayListBuilder::PushClip(const WrRect& aClipRect,
|
||||
const WrImageMask* aMask)
|
||||
{
|
||||
uint64_t clip_id = wr_dp_push_clip(mWrState, aClipRect, aMask);
|
||||
uint64_t clip_id = wr_dp_push_clip(mWrState, aClipRect, nullptr, 0, aMask);
|
||||
WRDL_LOG("PushClip id=%" PRIu64 " r=%s m=%p b=%s\n", clip_id,
|
||||
Stringify(aClipRect).c_str(), aMask,
|
||||
aMask ? Stringify(aMask->rect).c_str() : "none");
|
||||
|
@ -659,8 +659,7 @@ DisplayListBuilder::PushRect(const WrRect& aBounds,
|
|||
Stringify(aBounds).c_str(),
|
||||
Stringify(aClip).c_str(),
|
||||
Stringify(aColor).c_str());
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_rect(mWrState, aBounds, tok, aColor);
|
||||
wr_dp_push_rect(mWrState, aBounds, aClip, aColor);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -673,9 +672,8 @@ DisplayListBuilder::PushLinearGradient(const WrRect& aBounds,
|
|||
const WrSize aTileSize,
|
||||
const WrSize aTileSpacing)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_linear_gradient(mWrState,
|
||||
aBounds, tok,
|
||||
aBounds, aClip,
|
||||
aStartPoint, aEndPoint,
|
||||
aStops.Elements(), aStops.Length(),
|
||||
aExtendMode,
|
||||
|
@ -692,9 +690,8 @@ DisplayListBuilder::PushRadialGradient(const WrRect& aBounds,
|
|||
const WrSize aTileSize,
|
||||
const WrSize aTileSpacing)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_radial_gradient(mWrState,
|
||||
aBounds, tok,
|
||||
aBounds, aClip,
|
||||
aCenter, aRadius,
|
||||
aStops.Elements(), aStops.Length(),
|
||||
aExtendMode,
|
||||
|
@ -721,11 +718,10 @@ DisplayListBuilder::PushImage(const WrRect& aBounds,
|
|||
wr::ImageRendering aFilter,
|
||||
wr::ImageKey aImage)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
WRDL_LOG("PushImage b=%s cl=%s s=%s t=%s\n", Stringify(aBounds).c_str(),
|
||||
Stringify(aClip).c_str(), Stringify(aStretchSize).c_str(),
|
||||
Stringify(aTileSpacing).c_str());
|
||||
wr_dp_push_image(mWrState, aBounds, tok, aStretchSize, aTileSpacing, aFilter, aImage);
|
||||
wr_dp_push_image(mWrState, aBounds, aClip, aStretchSize, aTileSpacing, aFilter, aImage);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -737,10 +733,9 @@ DisplayListBuilder::PushYCbCrPlanarImage(const WrRect& aBounds,
|
|||
WrYuvColorSpace aColorSpace,
|
||||
wr::ImageRendering aRendering)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_yuv_planar_image(mWrState,
|
||||
aBounds,
|
||||
tok,
|
||||
aClip,
|
||||
aImageChannel0,
|
||||
aImageChannel1,
|
||||
aImageChannel2,
|
||||
|
@ -756,10 +751,9 @@ DisplayListBuilder::PushNV12Image(const WrRect& aBounds,
|
|||
WrYuvColorSpace aColorSpace,
|
||||
wr::ImageRendering aRendering)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_yuv_NV12_image(mWrState,
|
||||
aBounds,
|
||||
tok,
|
||||
aClip,
|
||||
aImageChannel0,
|
||||
aImageChannel1,
|
||||
aColorSpace,
|
||||
|
@ -773,10 +767,9 @@ DisplayListBuilder::PushYCbCrInterleavedImage(const WrRect& aBounds,
|
|||
WrYuvColorSpace aColorSpace,
|
||||
wr::ImageRendering aRendering)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_yuv_interleaved_image(mWrState,
|
||||
aBounds,
|
||||
tok,
|
||||
aClip,
|
||||
aImageChannel0,
|
||||
aColorSpace,
|
||||
aRendering);
|
||||
|
@ -784,11 +777,9 @@ DisplayListBuilder::PushYCbCrInterleavedImage(const WrRect& aBounds,
|
|||
|
||||
void
|
||||
DisplayListBuilder::PushIFrame(const WrRect& aBounds,
|
||||
const WrRect& aClip,
|
||||
PipelineId aPipeline)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_iframe(mWrState, aBounds, tok, aPipeline);
|
||||
wr_dp_push_iframe(mWrState, aBounds, aPipeline);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -802,8 +793,7 @@ DisplayListBuilder::PushBorder(const WrRect& aBounds,
|
|||
if (aSides.length() != 4) {
|
||||
return;
|
||||
}
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_border(mWrState, aBounds, tok,
|
||||
wr_dp_push_border(mWrState, aBounds, aClip,
|
||||
aWidths, aSides[0], aSides[1], aSides[2], aSides[3], aRadius);
|
||||
}
|
||||
|
||||
|
@ -817,8 +807,7 @@ DisplayListBuilder::PushBorderImage(const WrRect& aBounds,
|
|||
const WrRepeatMode& aRepeatHorizontal,
|
||||
const WrRepeatMode& aRepeatVertical)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_border_image(mWrState, aBounds, tok,
|
||||
wr_dp_push_border_image(mWrState, aBounds, aClip,
|
||||
aWidths, aImage, aPatch, aOutset,
|
||||
aRepeatHorizontal, aRepeatVertical);
|
||||
}
|
||||
|
@ -833,8 +822,7 @@ DisplayListBuilder::PushBorderGradient(const WrRect& aBounds,
|
|||
wr::GradientExtendMode aExtendMode,
|
||||
const WrSideOffsets2Df32& aOutset)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_border_gradient(mWrState, aBounds, tok,
|
||||
wr_dp_push_border_gradient(mWrState, aBounds, aClip,
|
||||
aWidths, aStartPoint, aEndPoint,
|
||||
aStops.Elements(), aStops.Length(),
|
||||
aExtendMode, aOutset);
|
||||
|
@ -850,9 +838,8 @@ DisplayListBuilder::PushBorderRadialGradient(const WrRect& aBounds,
|
|||
wr::GradientExtendMode aExtendMode,
|
||||
const WrSideOffsets2Df32& aOutset)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_border_radial_gradient(
|
||||
mWrState, aBounds, tok, aWidths, aCenter,
|
||||
mWrState, aBounds, aClip, aWidths, aCenter,
|
||||
aRadius, aStops.Elements(), aStops.Length(),
|
||||
aExtendMode, aOutset);
|
||||
}
|
||||
|
@ -865,8 +852,7 @@ DisplayListBuilder::PushText(const WrRect& aBounds,
|
|||
Range<const WrGlyphInstance> aGlyphBuffer,
|
||||
float aGlyphSize)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_text(mWrState, aBounds, tok,
|
||||
wr_dp_push_text(mWrState, aBounds, aClip,
|
||||
ToWrColor(aColor),
|
||||
aFontKey,
|
||||
&aGlyphBuffer[0], aGlyphBuffer.length(),
|
||||
|
@ -884,8 +870,7 @@ DisplayListBuilder::PushBoxShadow(const WrRect& aRect,
|
|||
const float& aBorderRadius,
|
||||
const WrBoxShadowClipMode& aClipMode)
|
||||
{
|
||||
WrClipRegionToken tok = wr_dp_push_clip_region(mWrState, aClip, nullptr, 0, nullptr);
|
||||
wr_dp_push_box_shadow(mWrState, aRect, tok,
|
||||
wr_dp_push_box_shadow(mWrState, aRect, aClip,
|
||||
aBoxBounds, aOffset, aColor,
|
||||
aBlurRadius, aSpreadRadius, aBorderRadius,
|
||||
aClipMode);
|
||||
|
|
|
@ -229,7 +229,6 @@ public:
|
|||
wr::ImageRendering aFilter);
|
||||
|
||||
void PushIFrame(const WrRect& aBounds,
|
||||
const WrRect& aClip,
|
||||
wr::PipelineId aPipeline);
|
||||
|
||||
// XXX WrBorderSides are passed with Range.
|
||||
|
|
|
@ -545,25 +545,6 @@ impl From<ClipRegion> for WrClipRegion {
|
|||
}
|
||||
}
|
||||
|
||||
#[repr(C)]
|
||||
pub struct WrClipRegionToken {
|
||||
_dummy: bool,
|
||||
}
|
||||
|
||||
impl Into<ClipRegionToken> for WrClipRegionToken {
|
||||
fn into(self) -> ClipRegionToken {
|
||||
// ClipRegionTokens are a zero sized move-only "proof of work"
|
||||
// this doesn't really translate... so uh, pretend it does?
|
||||
unsafe { mem::transmute(()) }
|
||||
}
|
||||
}
|
||||
|
||||
impl From<ClipRegionToken> for WrClipRegionToken {
|
||||
fn from(_token: ClipRegionToken) -> WrClipRegionToken {
|
||||
WrClipRegionToken { _dummy: true }
|
||||
}
|
||||
}
|
||||
|
||||
#[repr(u32)]
|
||||
#[allow(dead_code)]
|
||||
enum WrExternalImageType {
|
||||
|
@ -1279,25 +1260,6 @@ pub extern "C" fn wr_dp_end(state: &mut WrState) {
|
|||
state.frame_builder.dl_builder.pop_stacking_context();
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_clip_region(state: &mut WrState,
|
||||
main: WrRect,
|
||||
complex: *const WrComplexClipRegion,
|
||||
complex_count: usize,
|
||||
image_mask: *const WrImageMask)
|
||||
-> WrClipRegionToken {
|
||||
assert!(unsafe { !is_in_render_thread() });
|
||||
|
||||
let main = main.into();
|
||||
let complex_slice = make_slice(complex, complex_count);
|
||||
let complex_iter = complex_slice.iter().map(|x| x.into());
|
||||
let mask = unsafe { image_mask.as_ref() }.map(|x| x.into());
|
||||
|
||||
let clip_region = state.frame_builder.dl_builder.push_clip_region(&main, complex_iter, mask);
|
||||
|
||||
clip_region.into()
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_stacking_context(state: &mut WrState,
|
||||
bounds: WrRect,
|
||||
|
@ -1365,6 +1327,8 @@ pub extern "C" fn wr_dp_pop_stacking_context(state: &mut WrState) {
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_clip(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
complex: *const WrComplexClipRegion,
|
||||
complex_count: usize,
|
||||
mask: *const WrImageMask)
|
||||
-> u64 {
|
||||
assert!(unsafe { is_in_main_thread() });
|
||||
|
@ -1375,13 +1339,14 @@ pub extern "C" fn wr_dp_push_clip(state: &mut WrState,
|
|||
// Since the clip_rect is the same as the content_rect we can just set the
|
||||
// origin to zero.
|
||||
let clip_rect = LayoutRect::new(LayoutPoint::zero(), content_rect.size);
|
||||
let complex_slice = make_slice(complex, complex_count);
|
||||
let complex_iter = complex_slice.iter().map(|x| x.into());
|
||||
let mut mask : Option<ImageMask> = unsafe { mask.as_ref() }.map(|x| x.into());
|
||||
if let Some(ref mut m) = mask {
|
||||
m.rect.origin = m.rect.origin - content_rect.origin.to_vector();
|
||||
}
|
||||
|
||||
let clip_region = state.frame_builder.dl_builder.push_clip_region(&clip_rect, vec![], mask);
|
||||
let clip_id = state.frame_builder.dl_builder.define_clip(content_rect, clip_region, None);
|
||||
let clip_id = state.frame_builder.dl_builder.define_clip(None, content_rect, clip_rect, complex_iter, mask);
|
||||
state.frame_builder.dl_builder.push_clip_id(clip_id);
|
||||
// return the u64 id value from inside the ClipId::Clip(..)
|
||||
match clip_id {
|
||||
|
@ -1418,8 +1383,7 @@ pub extern "C" fn wr_dp_push_scroll_layer(state: &mut WrState,
|
|||
let mut clip_rect: LayoutRect = clip_rect.into();
|
||||
clip_rect.origin = clip_rect.origin - content_rect.origin.to_vector();
|
||||
|
||||
let clip_region = state.frame_builder.dl_builder.push_clip_region(&clip_rect, vec![], None);
|
||||
state.frame_builder.dl_builder.define_clip(content_rect, clip_region, Some(clip_id));
|
||||
state.frame_builder.dl_builder.define_clip(Some(clip_id), content_rect, clip_rect, vec![], None);
|
||||
state.frame_builder.scroll_clips_defined.insert(clip_id);
|
||||
}
|
||||
state.frame_builder.dl_builder.push_clip_id(clip_id);
|
||||
|
@ -1466,17 +1430,16 @@ pub extern "C" fn wr_dp_pop_clip_and_scroll_info(state: &mut WrState) {
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_iframe(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
pipeline_id: WrPipelineId) {
|
||||
assert!(unsafe { is_in_main_thread() });
|
||||
|
||||
state.frame_builder.dl_builder.push_iframe(rect.into(), clip.into(), pipeline_id);
|
||||
state.frame_builder.dl_builder.push_iframe(rect.into(), pipeline_id);
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_rect(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
color: WrColor) {
|
||||
assert!(unsafe { !is_in_render_thread() });
|
||||
|
||||
|
@ -1486,7 +1449,7 @@ pub extern "C" fn wr_dp_push_rect(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_image(state: &mut WrState,
|
||||
bounds: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
stretch_size: WrSize,
|
||||
tile_spacing: WrSize,
|
||||
image_rendering: WrImageRendering,
|
||||
|
@ -1507,7 +1470,7 @@ pub extern "C" fn wr_dp_push_image(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_yuv_planar_image(state: &mut WrState,
|
||||
bounds: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
image_key_0: WrImageKey,
|
||||
image_key_1: WrImageKey,
|
||||
image_key_2: WrImageKey,
|
||||
|
@ -1528,7 +1491,7 @@ pub extern "C" fn wr_dp_push_yuv_planar_image(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_yuv_NV12_image(state: &mut WrState,
|
||||
bounds: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
image_key_0: WrImageKey,
|
||||
image_key_1: WrImageKey,
|
||||
color_space: WrYuvColorSpace,
|
||||
|
@ -1548,7 +1511,7 @@ pub extern "C" fn wr_dp_push_yuv_NV12_image(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_yuv_interleaved_image(state: &mut WrState,
|
||||
bounds: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
image_key_0: WrImageKey,
|
||||
color_space: WrYuvColorSpace,
|
||||
image_rendering: WrImageRendering) {
|
||||
|
@ -1566,7 +1529,7 @@ pub extern "C" fn wr_dp_push_yuv_interleaved_image(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_text(state: &mut WrState,
|
||||
bounds: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
color: WrColor,
|
||||
font_key: WrFontKey,
|
||||
glyphs: *const WrGlyphInstance,
|
||||
|
@ -1595,7 +1558,7 @@ pub extern "C" fn wr_dp_push_text(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_border(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
widths: WrBorderWidths,
|
||||
top: WrBorderSide,
|
||||
right: WrBorderSide,
|
||||
|
@ -1619,7 +1582,7 @@ pub extern "C" fn wr_dp_push_border(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_border_image(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
widths: WrBorderWidths,
|
||||
image: WrImageKey,
|
||||
patch: WrNinePatchDescriptor,
|
||||
|
@ -1644,7 +1607,7 @@ pub extern "C" fn wr_dp_push_border_image(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_border_gradient(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
widths: WrBorderWidths,
|
||||
start_point: WrPoint,
|
||||
end_point: WrPoint,
|
||||
|
@ -1675,7 +1638,7 @@ pub extern "C" fn wr_dp_push_border_gradient(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_border_radial_gradient(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
widths: WrBorderWidths,
|
||||
center: WrPoint,
|
||||
radius: WrSize,
|
||||
|
@ -1707,7 +1670,7 @@ pub extern "C" fn wr_dp_push_border_radial_gradient(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_linear_gradient(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
start_point: WrPoint,
|
||||
end_point: WrPoint,
|
||||
stops: *const WrGradientStop,
|
||||
|
@ -1737,7 +1700,7 @@ pub extern "C" fn wr_dp_push_linear_gradient(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_radial_gradient(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
center: WrPoint,
|
||||
radius: WrSize,
|
||||
stops: *const WrGradientStop,
|
||||
|
@ -1767,7 +1730,7 @@ pub extern "C" fn wr_dp_push_radial_gradient(state: &mut WrState,
|
|||
#[no_mangle]
|
||||
pub extern "C" fn wr_dp_push_box_shadow(state: &mut WrState,
|
||||
rect: WrRect,
|
||||
clip: WrClipRegionToken,
|
||||
clip: WrRect,
|
||||
box_bounds: WrRect,
|
||||
offset: WrPoint,
|
||||
color: WrColor,
|
||||
|
|
|
@ -320,14 +320,6 @@ struct WrRect {
|
|||
}
|
||||
};
|
||||
|
||||
struct WrClipRegionToken {
|
||||
bool _dummy;
|
||||
|
||||
bool operator==(const WrClipRegionToken& aOther) const {
|
||||
return _dummy == aOther._dummy;
|
||||
}
|
||||
};
|
||||
|
||||
struct WrBorderWidths {
|
||||
float left;
|
||||
float top;
|
||||
|
@ -426,6 +418,16 @@ struct WrNinePatchDescriptor {
|
|||
}
|
||||
};
|
||||
|
||||
struct WrComplexClipRegion {
|
||||
WrRect rect;
|
||||
WrBorderRadius radii;
|
||||
|
||||
bool operator==(const WrComplexClipRegion& aOther) const {
|
||||
return rect == aOther.rect &&
|
||||
radii == aOther.radii;
|
||||
}
|
||||
};
|
||||
|
||||
struct WrImageMask {
|
||||
WrImageKey image;
|
||||
WrRect rect;
|
||||
|
@ -438,16 +440,6 @@ struct WrImageMask {
|
|||
}
|
||||
};
|
||||
|
||||
struct WrComplexClipRegion {
|
||||
WrRect rect;
|
||||
WrBorderRadius radii;
|
||||
|
||||
bool operator==(const WrComplexClipRegion& aOther) const {
|
||||
return rect == aOther.rect &&
|
||||
radii == aOther.radii;
|
||||
}
|
||||
};
|
||||
|
||||
struct WrFilterOp {
|
||||
WrFilterOpType filter_type;
|
||||
float argument;
|
||||
|
@ -683,7 +675,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_border(WrState *aState,
|
||||
WrRect aRect,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrBorderWidths aWidths,
|
||||
WrBorderSide aTop,
|
||||
WrBorderSide aRight,
|
||||
|
@ -695,7 +687,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_border_gradient(WrState *aState,
|
||||
WrRect aRect,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrBorderWidths aWidths,
|
||||
WrPoint aStartPoint,
|
||||
WrPoint aEndPoint,
|
||||
|
@ -708,7 +700,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_border_image(WrState *aState,
|
||||
WrRect aRect,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrBorderWidths aWidths,
|
||||
WrImageKey aImage,
|
||||
WrNinePatchDescriptor aPatch,
|
||||
|
@ -720,7 +712,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_border_radial_gradient(WrState *aState,
|
||||
WrRect aRect,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrBorderWidths aWidths,
|
||||
WrPoint aCenter,
|
||||
WrSize aRadius,
|
||||
|
@ -733,7 +725,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_box_shadow(WrState *aState,
|
||||
WrRect aRect,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrRect aBoxBounds,
|
||||
WrPoint aOffset,
|
||||
WrColor aColor,
|
||||
|
@ -752,6 +744,8 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
uint64_t wr_dp_push_clip(WrState *aState,
|
||||
WrRect aRect,
|
||||
const WrComplexClipRegion *aComplex,
|
||||
size_t aComplexCount,
|
||||
const WrImageMask *aMask)
|
||||
WR_FUNC;
|
||||
|
||||
|
@ -761,25 +755,16 @@ void wr_dp_push_clip_and_scroll_info(WrState *aState,
|
|||
const uint64_t *aClipId)
|
||||
WR_FUNC;
|
||||
|
||||
WR_INLINE
|
||||
WrClipRegionToken wr_dp_push_clip_region(WrState *aState,
|
||||
WrRect aMain,
|
||||
const WrComplexClipRegion *aComplex,
|
||||
size_t aComplexCount,
|
||||
const WrImageMask *aImageMask)
|
||||
WR_FUNC;
|
||||
|
||||
WR_INLINE
|
||||
void wr_dp_push_iframe(WrState *aState,
|
||||
WrRect aRect,
|
||||
WrClipRegionToken aClip,
|
||||
WrPipelineId aPipelineId)
|
||||
WR_FUNC;
|
||||
|
||||
WR_INLINE
|
||||
void wr_dp_push_image(WrState *aState,
|
||||
WrRect aBounds,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrSize aStretchSize,
|
||||
WrSize aTileSpacing,
|
||||
WrImageRendering aImageRendering,
|
||||
|
@ -789,7 +774,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_linear_gradient(WrState *aState,
|
||||
WrRect aRect,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrPoint aStartPoint,
|
||||
WrPoint aEndPoint,
|
||||
const WrGradientStop *aStops,
|
||||
|
@ -802,7 +787,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_radial_gradient(WrState *aState,
|
||||
WrRect aRect,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrPoint aCenter,
|
||||
WrSize aRadius,
|
||||
const WrGradientStop *aStops,
|
||||
|
@ -815,7 +800,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_rect(WrState *aState,
|
||||
WrRect aRect,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrColor aColor)
|
||||
WR_FUNC;
|
||||
|
||||
|
@ -841,7 +826,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_text(WrState *aState,
|
||||
WrRect aBounds,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrColor aColor,
|
||||
WrFontKey aFontKey,
|
||||
const WrGlyphInstance *aGlyphs,
|
||||
|
@ -852,7 +837,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_yuv_NV12_image(WrState *aState,
|
||||
WrRect aBounds,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrImageKey aImageKey0,
|
||||
WrImageKey aImageKey1,
|
||||
WrYuvColorSpace aColorSpace,
|
||||
|
@ -862,7 +847,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_yuv_interleaved_image(WrState *aState,
|
||||
WrRect aBounds,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrImageKey aImageKey0,
|
||||
WrYuvColorSpace aColorSpace,
|
||||
WrImageRendering aImageRendering)
|
||||
|
@ -871,7 +856,7 @@ WR_FUNC;
|
|||
WR_INLINE
|
||||
void wr_dp_push_yuv_planar_image(WrState *aState,
|
||||
WrRect aBounds,
|
||||
WrClipRegionToken aClip,
|
||||
WrRect aClip,
|
||||
WrImageKey aImageKey0,
|
||||
WrImageKey aImageKey1,
|
||||
WrImageKey aImageKey2,
|
||||
|
|
Загрузка…
Ссылка в новой задаче