зеркало из https://github.com/mozilla/gecko-dev.git
Bug 518585 - Fix the cairo Qt backend to build. r=pavlov
This commit is contained in:
Родитель
0f44161868
Коммит
be6f02b857
|
@ -7363,7 +7363,7 @@ if test "$MOZ_TREE_CAIRO"; then
|
||||||
CAIRO_FT_CFLAGS="$FT2_CFLAGS"
|
CAIRO_FT_CFLAGS="$FT2_CFLAGS"
|
||||||
fi
|
fi
|
||||||
if test "$MOZ_WIDGET_TOOLKIT" = "qt"; then
|
if test "$MOZ_WIDGET_TOOLKIT" = "qt"; then
|
||||||
QPAINTER_SURFACE_FEATURE="#define CAIRO_HAS_QPAINTER_SURFACE 1"
|
QT_SURFACE_FEATURE="#define CAIRO_HAS_QT_SURFACE 1"
|
||||||
fi
|
fi
|
||||||
if test "$MOZ_WIDGET_TOOLKIT" = "cocoa"; then
|
if test "$MOZ_WIDGET_TOOLKIT" = "cocoa"; then
|
||||||
QUARTZ_SURFACE_FEATURE="#define CAIRO_HAS_QUARTZ_SURFACE 1"
|
QUARTZ_SURFACE_FEATURE="#define CAIRO_HAS_QUARTZ_SURFACE 1"
|
||||||
|
@ -7452,7 +7452,7 @@ if test "$MOZ_TREE_CAIRO"; then
|
||||||
AC_SUBST(WIN32_FONT_FEATURE)
|
AC_SUBST(WIN32_FONT_FEATURE)
|
||||||
AC_SUBST(QUARTZ_FONT_FEATURE)
|
AC_SUBST(QUARTZ_FONT_FEATURE)
|
||||||
AC_SUBST(PNG_FUNCTIONS_FEATURE)
|
AC_SUBST(PNG_FUNCTIONS_FEATURE)
|
||||||
AC_SUBST(QPAINTER_SURFACE_FEATURE)
|
AC_SUBST(QT_SURFACE_FEATURE)
|
||||||
|
|
||||||
if test "$_WIN32_MSVC"; then
|
if test "$_WIN32_MSVC"; then
|
||||||
MOZ_CAIRO_LIBS='$(DEPTH)/gfx/cairo/cairo/src/mozcairo.lib $(DEPTH)/gfx/cairo/libpixman/src/mozlibpixman.lib'
|
MOZ_CAIRO_LIBS='$(DEPTH)/gfx/cairo/cairo/src/mozcairo.lib $(DEPTH)/gfx/cairo/libpixman/src/mozlibpixman.lib'
|
||||||
|
|
|
@ -30,8 +30,6 @@ cairo-version-fixes.patch: fix up cairo-version.c/cairo-version.h for in-place b
|
||||||
|
|
||||||
win32-ddb-dib.patch: fix for bug 455513; not upstream yet pending feebdack
|
win32-ddb-dib.patch: fix for bug 455513; not upstream yet pending feebdack
|
||||||
|
|
||||||
qpainter-type.patch: add SURFACE_TYPE_QPAINTER to cairo.h
|
|
||||||
|
|
||||||
wince-fixes.patch: stubs out win32 functions we use but are not supported on win32. Also implements ExtSelectClipRgn in terms of other functions available on wince.
|
wince-fixes.patch: stubs out win32 functions we use but are not supported on win32. Also implements ExtSelectClipRgn in terms of other functions available on wince.
|
||||||
|
|
||||||
win32-vertically-offset-glyph.patch: bug 454098; vertical positioning errors when drawing glyph runs including delta-y offsets on screen via GDI
|
win32-vertically-offset-glyph.patch: bug 454098; vertical positioning errors when drawing glyph runs including delta-y offsets on screen via GDI
|
||||||
|
|
|
@ -79,7 +79,7 @@
|
||||||
|
|
||||||
@DIRECTFB_SURFACE_FEATURE@
|
@DIRECTFB_SURFACE_FEATURE@
|
||||||
|
|
||||||
@QPAINTER_SURFACE_FEATURE@
|
@QT_SURFACE_FEATURE@
|
||||||
|
|
||||||
@DDRAW_SURFACE_FEATURE@
|
@DDRAW_SURFACE_FEATURE@
|
||||||
|
|
||||||
|
|
|
@ -842,7 +842,7 @@ struct PatternToBrushConverter {
|
||||||
cairo_surface_pattern_t *spattern = (cairo_surface_pattern_t*) pattern;
|
cairo_surface_pattern_t *spattern = (cairo_surface_pattern_t*) pattern;
|
||||||
cairo_surface_t *surface = spattern->surface;
|
cairo_surface_t *surface = spattern->surface;
|
||||||
|
|
||||||
if (surface->type == CAIRO_SURFACE_TYPE_QPAINTER) {
|
if (surface->type == CAIRO_SURFACE_TYPE_QT) {
|
||||||
cairo_qpainter_surface_t *qs = (cairo_qpainter_surface_t*) surface;
|
cairo_qpainter_surface_t *qs = (cairo_qpainter_surface_t*) surface;
|
||||||
|
|
||||||
if (qs->image) {
|
if (qs->image) {
|
||||||
|
@ -1148,7 +1148,7 @@ _cairo_qpainter_fast_fill (cairo_qpainter_surface_t *qs,
|
||||||
|
|
||||||
if (source->type == CAIRO_PATTERN_TYPE_SURFACE) {
|
if (source->type == CAIRO_PATTERN_TYPE_SURFACE) {
|
||||||
cairo_surface_pattern_t *spattern = (cairo_surface_pattern_t*) source;
|
cairo_surface_pattern_t *spattern = (cairo_surface_pattern_t*) source;
|
||||||
if (spattern->surface->type == CAIRO_SURFACE_TYPE_QPAINTER) {
|
if (spattern->surface->type == CAIRO_SURFACE_TYPE_QT) {
|
||||||
cairo_qpainter_surface_t *p = (cairo_qpainter_surface_t*) spattern->surface;
|
cairo_qpainter_surface_t *p = (cairo_qpainter_surface_t*) spattern->surface;
|
||||||
|
|
||||||
qsSrc_image = p->image;
|
qsSrc_image = p->image;
|
||||||
|
@ -1504,7 +1504,7 @@ _cairo_qpainter_surface_composite (cairo_operator_t op,
|
||||||
qimg_d.reset(qimg);
|
qimg_d.reset(qimg);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (surface->type == CAIRO_SURFACE_TYPE_QPAINTER) {
|
if (surface->type == CAIRO_SURFACE_TYPE_QT) {
|
||||||
cairo_qpainter_surface_t *qsrc = (cairo_qpainter_surface_t*) surface;
|
cairo_qpainter_surface_t *qsrc = (cairo_qpainter_surface_t*) surface;
|
||||||
|
|
||||||
if (qsrc->image)
|
if (qsrc->image)
|
||||||
|
@ -1557,7 +1557,7 @@ _cairo_qpainter_surface_flush (void *abstract_surface)
|
||||||
**/
|
**/
|
||||||
|
|
||||||
static const cairo_surface_backend_t cairo_qpainter_surface_backend = {
|
static const cairo_surface_backend_t cairo_qpainter_surface_backend = {
|
||||||
CAIRO_SURFACE_TYPE_QPAINTER,
|
CAIRO_SURFACE_TYPE_QT,
|
||||||
_cairo_qpainter_surface_create_similar,
|
_cairo_qpainter_surface_create_similar,
|
||||||
_cairo_qpainter_surface_finish,
|
_cairo_qpainter_surface_finish,
|
||||||
_cairo_qpainter_surface_acquire_source_image,
|
_cairo_qpainter_surface_acquire_source_image,
|
||||||
|
@ -1776,7 +1776,7 @@ cairo_qpainter_surface_get_qpainter (cairo_surface_t *surface)
|
||||||
{
|
{
|
||||||
cairo_qpainter_surface_t *qs = (cairo_qpainter_surface_t*) surface;
|
cairo_qpainter_surface_t *qs = (cairo_qpainter_surface_t*) surface;
|
||||||
|
|
||||||
if (surface->type != CAIRO_SURFACE_TYPE_QPAINTER)
|
if (surface->type != CAIRO_SURFACE_TYPE_QT)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return qs->p;
|
return qs->p;
|
||||||
|
@ -1787,7 +1787,7 @@ cairo_qpainter_surface_get_qimage (cairo_surface_t *surface)
|
||||||
{
|
{
|
||||||
cairo_qpainter_surface_t *qs = (cairo_qpainter_surface_t*) surface;
|
cairo_qpainter_surface_t *qs = (cairo_qpainter_surface_t*) surface;
|
||||||
|
|
||||||
if (surface->type != CAIRO_SURFACE_TYPE_QPAINTER)
|
if (surface->type != CAIRO_SURFACE_TYPE_QT)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return qs->image;
|
return qs->image;
|
||||||
|
@ -1798,7 +1798,7 @@ cairo_qpainter_surface_get_image (cairo_surface_t *surface)
|
||||||
{
|
{
|
||||||
cairo_qpainter_surface_t *qs = (cairo_qpainter_surface_t*) surface;
|
cairo_qpainter_surface_t *qs = (cairo_qpainter_surface_t*) surface;
|
||||||
|
|
||||||
if (surface->type != CAIRO_SURFACE_TYPE_QPAINTER)
|
if (surface->type != CAIRO_SURFACE_TYPE_QT)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return (cairo_surface_t*) qs->image_equiv;
|
return (cairo_surface_t*) qs->image_equiv;
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
|
|
||||||
#include <cairo.h>
|
#include <cairo.h>
|
||||||
|
|
||||||
#if CAIRO_HAS_QPAINTER_SURFACE
|
#if CAIRO_HAS_QT_SURFACE
|
||||||
|
|
||||||
class QPainter;
|
class QPainter;
|
||||||
class QImage;
|
class QImage;
|
||||||
|
@ -70,10 +70,10 @@ cairo_qpainter_surface_get_qimage (cairo_surface_t *surface);
|
||||||
|
|
||||||
CAIRO_END_DECLS
|
CAIRO_END_DECLS
|
||||||
|
|
||||||
#else /* CAIRO_HAS_QPAINTER_SURFACE */
|
#else /* CAIRO_HAS_QT_SURFACE */
|
||||||
|
|
||||||
# error Cairo was not compiled with support for the QPainter backend
|
# error Cairo was not compiled with support for the QPainter backend
|
||||||
|
|
||||||
#endif /* CAIRO_HAS_QPAINTER_SURFACE */
|
#endif /* CAIRO_HAS_QT_SURFACE */
|
||||||
|
|
||||||
#endif /* CAIRO_QPAINTER_H_ */
|
#endif /* CAIRO_QPAINTER_H_ */
|
||||||
|
|
|
@ -2534,7 +2534,7 @@ _cairo_pattern_is_opaque (const cairo_pattern_t *abstract_pattern);
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
CAIRO_PATTERN_ACQUIRE_NONE = 0x0,
|
CAIRO_PATTERN_ACQUIRE_NONE = 0x0,
|
||||||
CAIRO_PATTERN_ACQUIRE_NO_REFLECT = 0x1,
|
CAIRO_PATTERN_ACQUIRE_NO_REFLECT = 0x1
|
||||||
};
|
};
|
||||||
cairo_private cairo_int_status_t
|
cairo_private cairo_int_status_t
|
||||||
_cairo_pattern_acquire_surface (const cairo_pattern_t *pattern,
|
_cairo_pattern_acquire_surface (const cairo_pattern_t *pattern,
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
diff --git a/gfx/cairo/cairo/src/cairo.h b/gfx/cairo/cairo/src/cairo.h
|
|
||||||
--- a/gfx/cairo/cairo/src/cairo.h
|
|
||||||
+++ b/gfx/cairo/cairo/src/cairo.h
|
|
||||||
@@ -1875,6 +1875,7 @@
|
|
||||||
* @CAIRO_SURFACE_TYPE_OS2: The surface is of type os2
|
|
||||||
* @CAIRO_SURFACE_TYPE_WIN32_PRINTING: The surface is a win32 printing surface
|
|
||||||
* @CAIRO_SURFACE_TYPE_QUARTZ_IMAGE: The surface is of type quartz_image
|
|
||||||
+ * @CAIRO_SURFACE_TYPE_QPAINTER: The surface is of type qpainter
|
|
||||||
*
|
|
||||||
* #cairo_surface_type_t is used to describe the type of a given
|
|
||||||
* surface. The surface types are also known as "backends" or "surface
|
|
||||||
@@ -1913,7 +1914,8 @@
|
|
||||||
CAIRO_SURFACE_TYPE_SVG,
|
|
||||||
CAIRO_SURFACE_TYPE_OS2,
|
|
||||||
CAIRO_SURFACE_TYPE_WIN32_PRINTING,
|
|
||||||
- CAIRO_SURFACE_TYPE_QUARTZ_IMAGE
|
|
||||||
+ CAIRO_SURFACE_TYPE_QUARTZ_IMAGE,
|
|
||||||
+ CAIRO_SURFACE_TYPE_QPAINTER
|
|
||||||
} cairo_surface_type_t;
|
|
||||||
|
|
||||||
cairo_public cairo_surface_type_t
|
|
|
@ -59,7 +59,7 @@
|
||||||
#include "gfxDirectFBSurface.h"
|
#include "gfxDirectFBSurface.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CAIRO_HAS_QPAINTER_SURFACE
|
#ifdef CAIRO_HAS_QT_SURFACE
|
||||||
#include "gfxQPainterSurface.h"
|
#include "gfxQPainterSurface.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -180,8 +180,8 @@ gfxASurface::Wrap (cairo_surface_t *csurf)
|
||||||
result = new gfxDirectFBSurface(csurf);
|
result = new gfxDirectFBSurface(csurf);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef CAIRO_HAS_QPAINTER_SURFACE
|
#ifdef CAIRO_HAS_QT_SURFACE
|
||||||
else if (stype == CAIRO_SURFACE_TYPE_QPAINTER) {
|
else if (stype == CAIRO_SURFACE_TYPE_QT) {
|
||||||
result = new gfxQPainterSurface(csurf);
|
result = new gfxQPainterSurface(csurf);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -363,6 +363,9 @@ gfxQtPlatform::GetFTLibrary()
|
||||||
return gPlatformFTLibrary;
|
return gPlatformFTLibrary;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void gfxQtPlatform::InitDisplayCaps()
|
||||||
|
{ }
|
||||||
|
|
||||||
FontFamily *
|
FontFamily *
|
||||||
gfxQtPlatform::FindFontFamily(const nsAString& aName)
|
gfxQtPlatform::FindFontFamily(const nsAString& aName)
|
||||||
{
|
{
|
||||||
|
|
Загрузка…
Ссылка в новой задаче