Misc thebes/cairo win32 compilation fixes

This commit is contained in:
vladimir%pobox.com 2006-01-13 15:57:59 +00:00
Родитель 7d8320ff17
Коммит 8eb88543a9
8 изменённых файлов: 35 добавлений и 44 удалений

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

@ -37,6 +37,8 @@
#ifndef CAIRO_FEATURES_H
#define CAIRO_FEATURES_H
#include "cairo-platform.h"
#ifdef __cplusplus
# define CAIRO_BEGIN_DECLS extern "C" {
# define CAIRO_END_DECLS }

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

@ -49,10 +49,19 @@ LIBXUL_LIBRARY = 1
REQUIRES = glitz
CSRCS = \
glitz_wgl_context.c \
glitz_wgl_drawable.c \
glitz_wgl_extension.c \
glitz_wgl_format.c \
glitz_wgl_info.c \
glitz_wgl_pbuffer.c \
$(NULL)
LOCAL_INCLUDES += -I$(srcdir) -I$(srcdir)/..
EXPORTS = glitz-wgl.h
FORCE_STATIC_LIB = 1
FORCE_USE_PIC = 1
include $(topsrcdir)/config/rules.mk

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

@ -61,8 +61,6 @@
#include <stdlib.h>
PRInt32 nsThebesDrawingSurface::mGlitzMode = -1;
NS_IMPL_ISUPPORTS1(nsThebesDrawingSurface, nsIDrawingSurface)
nsThebesDrawingSurface::nsThebesDrawingSurface()
@ -328,23 +326,3 @@ static nsresult ConvertPixmapsGTK(GdkPixmap* aPmBlack, GdkPixmap* aPmWhite,
return NS_OK;
}
#endif
PRBool
nsThebesDrawingSurface::UseGlitz()
{
#ifdef MOZ_ENABLE_GLITZ
if (mGlitzMode == -1) {
if (getenv("MOZ_GLITZ")) {
glitz_glx_init (NULL);
mGlitzMode = 1;
} else {
mGlitzMode = 0;
}
}
if (mGlitzMode)
return PR_TRUE;
#endif
return PR_FALSE;
}

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

@ -95,9 +95,6 @@ public:
nsresult PushFilter(const nsIntRect& aRect, PRBool aAreaIsOpaque, float aOpacity);
void PopFilter();
static PRBool UseGlitz();
static PRInt32 mGlitzMode;
private:
nsRefPtr<gfxASurface> mSurface;
nsThebesDeviceContext *mDC;

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

@ -47,6 +47,8 @@
#include "gfxContext.h"
#include "gfxPattern.h"
#include "gfxPlatform.h"
#ifdef MOZ_ENABLE_GTK2
#include <gdk/gdkx.h>
#include "gfxXlibSurface.h"
@ -193,7 +195,7 @@ nsThebesImage::Optimize(nsIDeviceContext* aContext)
if (!mOptSurface) {
#ifdef MOZ_ENABLE_GTK2
if (!nsThebesDrawingSurface::UseGlitz()) {
if (!gfxPlatform::GetPlatform()->UseGlitz()) {
XRenderPictFormat *fmt = nsnull;
if (mRealAlphaDepth == 0) {

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

@ -61,6 +61,8 @@
#include <sys/stat.h>
#include <fcntl.h>
#include "gfxPlatform.h"
#ifdef XP_WIN
#include "gfxWindowsSurface.h"
#endif
@ -747,7 +749,7 @@ void*
nsThebesRenderingContext::GetNativeGraphicData(GraphicDataType aType)
{
if (aType == NATIVE_GDK_DRAWABLE &&
!nsThebesDrawingSurface::UseGlitz())
!gfxPlatform::GetPlatform()->UseGlitz())
{
if (mWidget && mDrawingSurface == mLocalDrawingSurface)
return mWidget->GetNativeData(NS_NATIVE_WIDGET);

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

@ -61,9 +61,7 @@ public:
/**
* Force the glitz state to on or off
*/
static void SetUseGlitz(PRBool use) {
mGlitzState = (use ? 1 : 0);
}
static void SetUseGlitz(PRBool use);
/**
* Create an offscreen surface of the given dimensions
@ -92,9 +90,6 @@ public:
protected:
gfxPlatform() { }
~gfxPlatform() { }
static gfxPlatform *mPlatform;
static int mGlitzState;
};
#endif /* GFX_PLATFORM_H */

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

@ -49,44 +49,50 @@
#include <stdlib.h>
#endif
NS_EXPORT gfxPlatform *gfxPlatform::mPlatform = nsnull;
NS_EXPORT int gfxPlatform::mGlitzState = -1;
gfxPlatform *gPlatform = nsnull;
int gGlitzState = -1;
gfxPlatform*
gfxPlatform::GetPlatform()
{
if (!mPlatform) {
if (!gPlatform) {
#if defined(XP_WIN)
// mPlatform = new gfxPlatformWindows;
// gPlatform = new gfxPlatformWindows;
return nsnull;
#elif defined(XP_MACOSX)
mPlatform = new gfxPlatformMac;
gPlatform = new gfxPlatformMac;
#elif defined(MOZ_WIDGET_GTK2)
mPlatform = new gfxPlatformGtk;
gPlatform = new gfxPlatformGtk;
#endif
}
return mPlatform;
return gPlatform;
}
PRBool
gfxPlatform::UseGlitz()
{
#ifdef MOZ_ENABLE_GLITZ
if (mGlitzState == -1) {
if (gGlitzState == -1) {
if (getenv("MOZ_GLITZ"))
mGlitzState = 1;
gGlitzState = 1;
else
mGlitzState = 0;
gGlitzState = 0;
}
if (mGlitzState)
if (gGlitzState)
return PR_TRUE;
#endif
return PR_FALSE;
}
void
gfxPlatform::SetUseGlitz(PRBool use)
{
gGlitzState = (use ? 1 : 0);
}
nsresult
gfxPlatform::GetFontList(const nsACString& aLangGroup,
const nsACString& aGenericFamily,