changes for pixel scaling/printing.

This commit is contained in:
michaelp%netscape.com 1998-11-14 01:52:27 +00:00
Родитель 5f6f52a7b2
Коммит 7a9e1a4bc1
64 изменённых файлов: 248 добавлений и 112 удалений

Просмотреть файл

@ -1462,7 +1462,8 @@ nsGenericHTMLElement::MapImageAttributesInto(nsIHTMLAttributes* aAttributes,
if (nsnull != aAttributes) {
nsHTMLValue value;
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
nsStyleSpacing* spacing = (nsStyleSpacing*)
@ -1534,7 +1535,8 @@ nsGenericHTMLElement::MapImageAlignAttributeInto(nsIHTMLAttributes* aAttributes,
aContext->GetMutableStyleData(eStyleStruct_Text);
nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetMutableStyleData(eStyleStruct_Spacing);
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStyleCoord three(NSIntPixelsToTwips(3, p2t));
switch (align) {
case NS_STYLE_TEXT_ALIGN_LEFT:
@ -1575,7 +1577,8 @@ nsGenericHTMLElement::MapImageBorderAttributesInto(nsIHTMLAttributes* aAttribute
value.SetPixelValue(2);
}
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nscoord twips = NSIntPixelsToTwips(value.GetPixelValue(), p2t);
// Fixup border-padding sums: subtract out the old size and then

Просмотреть файл

@ -405,7 +405,7 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
// marginwidth/marginheight
// XXX: see ua.css for related code in the BODY rule
float p2t;
p2t = aPresContext->GetPixelsToTwips();
aPresContext->GetScaledPixelsToTwips(p2t);
nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetMutableStyleData(eStyleStruct_Spacing);
aAttributes->GetAttribute(nsHTMLAtoms::marginwidth, value);

Просмотреть файл

@ -222,7 +222,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
}
// width: pixel, percent
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
aAttributes->GetAttribute(nsHTMLAtoms::width, value);

Просмотреть файл

@ -232,7 +232,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
nsHTMLValue value;
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
nsStyleSpacing* spacing = (nsStyleSpacing*)

Просмотреть файл

@ -245,7 +245,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetMutableStyleData(eStyleStruct_Spacing);
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStyleCoord three(NSIntPixelsToTwips(3, p2t));
switch (align) {
case NS_STYLE_TEXT_ALIGN_LEFT:

Просмотреть файл

@ -567,7 +567,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
case NS_FORM_INPUT_CHECKBOX:
case NS_FORM_INPUT_RADIO:
{
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nscoord pad = NSIntPixelsToTwips(3, p2t);
// add left and right padding around the radio button via css

Просмотреть файл

@ -350,7 +350,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
}
// width: pixel
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
aAttributes->GetAttribute(nsHTMLAtoms::width, widthValue);

Просмотреть файл

@ -223,7 +223,6 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
NS_PRECONDITION(nsnull!=aPresContext, "bad presentation context arg");
if (nsnull != aAttributes) {
float p2t;
nsHTMLValue value;
nsStyleText* textStyle = nsnull;
@ -238,7 +237,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
break;
case eHTMLUnit_Pixel:
p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
position->mWidth.SetCoordValue(NSIntPixelsToTwips(value.GetPixelValue(), p2t));
break;
}

Просмотреть файл

@ -212,7 +212,6 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
NS_PRECONDITION(nsnull!=aPresContext, "bad presentation context arg");
if (nsnull != aAttributes) {
float p2t;
nsHTMLValue value;
nsStyleText* textStyle = nsnull;
@ -227,7 +226,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
break;
case eHTMLUnit_Pixel:
p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
position->mWidth.SetCoordValue(NSIntPixelsToTwips(value.GetPixelValue(), p2t));
break;
}

Просмотреть файл

@ -526,7 +526,8 @@ MapTableBorderInto(nsIHTMLAttributes* aAttributes,
aContext->GetMutableStyleData(eStyleStruct_Spacing);
nsStyleTable *tableStyle = (nsStyleTable*)
aContext->GetMutableStyleData(eStyleStruct_Table);
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStyleCoord twips;
if (borderValue.GetUnit() == eHTMLUnit_Empty) {
tableStyle->mRules=NS_STYLE_TABLE_RULES_ALL; // non-0 values of border imply default rules=all
@ -561,7 +562,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
if (nsnull!=aAttributes)
{
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsHTMLValue value;
// width

Просмотреть файл

@ -314,7 +314,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
// height: pixel
aAttributes->GetAttribute(nsHTMLAtoms::height, value);
if (value.GetUnit() == eHTMLUnit_Pixel) {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
nscoord twips = NSIntPixelsToTwips(value.GetPixelValue(), p2t);

Просмотреть файл

@ -265,7 +265,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
// height: pixel
aAttributes->GetAttribute(nsHTMLAtoms::height, value);
if (value.GetUnit() == eHTMLUnit_Pixel) {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
nscoord twips = NSIntPixelsToTwips(value.GetPixelValue(), p2t);

Просмотреть файл

@ -717,7 +717,9 @@ nscoord CalcLength(const nsCSSValue& aValue,
return NSToCoordRound(aValue.GetFloatValue() * (float)capHeight);
}
case eCSSUnit_Pixel:
return NSFloatPixelsToTwips(aValue.GetFloatValue(), aPresContext->GetPixelsToTwips());
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
return NSFloatPixelsToTwips(aValue.GetFloatValue(), p2t);
}
return 0;
}

Просмотреть файл

@ -873,7 +873,8 @@ nsCSSRendering::PaintBackground(nsIPresContext& aPresContext,
#endif
// Convert image dimensions into nscoord's
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord tileWidth = NSIntPixelsToTwips(imageSize.width, p2t);
nscoord tileHeight = NSIntPixelsToTwips(imageSize.height, p2t);
if ((tileWidth == 0) || (tileHeight == 0)) {
@ -937,7 +938,7 @@ nsCSSRendering::PaintBackground(nsIPresContext& aPresContext,
PRIntn x = xstart;
nscoord xpos = xpostart;
for (; x <= xCount; ++x, xpos += tileWidth) {
aRenderingContext.DrawImage(image, xpos, ypos);
aRenderingContext.DrawImage(image, xpos, ypos, tileWidth, tileHeight);
}
}
aRenderingContext.PopState(clipState);

Просмотреть файл

@ -447,6 +447,21 @@ nsPresContext::GetTwipsToPixels() const
return 1.0f;
}
NS_IMETHODIMP nsPresContext :: GetScaledPixelsToTwips(float &aScale) const
{
if (nsnull != mDeviceContext)
{
float p2t, scale;
mDeviceContext->GetDevUnitsToAppUnits(p2t);
mDeviceContext->GetCanonicalPixelScale(scale);
aScale = p2t * scale;
}
else
aScale = 1.0f;
return NS_OK;
}
nsIDeviceContext*
nsPresContext::GetDeviceContext() const
{

Просмотреть файл

@ -214,6 +214,13 @@ public:
virtual float GetPixelsToTwips() const = 0;
virtual float GetTwipsToPixels() const = 0;
//XXX this is probably not an ideal name. MMP
/**
* Do pixels to twips conversion taking into account
* differing size of a "pixel" from device to device.
*/
NS_IMETHOD GetScaledPixelsToTwips(float &aScale) const = 0;
//be sure to Relase() after you are done with the Get()
virtual nsIDeviceContext * GetDeviceContext() const = 0;

Просмотреть файл

@ -755,19 +755,16 @@ NS_IMETHODIMP PresShell :: CreateRenderingContext(nsIFrame *aFrame,
view->GetParent(view);
}
if (nsnull != view)
{
nsIDeviceContext *dx;
nsIDeviceContext *dx;
dx = mPresContext->GetDeviceContext();
dx = mPresContext->GetDeviceContext();
if (nsnull != view)
rv = dx->CreateRenderingContext(view, aContext);
NS_RELEASE(dx);
}
else
{
rv = NS_ERROR_FAILURE;
aContext = nsnull;
}
rv = dx->CreateRenderingContext(aContext);
NS_RELEASE(dx);
return rv;
}

Просмотреть файл

@ -214,6 +214,13 @@ public:
virtual float GetPixelsToTwips() const = 0;
virtual float GetTwipsToPixels() const = 0;
//XXX this is probably not an ideal name. MMP
/**
* Do pixels to twips conversion taking into account
* differing size of a "pixel" from device to device.
*/
NS_IMETHOD GetScaledPixelsToTwips(float &aScale) const = 0;
//be sure to Relase() after you are done with the Get()
virtual nsIDeviceContext * GetDeviceContext() const = 0;

Просмотреть файл

@ -214,6 +214,13 @@ public:
virtual float GetPixelsToTwips() const = 0;
virtual float GetTwipsToPixels() const = 0;
//XXX this is probably not an ideal name. MMP
/**
* Do pixels to twips conversion taking into account
* differing size of a "pixel" from device to device.
*/
NS_IMETHOD GetScaledPixelsToTwips(float &aScale) const = 0;
//be sure to Relase() after you are done with the Get()
virtual nsIDeviceContext * GetDeviceContext() const = 0;

Просмотреть файл

@ -29,6 +29,7 @@
#include "prlog.h"
#include "nsISizeOfHandler.h"
#include "nsIStyleContext.h"
#include "nsIDeviceContext.h"
static NS_DEFINE_IID(kIFrameImageLoaderIID, NS_IFRAME_IMAGE_LOADER_IID);
static NS_DEFINE_IID(kIImageRequestObserverIID, NS_IIMAGEREQUESTOBSERVER_IID);
@ -206,7 +207,7 @@ nsFrameImageLoader::Notify(nsIImageRequest *aImageRequest,
mImageLoadStatus |= NS_IMAGE_LOAD_STATUS_IMAGE_READY;
// Convert the rect from pixels to twips
p2t = mPresContext->GetPixelsToTwips();
mPresContext->GetScaledPixelsToTwips(p2t);
changeRect = (const nsRect*)aParam3;
damageRect.x = NSIntPixelsToTwips(changeRect->x, p2t);
damageRect.y = NSIntPixelsToTwips(changeRect->y, p2t);
@ -283,6 +284,8 @@ nsFrameImageLoader::DamageRepairFrame(const nsRect* aDamageRect)
("nsFrameImageLoader::DamageRepairFrame frame=%p status=%x",
mTargetFrame, mImageLoadStatus));
#if 0
// XXX I #if 0'd this per troy's instruction... MMP
// XXX this should be done somewhere else, like when the window
// is created or something???
// XXX maybe there should be a seperate notification service for
@ -297,6 +300,7 @@ nsFrameImageLoader::DamageRepairFrame(const nsRect* aDamageRect)
gXXXInstalledColorMap = PR_TRUE;
}
NS_RELEASE(window);
#endif
// Determine damaged area and tell view manager to redraw it
nsPoint offset;

Просмотреть файл

@ -447,6 +447,21 @@ nsPresContext::GetTwipsToPixels() const
return 1.0f;
}
NS_IMETHODIMP nsPresContext :: GetScaledPixelsToTwips(float &aScale) const
{
if (nsnull != mDeviceContext)
{
float p2t, scale;
mDeviceContext->GetDevUnitsToAppUnits(p2t);
mDeviceContext->GetCanonicalPixelScale(scale);
aScale = p2t * scale;
}
else
aScale = 1.0f;
return NS_OK;
}
nsIDeviceContext*
nsPresContext::GetDeviceContext() const
{

Просмотреть файл

@ -74,6 +74,7 @@ public:
virtual void SetVisibleArea(const nsRect& r);
virtual float GetPixelsToTwips() const;
virtual float GetTwipsToPixels() const;
NS_IMETHOD GetScaledPixelsToTwips(float &aScale) const;
virtual nsIDeviceContext* GetDeviceContext() const;
NS_IMETHOD GetEventStateManager(nsIEventStateManager** aManager);

Просмотреть файл

@ -241,7 +241,8 @@ nsFieldSetFrame::Reflow(nsIPresContext& aPresContext,
nsReflowStatus& aStatus)
{
nsSize availSize(aReflowState.maxSize);
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
const PRInt32 minTopBorder = NSIntPixelsToTwips(MIN_TOP_BORDER, p2t);
const nsStyleSpacing* spacing =

Просмотреть файл

@ -798,7 +798,8 @@ nsFormControlFrame::CalculateSize (nsIPresContext* aPresContext, nsFormControlFr
if (nsnull != aSpec.mColSizeAttr) {
colStatus = hContent->GetAttribute(aSpec.mColSizeAttr, colAttr);
}
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
// determine the width
nscoord adjSize;

Просмотреть файл

@ -387,7 +387,8 @@ nsHTMLButtonControlFrame::ShiftContents(nsIPresContext& aPresContext, PRBool aDo
nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing); // cast deliberate
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord shift = (aDown) ? NSIntPixelsToTwips(1, p2t) : -NSIntPixelsToTwips(1, p2t);
nsStyleCoord styleCoord;
@ -573,7 +574,8 @@ nsHTMLButtonControlFrame::Paint(nsIPresContext& aPresContext,
nsMargin border;
spacing->CalcBorderFor(this, border);
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord onePixel = NSIntPixelsToTwips(1, p2t);
nsRect outside(0, 0, mRect.width, mRect.height);

Просмотреть файл

@ -237,7 +237,8 @@ nsHTMLFrameOuterFrame::GetDesiredSize(nsIPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredSize)
{
// <frame> processing does not use this routine, only <iframe>
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
// XXX this needs to be changed from (200,200) to a better default for inline frames
if (aReflowState.HaveFixedContentWidth()) {
@ -532,7 +533,8 @@ PRInt32 nsHTMLFrameInnerFrame::GetMarginWidth(nsIPresContext* aPresContext, nsIC
nsIHTMLContent* content = nsnull;
mContent->QueryInterface(kIHTMLContentIID, (void**) &content);
if (nsnull != content) {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsHTMLValue value;
content->GetAttribute(nsHTMLAtoms::marginwidth, value);
if (eHTMLUnit_Pixel == value.GetUnit()) {
@ -552,7 +554,8 @@ PRInt32 nsHTMLFrameInnerFrame::GetMarginHeight(nsIPresContext* aPresContext, nsI
nsIHTMLContent* content = nsnull;
mContent->QueryInterface(kIHTMLContentIID, (void**) &content);
if (nsnull != content) {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsHTMLValue value;
content->GetAttribute(nsHTMLAtoms::marginheight, value);
if (eHTMLUnit_Pixel == value.GetUnit()) {

Просмотреть файл

@ -190,7 +190,8 @@ void nsHTMLFramesetFrame::CalculateRowCol(nsIPresContext* aPresContext, nscoord
PRInt32 free = 0;
PRInt32 percent = 0;
PRInt32 pixel = 0;
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
int i; // feeble compiler
for (i = 0; i < aNumSpecs; i++) {
@ -323,7 +324,8 @@ void nsHTMLFramesetFrame::CalculateRowCol(nsIPresContext* aPresContext, nscoord
PRInt32 nsHTMLFramesetFrame::GetBorderWidth(nsIPresContext* aPresContext)
{
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsHTMLValue htmlVal;
PRInt32 intVal;
nsIHTMLContent* content = nsnull;

Просмотреть файл

@ -245,7 +245,8 @@ nsHTMLImageLoader::GetDesiredSize(nsIPresContext* aPresContext,
aDesiredSize.height = 1;
}
else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsSize imageSize;
mImageLoader->GetSize(imageSize);
float imageWidth = imageSize.width * p2t;
@ -283,7 +284,8 @@ nsHTMLImageLoader::GetDesiredSize(nsIPresContext* aPresContext,
aDesiredSize.width = 1;
aDesiredSize.height = 1;
} else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsSize imageSize;
mImageLoader->GetSize(imageSize);
aDesiredSize.width = NSIntPixelsToTwips(imageSize.width, p2t);
@ -570,7 +572,8 @@ ImageFrame::DisplayAltFeedback(nsIPresContext& aPresContext,
nsRect inner;
GetInnerArea(&aPresContext, inner);
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nsRecessedBorder recessedBorder(NSIntPixelsToTwips(1, p2t));
nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this, inner,
inner, recessedBorder, 0);
@ -652,7 +655,8 @@ ImageFrame::Paint(nsIPresContext& aPresContext,
nsRect inner;
GetInnerArea(&aPresContext, inner);
if (mImageLoader.GetLoadImageFailed()) {
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
inner.width = NSIntPixelsToTwips(image->GetWidth(), p2t);
inner.height = NSIntPixelsToTwips(image->GetHeight(), p2t);
}

Просмотреть файл

@ -324,7 +324,8 @@ nsObjectFrame::GetDesiredSize(nsIPresContext* aPresContext,
aMetrics.width = aMetrics.height;
}
else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
aMetrics.width = NSIntPixelsToTwips(EMBED_DEF_DIM, p2t);
}
}
@ -333,7 +334,8 @@ nsObjectFrame::GetDesiredSize(nsIPresContext* aPresContext,
aMetrics.height = aMetrics.width;
}
else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
aMetrics.height = NSIntPixelsToTwips(EMBED_DEF_DIM, p2t);
}
}

Просмотреть файл

@ -115,7 +115,8 @@ SpacerFrame::Reflow(nsIPresContext& aPresContext,
NS_RELEASE(hc);
}
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
switch (type) {
case TYPE_WORD:
if (0 != width) {

Просмотреть файл

@ -556,7 +556,8 @@ nsBodyFrame::DidSetStyleContext(nsIPresContext* aPresContext)
}
nsHTMLValue value;
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsIHTMLContent* hc;
if (NS_OK == mContent->QueryInterface(kIHTMLContentIID, (void**) &hc)) {
hc->GetAttribute(nsHTMLAtoms::marginwidth, value);

Просмотреть файл

@ -31,6 +31,7 @@
#include "nsStyleConsts.h"
#include "nsCSSRendering.h"
#include "nsIDOMHTMLHRElement.h"
#include "nsIDeviceContext.h"
static NS_DEFINE_IID(kIDOMHTMLHRElementIID, NS_IDOMHTMLHRELEMENT_IID);
@ -96,7 +97,8 @@ HRuleFrame::Paint(nsIPresContext& aPresContext,
return NS_OK;
}
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord thickness = NSIntPixelsToTwips(GetThickness(), p2t);
// Get style data
@ -222,7 +224,9 @@ HRuleFrame::Reflow(nsIPresContext& aPresContext,
// HR's do not impact the max-element-size, unless a width is specified
// otherwise tables behave badly. This makes sense they are springy.
if (nsnull != aDesiredSize.maxElementSize) {
nscoord onePixel = NSIntPixelsToTwips(1, aPresContext.GetPixelsToTwips());
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord onePixel = NSIntPixelsToTwips(1, p2t);
if (aReflowState.HaveFixedContentWidth()) {
aDesiredSize.maxElementSize->width = aReflowState.minWidth;
aDesiredSize.maxElementSize->height = onePixel;
@ -242,12 +246,15 @@ HRuleFrame::GetDesiredSize(nsIPresContext* aPresContext,
const nsHTMLReflowState& aReflowState,
nsHTMLReflowMetrics& aDesiredSize)
{
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
if (aReflowState.HaveFixedContentWidth()) {
aDesiredSize.width = aReflowState.minWidth;
}
else {
if (NS_UNCONSTRAINEDSIZE == aReflowState.maxSize.width) {
aDesiredSize.width = nscoord(aPresContext->GetPixelsToTwips());
aDesiredSize.width = nscoord(p2t);
}
else {
aDesiredSize.width = aReflowState.maxSize.width;
@ -265,7 +272,6 @@ HRuleFrame::GetDesiredSize(nsIPresContext* aPresContext,
nscoord lineHeight;
// Get the thickness of the rule (this is not css's height property)
float p2t = aPresContext->GetPixelsToTwips();
nscoord thickness = NSIntPixelsToTwips(GetThickness(), p2t);
// Compute height of "line" that hrule will layout within. Use the

Просмотреть файл

@ -319,7 +319,8 @@ nsHTMLImageLoader::GetDesiredSize(nsIPresContext* aPresContext,
aDesiredSize.height = 1;
}
else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsSize imageSize;
mImageLoader->GetSize(imageSize);
float imageWidth = imageSize.width * p2t;
@ -358,7 +359,8 @@ nsHTMLImageLoader::GetDesiredSize(nsIPresContext* aPresContext,
aDesiredSize.height = 1;
// printf ("in image loader, dummy size of 1 returned\n");
} else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsSize imageSize;
mImageLoader->GetSize(imageSize);
aDesiredSize.width = NSIntPixelsToTwips(imageSize.width, p2t);
@ -627,7 +629,8 @@ ImageFrame::Paint(nsIPresContext& aPresContext,
nsRect inner;
GetInnerArea(&aPresContext, inner);
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nsRecessedBorder recessedBorder(NSIntPixelsToTwips(1, p2t));
nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this, inner,
inner, recessedBorder, 0);
@ -649,7 +652,8 @@ ImageFrame::Paint(nsIPresContext& aPresContext,
nsRect inner;
GetInnerArea(&aPresContext, inner);
if (mImageLoader.GetLoadImageFailed()) {
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
inner.width = NSIntPixelsToTwips(image->GetWidth(), p2t);
inner.height = NSIntPixelsToTwips(image->GetHeight(), p2t);
}

Просмотреть файл

@ -245,7 +245,8 @@ nsHTMLImageLoader::GetDesiredSize(nsIPresContext* aPresContext,
aDesiredSize.height = 1;
}
else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsSize imageSize;
mImageLoader->GetSize(imageSize);
float imageWidth = imageSize.width * p2t;
@ -283,7 +284,8 @@ nsHTMLImageLoader::GetDesiredSize(nsIPresContext* aPresContext,
aDesiredSize.width = 1;
aDesiredSize.height = 1;
} else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsSize imageSize;
mImageLoader->GetSize(imageSize);
aDesiredSize.width = NSIntPixelsToTwips(imageSize.width, p2t);
@ -570,7 +572,8 @@ ImageFrame::DisplayAltFeedback(nsIPresContext& aPresContext,
nsRect inner;
GetInnerArea(&aPresContext, inner);
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nsRecessedBorder recessedBorder(NSIntPixelsToTwips(1, p2t));
nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, this, inner,
inner, recessedBorder, 0);
@ -652,7 +655,8 @@ ImageFrame::Paint(nsIPresContext& aPresContext,
nsRect inner;
GetInnerArea(&aPresContext, inner);
if (mImageLoader.GetLoadImageFailed()) {
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
inner.width = NSIntPixelsToTwips(image->GetWidth(), p2t);
inner.height = NSIntPixelsToTwips(image->GetHeight(), p2t);
}

Просмотреть файл

@ -324,7 +324,8 @@ nsObjectFrame::GetDesiredSize(nsIPresContext* aPresContext,
aMetrics.width = aMetrics.height;
}
else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
aMetrics.width = NSIntPixelsToTwips(EMBED_DEF_DIM, p2t);
}
}
@ -333,7 +334,8 @@ nsObjectFrame::GetDesiredSize(nsIPresContext* aPresContext,
aMetrics.height = aMetrics.width;
}
else {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
aMetrics.height = NSIntPixelsToTwips(EMBED_DEF_DIM, p2t);
}
}

Просмотреть файл

@ -755,19 +755,16 @@ NS_IMETHODIMP PresShell :: CreateRenderingContext(nsIFrame *aFrame,
view->GetParent(view);
}
if (nsnull != view)
{
nsIDeviceContext *dx;
nsIDeviceContext *dx;
dx = mPresContext->GetDeviceContext();
dx = mPresContext->GetDeviceContext();
if (nsnull != view)
rv = dx->CreateRenderingContext(view, aContext);
NS_RELEASE(dx);
}
else
{
rv = NS_ERROR_FAILURE;
aContext = nsnull;
}
rv = dx->CreateRenderingContext(aContext);
NS_RELEASE(dx);
return rv;
}

Просмотреть файл

@ -115,7 +115,8 @@ SpacerFrame::Reflow(nsIPresContext& aPresContext,
NS_RELEASE(hc);
}
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
switch (type) {
case TYPE_WORD:
if (0 != width) {

Просмотреть файл

@ -1462,7 +1462,8 @@ nsGenericHTMLElement::MapImageAttributesInto(nsIHTMLAttributes* aAttributes,
if (nsnull != aAttributes) {
nsHTMLValue value;
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
nsStyleSpacing* spacing = (nsStyleSpacing*)
@ -1534,7 +1535,8 @@ nsGenericHTMLElement::MapImageAlignAttributeInto(nsIHTMLAttributes* aAttributes,
aContext->GetMutableStyleData(eStyleStruct_Text);
nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetMutableStyleData(eStyleStruct_Spacing);
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStyleCoord three(NSIntPixelsToTwips(3, p2t));
switch (align) {
case NS_STYLE_TEXT_ALIGN_LEFT:
@ -1575,7 +1577,8 @@ nsGenericHTMLElement::MapImageBorderAttributesInto(nsIHTMLAttributes* aAttribute
value.SetPixelValue(2);
}
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nscoord twips = NSIntPixelsToTwips(value.GetPixelValue(), p2t);
// Fixup border-padding sums: subtract out the old size and then

Просмотреть файл

@ -405,7 +405,7 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
// marginwidth/marginheight
// XXX: see ua.css for related code in the BODY rule
float p2t;
p2t = aPresContext->GetPixelsToTwips();
aPresContext->GetScaledPixelsToTwips(p2t);
nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetMutableStyleData(eStyleStruct_Spacing);
aAttributes->GetAttribute(nsHTMLAtoms::marginwidth, value);

Просмотреть файл

@ -222,7 +222,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
}
// width: pixel, percent
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
aAttributes->GetAttribute(nsHTMLAtoms::width, value);

Просмотреть файл

@ -232,7 +232,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
nsHTMLValue value;
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
nsStyleSpacing* spacing = (nsStyleSpacing*)

Просмотреть файл

@ -245,7 +245,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
nsStyleSpacing* spacing = (nsStyleSpacing*)
aContext->GetMutableStyleData(eStyleStruct_Spacing);
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStyleCoord three(NSIntPixelsToTwips(3, p2t));
switch (align) {
case NS_STYLE_TEXT_ALIGN_LEFT:

Просмотреть файл

@ -567,7 +567,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
case NS_FORM_INPUT_CHECKBOX:
case NS_FORM_INPUT_RADIO:
{
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nscoord pad = NSIntPixelsToTwips(3, p2t);
// add left and right padding around the radio button via css

Просмотреть файл

@ -207,7 +207,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
// Note: ua.css specifies that the 'position' is absolute
if (nsnull != aAttributes) {
nsHTMLValue value;
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* position = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);

Просмотреть файл

@ -350,7 +350,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
}
// width: pixel
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
aAttributes->GetAttribute(nsHTMLAtoms::width, widthValue);

Просмотреть файл

@ -223,7 +223,6 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
NS_PRECONDITION(nsnull!=aPresContext, "bad presentation context arg");
if (nsnull != aAttributes) {
float p2t;
nsHTMLValue value;
nsStyleText* textStyle = nsnull;
@ -238,7 +237,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
break;
case eHTMLUnit_Pixel:
p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
position->mWidth.SetCoordValue(NSIntPixelsToTwips(value.GetPixelValue(), p2t));
break;
}

Просмотреть файл

@ -212,7 +212,6 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
NS_PRECONDITION(nsnull!=aPresContext, "bad presentation context arg");
if (nsnull != aAttributes) {
float p2t;
nsHTMLValue value;
nsStyleText* textStyle = nsnull;
@ -227,7 +226,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
break;
case eHTMLUnit_Pixel:
p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
position->mWidth.SetCoordValue(NSIntPixelsToTwips(value.GetPixelValue(), p2t));
break;
}

Просмотреть файл

@ -526,7 +526,8 @@ MapTableBorderInto(nsIHTMLAttributes* aAttributes,
aContext->GetMutableStyleData(eStyleStruct_Spacing);
nsStyleTable *tableStyle = (nsStyleTable*)
aContext->GetMutableStyleData(eStyleStruct_Table);
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStyleCoord twips;
if (borderValue.GetUnit() == eHTMLUnit_Empty) {
tableStyle->mRules=NS_STYLE_TABLE_RULES_ALL; // non-0 values of border imply default rules=all
@ -561,7 +562,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
if (nsnull!=aAttributes)
{
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsHTMLValue value;
// width

Просмотреть файл

@ -314,7 +314,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
// height: pixel
aAttributes->GetAttribute(nsHTMLAtoms::height, value);
if (value.GetUnit() == eHTMLUnit_Pixel) {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
nscoord twips = NSIntPixelsToTwips(value.GetPixelValue(), p2t);

Просмотреть файл

@ -265,7 +265,8 @@ MapAttributesInto(nsIHTMLAttributes* aAttributes,
// height: pixel
aAttributes->GetAttribute(nsHTMLAtoms::height, value);
if (value.GetUnit() == eHTMLUnit_Pixel) {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsStylePosition* pos = (nsStylePosition*)
aContext->GetMutableStyleData(eStyleStruct_Position);
nscoord twips = NSIntPixelsToTwips(value.GetPixelValue(), p2t);

Просмотреть файл

@ -237,7 +237,8 @@ nsHTMLFrameOuterFrame::GetDesiredSize(nsIPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredSize)
{
// <frame> processing does not use this routine, only <iframe>
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
// XXX this needs to be changed from (200,200) to a better default for inline frames
if (aReflowState.HaveFixedContentWidth()) {
@ -532,7 +533,8 @@ PRInt32 nsHTMLFrameInnerFrame::GetMarginWidth(nsIPresContext* aPresContext, nsIC
nsIHTMLContent* content = nsnull;
mContent->QueryInterface(kIHTMLContentIID, (void**) &content);
if (nsnull != content) {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsHTMLValue value;
content->GetAttribute(nsHTMLAtoms::marginwidth, value);
if (eHTMLUnit_Pixel == value.GetUnit()) {
@ -552,7 +554,8 @@ PRInt32 nsHTMLFrameInnerFrame::GetMarginHeight(nsIPresContext* aPresContext, nsI
nsIHTMLContent* content = nsnull;
mContent->QueryInterface(kIHTMLContentIID, (void**) &content);
if (nsnull != content) {
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsHTMLValue value;
content->GetAttribute(nsHTMLAtoms::marginheight, value);
if (eHTMLUnit_Pixel == value.GetUnit()) {

Просмотреть файл

@ -190,7 +190,8 @@ void nsHTMLFramesetFrame::CalculateRowCol(nsIPresContext* aPresContext, nscoord
PRInt32 free = 0;
PRInt32 percent = 0;
PRInt32 pixel = 0;
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
int i; // feeble compiler
for (i = 0; i < aNumSpecs; i++) {
@ -323,7 +324,8 @@ void nsHTMLFramesetFrame::CalculateRowCol(nsIPresContext* aPresContext, nscoord
PRInt32 nsHTMLFramesetFrame::GetBorderWidth(nsIPresContext* aPresContext)
{
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
nsHTMLValue htmlVal;
PRInt32 intVal;
nsIHTMLContent* content = nsnull;

Просмотреть файл

@ -113,7 +113,8 @@ nsCheckboxControlFrame::GetDesiredSize(nsIPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredLayoutSize,
nsSize& aDesiredWidgetSize)
{
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
#ifdef XP_PC
aDesiredWidgetSize.width = NSIntPixelsToTwips(12, p2t);
aDesiredWidgetSize.height = NSIntPixelsToTwips(12, p2t);

Просмотреть файл

@ -241,7 +241,8 @@ nsFieldSetFrame::Reflow(nsIPresContext& aPresContext,
nsReflowStatus& aStatus)
{
nsSize availSize(aReflowState.maxSize);
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
const PRInt32 minTopBorder = NSIntPixelsToTwips(MIN_TOP_BORDER, p2t);
const nsStyleSpacing* spacing =

Просмотреть файл

@ -798,7 +798,8 @@ nsFormControlFrame::CalculateSize (nsIPresContext* aPresContext, nsFormControlFr
if (nsnull != aSpec.mColSizeAttr) {
colStatus = hContent->GetAttribute(aSpec.mColSizeAttr, colAttr);
}
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
// determine the width
nscoord adjSize;

Просмотреть файл

@ -387,7 +387,8 @@ nsHTMLButtonControlFrame::ShiftContents(nsIPresContext& aPresContext, PRBool aDo
nsStyleSpacing* spacing =
(nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing); // cast deliberate
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord shift = (aDown) ? NSIntPixelsToTwips(1, p2t) : -NSIntPixelsToTwips(1, p2t);
nsStyleCoord styleCoord;
@ -573,7 +574,8 @@ nsHTMLButtonControlFrame::Paint(nsIPresContext& aPresContext,
nsMargin border;
spacing->CalcBorderFor(this, border);
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord onePixel = NSIntPixelsToTwips(1, p2t);
nsRect outside(0, 0, mRect.width, mRect.height);

Просмотреть файл

@ -82,7 +82,8 @@ nsRadioControlFrame::GetDesiredSize(nsIPresContext* aPresContext,
nsHTMLReflowMetrics& aDesiredLayoutSize,
nsSize& aDesiredWidgetSize)
{
float p2t = aPresContext->GetPixelsToTwips();
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
aDesiredWidgetSize.width = NSIntPixelsToTwips(12, p2t);
aDesiredWidgetSize.height = NSIntPixelsToTwips(12, p2t);
aDesiredLayoutSize.width = aDesiredWidgetSize.width;

Просмотреть файл

@ -873,7 +873,8 @@ nsCSSRendering::PaintBackground(nsIPresContext& aPresContext,
#endif
// Convert image dimensions into nscoord's
float p2t = aPresContext.GetPixelsToTwips();
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord tileWidth = NSIntPixelsToTwips(imageSize.width, p2t);
nscoord tileHeight = NSIntPixelsToTwips(imageSize.height, p2t);
if ((tileWidth == 0) || (tileHeight == 0)) {
@ -937,7 +938,7 @@ nsCSSRendering::PaintBackground(nsIPresContext& aPresContext,
PRIntn x = xstart;
nscoord xpos = xpostart;
for (; x <= xCount; ++x, xpos += tileWidth) {
aRenderingContext.DrawImage(image, xpos, ypos);
aRenderingContext.DrawImage(image, xpos, ypos, tileWidth, tileHeight);
}
}
aRenderingContext.PopState(clipState);

Просмотреть файл

@ -717,7 +717,9 @@ nscoord CalcLength(const nsCSSValue& aValue,
return NSToCoordRound(aValue.GetFloatValue() * (float)capHeight);
}
case eCSSUnit_Pixel:
return NSFloatPixelsToTwips(aValue.GetFloatValue(), aPresContext->GetPixelsToTwips());
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
return NSFloatPixelsToTwips(aValue.GetFloatValue(), p2t);
}
return 0;
}

Просмотреть файл

@ -399,7 +399,9 @@ NS_METHOD nsTableCellFrame::Reflow(nsIPresContext& aPresContext,
grandChild->ChildCount(childCount);
if (0!=childCount)
{
nscoord one = ((nscoord)(NSIntPixelsToTwips(1, aPresContext.GetPixelsToTwips())));
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord one = ((nscoord)(NSIntPixelsToTwips(1, p2t)));
cellWidth = 1;
if (gsDebug)
printf ("setting cellWidth=1 because it was 0 but there's some content\n");
@ -645,7 +647,9 @@ void nsTableCellFrame::MapBorderMarginPadding(nsIPresContext* aPresContext)
{
// XXX: need to get border width here
// in HTML, cell borders are always 1 pixel by default
border = NSIntPixelsToTwips(1, aPresContext->GetPixelsToTwips());
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
border = NSIntPixelsToTwips(1, p2t);
MapHTMLBorderStyle(aPresContext, *spacingData, border, tableFrame);
}

Просмотреть файл

@ -3347,7 +3347,7 @@ void nsTableFrame::MapBorderMarginPadding(nsIPresContext& aPresContext)
{
PRInt32 intValue = 0;
if (ConvertToPixelValue(border_value,1,intValue))
if (ConvertToPixelValue(border_value,1,intValue)) //XXX this is busted if this code is ever used again. MMP
border = NSIntPixelsToTwips(intValue, p2t);
}
MapHTMLBorderStyle(*spacingData,border);

Просмотреть файл

@ -717,7 +717,9 @@ nscoord CalcLength(const nsCSSValue& aValue,
return NSToCoordRound(aValue.GetFloatValue() * (float)capHeight);
}
case eCSSUnit_Pixel:
return NSFloatPixelsToTwips(aValue.GetFloatValue(), aPresContext->GetPixelsToTwips());
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
return NSFloatPixelsToTwips(aValue.GetFloatValue(), p2t);
}
return 0;
}

Просмотреть файл

@ -399,7 +399,9 @@ NS_METHOD nsTableCellFrame::Reflow(nsIPresContext& aPresContext,
grandChild->ChildCount(childCount);
if (0!=childCount)
{
nscoord one = ((nscoord)(NSIntPixelsToTwips(1, aPresContext.GetPixelsToTwips())));
float p2t;
aPresContext.GetScaledPixelsToTwips(p2t);
nscoord one = ((nscoord)(NSIntPixelsToTwips(1, p2t)));
cellWidth = 1;
if (gsDebug)
printf ("setting cellWidth=1 because it was 0 but there's some content\n");
@ -645,7 +647,9 @@ void nsTableCellFrame::MapBorderMarginPadding(nsIPresContext* aPresContext)
{
// XXX: need to get border width here
// in HTML, cell borders are always 1 pixel by default
border = NSIntPixelsToTwips(1, aPresContext->GetPixelsToTwips());
float p2t;
aPresContext->GetScaledPixelsToTwips(p2t);
border = NSIntPixelsToTwips(1, p2t);
MapHTMLBorderStyle(aPresContext, *spacingData, border, tableFrame);
}

Просмотреть файл

@ -3347,7 +3347,7 @@ void nsTableFrame::MapBorderMarginPadding(nsIPresContext& aPresContext)
{
PRInt32 intValue = 0;
if (ConvertToPixelValue(border_value,1,intValue))
if (ConvertToPixelValue(border_value,1,intValue)) //XXX this is busted if this code is ever used again. MMP
border = NSIntPixelsToTwips(intValue, p2t);
}
MapHTMLBorderStyle(*spacingData,border);