Fixing bug 7509

This commit is contained in:
av%netscape.com 1999-09-08 00:12:26 +00:00
parent a57a46ccab
commit b6788ffcc5
2 changed files with 68 additions and 4 deletions

View File

@ -2068,7 +2068,23 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetWidth(PRUint32 *result)
if (NS_OK == rv)
{
if (*result != 0)
*result = (PRUint32)atol(width);
{
PRUint32 attr = (PRUint32)atol(width);
if(nsnull == strchr(width, '%'))
*result = attr;
else
{
attr = (attr > 100) ? 100 : attr;
attr = (attr < 0) ? 0 : attr;
float t2p;
mContext->GetTwipsToPixels(&t2p);
nsRect rect;
mContext->GetVisibleArea(rect);
*result = NSTwipsToIntPixels(attr*rect.width/100, t2p);
}
}
else
*result = 0;
}
@ -2088,7 +2104,23 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetHeight(PRUint32 *result)
if (NS_OK == rv)
{
if (*result != 0)
*result = (PRUint32)atol(height);
{
PRUint32 attr = (PRUint32)atol(height);
if(nsnull == strchr(height, '%'))
*result = attr;
else
{
attr = (attr > 100) ? 100 : attr;
attr = (attr < 0) ? 0 : attr;
float t2p;
mContext->GetTwipsToPixels(&t2p);
nsRect rect;
mContext->GetVisibleArea(rect);
*result = NSTwipsToIntPixels(attr*rect.height/100, t2p);
}
}
else
*result = 0;
}

View File

@ -2068,7 +2068,23 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetWidth(PRUint32 *result)
if (NS_OK == rv)
{
if (*result != 0)
*result = (PRUint32)atol(width);
{
PRUint32 attr = (PRUint32)atol(width);
if(nsnull == strchr(width, '%'))
*result = attr;
else
{
attr = (attr > 100) ? 100 : attr;
attr = (attr < 0) ? 0 : attr;
float t2p;
mContext->GetTwipsToPixels(&t2p);
nsRect rect;
mContext->GetVisibleArea(rect);
*result = NSTwipsToIntPixels(attr*rect.width/100, t2p);
}
}
else
*result = 0;
}
@ -2088,7 +2104,23 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetHeight(PRUint32 *result)
if (NS_OK == rv)
{
if (*result != 0)
*result = (PRUint32)atol(height);
{
PRUint32 attr = (PRUint32)atol(height);
if(nsnull == strchr(height, '%'))
*result = attr;
else
{
attr = (attr > 100) ? 100 : attr;
attr = (attr < 0) ? 0 : attr;
float t2p;
mContext->GetTwipsToPixels(&t2p);
nsRect rect;
mContext->GetVisibleArea(rect);
*result = NSTwipsToIntPixels(attr*rect.height/100, t2p);
}
}
else
*result = 0;
}