Fixing bug 7509

git-svn-id: svn://10.0.0.236/trunk@46264 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
av%netscape.com
1999-09-08 00:12:26 +00:00
parent 8c0427fe8c
commit d76194290e
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;
}