Граф коммитов

69 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 88696a303a Bug 1209812 (part 6) - Convert all gfxImageFormat values to SurfaceFormat equivalents. r=jrmuizel.
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
2016-01-07 20:57:38 -08:00
Nicholas Nethercote 489c83b1dd Bug 1223690 - Remove implicit Rect conversions. r=jrmuizel.
gfxRect can be implicitly constructed from IntRect, which hides a number of
implicit conversion points, makes Moz2Dification harder, and has some
surprising effects.

This patch removes the implicit constructor and replaces it with an explicit
conversion function:

  gfxRect ThebesRect(const IntRect&)

This is the obvious outcome of removing the constructor.

But there is also a second, less obvious outcome: currently we do a number of
IntRect-to-Rect conversions using ToRect(), which (surprisingly) works because
it turns into an implicit IntRect-to-gfxRect conversion (via the implicit
constructor) combined with an explicit gfxRect-to-Rect conversion (via
ToRect()). I.e. we do two conversions, going from a Moz2D type to a Thebes
type and back to a Moz2D type!

So this patch also changes these conversion. It moves this existing function:

  Rect ToRect(const IntRect&)

from gfx2DGlue.h -- where it doesn't really belong because it doesn't involve
any Thebes types -- to gfx/2d/Rect.h, templatifying and renaming it as
IntRectToRect() in the process.

The rest of the patch deals with fall-out from these changes. The call sites
change as follows:

- IntRect-to-gfxRect conversions:
  - old: implicit
  - new: ThebesRect()

- IntRect-to-Rect conversions:
  - old: ToRect()
  - new: IntRectToRect()

--HG--
extra : rebase_source : e4e4c2ad10b36ecad4d57d1630158f3374e403be
2015-11-11 14:23:14 -08:00
Nicholas Nethercote f7b2001d62 Backout ea759b57d58a (bug 1223215 part 5) because the removed functions are still useful. r=me.
DONTBUILD because it just adds back a couple of small, unused functions.
2015-11-10 20:36:29 -08:00
Nicholas Nethercote a4bbbdd6b5 Bug 1223215 (part 5) - Remove ToSize() and ThebesSize(). r=jrmuizel.
--HG--
extra : rebase_source : 28ec92701653aec22fecc89918e70d144ddcd438
2015-11-08 21:13:36 -08:00
Nicholas Nethercote 4a551425d8 Bug 1221610 - Remove ToIntMargin(). r=jrmuizel.
It's now a no-op.
2015-11-04 09:40:16 -08:00
Nicholas Nethercote a34d272e2b Bug 1209812 (part 3) - Rename SurfaceFormat::R5G6B5 as R5G6B5_UINT16. r=Bas.
--HG--
extra : rebase_source : 1efcfb2522e823e55b5c7b77531a9d2c42c49c8b
2015-10-22 23:01:31 -07:00
Nicholas Nethercote 4fc2610c3c Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -07:00
Nicholas Nethercote b44999f110 Bug 1211324 (part 2) - Make gfx::FILTER::GOOD convert to GraphicsFilter::FILTER_GOOD. r=mattwoodrow. 2015-10-04 22:37:47 -07:00
Nicholas Nethercote e68c9e3a2d Bug 1208365 (part 4) - Remove gfxPattern::GraphicsExtend. r=bas.
--HG--
extra : rebase_source : baafed207a286892e36575ad24b3e896a1943ad6
2015-09-25 00:59:13 -07:00
Nicholas Nethercote d0c4a9db1b Bug 1208300 (part 4) - Remove gfxRGBA and some related things. r=jwatt.
Hooray!

--HG--
extra : rebase_source : d691b55eef5a8655aa98b81b5398452a5ebe860d
2015-09-24 19:24:16 -07:00
Nicholas Nethercote 5930cc971e Bug 1208937 - Remove gfxPattern::GraphicsPatternType. r=jwatt.
This is easy because the only remaining uses occur in uncalled functions, which
can be removed.

--HG--
extra : rebase_source : 7c1ec2c175a8a73f1ce2375c3231891ecc6bfb22
2015-09-27 20:38:20 -07:00
Nicholas Nethercote 342466f878 Bug 1208345 - Remove gfxContext::GraphicsOperator. r=jwatt.
Also...

- Rename various "operator" identifiers as "op" to match |CompositionOp|.

- Rename |nsBackgroundLayerState::mCompositingOp| as |mCompositionOp| to match
  |CompositionOp|.

- Remove some deprecated functions that are no longer needed.

--HG--
extra : rebase_source : 74e9b6eecf6f442e27cc18fd4ae6f668a45188aa
2015-09-24 22:38:58 -07:00
Mason Chang 91a913a490 Bug 1188075 - Speed up inner box-shadow drawing by using a border-image style approach. r=mstange 2015-09-24 09:50:29 -07:00
Mason Chang fd3141b39a Backout bug 1188075 for graphical artifacts. r=me 2015-09-21 08:14:05 -07:00
Mason Chang 876417d4b1 Bug 1188075 - Speed up inner box-shadow drawing by using a border-image style approach. r=mstange 2015-09-18 11:23:55 -07:00
"Kearwood \"Kip\" Gilbert" 0f397fb78d Bug 1157984 - Part 1: Extend gfx::2d classes to support both float and double precision,r=jrmuizel
- Implemented templates for Coord, Point, Point3D, Point4D, Size, Margin
  and Rect to create double precision versions.

--HG--
extra : rebase_source : 91e16a7b970026346b6e90a23427fd0f70491765
2015-06-11 13:43:40 -07:00
Kearwood (Kip) Gilbert 5b2ac66a0c Bug 1181240 - Part 3: Replace gfx3DMatrix with Matrix4x4 in gfx,r=vlad
- Refactored code to use Matrix4x4 instead of gfx3DMatrix.
- There is not expected to be any functional effect.
2015-07-10 17:06:35 -07:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Thibaud Backenstrass 983ced23c9 Bug 1158122 - Remove all occurences of nsIntRect in gfx/thebes/. r=nical 2015-05-07 11:07:31 +02:00
Andrea Marchesini ade2831035 Bug 1156632 - Remove unused forward class declarations - patch 6 - the rest of the tree, r=ehsan 2015-04-22 08:29:24 +02:00
Nicolas Silva e887c595eb Bug 1155621 - Remove no-op gfx2DGlue conversion helpers. r=Bas 2015-04-21 17:22:30 +02:00
Nicolas Silva cfff5e52c5 Bug 1155621 - Make nsIntRect and nsIntPoint typedefs of mozilla::gfx::IntRect and mozilla::gfx::IntPoint. r=Bas 2015-04-21 17:04:57 +02:00
Nicolas Silva 0b1f75bea0 Bug 1132854 - Remove the gfx::ToIntSize conversion helper. r=Bas 2015-04-07 16:08:57 +02:00
Nicolas Silva 52be9f47b5 Bug 1132854 - Remove useless ThebesIntSize conversion helper. r=Bas 2015-03-29 16:59:15 +02:00
Jonathan Watt 70be113245 Bug 1092222, part 1 - Get rid of gfxContext::GraphicsLineCap and gfxContext::GraphicsLineJoin. r=roc 2014-11-03 10:01:57 +00:00
Matt Woodrow 80a01d06fa Bug 1054838, part 3 - Convert gfxPattern to Moz2D. r=Bas 2014-09-14 10:58:56 +01:00
Kartikaya Gupta 0df3a31848 Bug 1040906 - Replace the out-param on matrix conversion helpers with a return value. r=Bas 2014-07-22 09:12:14 -04:00
Jonathan Watt 2586dd3cb2 Bug 1025553, part 1 - Change the names of the members of gfxMatrix to match the names of the members of Moz2D's Matrix. r=Bas 2014-06-17 18:35:51 +01:00
Jonathan Watt 064fe625cf Bug 1022930 - Fix crash in imgFrame::Draw() when drawing for an SVG mask. r=mwu 2014-06-10 07:02:22 +01:00
Matt Woodrow 1b97a19b88 Bug 990437 - Convert ContentHostIncremental to inherit from ContentHostBase. r=nical 2014-04-02 14:45:02 +08:00
Benoit Jacob aebf0bb92a Bug 959380 - 4/5 - Make gfxContentType a typed enum - r=jrmuizel
find . -type f | grep -v '\./obj' | grep -v '\.hg' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)GFX_CONTENT_\(COLOR\|ALPHA\|COLOR_ALPHA\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1gfxContentType::\2\3/g'
2014-01-23 13:26:40 -05:00
Benoit Jacob e5ed95579b Bug 959380 - 2/5 - Make gfxImageFormat a typed enum - r=jrmuizel
find . -type f | grep -v \./obj | grep -v \.hg | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)gfxImageFormat\(ARGB32\|RGB24\|A8\|A1\|RGB16_565\|Unknown\)\($\|[^A-Za-z0-9_]\)/\1gfxImageFormat::\2\3/g'
2014-01-23 13:26:40 -05:00
Benoit Jacob f447d87c57 Bug 958375 - 8/9 - Make remaining Moz2D enums typed - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:17 -05:00
Benoit Jacob a1e7c32630 Bug 958375 - 4/9 - Make SurfaceFormat a typed enum - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Nicholas Cameron 93e90b7ec1 Bug 950504. Remove MatrixForThebesMatrix. r=mattwoodrow
--HG--
extra : rebase_source : 77103221abbb55d23f9d399d4973ef0b8f269079
2013-12-16 11:17:58 +13:00
Matt Woodrow b9c3d10afd Bug 930033 - Draw layer borders for the bounding box of the visible region for ThebesLayers. r=nical 2013-10-24 16:35:29 +02:00
Ehsan Akhgari eff9a278ad Bug 924221 - Minimize the #includes in gfx/thebes; r=bjacob
--HG--
extra : rebase_source : af198eb9b9739ce718ba0d16c385624a722cde51
2013-10-07 19:15:59 -04:00
Ehsan Akhgari b155782d0a Bug 921753 - Part 2: Move GraphicsFilters outside of gfxPattern.h so that we won't need to #include that header everywhere GraphicsFilter is needed; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1582 to 1362.
2013-10-01 17:01:19 -04:00
Nicholas Cameron 009454da8e Bug 882113. Azurification of compositor classes. r=mattwoodrow 2013-09-27 12:37:19 +12:00
Benoit Jacob 55d6cf1e20 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Jeff Muizelaar 8818ab3b07 Bug 897532. Add support for better filtering in Azure. r=bas
This fixes the quality regression on OS X.

--HG--
extra : rebase_source : f045caa95800d05098ea49e05fe90fc933f8849f
2013-07-31 14:46:25 -04:00
Adrian May c1c1f4e2e2 Bug 877115 - Moz2Dify GLContext and GLTextureImage. r=nical 2013-08-13 15:44:53 +02:00
Matt Brubeck 9fc67ed1e7 Back out d10581fd8202 (bug 897532) on suspicion of causing intermittent pgo-only Metro crashes 2013-08-08 14:58:00 -07:00
Jeff Muizelaar caf604a77c Bug 897532. Add support for better filtering in Azure. r=bas
This fixes the quality regression on OS X.

--HG--
extra : rebase_source : afbf0c332c23933096fa97a022698dc992908c12
2013-07-31 14:46:25 -04:00
Nicolas Silva 8592c4c12d Bug 858914 - New texture classes + OGL backend (preffed off). r=bas, nrc 2013-07-30 11:59:51 +02:00
Matt Woodrow aaba06e7d1 Bug 890950 - Tell OpenGL that our texture upload data is in BGRA format on OSX. r=jrmuizel
This matches the format used internally and prevents the driver from having to do a conversion. We then add a swizzle to the shaders so that we get the correct colors drawn.
2013-07-09 10:13:33 -04:00
Justin Lebar 051c5b560a Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else

This is a mechanical change made with sed.  Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Bas Schouten 839048be74 Bug 825928: Land layers refactoring. r=jrmuizel,bas,nical,mattwoodrow,roc,nrc,benwa,bjacob,jgilbert,kchen CLOSED TREE
Please contact Bas Schouten <bschouten@mozilla.com>, Nicolas Silva <nsilva@mozilla.com> or Nicholas Cameron <ncameron@mozilla.com> with general questions. Below is a rough list of authors to contact with specific questions.

Authors:
gfx/layers/Compositor.* gfx/layers/Effects.h - Compositor Interface - bas,nrc,nical
gfx/layers/d3d* - D3D9/D3D10 - bas
gfx/layers/ThebesLayer* - ThebesLayers - nrc,bas
gfx/layers/composite/* - CompositeLayers - nrc,nical
gfx/layers/client/* - Client - nrc,nical,bas
gfx/layers/*Image* - nical
gfx/layers/ipc ipc - IPC - nical
gfx/layers/opengl - CompositorOGL - nrc,nical
gfx/2d - bas,nrc
gfx/gl - GLContext - bjacob
dom/* layout/* - DOM - mattwoodrow
2013-04-10 09:20:52 +00:00
Ed Morley 35a3834d4f Backed out changeset c1f4eff03e82 (bug 840693) for causing bug 838563 2013-03-04 14:38:11 +00:00
Anthony Jones 123a7144b9 Bug 840693 - Add ZoomScale; r=Bas 2013-03-04 13:25:22 +13:00