Commit Graph

14 Commits

Author SHA1 Message Date
Ali Akhtarzada
78dc783d6f Bug 890743 - Display 0-delay, single loop GIFs instantly. r=seth
Do not artificially create a frame delay for GIF files
that do not loop and have an inter-frame delay of 0. Move timeout
calculation to FrameBlender and only access raw timeout of
imgFrame from within FrameBlender.

--HG--
extra : rebase_source : 1a568f16a2980d3d14621869c6b536d054088805
2013-12-06 10:45:24 +01:00
Benoit Jacob
6ac61cabdb Bug 913872 - Take nested enums out of gfxASurface - 3/3 : remove the now-useless inclusions of gfxASurface.h - r=jrmuizel 2013-09-24 16:45:14 -04:00
Benoit Jacob
c1d7f88886 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
Ehsan Akhgari
bdb172ee45 Bug 913619 - Minimize the #includes in image/src; r=jrmuizel
This patch was generated by running include-what-you-use on image/src,
and then removing the #include statements suggested by that tool, either
replacing them with forward declarations of the used names in headers,
or dropping the ones that were completely unnecessary, and then adding
new #include statements in other places that were implicitly relying on
some of the removed #include statements.
2013-09-07 09:01:08 -04:00
Gabriele Svelto
c8251ce6f3 Bug 907798 - Remove TimeStamp.h includes from source files that do not need it; r=ehsan 2013-08-24 08:12:51 +02:00
Ms2ger
944d17423c Revert this CLOSED TREE to changeset 4d3e221584a0. 2013-08-24 13:31:48 +02:00
Gabriele Svelto
1d1671942d Bug 907798 - Remove TimeStamp.h includes from source files that do not need it; r=ehsan 2013-08-24 08:12:51 +02:00
Joe Drew
c44dc6c974 Bug 717872 - Make FrameSequences be refcounted, and store a RefPtr to FrameSequence on FrameBlender. r=seth
This makes it possible for us to share FrameSequences by refcounting them. We
don't do anything smart when inserting/removing/swapping frames, but we do
carefully handle the "discard" case (by just reallocating a new
FrameSequence).

Note that, currently, nothing actually *shares* FrameSequences.

--HG--
extra : rebase_source : 9facdf8930297888f2ee77e0816543c6ad703f80
2013-07-09 14:53:12 -04:00
Joe Drew
7de8e0f38a Bug 717872 - Move frame ownership to a separate container object, FrameSequence, which only exposes const access to its frames. r=seth
The eventual goal here is to have FrameBlenders be able to share
FrameSequences.

--HG--
extra : rebase_source : 97b8be9f53ed5cb14f0d46655d8fd7cdfa6bab67
2013-07-09 10:45:06 -04:00
Joe Drew
f97dd2844a Bug 717872 - Make blending functions take const source parameters so it's a little less likely that we modify things in mFrames again. r=seth 2013-06-28 15:01:32 -04:00
Joe Drew
2d4d670611 Bug 717872 - Remove the imgFrame* helpers from FrameBlender now that we always have raw data pointers. r=seth 2013-06-28 14:52:04 -04:00
Joe Drew
b26afa3bda Bug 717872 - Store a frame's raw image data pointer beside its imgFrame pointer so we can access it without having to lock the frame. r=seth
This patch makes us store imgFrames in FrameBlender with a new sort-of-tuple,
FrameDataPair, that is smart enough to be able to lock and unlock imgFrames,
and can be transparently cast to an imgFrame, but doesn't do too much else.
The alternative, storing a separate array of uint8_t pointers, seemed too
complicated.
2013-06-28 13:52:39 -04:00
Catalin Iacob
4f03e5bb1a Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Joe Drew
d943e48d3b Bug 867774 - Create a FrameBlender class that holds on to an image's frames and can blend frames together on demand (while leaving the decision as to which frames to external users). r=seth
FrameBlender steals RasterImage::mFrames, RasterImage::DoComposite, and the
RasterImage blending helper functions CopyFrameImage, DrawFrameTo, and
ClearFrame. Now RasterImage doesn't hold on to its frames directly, and defers
all blending to FrameBlender::DoComposite.

--HG--
extra : rebase_source : f03736045f967f0947441703e54135b98d9dcf54
2013-06-17 16:49:04 -04:00