Commit Graph

655 Commits

Author SHA1 Message Date
Robert O'Callahan
26183d9b22 Bug 717178. Part 3 alternative: don't put Win32 cairo_font_face_ts into the font-face cache if they were created with an explicit HFONT. r=jrmuizel
--HG--
extra : rebase_source : 8bbba7328f422807de458cb64e0e5ce4e8060b31
2013-01-02 19:18:53 +13:00
Adrian Johnson
d6fa6eb875 win32: fix font_face hashing
win32: Use a font_face hash table to provide unique font faces

win32-font: Improve static data reset function

Bug 717178. Part 2: Import changesets eb29a25d, 6e3e3291 and 101fab7c from upstream.
======

From 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d Mon Sep 17 00:00:00 2001
The hashtable is guaranteed to only contain font faces which are
currently referenced, hence there is no need to remove any font face
when it is reset (just like for toy-font).

This makes the function simpler and fixes the assertion

Assertion failed: predicate != NULL, file cairo-hash.c, line 373

hit by multiple tests (the first one being "clear").

See https://bugs.freedesktop.org/show_bug.cgi?id=38049

======

From eb29a25dd6dddc511388bf883c9b95843ecdb823 Mon Sep 17 00:00:00 2001
Similar to the freetype and toy font backends, use a hash table
to map logfont,hfont to font faces.

This fixes the multiple embedding of the same font in PDF.

https://bugs.freedesktop.org/show_bug.cgi?id=24849

======

From 6e3e329170ab4b96bc0d587c8071e869e228e758 Mon Sep 17 00:00:00 2001
some bugs were discovered while testing with firefox

======

--HG--
extra : rebase_source : 6bbb299194f2296522e36bfeb68d1e8ebc2d1f17
2010-11-18 12:37:45 +00:00
Ms2ger
020367e2ed Backout bug 814718, bug 717178 for exceptions in test_text.html on Windows. 2013-01-01 13:34:34 +01:00
Robert O'Callahan
68b1e38971 bug 717178. Part 2.5: Make cairo_win32_font_face_create_for_logfontw_hfont take ownership of the HFONT. r=jrmuizel 2013-01-01 17:53:32 +13:00
Andrea Canciani
2a69d0bca5 win32-font: Improve static data reset function
Bug 717178. Part 2: Import changesets eb29a25d, 6e3e3291 and 101fab7c from upstream.
======

From 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d Mon Sep 17 00:00:00 2001
The hashtable is guaranteed to only contain font faces which are
currently referenced, hence there is no need to remove any font face
when it is reset (just like for toy-font).

This makes the function simpler and fixes the assertion

Assertion failed: predicate != NULL, file cairo-hash.c, line 373

hit by multiple tests (the first one being "clear").

See https://bugs.freedesktop.org/show_bug.cgi?id=38049

======

From eb29a25dd6dddc511388bf883c9b95843ecdb823 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Tue, 16 Nov 2010 13:18:39 +0000
Subject: win32: Use a font_face hash table to provide unique font faces

Similar to the freetype and toy font backends, use a hash table
to map logfont,hfont to font faces.

This fixes the multiple embedding of the same font in PDF.

https://bugs.freedesktop.org/show_bug.cgi?id=24849

======

From 6e3e329170ab4b96bc0d587c8071e869e228e758 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 18 Nov 2010 12:37:45 +0000
Subject: win32: fix font_face hashing

some bugs were discovered while testing with firefox

======
2011-06-15 09:37:36 +00:00
George Wright
3d5d406b7a Bug 815795 - Fix an integer overflow by casting unit_x to int64_t. From upstream commit de60e2e0e3eb6084f8f14b63f25b3cbfb r=jrmuizel 2012-12-19 18:10:07 -05:00
Justin Lebar
822f4ee221 Bug 820540 - Build more things with -funwind-tables when DMD is enabled on ARM. r=glandium
This allows our backtraces to trace into more files.

As part of this fix, fix typo in gfx/cairo/cairo/src/Makefile.in introduced in bug 785422.
2012-12-12 11:15:35 -05:00
Tobias Netzel
24a9aa1a8b Bug 817045 - Note and patch in gfx/cairo. r=jmuizelaar 2012-12-03 20:26:16 -05:00
Tobias Netzel
f566ca9252 Bug 817045 - Enable libpixman VMX acceleration. r=jmuizelaar 2012-12-03 20:26:16 -05:00
Joe Drew
4798f49c68 Bug 813124 - Make Cairo's image surface correctly handle having multiple clip paths set on the context. r=jrmuizel,roc 2012-11-23 11:57:10 -05:00
Nicolas Silva
0b59dd32e0 b=811115 - remove MOZ_EGL_XRENDER_COMPOSITE dead code. r=jgilbert 2012-11-18 16:47:57 +01:00
Jonathan Kew
e7e8318d60 bug 715798 pt 2.1 - add patch for huge emoji support to the gfx/cairo directory (NPOTB) 2012-10-23 10:05:53 +01:00
Jonathan Kew
ce6d3dbc61 bug 715798 pt 2 - fall back to show_text_glyphs even at huge sizes if scaled_font_glyph_path didn't work. r=jrmuizel 2012-10-23 10:04:32 +01:00
Jonathan Kew
4731df6277 bug 715798 pt 1.1 - add patch for Apple color emoji support to the gfx/cairo directory (NPOTB) 2012-10-23 10:03:12 +01:00
Jonathan Kew
8aeaa0bdc0 bug 715798 pt 1 - support Apple Color Emoji font in cairo-quartz backend. r=jrmuizel 2012-10-23 09:58:13 +01:00
Robert O'Callahan
f8e635ee8b Backing out 20279718e3c7 (bug 717178 part 2) for test bustage on a CLOSED TREE 2012-10-23 16:31:12 +13:00
Adrian Johnson ext:(%2C%20Andrea%20Canciani%20%3Cranma42%40gmail.com%3E)
5570709872 Bug 717178. Part 2: Import changesets eb29a25d, 6e3e3291 and 101fab7c from upstream. r=jrmuizel
======

From eb29a25dd6dddc511388bf883c9b95843ecdb823 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Tue, 16 Nov 2010 13:18:39 +0000
Subject: win32: Use a font_face hash table to provide unique font faces

Similar to the freetype and toy font backends, use a hash table
to map logfont,hfont to font faces.

This fixes the multiple embedding of the same font in PDF.

https://bugs.freedesktop.org/show_bug.cgi?id=24849

======

From 6e3e329170ab4b96bc0d587c8071e869e228e758 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 18 Nov 2010 12:37:45 +0000
Subject: win32: fix font_face hashing

some bugs were discovered while testing with firefox

======

From 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d Mon Sep 17 00:00:00 2001
From: Andrea Canciani <ranma42@gmail.com>
Date: Wed, 15 Jun 2011 09:37:36 +0000
Subject: win32-font: Improve static data reset function

The hashtable is guaranteed to only contain font faces which are
currently referenced, hence there is no need to remove any font face
when it is reset (just like for toy-font).

This makes the function simpler and fixes the assertion

Assertion failed: predicate != NULL, file cairo-hash.c, line 373

hit by multiple tests (the first one being "clear").

See https://bugs.freedesktop.org/show_bug.cgi?id=38049

======

--HG--
extra : rebase_source : 73172c901f80e2f6e9f52035e1d6eab2a220642f
2012-10-23 12:43:29 +13:00
Robert O'Callahan
02c8c59d34 Bug 717178. Part 1: Don't crash when passing a nil scaled-font to _name_tables_match. r=jfkthame
--HG--
extra : rebase_source : ba6ada662a871fbf3bdd2ee3b2a8f031fd213e4b
2012-10-23 12:37:28 +13:00
Brad Lassey
c3e21676ef bug 790139 - crash in FT2FontEntry::CreateFontEntry when visiting any site in CM10 r=jfkthame 2012-10-05 17:46:02 -04:00
Adrian Johnson
465ac0f4ff From: Adrian Johnson <ajohnson@redneon.com>
Bug 691061 - Don't use patterns with padded images. r=jmuizelaar
2012-09-21 15:19:01 +12:00
Adrian Johnson
bfcf0b504f From: Adrian Johnson <ajohnson@redneon.com>
Bug 691061 - Check if EXTEND_PAD group can be painted with EXTEND_NONE. r=jmuizelaar
2012-09-21 15:18:42 +12:00
Robert O'Callahan
cfed756adb Cairo patch update for bug 792903. DONTBUILD 2012-09-26 21:34:30 +12:00
Robert O'Callahan
bd1fa22c22 Bug 792903. Prevent num_stops from being set to zero. r=bas 2012-09-26 12:19:32 +12:00
Jeff Muizelaar
79a885bcca Bug 792993. cairo: use proper loop bounds in make_opaque(). r=nsilva
The new version of the code is more obviously correct. Hopefully
the compiler is smart enough to turn it into something fast.

--HG--
extra : rebase_source : bdf2f00c5eae5d5a1bf6dff223b1b05f561384ab
2012-09-25 18:59:12 -04:00
Bas Schouten
fe33b070f1 Bug 784382 - Part 1: Use new ID2D1DeviceContext interface for subpixel AA with clipping in cairo. r=jrmuizel 2012-09-25 20:14:53 +02:00
Robert O'Callahan
84ee63f569 Bug 468568. Part 0.5: _cairo_dwrite_scaled_font_create_win32_scaled_font should check font names to ensure that GDI gave us back the correct font. r=jfkthame
--HG--
extra : rebase_source : 2411f4946cb5d95900bf413546db508474448ab5
2012-09-17 16:25:24 +12:00
Jeff Muizelaar
7450ee2605 Bug 788794. Use BitBlt to do SOURCE and OVER from RGB24 to ARGB32. r=nical
This seems to give a speed up of about 23x for this operation.

--HG--
extra : transplant_source : %AA%E9T%24%E5%97KR%A2%FC%E2%DB%A3ga%5C%82K%7DW
2012-09-12 22:57:25 -04:00
Nathan Froyd
185cba8649 Bug 785422 - remove -pedantic from cairo OS_CFLAGS; r=BenWa 2012-08-24 12:38:40 -04:00
Gregory Szorc
7f6d1d0109 Bug 776077 - Silence hundreds of conversion errors in cairo; r=jmuizelaar
Cairo is a 3rd party project and we decided in bug that silencing the
warnings was easier than patching.

--HG--
extra : rebase_source : aa7a22b208e62d0d84d1b4a6e5c58d366d957bb9
2012-08-20 14:04:42 -07:00
Karl Tomlinson
fb57b9638d b=709477 use precise region extents instead of loose clip extents for clip rect r=jrmuizel 2012-08-18 08:43:21 +12:00
Siddharth Agarwal
41ac5ef842 Bug 780421 - Use $(PYTHON) to run config.status. r=glandium 2012-08-05 12:42:57 +02:00
Mike Hommey
6173fa297f Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Mike Hommey
4e998b1d36 Backout changeset 2ef51674316a (bug 774032 bonus) for various Mochitest bustages on a CLOSED TREE 2012-08-04 10:38:41 +02:00
Mike Hommey
17fb6cad2d Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 08:48:56 +02:00
Mike Hommey
98cf7cdf43 Bug 774032 part 6 - Replace autoconf handling of config files and headers with our own. r=ted 2012-08-04 08:47:28 +02:00
Robert O'Callahan
877d5999b3 Bug 768775. Improve the precision of the calculation of the number of stops that need to be added to handle 'repeat' and 'reflect', when we're filling a path. r=bas 2012-07-25 21:35:28 +12:00
Jeff Muizelaar
091c38ffda Bug 683243. Dither 16 bit gradients. r=BenWa
This does a 2x2 ordered dither in the same way that Skia does.

One of the things I'm currently unhappy with is that it duplicates
the gradient walker code for 16 bits. We could turn it into a large
macro that does the appropriate things for 16 bit and 32 bit
versions, but that's not particularly appealing.
2012-07-04 11:42:29 -04:00
Jeff Muizelaar
3770f17103 Bug 683243. Add a 16 bit pipeline. r=BenWa
This is to support dithering 16 bit gradients with decent performance.
2012-07-11 12:58:17 -04:00
Phil Ringnalda
cfef187ad4 Back out 0c1f34eb5b93 and 0f987ac28e8c (bug 683243) for Android R2 bustage 2012-07-12 22:27:34 -07:00
Jeff Muizelaar
40983c8443 Bug 683243. Dither 16 bit gradients. r=BenWa
This does a 2x2 ordered dither in the same way that Skia does.

One of the things I'm currently unhappy with is that it duplicates
the gradient walker code for 16 bits. We could turn it into a large
macro that does the appropriate things for 16 bit and 32 bit
versions, but that's not particularly appealing.

--HG--
extra : rebase_source : ef89cd53d68166db825bb993e1262db342ba9b5d
2012-07-04 11:42:29 -04:00
Jeff Muizelaar
6d431e1711 Bug 683243. Add a 16 bit pipeline. r=BenWa
This is to support dithering 16 bit gradients with decent performance.

--HG--
extra : rebase_source : cffa90d5959211c8c1953867d85c7799ed52d662
2012-07-11 12:58:17 -04:00
Robert O'Callahan
221cda4051 Bug 768348. Avoid ExtCreatePen failures by avoiding rounding widths and dash lengths down to zero. r=jrmuizel
--HG--
extra : rebase_source : 5231a02af67486dbd0e663d3756ad60fe1483157
2012-07-02 11:49:34 +12:00
Jeff Muizelaar
e5ef842a1b Bug 757878. Add a fast path for 8888_over_565 with NEON. r=bgirard,joe
Add a 2 pass implementation of this op. This uses Siarhei Siamashka's
idea mentioned here:
http://lists.freedesktop.org/archives/pixman/2011-April/001156.html
2012-05-17 19:23:53 -04:00
Gervase Markham
d4eb7d5782 Bug 759095 - upgrade license to MPL 2, and other licensing cleanups.
--HG--
extra : rebase_source : da55a4937383eda2baf7c9a362501da8ee664146
2012-05-29 16:52:43 +01:00
Benoit Girard
5da6ad9ba8 Bug 681114 - Diagnostic patch to crash earlier when cairo_array is corrupted. r=jmuizelaar
--HG--
rename : b2g/config/mozconfigs/linux32/nightly => b2g/config/mozconfigs/linux32/debug
rename : mobile/android/config/mozconfigs/android-x86/debug => mobile/android/config/mozconfigs/android/debug
rename : mobile/android/config/mozconfigs/android-armv6/l10n-nightly => mobile/android/config/mozconfigs/android/l10n-nightly
rename : mobile/android/config/mozconfigs/android-x86/l10n-release => mobile/android/config/mozconfigs/android/l10n-release
rename : mobile/android/config/mozconfigs/android-armv6/nightly => mobile/android/config/mozconfigs/android/nightly
rename : mobile/android/config/mozconfigs/android-x86/release => mobile/android/config/mozconfigs/android/release
extra : rebase_source : e2f84d0e8df8dcd3aed4301f8911eeb18412601d
2012-05-28 10:15:48 -04:00
Takanori MATSUURA
4e1026d682 Bug 751521 - Separate pixman detection from cairo. r=glandium 2012-05-26 08:44:00 +02:00
Jeff Muizelaar
b99b548f9d Bug 749976. Reduce the curve tolerance to be closer to skia on mobile. r=bgirard
Skia uses a value of 0.5, however using such a high value causes some reftest failures.
Switch to 0.3 because we can do that without changing the reftests too much. We
can still use a higher value if we need to later. This should give us sqrt(3)
reduction in the number of segments.

--HG--
extra : rebase_source : 39f1892a61f7e242460deb1bc21adb30778147e3
2012-05-25 00:49:54 -04:00
Benoit Girard
833c00c0cd Bug 681114 - Diagnostic patch to crash earlier when cairo_array is corrupted. r=jmuizelaar
--HG--
extra : rebase_source : 97efb782c0ceba76330edf7a1be3b9cd14c11f15
2012-05-22 14:40:07 -04:00
Bas Schouten
ee5382e0bf Bug 595375: Fail brush creation when bitmap creation fails. r=jrmuizel 2012-05-20 22:29:07 +02:00
Jeff Muizelaar
21a136e943 Bug 755834. Use even lower precision bilinear interpolation when scaling 565 to 565. r=joe
This takes a trick from skia to go faster. For now, it's only
used on non-NEON devices.

--HG--
extra : rebase_source : c2ddce91cc8cf71ee609420107b0922d1166db43
2012-05-17 16:54:02 -04:00