This commit is contained in:
troy%netscape.com 1998-08-27 21:09:25 +00:00
Родитель ace2adf899
Коммит 45f4b12a38
11 изменённых файлов: 44 добавлений и 30 удалений

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

@ -87,9 +87,10 @@ NS_IMETHODIMP nsDeviceContextMac :: GetScrollBarDimensions(float &aWidth, float
//------------------------------------------------------------------------
nsDrawingSurface nsDeviceContextMac :: GetDrawingSurface(nsIRenderingContext &aContext)
NS_IMETHODIMP nsDeviceContextMac :: GetDrawingSurface(nsIRenderingContext &aContext, nsDrawingSurface &aSurface)
{
return aContext.CreateDrawingSurface(nsnull);
aSurface = aContext.CreateDrawingSurface(nsnull);
return nsnull == aSurface ? NS_ERROR_OUT_OF_MEMORY : NS_OK;
}
//------------------------------------------------------------------------

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

@ -38,7 +38,7 @@ public:
NS_IMETHOD GetScrollBarDimensions(float &aWidth, float &aHeight) const;
void SetDrawingSurface(nsDrawingSurface aSurface) { mSurface = aSurface; }
virtual nsDrawingSurface GetDrawingSurface(nsIRenderingContext &aContext);
NS_IMETHOD GetDrawingSurface(nsIRenderingContext &aContext, nsDrawingSurface &aSurface);
NS_IMETHOD CheckFontExistence(const nsString& aFontName);

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

@ -99,9 +99,10 @@ NS_IMETHODIMP nsDeviceContextUnix :: GetScrollBarDimensions(float &aWidth, float
return NS_OK;
}
nsDrawingSurface nsDeviceContextUnix :: GetDrawingSurface(nsIRenderingContext &aContext)
NS_IMETHODIMP nsDeviceContextUnix :: GetDrawingSurface(nsIRenderingContext &aContext, nsDrawingSurface &aSurface)
{
return aContext.CreateDrawingSurface(nsnull);
aSurface = aContext.CreateDrawingSurface(nsnull);
return nsnull == aSurface ? NS_ERROR_OUT_OF_MEMORY : NS_OK;
}
PRUint32 nsDeviceContextUnix :: ConvertPixel(nscolor aColor)
@ -349,7 +350,7 @@ NS_IMETHODIMP nsDeviceContextUnix :: CheckFontExistence(const nsString& aFontNam
float t2d;
GetTwipsToDevUnits(t2d);
PRInt32 dpi = NSToIntRound(t2d * 1440);
Display *dpy = XtDisplay((Widget)GetNativeWidget());
Display *dpy = XtDisplay((Widget)mWidget);
int numnames = 0;
XFontStruct *fonts;
nsresult rv = NS_ERROR_FAILURE;

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

@ -69,7 +69,7 @@ public:
NS_IMETHOD GetScrollBarDimensions(float &aWidth, float &aHeight) const;
virtual nsDrawingSurface GetDrawingSurface(nsIRenderingContext &aContext);
NS_IMETHOD GetDrawingSurface(nsIRenderingContext &aContext, nsDrawingSurface &aSurface);
virtual PRUint32 ConvertPixel(nscolor aColor);

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

@ -47,9 +47,11 @@ nsFontMetricsUnix :: ~nsFontMetricsUnix()
if (nsnull != mXstring)
PR_Free(mXstring);
if (nsnull != mFontHandle)
::XUnloadFont(XtDisplay((Widget)mContext->GetNativeWidget()), mFontHandle);
if (nsnull != mFontHandle) {
nsNativeWidget widget;
mContext->GetNativeWidget(widget);
::XUnloadFont(XtDisplay((Widget)widget, mFontHandle);
}
}
NS_IMPL_ISUPPORTS(nsFontMetricsUnix, kIFontMetricsIID)
@ -72,7 +74,9 @@ nsresult nsFontMetricsUnix :: Init(const nsFont& aFont, nsIDeviceContext* aCX)
float t2d;
aCX->GetTwipsToDevUnits(t2d);
PRInt32 dpi = NSToIntRound(t2d * 1440);
Display *dpy = XtDisplay((Widget)aCX->GetNativeWidget());
nsNativeWidget widget;
aCX->GetNativeWidget(widget);
Display *dpy = XtDisplay((Widget)widget);
if (nsnull == wildstring)
return NS_ERROR_NOT_INITIALIZED;
@ -231,7 +235,9 @@ char * nsFontMetricsUnix::PickAppropriateSize(char **names, XFontStruct *fonts,
void nsFontMetricsUnix::RealizeFont()
{
mFontInfo = ::XQueryFont(XtDisplay((Widget)mContext->GetNativeWidget()), mFontHandle);
nsNativeWidget widget;
mContext->GetNativeWidget(widget);
mFontInfo = ::XQueryFont(XtDisplay((Widget)widget, mFontHandle);
float f = mContext->GetDevUnitsToAppUnits();

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

@ -107,7 +107,7 @@ public:
//that is passed in is used to create the drawing surface if there isn't
//already one in the device context. the drawing surface is then cached
//in the device context for re-use.
virtual nsDrawingSurface GetDrawingSurface(nsIRenderingContext &aContext) = 0;
NS_IMETHOD GetDrawingSurface(nsIRenderingContext &aContext, nsDrawingSurface &aSurface) = 0;
//functions for handling gamma correction of output device
NS_IMETHOD GetGamma(float &aGamms) = 0;

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

@ -74,12 +74,14 @@ NS_IMETHODIMP nsDeviceContextWin :: GetScrollBarDimensions(float &aWidth, float
return NS_OK;
}
nsDrawingSurface nsDeviceContextWin :: GetDrawingSurface(nsIRenderingContext &aContext)
NS_IMETHODIMP nsDeviceContextWin :: GetDrawingSurface(nsIRenderingContext &aContext, nsDrawingSurface &aSurface)
{
if (NULL == mSurface)
if (NULL == mSurface) {
mSurface = aContext.CreateDrawingSurface(nsnull);
}
return mSurface;
aSurface = mSurface;
return NS_OK;
}
int CALLBACK fontcallback(ENUMLOGFONT FAR *lpelf, NEWTEXTMETRIC FAR *lpntm,
@ -94,8 +96,7 @@ int CALLBACK fontcallback(ENUMLOGFONT FAR *lpelf, NEWTEXTMETRIC FAR *lpntm,
NS_IMETHODIMP nsDeviceContextWin :: CheckFontExistence(const nsString& aFontName)
{
nsNativeWidget widget;
GetNativeWidget(widget);
HWND hwnd = (HWND)widget;
HWND hwnd = (HWND)mWidget;
HDC hdc = ::GetDC(hwnd);
PRBool isthere = PR_FALSE;

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

@ -27,23 +27,23 @@ class nsDeviceContextWin : public DeviceContextImpl
public:
nsDeviceContextWin();
NS_IMETHOD Init(nsNativeWidget aWidget);
NS_IMETHOD Init(nsNativeWidget aWidget);
NS_IMETHOD GetScrollBarDimensions(float &aWidth, float &aHeight) const;
NS_IMETHOD GetScrollBarDimensions(float &aWidth, float &aHeight) const;
//get a low level drawing surface for rendering. the rendering context
//that is passed in is used to create the drawing surface if there isn't
//already one in the device context. the drawing surface is then cached
//in the device context for re-use.
virtual nsDrawingSurface GetDrawingSurface(nsIRenderingContext &aContext);
NS_IMETHOD GetDrawingSurface(nsIRenderingContext &aContext, nsDrawingSurface &aSurface);
NS_IMETHOD CheckFontExistence(const nsString& aFontName);
NS_IMETHOD CheckFontExistence(const nsString& aFontName);
NS_IMETHOD GetDepth(PRUint32& aDepth);
NS_IMETHOD GetDepth(PRUint32& aDepth);
NS_IMETHOD GetILColorSpace(IL_ColorSpace*& aColorSpace);
NS_IMETHOD GetILColorSpace(IL_ColorSpace*& aColorSpace);
NS_IMETHOD GetPaletteInfo(nsPaletteInfo&);
NS_IMETHOD GetPaletteInfo(nsPaletteInfo&);
protected:
virtual ~nsDeviceContextWin();

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

@ -334,7 +334,9 @@ PRBool nsImageWin :: Draw(nsIRenderingContext &aContext, nsDrawingSurface aSurfa
else
{
nsIDeviceContext *dx = aContext.GetDeviceContext();
nsDrawingSurfaceWin *srcds = (nsDrawingSurfaceWin *)dx->GetDrawingSurface(aContext);
nsDrawingSurface ds;
dx->GetDrawingSurface(aContext, ds);
nsDrawingSurfaceWin *srcds = (nsDrawingSurfaceWin *)ds;
HDC srcdc;
if (nsnull != srcds)
@ -418,7 +420,9 @@ PRBool nsImageWin :: Draw(nsIRenderingContext &aContext, nsDrawingSurface aSurfa
else
{
nsIDeviceContext *dx = aContext.GetDeviceContext();
nsDrawingSurfaceWin *srcds = (nsDrawingSurfaceWin *)dx->GetDrawingSurface(aContext);
nsDrawingSurface ds;
dx->GetDrawingSurface(aContext, ds);
nsDrawingSurfaceWin *srcds = (nsDrawingSurfaceWin *)ds;
HDC srcdc;
if (nsnull != srcds)

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

@ -87,9 +87,10 @@ NS_IMETHODIMP nsDeviceContextMac :: GetScrollBarDimensions(float &aWidth, float
//------------------------------------------------------------------------
nsDrawingSurface nsDeviceContextMac :: GetDrawingSurface(nsIRenderingContext &aContext)
NS_IMETHODIMP nsDeviceContextMac :: GetDrawingSurface(nsIRenderingContext &aContext, nsDrawingSurface &aSurface)
{
return aContext.CreateDrawingSurface(nsnull);
aSurface = aContext.CreateDrawingSurface(nsnull);
return nsnull == aSurface ? NS_ERROR_OUT_OF_MEMORY : NS_OK;
}
//------------------------------------------------------------------------

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

@ -38,7 +38,7 @@ public:
NS_IMETHOD GetScrollBarDimensions(float &aWidth, float &aHeight) const;
void SetDrawingSurface(nsDrawingSurface aSurface) { mSurface = aSurface; }
virtual nsDrawingSurface GetDrawingSurface(nsIRenderingContext &aContext);
NS_IMETHOD GetDrawingSurface(nsIRenderingContext &aContext, nsDrawingSurface &aSurface);
NS_IMETHOD CheckFontExistence(const nsString& aFontName);