mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-30 11:07:29 +09:00
Update dimensions early in ClearTarget.
This commit is contained in:
parent
014062bb24
commit
d7d5258610
2 changed files with 13 additions and 6 deletions
|
|
@ -1862,8 +1862,6 @@ CanvasRenderingContext2D::GetHeight() const
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
CanvasRenderingContext2D::SetDimensions(int32_t aWidth, int32_t aHeight)
|
CanvasRenderingContext2D::SetDimensions(int32_t aWidth, int32_t aHeight)
|
||||||
{
|
{
|
||||||
ClearTarget();
|
|
||||||
|
|
||||||
// Zero sized surfaces can cause problems.
|
// Zero sized surfaces can cause problems.
|
||||||
mZero = false;
|
mZero = false;
|
||||||
if (aHeight == 0) {
|
if (aHeight == 0) {
|
||||||
|
|
@ -1874,14 +1872,14 @@ CanvasRenderingContext2D::SetDimensions(int32_t aWidth, int32_t aHeight)
|
||||||
aWidth = 1;
|
aWidth = 1;
|
||||||
mZero = true;
|
mZero = true;
|
||||||
}
|
}
|
||||||
mWidth = aWidth;
|
|
||||||
mHeight = aHeight;
|
ClearTarget(aWidth, aHeight);
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CanvasRenderingContext2D::ClearTarget()
|
CanvasRenderingContext2D::ClearTarget(int32_t aWidth, int32_t aHeight)
|
||||||
{
|
{
|
||||||
Reset();
|
Reset();
|
||||||
|
|
||||||
|
|
@ -1889,6 +1887,12 @@ CanvasRenderingContext2D::ClearTarget()
|
||||||
|
|
||||||
SetInitialState();
|
SetInitialState();
|
||||||
|
|
||||||
|
// Update dimensions only if new (strictly positive) values were passed.
|
||||||
|
if (aWidth > 0 && aHeight > 0) {
|
||||||
|
mWidth = aWidth;
|
||||||
|
mHeight = aHeight;
|
||||||
|
}
|
||||||
|
|
||||||
// For vertical writing-mode, unless text-orientation is sideways,
|
// For vertical writing-mode, unless text-orientation is sideways,
|
||||||
// we'll modify the initial value of textBaseline to 'middle'.
|
// we'll modify the initial value of textBaseline to 'middle'.
|
||||||
RefPtr<nsStyleContext> canvasStyle;
|
RefPtr<nsStyleContext> canvasStyle;
|
||||||
|
|
|
||||||
|
|
@ -669,8 +669,11 @@ protected:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disposes an old target and prepares to lazily create a new target.
|
* Disposes an old target and prepares to lazily create a new target.
|
||||||
|
*
|
||||||
|
* Parameters are the new dimensions to be used, or if either is negative,
|
||||||
|
* existing dimensions will be left unchanged.
|
||||||
*/
|
*/
|
||||||
void ClearTarget();
|
void ClearTarget(int32_t aWidth = -1, int32_t aHeight = -1);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Returns the target to the buffer provider. i.e. this will queue a frame for
|
* Returns the target to the buffer provider. i.e. this will queue a frame for
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue