This fixes an issue affecting the use of Big Caslon under OSX which uses an improperly labeled format12 cmap with platform=0/encoding=1. Technically, a Unicode 1.1 encoding implies a font that's not entirely compatible with more recent versions of Unicode (e.g. Hangul range is different). But since this seems to be simply a font error and not a real problem for format12 cmaps, ignore this inconsistency.
They both have a single call site, so aren't worth being in separate functions.
--HG--
extra : rebase_source : 09961affe0902cfd44448b75445438d9900a0942
They both have a single call site, so aren't worth being in separate functions.
--HG--
extra : rebase_source : 08dcc7ef2b98bb6111c65a000ac0362c8594f952
The previous patch in this bug removed two calls to CurrentSurface(), leaving
only one, and that one doesn't need the dx and dy arguments.
--HG--
extra : rebase_source : 52cc3d7a1317ea9f239f59c24a58810ce6669c9f
gfxAlphaBoxBlur::GetInsetBlur() can be trivially passed a DrawTarget instead of
a gfxContext.
The patch also removes the DrawTarget parameter from GetBlur() because it can
be obtained from the gfxContext parameter.
--HG--
extra : rebase_source : 52cdd685ed3ecdc11affb05fa5299b0a792231fb
This patch:
- Makes the following substitutions (plus necessary namespace qualifiers:
gfxImageFormat::ARGB32 --> SurfaceFormat::A8R8G8B8_UINT32
gfxImageFormat::RGB24 --> SurfaceFormat::X8R8G8B8_UINT32
gfxImageFormat::A8 --> SurfaceFormat::A8
gfxImageFormat::RGB16_565 --> SurfaceFormat::R5G6B5_UINT16
gfxImageFormat::Unknown --> SurfaceFormat::UNKNOWN
- Changes gfxImageFormat to be a typedef to gfx::SurfaceFormat. This will be
removed soon.
- Removes gfxCairoFormatToImageFormat() and gfxImageFormatToCairoFormat() and
replace calls to them with CairoFormatToGfxFormat() and
GfxFormatToCairoFormat().
- Removes ParamTraits<gfxImageFormat>.
- Add namespace qualifiers to SurfaceFormat instances where necessary.
--HG--
extra : rebase_source : f56e92b1593957a9e4e00171100bc7605816e696
We have both NativeSurfaceType::CAIRO_CONTEXT and
NativeSurfaceType::CAIRO_SURFACE. They both refer to DrawTargets with Cairo
backends. The only reason for having both is so you can call GetNativeSurface()
and get either the |cairo_t*| or the underlying |cairo_surface_t*|.
I argue that this convenience confuses things more than it helps. This patch
removes CAIRO_SURFACE, and adds explicit cairo_get_target() calls where
necessary.
--HG--
extra : rebase_source : 6f1701a8131d854c7f623272182029847876754e
These are mainly changes to make sure we have recorded relevant dependencies to each draw operation.
Where we can't record them on the fly like this, it makes sure the object has originated from our DrawTarget.
AutoTextRun now only needs a DrawTarget instead of an nsRenderingContext, and
similar nsRenderingContext/gfxContext-to-DrawTarget replacements can be
propagated a long way up the call graph. This patch replaces 93 occurrences of
nsRenderingContext and 135 occurrences of gfxContext with DrawTarget; that's
13% of them.
The patch is mostly plumbing changes. A couple of not-entirely-plumbing
changes:
- It adds a comment about the null check in
gfxGlyphExtents::GetTightGlyphExtentsAppUnits().
- A couple of functions simply had an unused gfxContext or nsRenderingContext
parameter removed, e.g. SetLineBreaks().
--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
Make GetRoundOffsetsToPixel() take a DrawTarget instead of a gfxContext. This
requires moving it into gfxFontShaper. The only change of note within the
function is the use of aDrawTarget->GetTransform().HasNonTranslation() instead
of CurrentMatrix().HasNonTranslation().
This boils down to these two lines being equivalent:
Size t = aContext->UserToDevice(Size(1.0, 0.0));
Size t = aDrawTarget->GetTransform() * Size(1.0, 0.0);
The rest is just plumbing.