Bug 903816. Include-what-you-use for gfx/layers. r=roc

This commit is contained in:
Nicholas Cameron 2013-08-12 11:17:23 +12:00
Родитель de3e98e1de
Коммит 5cd4425728
161 изменённых файлов: 2627 добавлений и 1103 удалений

Просмотреть файл

@ -4,10 +4,16 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/Compositor.h" #include "mozilla/layers/Compositor.h"
#include "mozilla/layers/Effects.h" #include "base/message_loop.h" // for MessageLoop
#include "mozilla/layers/CompositorParent.h" #include "mozilla/layers/CompositorParent.h" // for CompositorParent
#include "mozilla/layers/Effects.h" // for Effect, EffectChain, etc
#include "mozilla/mozalloc.h" // for operator delete, etc
namespace mozilla { namespace mozilla {
namespace gfx {
class Matrix4x4;
}
namespace layers { namespace layers {
/* static */ LayersBackend Compositor::sBackend = LAYERS_NONE; /* static */ LayersBackend Compositor::sBackend = LAYERS_NONE;

Просмотреть файл

@ -6,12 +6,17 @@
#ifndef MOZILLA_GFX_COMPOSITOR_H #ifndef MOZILLA_GFX_COMPOSITOR_H
#define MOZILLA_GFX_COMPOSITOR_H #define MOZILLA_GFX_COMPOSITOR_H
#include "mozilla/gfx/Rect.h" #include "mozilla-config.h" // for MOZ_DUMP_PAINTING
#include "mozilla/gfx/Matrix.h" #include "Units.h" // for ScreenPoint
#include "gfxMatrix.h" #include "gfxPoint.h" // for gfxIntSize
#include "Layers.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/RefPtr.h" #include "mozilla/RefPtr.h" // for TemporaryRef, RefCounted
#include "mozilla/layers/CompositorTypes.h" #include "mozilla/gfx/Point.h" // for IntSize, Point
#include "mozilla/gfx/Rect.h" // for Rect, IntRect
#include "mozilla/gfx/Types.h" // for Float
#include "mozilla/layers/CompositorTypes.h" // for DiagnosticTypes, etc
#include "mozilla/layers/LayersTypes.h" // for LayersBackend
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
/** /**
* Different elements of a web pages are rendered into separate "layers" before * Different elements of a web pages are rendered into separate "layers" before
@ -100,10 +105,12 @@
class gfxContext; class gfxContext;
class nsIWidget; class nsIWidget;
struct gfxMatrix;
struct nsIntSize;
namespace mozilla { namespace mozilla {
namespace gfx { namespace gfx {
class DrawTarget; class Matrix4x4;
} }
namespace layers { namespace layers {

Просмотреть файл

@ -6,9 +6,10 @@
#ifndef MOZILLA_LAYERS_COMPOSITORTYPES_H #ifndef MOZILLA_LAYERS_COMPOSITORTYPES_H
#define MOZILLA_LAYERS_COMPOSITORTYPES_H #define MOZILLA_LAYERS_COMPOSITORTYPES_H
#include "LayersTypes.h" #include <stdint.h> // for uint32_t
#include "nsXULAppAPI.h" #include <sys/types.h> // for int32_t
#include "LayersTypes.h" // for LayersBackend, etc
#include "nsXULAppAPI.h" // for GeckoProcessType, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -3,20 +3,24 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/PLayerTransactionParent.h" #include "BasicLayersImpl.h" // for FillWithMask, etc
#include "CopyableCanvasLayer.h" #include "CopyableCanvasLayer.h"
#include "BasicLayersImpl.h" #include "GLContext.h" // for GLContext
#include "gfxImageSurface.h" #include "GLScreenBuffer.h" // for GLScreenBuffer
#include "GLContext.h" #include "SharedSurface.h" // for SharedSurface
#include "gfxUtils.h" #include "SharedSurfaceGL.h" // for SharedSurface_GL, etc
#include "gfxPlatform.h" #include "SurfaceTypes.h" // for APITypeT, APITypeT::OpenGL, etc
#include "mozilla/Preferences.h" #include "gfxImageSurface.h" // for gfxImageSurface
#include "SurfaceStream.h" #include "gfxMatrix.h" // for gfxMatrix
#include "SharedSurfaceGL.h" #include "gfxPattern.h" // for gfxPattern, etc
#include "SharedSurfaceEGL.h" #include "gfxPlatform.h" // for gfxPlatform, gfxImageFormat
#include "GeckoProfiler.h" #include "gfxRect.h" // for gfxRect
#include "gfxUtils.h" // for gfxUtils
#include "nsXULAppAPI.h" #include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "nsDebug.h" // for NS_ASSERTION, NS_WARNING, etc
#include "nsISupportsImpl.h" // for gfxContext::AddRef, etc
#include "nsRect.h" // for nsIntRect
#include "nsSize.h" // for nsIntSize
using namespace mozilla::gfx; using namespace mozilla::gfx;
using namespace mozilla::gl; using namespace mozilla::gl;

Просмотреть файл

@ -6,18 +6,27 @@
#ifndef GFX_COPYABLECANVASLAYER_H #ifndef GFX_COPYABLECANVASLAYER_H
#define GFX_COPYABLECANVASLAYER_H #define GFX_COPYABLECANVASLAYER_H
#include "Layers.h" #include <stdint.h> // for uint32_t
#include "mozilla/layers/CanvasClient.h" #include "GLContext.h" // for GLContext
#include "mozilla/Preferences.h" #include "Layers.h" // for CanvasLayer, etc
#include "gfxASurface.h" // for gfxASurface
#include "gfxPlatform.h" #include "gfxContext.h" // for gfxContext, etc
#include "gfxImageSurface.h" // for gfxImageSurface
#include "gfxPlatform.h" // for gfxImageFormat
#include "gfxPoint.h" // for gfxIntSize
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/Preferences.h" // for Preferences
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/gfx/2D.h" // for DrawTarget
#include "mozilla/mozalloc.h" // for operator delete, etc
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla::gfx; using namespace mozilla::gfx;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CanvasClient2D;
class CanvasClientWebGL; class CanvasClientWebGL;
/** /**

Просмотреть файл

@ -4,8 +4,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "Effects.h" #include "Effects.h"
#include "LayersLogging.h" #include "LayersLogging.h" // for AppendToString
#include "nsPrintfCString.h" #include "nsAString.h"
#include "nsPrintfCString.h" // for nsPrintfCString
#include "nsString.h" // for nsAutoCString
using namespace mozilla::layers; using namespace mozilla::layers;

Просмотреть файл

@ -6,11 +6,17 @@
#ifndef MOZILLA_LAYERS_EFFECTS_H #ifndef MOZILLA_LAYERS_EFFECTS_H
#define MOZILLA_LAYERS_EFFECTS_H #define MOZILLA_LAYERS_EFFECTS_H
#include "mozilla/gfx/Matrix.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/layers/Compositor.h" #include "mozilla/RefPtr.h" // for RefPtr, TemporaryRef, etc
#include "mozilla/layers/TextureHost.h" #include "mozilla/gfx/Matrix.h" // for Matrix4x4
#include "LayersLogging.h" #include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/RefPtr.h" #include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/gfx/Types.h" // for Filter, etc
#include "mozilla/layers/CompositorTypes.h" // for EffectTypes, etc
#include "mozilla/layers/LayersTypes.h" // for MOZ_LAYERS_HAVE_LOG
#include "mozilla/layers/TextureHost.h" // for CompositingRenderTarget, etc
#include "mozilla/mozalloc.h" // for operator delete, etc
#include "nscore.h" // for nsACString
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -6,11 +6,11 @@
#ifndef GFX_FRAMEMETRICS_H #ifndef GFX_FRAMEMETRICS_H
#define GFX_FRAMEMETRICS_H #define GFX_FRAMEMETRICS_H
#include "gfxPoint.h" #include <stdint.h> // for uint32_t, uint64_t
#include "gfxTypes.h" #include "Units.h" // for CSSRect, CSSPixel, etc
#include "nsRect.h" #include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/gfx/Rect.h" #include "mozilla/gfx/Rect.h" // for RoundedIn
#include "Units.h" #include "mozilla/gfx/ScaleFactor.h" // for ScaleFactor
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -4,11 +4,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this file, * License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */ * You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/ImageBridgeChild.h"
#include "nsDebug.h"
#include "ImageContainer.h"
#include "GrallocImages.h" #include "GrallocImages.h"
#include <stddef.h> // for size_t
#include <stdint.h> // for int8_t, uint8_t, uint32_t, etc
#include "nsDebug.h" // for NS_WARNING, NS_PRECONDITION
#include "mozilla/layers/ImageBridgeChild.h"
#include <OMX_IVCommon.h> #include <OMX_IVCommon.h>
#include <ColorConverter.h> #include <ColorConverter.h>

Просмотреть файл

@ -4,19 +4,21 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/ImageBridgeChild.h"
#include "ImageContainer.h" #include "ImageContainer.h"
#include <string.h> // for memcpy, memset
#include "SharedTextureImage.h" // for SharedTextureImage
#include "gfxImageSurface.h" // for gfxImageSurface
#include "gfxPlatform.h" // for gfxPlatform
#include "gfxUtils.h" // for gfxUtils
#include "mozilla/RefPtr.h" // for TemporaryRef
#include "mozilla/ipc/CrossProcessMutex.h" // for CrossProcessMutex, etc
#include "mozilla/layers/CompositorTypes.h"
#include "mozilla/layers/ImageBridgeChild.h" // for ImageBridgeChild
#include "mozilla/layers/ImageClient.h" // for ImageClient
#include "nsISupportsUtils.h" // for NS_IF_ADDREF
#ifdef MOZ_WIDGET_GONK
#include "GrallocImages.h" #include "GrallocImages.h"
#include "mozilla/ipc/Shmem.h" #endif
#include "mozilla/ipc/CrossProcessMutex.h"
#include "SharedTextureImage.h"
#include "gfxImageSurface.h"
#include "gfxSharedImageSurface.h"
#include "yuv_convert.h"
#include "gfxUtils.h"
#include "gfxPlatform.h"
#include "mozilla/layers/ImageClient.h"
#ifdef XP_MACOSX #ifdef XP_MACOSX
#include "mozilla/gfx/QuartzSupport.h" #include "mozilla/gfx/QuartzSupport.h"
@ -39,6 +41,9 @@ using mozilla::gfx::SourceSurface;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class DataSourceSurface;
class SourceSurface;
int32_t Image::sSerialCounter = 0; int32_t Image::sSerialCounter = 0;
already_AddRefed<Image> already_AddRefed<Image>

Просмотреть файл

@ -6,14 +6,29 @@
#ifndef GFX_IMAGECONTAINER_H #ifndef GFX_IMAGECONTAINER_H
#define GFX_IMAGECONTAINER_H #define GFX_IMAGECONTAINER_H
#include "mozilla/Mutex.h" #include <stdint.h> // for uint32_t, uint8_t, uint64_t
#include "mozilla/ReentrantMonitor.h" #include <sys/types.h> // for int32_t
#include "gfxASurface.h" // for gfxImageFormat #include "GeckoProfilerFunc.h" // for TimeStamp
#include "mozilla/layers/LayersTypes.h" // for LayersBackend #include "ImageTypes.h" // for ImageFormat, etc
#include "mozilla/TimeStamp.h" #include "gfxASurface.h" // for gfxASurface, etc
#include "ImageTypes.h" #include "gfxPoint.h" // for gfxIntSize
#include "nsTArray.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT_HELPER2
#include "pratom.h" #include "mozilla/Mutex.h" // for Mutex
#include "mozilla/ReentrantMonitor.h" // for ReentrantMonitorAutoEnter, etc
#include "mozilla/TimeStamp.h" // for TimeStamp
#include "mozilla/layers/LayersTypes.h" // for LayersBackend, etc
#include "mozilla/mozalloc.h" // for operator delete, etc
#include "nsAutoPtr.h" // for nsRefPtr, nsAutoArrayPtr, etc
#include "nsAutoRef.h" // for nsCountedRef
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for Image::Release, etc
#include "nsRect.h" // for nsIntRect
#include "nsSize.h" // for nsIntSize
#include "nsTArray.h" // for nsTArray
#include "nsThreadUtils.h" // for NS_IsMainThread
#include "pratom.h" // for PR_ATOMIC_INCREMENT
class nsMainThreadSurfaceRef;
#ifdef XP_WIN #ifdef XP_WIN
struct ID3D10Texture2D; struct ID3D10Texture2D;
@ -26,9 +41,6 @@ typedef void* HANDLE;
namespace mozilla { namespace mozilla {
class CrossProcessMutex; class CrossProcessMutex;
namespace ipc {
class Shmem;
}
namespace layers { namespace layers {
@ -36,7 +48,6 @@ class ImageClient;
class SharedPlanarYCbCrImage; class SharedPlanarYCbCrImage;
class DeprecatedSharedPlanarYCbCrImage; class DeprecatedSharedPlanarYCbCrImage;
class TextureClient; class TextureClient;
class SurfaceDescriptor;
struct ImageBackendData struct ImageBackendData
{ {

Просмотреть файл

@ -3,11 +3,15 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/ImageDataSerializer.h" #include "ImageDataSerializer.h"
#include "gfxImageSurface.h" #include "gfx2DGlue.h" // for SurfaceFormatToImageFormat
#include "mozilla/gfx/2D.h" #include "gfxASurface.h" // for gfxASurface
#include "gfx2DGlue.h" #include "gfxImageSurface.h" // for gfxImageSurface
#include "mozilla/gfx/Tools.h" #include "gfxPoint.h" // for gfxIntSize
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/gfx/2D.h" // for DataSourceSurface, Factory
#include "mozilla/gfx/Tools.h" // for GetAlignedStride, etc
#include "mozilla/mozalloc.h" // for operator delete, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -8,10 +8,11 @@
#ifndef GFX_LAYERS_BLOBSURFACE_H #ifndef GFX_LAYERS_BLOBSURFACE_H
#define GFX_LAYERS_BLOBSURFACE_H #define GFX_LAYERS_BLOBSURFACE_H
#include "mozilla/gfx/Point.h" #include <stdint.h> // for uint8_t, uint32_t
#include "mozilla/RefPtr.h" #include "mozilla/Attributes.h" // for MOZ_STACK_CLASS
#include "mozilla/RefPtr.h" // for TemporaryRef
#include <stdint.h> #include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/gfx/Types.h" // for SurfaceFormat
class gfxImageSurface; class gfxImageSurface;

Просмотреть файл

@ -4,7 +4,11 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ImageLayers.h" #include "ImageLayers.h"
#include "ImageContainer.h" #include "ImageContainer.h" // for ImageContainer
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxRect.h" // for gfxRect
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for ImageContainer::Release, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -6,11 +6,15 @@
#ifndef GFX_IMAGELAYER_H #ifndef GFX_IMAGELAYER_H
#define GFX_IMAGELAYER_H #define GFX_IMAGELAYER_H
#include "Layers.h" #include "Layers.h" // for Layer, etc
#include "gfxPattern.h" // for gfxPattern, etc
#include "gfxPoint.h" // for gfxIntSize
#include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "mozilla/layers/LayersTypes.h"
#include "nsAutoPtr.h" // for nsRefPtr
#include "nscore.h" // for nsACString
#include "ImageTypes.h" class gfx3DMatrix;
#include "nsISupportsImpl.h"
#include "gfxPattern.h"
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -4,10 +4,23 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "LayerSorter.h" #include "LayerSorter.h"
#include "DirectedGraph.h" #include <math.h> // for fabs
#include <stdint.h> // for uint32_t
#include <stdio.h> // for fprintf, stderr, FILE
#include <stdlib.h> // for getenv
#include "DirectedGraph.h" // for DirectedGraph
#include "Layers.h" // for Layer
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxLineSegment.h" // for gfxLineSegment
#include "gfxPoint.h" // for gfxPoint
#include "gfxPoint3D.h" // for gfxPoint3D
#include "gfxQuad.h" // for gfxQuad
#include "gfxRect.h" // for gfxRect
#include "gfxTypes.h" // for gfxFloat
#include "mozilla/gfx/BasePoint3D.h" // for BasePoint3D
#include "nsRegion.h" // for nsIntRegion
#include "nsTArray.h" // for nsTArray, etc
#include "limits.h" #include "limits.h"
#include "gfxLineSegment.h"
#include "Layers.h"
#include "mozilla/Assertions.h" #include "mozilla/Assertions.h"
namespace mozilla { namespace mozilla {

Просмотреть файл

@ -4,10 +4,28 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */ * You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "LayerTreeInvalidation.h" #include "LayerTreeInvalidation.h"
#include "Layers.h" #include <stdint.h> // for uint32_t
#include "ImageLayers.h" #include "ImageContainer.h" // for ImageContainer
#include "gfxUtils.h" #include "ImageLayers.h" // for ImageLayer, etc
#include "nsDataHashtable.h" #include "Layers.h" // for Layer, ContainerLayer, etc
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxColor.h" // for gfxRGBA
#include "gfxPattern.h" // for gfxPattern, etc
#include "gfxPoint.h" // for gfxIntSize
#include "gfxPoint3D.h" // for gfxPoint3D
#include "gfxRect.h" // for gfxRect
#include "gfxUtils.h" // for gfxUtils
#include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "mozilla/mozalloc.h" // for operator new, etc
#include "nsAutoPtr.h" // for nsRefPtr, nsAutoPtr, etc
#include "nsDataHashtable.h" // for nsDataHashtable
#include "nsDebug.h" // for NS_ASSERTION
#include "nsHashKeys.h" // for nsPtrHashKey
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsTArray.h" // for nsAutoTArray, nsTArray_Impl
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -6,9 +6,10 @@
#ifndef GFX_LAYER_TREE_INVALIDATION_H #ifndef GFX_LAYER_TREE_INVALIDATION_H
#define GFX_LAYER_TREE_INVALIDATION_H #define GFX_LAYER_TREE_INVALIDATION_H
#include "nsRegion.h" #include "nsRegion.h" // for nsIntRegion
class nsPresContext; class nsPresContext;
struct nsIntPoint;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -5,25 +5,33 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/DebugOnly.h"
#include "mozilla/layers/AsyncPanZoomController.h"
#include "mozilla/layers/PLayerTransaction.h"
#include "mozilla/layers/LayerManagerComposite.h"
#include "mozilla/Telemetry.h"
#include "CompositableHost.h"
#include "ImageLayers.h"
#include "ImageContainer.h"
#include "Layers.h" #include "Layers.h"
#include "gfxPlatform.h" #include <algorithm> // for max, min
#include "ReadbackLayer.h" #include "AnimationCommon.h" // for ComputedTimingFunction
#include "gfxUtils.h" #include "CompositableHost.h" // for CompositableHost
#include "nsPrintfCString.h" #include "GeckoProfilerFunc.h" // for TimeStamp, TimeDuration
#include "LayerSorter.h" #include "ImageContainer.h" // for ImageContainer, etc
#include "AnimationCommon.h" #include "ImageLayers.h" // for ImageLayer
#include "mozilla/layers/Compositor.h" #include "LayerSorter.h" // for SortLayersBy3DZOrder
#include "LayersLogging.h" #include "LayersLogging.h" // for AppendToString
#include "ReadbackLayer.h" // for ReadbackLayer
#include "gfxPlatform.h" // for gfxPlatform
#include "gfxUtils.h" // for gfxUtils, etc
#include "mozilla/DebugOnly.h" // for DebugOnly
#include "mozilla/Preferences.h" // for Preferences
#include "mozilla/Telemetry.h" // for Accumulate
#include "mozilla/TelemetryHistogramEnums.h"
#include "mozilla/gfx/2D.h" // for DrawTarget
#include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "mozilla/layers/AsyncPanZoomController.h"
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/CompositorTypes.h"
#include "mozilla/layers/LayerManagerComposite.h" // for LayerComposite
#include "mozilla/layers/LayerTransaction.h" // for TransformFunction, etc
#include "nsAString.h"
#include "nsCSSValue.h" // for nsCSSValue::Array, etc
#include "nsPrintfCString.h" // for nsPrintfCString
#include "nsStyleStruct.h" // for nsTimingFunction, etc
using namespace mozilla::layers; using namespace mozilla::layers;
using namespace mozilla::gfx; using namespace mozilla::gfx;

Просмотреть файл

@ -6,25 +6,44 @@
#ifndef GFX_LAYERS_H #ifndef GFX_LAYERS_H
#define GFX_LAYERS_H #define GFX_LAYERS_H
#include "mozilla/DebugOnly.h" #include <stdint.h> // for uint32_t, uint64_t, uint8_t
#include <stdio.h> // for FILE
#include <sys/types.h> // for int32_t, int64_t
#include "mozilla-config.h" // for MOZ_DUMP_PAINTING
#include "FrameMetrics.h" // for FrameMetrics
#include "Units.h" // for LayerMargin, LayerPoint
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxASurface.h" // for gfxASurface, etc
#include "gfxColor.h" // for gfxRGBA
#include "gfxMatrix.h" // for gfxMatrix
#include "gfxPattern.h" // for gfxPattern, etc
#include "gfxPoint.h" // for gfxPoint, gfxIntSize
#include "gfxRect.h" // for gfxRect
#include "mozilla/Assertions.h" // for MOZ_ASSERT_HELPER2, etc
#include "mozilla/DebugOnly.h" // for DebugOnly
#include "mozilla/RefPtr.h" // for TemporaryRef
#include "mozilla/TimeStamp.h" // for TimeStamp, TimeDuration
#include "mozilla/gfx/BaseMargin.h" // for BaseMargin
#include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/gfx/Types.h" // for SurfaceFormat
#include "mozilla/gfx/UserData.h" // for UserData, etc
#include "mozilla/layers/LayersTypes.h" #include "mozilla/layers/LayersTypes.h"
#include "gfxTypes.h" #include "mozilla/mozalloc.h" // for operator delete, etc
#include "gfxASurface.h" #include "nsAutoPtr.h" // for nsAutoPtr, nsRefPtr, etc
#include "nsRegion.h" #include "nsCOMPtr.h" // for already_AddRefed
#include "nsPoint.h" #include "nsCSSProperty.h" // for nsCSSProperty
#include "nsRect.h" #include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" #include "nsISupportsImpl.h" // for Layer::Release, etc
#include "nsAutoPtr.h" #include "nsRect.h" // for nsIntRect
#include "gfx3DMatrix.h" #include "nsRegion.h" // for nsIntRegion
#include "gfxColor.h" #include "nsSize.h" // for nsIntSize
#include "gfxPattern.h" #include "nsString.h" // for nsCString
#include "nsTArray.h" #include "nsStyleAnimation.h" // for nsStyleAnimation::Value, etc
#include "nsThreadUtils.h" #include "nsTArray.h" // for nsTArray
#include "nsStyleAnimation.h" #include "nsTArrayForwardDeclare.h" // for InfallibleTArray
#include "FrameMetrics.h" #include "nscore.h" // for nsACString, nsAString
#include "mozilla/gfx/2D.h" #include "prlog.h" // for PRLogModuleInfo
#include "mozilla/TimeStamp.h"
class gfxContext; class gfxContext;
class nsPaintEvent; class nsPaintEvent;
@ -36,6 +55,10 @@ namespace mozilla {
class FrameLayerBuilder; class FrameLayerBuilder;
class WebGLContext; class WebGLContext;
namespace gfx {
class DrawTarget;
}
namespace gl { namespace gl {
class GLContext; class GLContext;
} }
@ -67,7 +90,6 @@ class LayerManagerComposite;
class SpecificLayerAttributes; class SpecificLayerAttributes;
class SurfaceDescriptor; class SurfaceDescriptor;
class Compositor; class Compositor;
class LayerComposite;
struct TextureFactoryIdentifier; struct TextureFactoryIdentifier;
struct EffectMask; struct EffectMask;
@ -591,7 +613,6 @@ private:
TimeStamp mTabSwitchStart; TimeStamp mTabSwitchStart;
}; };
class ThebesLayer;
typedef InfallibleTArray<Animation> AnimationArray; typedef InfallibleTArray<Animation> AnimationArray;
struct AnimData { struct AnimData {

Просмотреть файл

@ -6,6 +6,15 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "LayersLogging.h" #include "LayersLogging.h"
#include <stdint.h> // for uint8_t
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxColor.h" // for gfxRGBA
#include "gfxMatrix.h" // for gfxMatrix
#include "mozilla/gfx/Matrix.h" // for Matrix4x4, Matrix
#include "nsDebug.h" // for NS_ERROR
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsSize.h" // for nsIntSize
using namespace mozilla::gfx; using namespace mozilla::gfx;

Просмотреть файл

@ -6,19 +6,28 @@
#ifndef GFX_LAYERSLOGGING_H #ifndef GFX_LAYERSLOGGING_H
#define GFX_LAYERSLOGGING_H #define GFX_LAYERSLOGGING_H
#include "Layers.h" #include "FrameMetrics.h" // for FrameMetrics, etc
#include "nsPoint.h" #include "gfxPattern.h" // for gfxPattern, etc
#include "mozilla/gfx/Point.h" #include "mozilla/gfx/Point.h" // for IntSize, etc
#include "mozilla/gfx/Rect.h" #include "mozilla/gfx/Types.h" // for Filter, SurfaceFormat
#include "mozilla/layers/Compositor.h" #include "mozilla/layers/CompositorTypes.h" // for TextureFlags
#include "FrameMetrics.h" #include "nsAString.h"
#include "gfxPattern.h" #include "nsPrintfCString.h" // for nsPrintfCString
#include "gfxColor.h" #include "nsRegion.h" // for nsIntRegion
#include "gfx3DMatrix.h" #include "nscore.h" // for nsACString, etc
#include "nsRegion.h"
#include "nsPrintfCString.h" class gfx3DMatrix;
struct gfxRGBA;
struct nsIntPoint;
struct nsIntRect;
struct nsIntSize;
namespace mozilla { namespace mozilla {
namespace gfx {
class Matrix4x4;
template <class units> struct RectTyped;
}
namespace layers { namespace layers {
nsACString& nsACString&

Просмотреть файл

@ -6,13 +6,15 @@
#ifndef GFX_LAYERSTYPES_H #ifndef GFX_LAYERSTYPES_H
#define GFX_LAYERSTYPES_H #define GFX_LAYERSTYPES_H
#include "nsPoint.h" #include <stdint.h> // for uint32_t
#include "nsPoint.h" // for nsIntPoint
#ifdef MOZ_WIDGET_GONK #ifdef MOZ_WIDGET_GONK
#include <ui/GraphicBuffer.h> #include <ui/GraphicBuffer.h>
#endif #endif
#if defined(DEBUG) || defined(PR_LOGGING) #if defined(DEBUG) || defined(PR_LOGGING)
# include <stdio.h> // FILE # include <stdio.h> // FILE
# include "prlog.h" # include "prlog.h" // for PR_LOG
# ifndef MOZ_LAYERS_HAVE_LOG # ifndef MOZ_LAYERS_HAVE_LOG
# define MOZ_LAYERS_HAVE_LOG # define MOZ_LAYERS_HAVE_LOG
# endif # endif

Просмотреть файл

@ -6,7 +6,21 @@
#ifndef GFX_READBACKLAYER_H #ifndef GFX_READBACKLAYER_H
#define GFX_READBACKLAYER_H #define GFX_READBACKLAYER_H
#include "Layers.h" #include <stdint.h> // for uint64_t
#include "Layers.h" // for Layer, etc
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxColor.h" // for gfxRGBA
#include "gfxRect.h" // for gfxRect
#include "mozilla/mozalloc.h" // for operator delete
#include "nsAutoPtr.h" // for nsAutoPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ASSERTION
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsSize.h" // for nsIntSize
#include "nscore.h" // for nsACString
class gfxContext;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -4,7 +4,22 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ReadbackProcessor.h" #include "ReadbackProcessor.h"
#include "ReadbackLayer.h" #include <sys/types.h> // for int32_t
#include "Layers.h" // for Layer, ThebesLayer, etc
#include "ReadbackLayer.h" // for ReadbackLayer, ReadbackSink
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxColor.h" // for gfxRGBA
#include "gfxContext.h" // for gfxContext
#include "gfxMatrix.h" // for gfxMatrix
#include "gfxRect.h" // for gfxRect
#include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/gfx/BaseRect.h" // for BaseRect
#include "nsAutoPtr.h" // for nsRefPtr, nsAutoPtr
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for gfxContext::Release, etc
#include "nsPoint.h" // for nsIntPoint
#include "nsRegion.h" // for nsIntRegion
#include "nsSize.h" // for nsIntSize
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -6,14 +6,18 @@
#ifndef GFX_READBACKPROCESSOR_H #ifndef GFX_READBACKPROCESSOR_H
#define GFX_READBACKPROCESSOR_H #define GFX_READBACKPROCESSOR_H
#include "ThebesLayerBuffer.h" #include <stdint.h> // for uint64_t
#include "nsTArray.h" #include "nsRect.h" // for nsIntRect
#include "nsTArray.h" // for nsTArray
class nsIntRegion;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class ContainerLayer; class ContainerLayer;
class ReadbackLayer; class ReadbackLayer;
class ThebesLayer;
class ReadbackProcessor { class ReadbackProcessor {
public: public:

Просмотреть файл

@ -3,11 +3,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "Layers.h"
#include "RenderTrace.h" #include "RenderTrace.h"
// If rendertrace is off let's no compile this code // If rendertrace is off let's no compile this code
#ifdef MOZ_RENDERTRACE #ifdef MOZ_RENDERTRACE
#include "Layers.h"
namespace mozilla { namespace mozilla {

Просмотреть файл

@ -6,9 +6,15 @@
#ifndef GFX_SHAREDTEXTUREIMAGE_H #ifndef GFX_SHAREDTEXTUREIMAGE_H
#define GFX_SHAREDTEXTUREIMAGE_H #define GFX_SHAREDTEXTUREIMAGE_H
#include "ImageContainer.h" #include "GLContext.h" // for GLContext, etc
#include "GLContext.h" #include "GLContextProvider.h" // for GLContextProvider
#include "GLContextProvider.h" #include "ImageContainer.h" // for Image
#include "ImageTypes.h" // for ImageFormat::SHARED_TEXTURE
#include "gfxPoint.h" // for gfxIntSize
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsSize.h" // for nsIntSize
class gfxASurface;
// Split into a separate header from ImageLayers.h due to GLContext.h dependence // Split into a separate header from ImageLayers.h due to GLContext.h dependence
// Implementation remains in ImageLayers.cpp // Implementation remains in ImageLayers.cpp

Просмотреть файл

@ -3,19 +3,33 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "base/basictypes.h"
#include "BasicLayersImpl.h"
#include "ThebesLayerBuffer.h" #include "ThebesLayerBuffer.h"
#include "Layers.h" #include <sys/types.h> // for int32_t
#include "gfxContext.h" #include <algorithm> // for max
#include "gfxPlatform.h" #include "BasicImplData.h" // for BasicImplData
#include "gfxTeeSurface.h" #include "BasicLayersImpl.h" // for ToData
#include "gfxUtils.h" #include "GeckoProfilerImpl.h" // for PROFILER_LABEL
#include "ipc/AutoOpenSurface.h" #include "Layers.h" // for ThebesLayer, Layer, etc
#include "nsDeviceContext.h" #include "gfxColor.h" // for gfxRGBA
#include "GeckoProfiler.h" #include "gfxContext.h" // for gfxContext, etc
#include <algorithm> #include "gfxMatrix.h" // for gfxMatrix
#include "gfxPattern.h" // for gfxPattern
#include "gfxPlatform.h" // for gfxPlatform
#include "gfxPoint.h" // for gfxPoint
#include "gfxRect.h" // for gfxRect
#include "gfxTeeSurface.h" // for gfxTeeSurface
#include "gfxUtils.h" // for gfxUtils
#include "mozilla/Util.h" // for ArrayLength
#include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/gfx/BaseRect.h" // for BaseRect
#include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "mozilla/gfx/Matrix.h" // for Matrix
#include "mozilla/gfx/Point.h" // for Point, IntPoint
#include "mozilla/gfx/Rect.h" // for Rect, IntRect
#include "mozilla/gfx/Types.h" // for ExtendMode::EXTEND_CLAMP, etc
#include "mozilla/layers/ShadowLayers.h" // for ShadowableLayer
#include "mozilla/layers/TextureClient.h" // for DeprecatedTextureClient
#include "nsSize.h" // for nsIntSize
namespace mozilla { namespace mozilla {

Просмотреть файл

@ -6,17 +6,33 @@
#ifndef THEBESLAYERBUFFER_H_ #ifndef THEBESLAYERBUFFER_H_
#define THEBESLAYERBUFFER_H_ #define THEBESLAYERBUFFER_H_
#include "gfxContext.h" #include <stdint.h> // for uint32_t
#include "gfxASurface.h" #include "gfxASurface.h" // for gfxASurface, etc
#include "nsRegion.h" #include "gfxContext.h" // for gfxContext
#include "mozilla/layers/TextureClient.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/gfx/2D.h" #include "mozilla/RefPtr.h" // for RefPtr, TemporaryRef
#include "Layers.h" #include "mozilla/gfx/2D.h" // for DrawTarget, etc
#include "mozilla/mozalloc.h" // for operator delete
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_RUNTIMEABORT
#include "nsISupportsImpl.h" // for gfxContext::AddRef, etc
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
struct gfxMatrix;
struct nsIntSize;
namespace mozilla { namespace mozilla {
namespace gfx {
class Matrix;
}
namespace layers { namespace layers {
class AutoOpenSurface; class DeprecatedTextureClient;
class ThebesLayer; class ThebesLayer;
/** /**

Просмотреть файл

@ -16,9 +16,13 @@
//#define GFX_TILEDLAYER_DEBUG_OVERLAY //#define GFX_TILEDLAYER_DEBUG_OVERLAY
//#define GFX_TILEDLAYER_PREF_WARNINGS //#define GFX_TILEDLAYER_PREF_WARNINGS
#include "nsRect.h" #include <stdint.h> // for uint16_t, uint32_t
#include "nsRegion.h" #include <sys/types.h> // for int32_t
#include "nsTArray.h" #include "nsDebug.h" // for NS_ABORT_IF_FALSE
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsTArray.h" // for nsTArray
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -4,12 +4,15 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/YCbCrImageDataSerializer.h" #include "mozilla/layers/YCbCrImageDataSerializer.h"
#include "yuv_convert.h" #include <string.h> // for memcpy
#include "mozilla/gfx/2D.h" #include "gfx2DGlue.h" // for ToIntSize
#include "gfx2DGlue.h" #include "mozilla/gfx/2D.h" // for DataSourceSurface, Factory
#include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "mozilla/gfx/Types.h"
#include "mozilla/mozalloc.h" // for operator delete
#include "yuv_convert.h" // for ConvertYCbCrToRGB32, etc
#define MOZ_ALIGN_WORD(x) (((x) + 3) & ~3) #define MOZ_ALIGN_WORD(x) (((x) + 3) & ~3)
using namespace mozilla::ipc;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -6,18 +6,17 @@
#ifndef MOZILLA_LAYERS_BLOBYCBCRSURFACE_H #ifndef MOZILLA_LAYERS_BLOBYCBCRSURFACE_H
#define MOZILLA_LAYERS_BLOBYCBCRSURFACE_H #define MOZILLA_LAYERS_BLOBYCBCRSURFACE_H
#include "mozilla/DebugOnly.h" #include <stddef.h> // for size_t
#include <stdint.h> // for uint8_t, uint32_t
#include "base/basictypes.h" #include "ImageTypes.h" // for StereoMode
#include "Shmem.h" #include "gfxPoint.h" // for gfxIntSize
#include "gfxPoint.h" #include "mozilla/Attributes.h" // for MOZ_STACK_CLASS
#include "mozilla/RefPtr.h" // for TemporaryRef
#include "mozilla/gfx/Point.h" // for IntSize
namespace mozilla { namespace mozilla {
namespace ipc {
class Shmem;
}
namespace gfx { namespace gfx {
class DataSourceSurface; class DataSourceSurface;
} }
namespace layers { namespace layers {

Просмотреть файл

@ -3,20 +3,13 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/PLayerTransactionParent.h"
#include "BasicCanvasLayer.h" #include "BasicCanvasLayer.h"
#include "gfxImageSurface.h" #include "basic/BasicLayers.h" // for BasicLayerManager
#include "GLContext.h" #include "mozilla/mozalloc.h" // for operator new
#include "gfxUtils.h" #include "nsAutoPtr.h" // for nsRefPtr
#include "gfxPlatform.h" #include "nsCOMPtr.h" // for already_AddRefed
#include "mozilla/Preferences.h" #include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "BasicLayersImpl.h" class gfxContext;
#include "SurfaceStream.h"
#include "SharedSurfaceGL.h"
#include "SharedSurfaceEGL.h"
#include "GeckoProfiler.h"
#include "nsXULAppAPI.h"
using namespace mozilla::gfx; using namespace mozilla::gfx;
using namespace mozilla::gl; using namespace mozilla::gl;

Просмотреть файл

@ -6,24 +6,19 @@
#ifndef GFX_BASICCANVASLAYER_H #ifndef GFX_BASICCANVASLAYER_H
#define GFX_BASICCANVASLAYER_H #define GFX_BASICCANVASLAYER_H
#include "BasicLayersImpl.h" #include "BasicImplData.h" // for BasicImplData
#include "nsXULAppAPI.h" #include "BasicLayers.h" // for BasicLayerManager
#include "BasicLayers.h" #include "CopyableCanvasLayer.h" // for CopyableCanvasLayer
#include "BasicImplData.h" #include "Layers.h" // for CanvasLayer, etc
#include "mozilla/layers/CanvasClient.h" #include "nsDebug.h" // for NS_ASSERTION
#include "mozilla/Preferences.h" #include "nsRegion.h" // for nsIntRegion
#include "CopyableCanvasLayer.h" class gfxContext;
#include "gfxPlatform.h"
using namespace mozilla::gfx; using namespace mozilla::gfx;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CanvasClient2D;
class CanvasClientWebGL;
class BasicCanvasLayer : public CopyableCanvasLayer, class BasicCanvasLayer : public CopyableCanvasLayer,
public BasicImplData public BasicImplData
{ {

Просмотреть файл

@ -3,8 +3,20 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/PLayerTransactionParent.h" #include "BasicLayersImpl.h" // for FillWithMask, etc
#include "BasicLayersImpl.h" #include "Layers.h" // for ColorLayer, etc
#include "BasicImplData.h" // for BasicImplData
#include "BasicLayers.h" // for BasicLayerManager
#include "gfxContext.h" // for gfxContext, etc
#include "gfxRect.h" // for gfxRect
#include "mozilla/mozalloc.h" // for operator new
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla::gfx; using namespace mozilla::gfx;

Просмотреть файл

@ -8,6 +8,7 @@
#include "mozilla/layers/Compositor.h" #include "mozilla/layers/Compositor.h"
#include "mozilla/layers/TextureHost.h" #include "mozilla/layers/TextureHost.h"
#include "mozilla/gfx/2D.h"
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -3,16 +3,24 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "BasicLayersImpl.h"
#include "BasicContainerLayer.h" #include "BasicContainerLayer.h"
#include <sys/types.h> // for int32_t
#include "BasicLayersImpl.h" // for ToData
#include "basic/BasicImplData.h" // for BasicImplData
#include "basic/BasicLayers.h" // for BasicLayerManager
#include "mozilla/gfx/BaseRect.h" // for BaseRect
#include "mozilla/mozalloc.h" // for operator new
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
using namespace mozilla::gfx; using namespace mozilla::gfx;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
BasicContainerLayer::~BasicContainerLayer() BasicContainerLayer::~BasicContainerLayer()
{ {
while (mFirstChild) { while (mFirstChild) {

Просмотреть файл

@ -6,8 +6,16 @@
#ifndef GFX_BASICCONTAINERLAYER_H #ifndef GFX_BASICCONTAINERLAYER_H
#define GFX_BASICCONTAINERLAYER_H #define GFX_BASICCONTAINERLAYER_H
#include "BasicLayers.h" #include "BasicImplData.h" // for BasicImplData
#include "BasicImplData.h" #include "BasicLayers.h" // for BasicLayerManager
#include "Layers.h" // for Layer, ContainerLayer
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxMatrix.h" // for gfxMatrix
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsUtils.h" // for NS_ADDREF, NS_RELEASE
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR
struct nsIntRect;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -3,22 +3,37 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/PLayerTransactionParent.h" #include "./../mozilla-config.h" // for MOZ_X11
#include "BasicLayersImpl.h" #include "BasicLayersImpl.h" // for FillWithMask, etc
#include "SharedTextureImage.h" #include "ImageContainer.h" // for AutoLockImage, etc
#include "gfxUtils.h" #include "ImageLayers.h" // for ImageLayer
#include "gfxSharedImageSurface.h" #include "Layers.h" // for Layer (ptr only), etc
#include "mozilla/layers/ImageClient.h" #include "basic/BasicImplData.h" // for BasicImplData
#include "mozilla/layers/TextureClient.h" #include "basic/BasicLayers.h" // for BasicLayerManager
#include "gfxASurface.h" // for gfxASurface, etc
#include "gfxContext.h" // for gfxContext
#include "gfxPattern.h" // for gfxPattern, etc
#include "gfxPoint.h" // for gfxIntSize
#include "gfxUtils.h" // for gfxUtils
#ifdef MOZ_X11 #ifdef MOZ_X11
#include "gfxXlibSurface.h" #include "gfxXlibSurface.h" // for gfxXlibSurface
#endif #endif
#include "mozilla/mozalloc.h" // for operator new
#include "nsAutoPtr.h" // for nsRefPtr, getter_AddRefs, etc
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for gfxPattern::Release, etc
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla::gfx; using namespace mozilla::gfx;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class SurfaceDescriptor;
class BasicImageLayer : public ImageLayer, public BasicImplData { class BasicImageLayer : public ImageLayer, public BasicImplData {
public: public:
BasicImageLayer(BasicLayerManager* aLayerManager) : BasicImageLayer(BasicLayerManager* aLayerManager) :

Просмотреть файл

@ -3,24 +3,27 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/ReentrantMonitor.h" #include <stdint.h> // for uint8_t, uint32_t
#include "BasicLayers.h" // for BasicLayerManager
#include "ImageLayers.h" #include "ImageContainer.h" // for PlanarYCbCrImage, etc
#include "BasicLayers.h" #include "ImageTypes.h" // for ImageFormat, etc
#include "gfxImageSurface.h" #include "cairo.h" // for cairo_user_data_key_t
#include "gfxASurface.h" // for gfxASurface, etc
#include "gfxImageSurface.h" // for gfxImageSurface
#include "gfxPlatform.h" // for gfxPlatform, gfxImageFormat
#include "gfxPoint.h" // for gfxIntSize
#include "gfxUtils.h" // for gfxUtils
#include "mozilla/mozalloc.h" // for operator delete[], etc
#include "nsAutoPtr.h" // for nsRefPtr, nsAutoArrayPtr
#include "nsAutoRef.h" // for nsCountedRef
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ERROR, NS_ASSERTION
#include "nsISupportsImpl.h" // for Image::Release, etc
#include "nsThreadUtils.h" // for NS_IsMainThread
#ifdef XP_MACOSX #ifdef XP_MACOSX
#include "gfxQuartzImageSurface.h" #include "gfxQuartzImageSurface.h"
#endif #endif
#include "cairo.h"
#include "gfxUtils.h"
#include "gfxPlatform.h"
using mozilla::ReentrantMonitor;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -5,9 +5,18 @@
#ifndef GFX_BASICIMPLDATA_H #ifndef GFX_BASICIMPLDATA_H
#define GFX_BASICIMPLDATA_H #define GFX_BASICIMPLDATA_H
#include "Layers.h" // for Layer (ptr only), etc
#include "gfxContext.h" // for gfxContext, etc
#include "nsDebug.h" // for NS_ASSERTION
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
class gfxASurface;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class ReadbackProcessor;
class SurfaceDescriptor;
/** /**
* This is the ImplData for all Basic layers. It also exposes methods * This is the ImplData for all Basic layers. It also exposes methods
* private to the Basic implementation that are common to all Basic layer types. * private to the Basic implementation that are common to all Basic layer types.

Просмотреть файл

@ -3,33 +3,53 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/dom/TabChild.h" #include <stdint.h> // for uint32_t
#include "mozilla/Hal.h" #include <stdlib.h> // for rand, RAND_MAX
#include "mozilla/layers/PLayerChild.h" #include <sys/types.h> // for int32_t
#include "mozilla/layers/PLayerTransactionChild.h" #include "BasicContainerLayer.h" // for BasicContainerLayer
#include "mozilla/layers/PLayerTransactionParent.h" #include "BasicLayersImpl.h" // for ToData, BasicReadbackLayer, etc
#include "GeckoProfilerImpl.h" // for PROFILER_LABEL
#include "gfxSharedImageSurface.h" #include "ImageContainer.h" // for ImageFactory
#include "gfxImageSurface.h" #include "Layers.h" // for Layer, ContainerLayer, etc
#include "gfxUtils.h" #include "ReadbackLayer.h" // for ReadbackLayer
#include "gfxPlatform.h" #include "ReadbackProcessor.h" // for ReadbackProcessor
#include "nsXULAppAPI.h" #include "RenderTrace.h" // for RenderTraceLayers, etc
#include "RenderTrace.h" #include "basic/BasicImplData.h" // for BasicImplData
#include "GeckoProfiler.h" #include "basic/BasicLayers.h" // for BasicLayerManager, etc
#include "cairo-rename.h" // for pixman_image_create_bits, etc
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxASurface.h" // for gfxASurface, etc
#include "gfxCachedTempSurface.h" // for gfxCachedTempSurface
#include "gfxColor.h" // for gfxRGBA
#include "gfxContext.h" // for gfxContext, etc
#include "gfxImageSurface.h" // for gfxImageSurface
#include "gfxMatrix.h" // for gfxMatrix
#include "gfxPlatform.h" // for gfxPlatform
#include "gfxPoint.h" // for gfxIntSize, gfxPoint
#include "gfxRect.h" // for gfxRect
#include "gfxUtils.h" // for gfxUtils
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/WidgetUtils.h" // for ScreenRotation
#include "mozilla/gfx/2D.h" // for DrawTarget
#include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/gfx/BaseRect.h" // for BaseRect
#include "mozilla/gfx/Matrix.h" // for Matrix
#include "mozilla/gfx/Rect.h" // for IntRect, Rect
#include "mozilla/layers/LayersTypes.h" // for BufferMode::BUFFER_NONE, etc
#include "mozilla/mozalloc.h" // for operator new
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ASSERTION, etc
#include "nsISupportsImpl.h" // for gfxContext::Release, etc
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion, etc
#include "nsTArray.h" // for nsAutoTArray
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
#define PIXMAN_DONT_DEFINE_STDINT #define PIXMAN_DONT_DEFINE_STDINT
#include "pixman.h" #include "pixman.h" // for pixman_f_transform, etc
#include "BasicLayersImpl.h" class nsIWidget;
#include "BasicThebesLayer.h"
#include "BasicContainerLayer.h"
#include "CompositorChild.h"
#include "mozilla/Preferences.h"
#include "nsIWidget.h"
#ifdef MOZ_WIDGET_ANDROID
#include "AndroidBridge.h"
#endif
using namespace mozilla::dom; using namespace mozilla::dom;
using namespace mozilla::gfx; using namespace mozilla::gfx;

Просмотреть файл

@ -6,29 +6,33 @@
#ifndef GFX_BASICLAYERS_H #ifndef GFX_BASICLAYERS_H
#define GFX_BASICLAYERS_H #define GFX_BASICLAYERS_H
#include "Layers.h" #include <stdint.h> // for INT32_MAX, int32_t
#include "Layers.h" // for Layer (ptr only), etc
#include "gfxContext.h" #include "gfxASurface.h" // for gfxASurface, etc
#include "gfxCachedTempSurface.h" #include "gfxCachedTempSurface.h" // for gfxCachedTempSurface
#include "mozilla/layers/ShadowLayers.h" #include "gfxContext.h" // for gfxContext
#include "mozilla/WidgetUtils.h" #include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "nsAutoRef.h" #include "mozilla/WidgetUtils.h" // for ScreenRotation
#include "nsThreadUtils.h" #include "mozilla/layers/LayersTypes.h" // for BufferMode, LayersBackend, etc
#include "nsAString.h"
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsISupportsImpl.h" // for gfxContext::AddRef, etc
#include "nsRegion.h" // for nsIntRegion
#include "nscore.h" // for nsAString, etc
class gfxPattern;
class nsIWidget; class nsIWidget;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class BasicShadowableLayer; class BasicShadowableLayer;
class ThebesLayerComposite;
class ContainerLayerComposite;
class ImageLayerComposite;
class CanvasLayerComposite;
class ColorLayerComposite;
class ReadbackProcessor;
class ImageFactory; class ImageFactory;
class ImageLayer;
class PaintLayerContext; class PaintLayerContext;
class ReadbackLayer;
class ReadbackProcessor;
/** /**
* This is a cairo/Thebes-only, main-thread-only implementation of layers. * This is a cairo/Thebes-only, main-thread-only implementation of layers.

Просмотреть файл

@ -3,10 +3,15 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/DebugOnly.h"
#include "BasicLayersImpl.h" #include "BasicLayersImpl.h"
#include "mozilla/layers/PLayerTransaction.h" #include <new> // for operator new
#include "Layers.h" // for Layer, etc
#include "basic/BasicImplData.h" // for BasicImplData
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/DebugOnly.h" // for DebugOnly
#include "mozilla/layers/CompositorTypes.h"
#include "mozilla/layers/ISurfaceAllocator.h"
using namespace mozilla::gfx; using namespace mozilla::gfx;

Просмотреть файл

@ -6,18 +6,27 @@
#ifndef GFX_BASICLAYERSIMPL_H #ifndef GFX_BASICLAYERSIMPL_H
#define GFX_BASICLAYERSIMPL_H #define GFX_BASICLAYERSIMPL_H
#include "ipc/AutoOpenSurface.h" #include "BasicImplData.h" // for BasicImplData
#include "ipc/ShadowLayerChild.h" #include "BasicLayers.h" // for BasicLayerManager
#include "BasicLayers.h" #include "ReadbackLayer.h" // for ReadbackLayer
#include "BasicImplData.h" #include "gfxASurface.h" // for gfxASurface
#include "ReadbackLayer.h" #include "gfxContext.h" // for gfxContext, etc
#include "ReadbackProcessor.h" #include "gfxMatrix.h" // for gfxMatrix
#include "ipc/AutoOpenSurface.h" // for AutoOpenSurface
#include "mozilla/Attributes.h" // for MOZ_DELETE, MOZ_STACK_CLASS
#include "mozilla/Util.h" // for Maybe
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for gfxContext::Release, etc
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class BasicContainerLayer; class BasicContainerLayer;
class ShadowableLayer; class Layer;
class AutoSetOperator { class AutoSetOperator {
public: public:

Просмотреть файл

@ -4,12 +4,29 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "BasicThebesLayer.h" #include "BasicThebesLayer.h"
#include "gfxUtils.h" #include <stdint.h> // for uint32_t
#include "nsIWidget.h" #include "GeckoProfiler.h" // for PROFILER_LABEL
#include "RenderTrace.h" #include "ReadbackLayer.h" // for ReadbackLayer, ReadbackSink
#include "GeckoProfiler.h" #include "ReadbackProcessor.h" // for ReadbackProcessor::Update, etc
#include "RenderTrace.h" // for RenderTraceInvalidateEnd, etc
#include "prprf.h" #include "BasicLayersImpl.h" // for AutoMaskData, etc
#include "gfxASurface.h" // for gfxASurface, etc
#include "gfxContext.h" // for gfxContext, etc
#include "gfxRect.h" // for gfxRect
#include "gfxUtils.h" // for gfxUtils
#include "mozilla/gfx/2D.h" // for DrawTarget
#include "mozilla/gfx/BaseRect.h" // for BaseRect
#include "mozilla/gfx/Matrix.h" // for Matrix
#include "mozilla/gfx/Rect.h" // for Rect, IntRect
#include "mozilla/gfx/Types.h" // for Float, etc
#include "mozilla/layers/LayersTypes.h"
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsISupportsImpl.h" // for gfxContext::Release, etc
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsTArray.h" // for nsTArray, nsTArray_Impl
struct gfxMatrix;
using namespace mozilla::gfx; using namespace mozilla::gfx;

Просмотреть файл

@ -6,13 +6,26 @@
#ifndef GFX_BASICTHEBESLAYER_H #ifndef GFX_BASICTHEBESLAYER_H
#define GFX_BASICTHEBESLAYER_H #define GFX_BASICTHEBESLAYER_H
#include "mozilla/layers/PLayerTransactionParent.h" #include "Layers.h" // for ThebesLayer, LayerManager, etc
#include "BasicLayersImpl.h" #include "ThebesLayerBuffer.h" // for ThebesLayerBuffer, etc
#include "mozilla/layers/ContentClient.h" #include "BasicImplData.h" // for BasicImplData
#include "BasicLayers.h" // for BasicLayerManager
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxPoint.h" // for gfxPoint
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/layers/ContentClient.h" // for ContentClientBasic
#include "mozilla/mozalloc.h" // for operator delete
#include "nsDebug.h" // for NS_ASSERTION
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
class gfxContext;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class ReadbackProcessor;
class BasicThebesLayer : public ThebesLayer, public BasicImplData { class BasicThebesLayer : public ThebesLayer, public BasicImplData {
public: public:
typedef ThebesLayerBuffer::PaintState PaintState; typedef ThebesLayerBuffer::PaintState PaintState;

Просмотреть файл

@ -4,20 +4,34 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/CanvasClient.h" #include "mozilla/layers/CanvasClient.h"
#include "mozilla/layers/TextureClient.h" #include "ClientCanvasLayer.h" // for ClientCanvasLayer
#include "ClientCanvasLayer.h" #include "GLContext.h" // for GLContext
#include "mozilla/layers/ShadowLayers.h" #include "GLScreenBuffer.h" // for GLScreenBuffer
#include "SharedTextureImage.h" #include "Layers.h" // for Layer, etc
#include "nsXULAppAPI.h" #include "SurfaceStream.h" // for SurfaceStream
#include "GLContext.h" #include "SurfaceTypes.h" // for SurfaceStreamHandle
#include "SurfaceStream.h" #include "gfx2DGlue.h" // for ImageFormatToSurfaceFormat
#include "SharedSurface.h" #include "gfxASurface.h" // for gfxASurface, etc
#include "gfxPlatform.h" // for gfxPlatform
#include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "mozilla/layers/CompositableForwarder.h"
#include "mozilla/layers/LayersTypes.h"
#include "mozilla/layers/TextureClient.h" // for TextureClient, etc
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsDebug.h" // for printf_stderr, NS_ASSERTION
#include "nsXULAppAPI.h" // for XRE_GetProcessType, etc
#ifdef MOZ_WIDGET_GONK #ifdef MOZ_WIDGET_GONK
#include "SharedSurfaceGralloc.h" #include "SharedSurfaceGralloc.h"
#endif #endif
using namespace mozilla::gl; using namespace mozilla::gl;
namespace mozilla {
namespace gfx {
class SharedSurface;
}
}
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -6,14 +6,23 @@
#ifndef MOZILLA_GFX_CANVASCLIENT_H #ifndef MOZILLA_GFX_CANVASCLIENT_H
#define MOZILLA_GFX_CANVASCLIENT_H #define MOZILLA_GFX_CANVASCLIENT_H
#include "mozilla/layers/TextureClient.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/layers/CompositableClient.h" #include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr, TemporaryRef
#include "mozilla/layers/CompositableClient.h" // for CompositableClient
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo, etc
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "mozilla/layers/TextureClient.h" // for TextureClient, etc
#include "mozilla/mozalloc.h" // for operator delete
#include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/gfx/Types.h" // for SurfaceFormat
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class ClientCanvasLayer; class ClientCanvasLayer;
class CompositableForwarder;
/** /**
* Compositable client for 2d and webgl canvas. * Compositable client for 2d and webgl canvas.

Просмотреть файл

@ -4,10 +4,21 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ClientCanvasLayer.h" #include "ClientCanvasLayer.h"
#include "gfxPlatform.h" #include "GLContext.h" // for GLContext
#include "SurfaceStream.h" #include "GLScreenBuffer.h" // for GLScreenBuffer
#include "SharedSurfaceGL.h" #include "GeckoProfilerImpl.h" // for PROFILER_LABEL
#include "SharedSurfaceEGL.h" #include "SharedSurfaceEGL.h" // for SurfaceFactory_EGLImage
#include "SharedSurfaceGL.h" // for SurfaceFactory_GLTexture, etc
#include "SurfaceStream.h" // for SurfaceStream, etc
#include "SurfaceTypes.h" // for SurfaceStreamType
#include "ClientLayerManager.h" // for ClientLayerManager, etc
#include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/layers/CompositorTypes.h"
#include "mozilla/layers/LayersTypes.h"
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "nsRect.h" // for nsIntRect
#include "nsXULAppAPI.h" // for XRE_GetProcessType, etc
#ifdef MOZ_WIDGET_GONK #ifdef MOZ_WIDGET_GONK
#include "SharedSurfaceGralloc.h" #include "SharedSurfaceGralloc.h"
#endif #endif

Просмотреть файл

@ -6,21 +6,26 @@
#ifndef GFX_CLIENTCANVASLAYER_H #ifndef GFX_CLIENTCANVASLAYER_H
#define GFX_CLIENTCANVASLAYER_H #define GFX_CLIENTCANVASLAYER_H
#include "ClientLayerManager.h" #include "mozilla/layers/CanvasClient.h" // for CanvasClient, etc
#include "nsXULAppAPI.h" #include "ClientLayerManager.h" // for ClientLayerManager, etc
#include "gfxASurface.h" #include "CopyableCanvasLayer.h" // for CopyableCanvasLayer
#include "mozilla/Preferences.h" #include "Layers.h" // for CanvasLayer, etc
#include "mozilla/layers/LayerTransaction.h" #include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/layers/CanvasClient.h" #include "mozilla/RefPtr.h" // for RefPtr
#include "CopyableCanvasLayer.h" #include "mozilla/layers/LayerTransaction.h" // for CanvasLayerAttributes, etc
#include "mozilla/mozalloc.h" // for operator delete
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsDebug.h" // for NS_ASSERTION
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla::gfx; using namespace mozilla::gfx;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CanvasClient2D; class CompositableClient;
class CanvasClientWebGL; class ShadowableLayer;
class ClientCanvasLayer : public CopyableCanvasLayer, class ClientCanvasLayer : public CopyableCanvasLayer,
public ClientLayer public ClientLayer

Просмотреть файл

@ -3,14 +3,24 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ClientLayerManager.h" #include "ClientLayerManager.h" // for ClientLayerManager, etc
#include "mozilla/layers/LayerTransaction.h" #include "Layers.h" // for ColorLayer, etc
#include "mozilla/layers/LayerTransaction.h" // for ColorLayerAttributes, etc
#include "mozilla/mozalloc.h" // for operator new
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla::gfx; using namespace mozilla::gfx;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class ShadowableLayer;
class ClientColorLayer : public ColorLayer, class ClientColorLayer : public ColorLayer,
public ClientLayer { public ClientLayer {
public: public:

Просмотреть файл

@ -1,5 +1,17 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ClientContainerLayer.h" #include "ClientContainerLayer.h"
#include "BasicLayersImpl.h" #include "ClientLayerManager.h" // for ClientLayerManager, etc
#include "mozilla/mozalloc.h" // for operator new
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
namespace mozilla {
namespace layers {
already_AddRefed<ContainerLayer> already_AddRefed<ContainerLayer>
ClientLayerManager::CreateContainerLayer() ClientLayerManager::CreateContainerLayer()
@ -20,3 +32,6 @@ ClientLayerManager::CreateRefLayer()
CREATE_SHADOW(Ref); CREATE_SHADOW(Ref);
return layer.forget(); return layer.forget();
} }
}
}

Просмотреть файл

@ -1,7 +1,27 @@
#include "ClientLayerManager.h" /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
#include "gfxPlatform.h" * This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
using namespace mozilla::layers; #ifndef GFX_CLIENTCONTAINERLAYER_H
#define GFX_CLIENTCONTAINERLAYER_H
#include <stdint.h> // for uint32_t
#include "ClientLayerManager.h" // for ClientLayerManager, etc
#include "Layers.h" // for Layer, ContainerLayer, etc
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxMatrix.h" // for gfxMatrix
#include "gfxPlatform.h" // for gfxPlatform
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsUtils.h" // for NS_ADDREF, NS_RELEASE
#include "nsRegion.h" // for nsIntRegion
#include "nsTArray.h" // for nsAutoTArray
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
namespace mozilla {
namespace layers {
class ShadowableLayer;
template<class Container> void template<class Container> void
ContainerInsertAfter(Layer* aChild, Layer* aAfter, Container* aContainer) ContainerInsertAfter(Layer* aChild, Layer* aAfter, Container* aContainer)
@ -280,3 +300,8 @@ private:
return static_cast<ClientLayerManager*>(mManager); return static_cast<ClientLayerManager*>(mManager);
} }
}; };
}
}
#endif

Просмотреть файл

@ -3,16 +3,32 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ClientLayerManager.h" #include "ClientLayerManager.h" // for ClientLayerManager, etc
#include "mozilla/layers/LayerTransaction.h" #include "ImageContainer.h" // for AutoLockImage, etc
#include "mozilla/layers/ImageClient.h" #include "ImageLayers.h" // for ImageLayer
#include "ImageContainer.h" #include "gfxASurface.h" // for gfxASurface
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/layers/CompositorTypes.h"
#include "mozilla/layers/ImageClient.h" // for ImageClient, etc
#include "mozilla/layers/LayerTransaction.h" // for ImageLayerAttributes, etc
#include "mozilla/mozalloc.h" // for operator delete, etc
#include "nsAutoPtr.h" // for nsRefPtr, getter_AddRefs, etc
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla::gfx; using namespace mozilla::gfx;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CompositableClient;
class Layer;
class ShadowableLayer;
class ClientImageLayer : public ImageLayer, class ClientImageLayer : public ImageLayer,
public ClientLayer { public ClientLayer {
public: public:

Просмотреть файл

@ -4,18 +4,27 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ClientLayerManager.h" #include "ClientLayerManager.h"
#include "nsIWidget.h" #include "CompositorChild.h" // for CompositorChild
#include "mozilla/dom/TabChild.h" #include "GeckoProfilerImpl.h" // for PROFILER_LABEL
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxASurface.h" // for gfxASurface, etc
#include "ipc/AutoOpenSurface.h" // for AutoOpenSurface
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/Hal.h" #include "mozilla/Hal.h"
#include "mozilla/layers/PLayerChild.h" #include "mozilla/dom/ScreenOrientation.h" // for ScreenOrientation
#include "mozilla/dom/TabChild.h" // for TabChild
#include "mozilla/hal_sandbox/PHal.h" // for ScreenConfiguration
#include "mozilla/layers/CompositableClient.h" // for CompositableChild, etc
#include "mozilla/layers/ContentClient.h" // for ContentClientRemote
#include "mozilla/layers/ISurfaceAllocator.h"
#include "mozilla/layers/LayerTransaction.h" // for EditReply, etc
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "mozilla/layers/PLayerChild.h" // for PLayerChild
#include "mozilla/layers/PLayerTransactionChild.h" #include "mozilla/layers/PLayerTransactionChild.h"
#include "mozilla/layers/PLayerTransactionParent.h" #include "nsAString.h"
#include "CompositorChild.h" #include "nsIWidget.h" // for nsIWidget
#include "ipc/AutoOpenSurface.h" #include "nsTArray.h" // for AutoInfallibleTArray
#include "ipc/ShadowLayerChild.h" #include "nsXULAppAPI.h" // for XRE_GetProcessType, etc
#include "mozilla/layers/CompositableClient.h"
#include "mozilla/layers/ContentClient.h"
#ifdef MOZ_WIDGET_ANDROID #ifdef MOZ_WIDGET_ANDROID
#include "AndroidBridge.h" #include "AndroidBridge.h"
#endif #endif

Просмотреть файл

@ -6,13 +6,33 @@
#ifndef GFX_CLIENTLAYERMANAGER_H #ifndef GFX_CLIENTLAYERMANAGER_H
#define GFX_CLIENTLAYERMANAGER_H #define GFX_CLIENTLAYERMANAGER_H
#include <stdint.h> // for int32_t
#include "Layers.h" #include "Layers.h"
#include "mozilla/layers/ShadowLayers.h" #include "gfxContext.h" // for gfxContext
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/WidgetUtils.h" // for ScreenRotation
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/layers/CompositorTypes.h"
#include "mozilla/layers/LayersTypes.h" // for BufferMode, LayersBackend, etc
#include "mozilla/layers/ShadowLayers.h" // for ShadowLayerForwarder, etc
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ABORT_IF_FALSE
#include "nsISupportsImpl.h" // for Layer::Release, etc
#include "nsRect.h" // for nsIntRect
#include "nsTArray.h" // for nsTArray
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR
#include "nscore.h" // for nsAString
class nsIWidget;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class ClientThebesLayer;
class CompositorChild; class CompositorChild;
class ImageLayer;
class PLayerChild;
class ClientLayerManager : public LayerManager, class ClientLayerManager : public LayerManager,
public ShadowLayerForwarder public ShadowLayerForwarder
@ -182,7 +202,6 @@ private:
bool mCompositorMightResample; bool mCompositorMightResample;
}; };
class ClientThebesLayer;
class ClientLayer : public ShadowableLayer class ClientLayer : public ShadowableLayer
{ {
public: public:

Просмотреть файл

@ -4,7 +4,22 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ClientThebesLayer.h" #include "ClientThebesLayer.h"
#include "ClientTiledThebesLayer.h" #include <stdint.h> // for uint32_t
#include "GeckoProfilerImpl.h" // for PROFILER_LABEL
#include "client/ClientLayerManager.h" // for ClientLayerManager, etc
#include "gfxASurface.h" // for gfxASurface, etc
#include "gfxContext.h" // for gfxContext
#include "gfxRect.h" // for gfxRect
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/gfx/2D.h" // for DrawTarget
#include "mozilla/gfx/Matrix.h" // for Matrix
#include "mozilla/gfx/Rect.h" // for Rect, IntRect
#include "mozilla/gfx/Types.h" // for Float, etc
#include "mozilla/layers/LayersTypes.h"
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "nsRect.h" // for nsIntRect
using namespace mozilla::gfx; using namespace mozilla::gfx;

Просмотреть файл

@ -6,13 +6,27 @@
#ifndef GFX_CLIENTTHEBESLAYER_H #ifndef GFX_CLIENTTHEBESLAYER_H
#define GFX_CLIENTTHEBESLAYER_H #define GFX_CLIENTTHEBESLAYER_H
#include "ClientLayerManager.h" #include "ClientLayerManager.h" // for ClientLayerManager, etc
#include "ThebesLayerBuffer.h" #include "Layers.h" // for ThebesLayer, etc
#include "mozilla/layers/ContentClient.h" #include "ThebesLayerBuffer.h" // for ThebesLayerBuffer, etc
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/layers/ContentClient.h" // for ContentClient
#include "mozilla/mozalloc.h" // for operator delete
#include "nsDebug.h" // for NS_ASSERTION
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
#include "mozilla/layers/PLayerTransaction.h" // for ThebesLayerAttributes
class gfxContext;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CompositableClient;
class ShadowableLayer;
class SpecificLayerAttributes;
class ClientThebesLayer : public ThebesLayer, class ClientThebesLayer : public ThebesLayer,
public ClientLayer { public ClientLayer {
public: public:

Просмотреть файл

@ -2,12 +2,21 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this file, * License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */ * You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/PLayerTransactionChild.h"
#include "ClientTiledThebesLayer.h" #include "ClientTiledThebesLayer.h"
#include "gfxImageSurface.h" #include "FrameMetrics.h" // for FrameMetrics
#include "GeckoProfiler.h" #include "Units.h" // for ScreenIntRect, CSSPoint, etc
#include "gfxPlatform.h" #include "ClientLayerManager.h" // for ClientLayerManager, etc
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxPlatform.h" // for gfxPlatform
#include "gfxPoint.h" // for gfxSize
#include "gfxRect.h" // for gfxRect
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "mozilla/gfx/Rect.h" // for Rect, RectTyped
#include "mozilla/layers/LayerTransaction.h"
#include "mozilla/mozalloc.h" // for operator delete, etc
#include "nsRect.h" // for nsIntRect
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -5,14 +5,20 @@
#ifndef GFX_CLIENTTILEDTHEBESLAYER_H #ifndef GFX_CLIENTTILEDTHEBESLAYER_H
#define GFX_CLIENTTILEDTHEBESLAYER_H #define GFX_CLIENTTILEDTHEBESLAYER_H
#include "mozilla/layers/ShadowLayers.h" #include "ClientLayerManager.h" // for ClientLayer, etc
#include "ClientLayerManager.h" #include "Layers.h" // for ThebesLayer, etc
#include "mozilla/layers/TiledContentClient.h" // tiles and tile buffer #include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/layers/TiledContentClient.h"
#include "nsDebug.h" // for NS_RUNTIMEABORT
#include "nsRegion.h" // for nsIntRegion
class gfxContext;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class BasicTiledLayerBuffer; class ShadowableLayer;
class SpecificLayerAttributes;
/** /**
* An implementation of ThebesLayer that ONLY supports remote * An implementation of ThebesLayer that ONLY supports remote

Просмотреть файл

@ -4,11 +4,12 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/CompositableClient.h" #include "mozilla/layers/CompositableClient.h"
#include "mozilla/layers/TextureClient.h" #include <stdint.h> // for uint64_t, uint32_t
#include "mozilla/layers/TextureClientOGL.h" #include "gfxPlatform.h" // for gfxPlatform
#include "mozilla/layers/LayerTransactionChild.h"
#include "mozilla/layers/CompositableForwarder.h" #include "mozilla/layers/CompositableForwarder.h"
#include "gfxPlatform.h" #include "mozilla/layers/TextureClient.h" // for DeprecatedTextureClient, etc
#include "mozilla/layers/TextureClientOGL.h"
#include "mozilla/mozalloc.h" // for operator delete, etc
#ifdef XP_WIN #ifdef XP_WIN
#include "mozilla/layers/TextureD3D9.h" #include "mozilla/layers/TextureD3D9.h"
#include "mozilla/layers/TextureD3D11.h" #include "mozilla/layers/TextureD3D11.h"

Просмотреть файл

@ -6,20 +6,24 @@
#ifndef MOZILLA_GFX_BUFFERCLIENT_H #ifndef MOZILLA_GFX_BUFFERCLIENT_H
#define MOZILLA_GFX_BUFFERCLIENT_H #define MOZILLA_GFX_BUFFERCLIENT_H
#include "mozilla/layers/PCompositableChild.h" #include <stdint.h> // for uint64_t
#include "mozilla/layers/LayersTypes.h" #include <vector> // for vector
#include "mozilla/RefPtr.h" #include "mozilla/Assertions.h" // for MOZ_CRASH
#include "mozilla/RefPtr.h" // for TemporaryRef, RefCounted
#include "mozilla/gfx/Types.h" // for SurfaceFormat
#include "mozilla/layers/CompositorTypes.h"
#include "mozilla/layers/LayersTypes.h" // for LayersBackend
#include "mozilla/layers/PCompositableChild.h" // for PCompositableChild
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CompositableChild;
class CompositableClient; class CompositableClient;
class DeprecatedTextureClient; class DeprecatedTextureClient;
class TextureClient; class TextureClient;
class BufferTextureClient; class BufferTextureClient;
class ImageBridgeChild; class ImageBridgeChild;
class ShadowableLayer;
class CompositableForwarder; class CompositableForwarder;
class CompositableChild; class CompositableChild;
class SurfaceDescriptor; class SurfaceDescriptor;

Просмотреть файл

@ -4,13 +4,29 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/ContentClient.h" #include "mozilla/layers/ContentClient.h"
#include "mozilla/gfx/2D.h" #include "BasicLayers.h" // for BasicLayerManager
#include "BasicThebesLayer.h" #include "Layers.h" // for ThebesLayer, Layer, etc
#include "nsIWidget.h" #include "gfxColor.h" // for gfxRGBA
#include "gfxUtils.h" #include "gfxContext.h" // for gfxContext, etc
#include "gfxPlatform.h" #include "gfxPlatform.h" // for gfxPlatform
#include "gfxPoint.h" // for gfxIntSize, gfxPoint
#include "gfxTeeSurface.h" // for gfxTeeSurface
#include "gfxUtils.h" // for gfxUtils
#include "ipc/ShadowLayers.h" // for ShadowLayerForwarder
#include "mozilla/Util.h" // for ArrayLength
#include "mozilla/gfx/2D.h" // for DrawTarget, Factory
#include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/gfx/Types.h"
#include "mozilla/layers/LayerManagerComposite.h" #include "mozilla/layers/LayerManagerComposite.h"
#include "gfxTeeSurface.h" #include "mozilla/layers/LayerTransaction.h" // for ThebesBufferData
#include "mozilla/layers/LayersTypes.h"
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsDebug.h" // for NS_ASSERTION, NS_WARNING, etc
#include "nsISupportsImpl.h" // for gfxContext::Release, etc
#include "nsIWidget.h" // for nsIWidget
#include "prenv.h" // for PR_GetEnv
#ifdef XP_WIN #ifdef XP_WIN
#include "gfxWindowsPlatform.h" #include "gfxWindowsPlatform.h"
#endif #endif

Просмотреть файл

@ -6,19 +6,39 @@
#ifndef MOZILLA_GFX_CONTENTCLIENT_H #ifndef MOZILLA_GFX_CONTENTCLIENT_H
#define MOZILLA_GFX_CONTENTCLIENT_H #define MOZILLA_GFX_CONTENTCLIENT_H
#include "mozilla/layers/LayersSurfaces.h" #include <stdint.h> // for uint32_t
#include "mozilla/layers/CompositableClient.h" #include "ThebesLayerBuffer.h" // for ThebesLayerBuffer, etc
#include "gfxReusableSurfaceWrapper.h" #include "gfxASurface.h" // for gfxASurface, etc
#include "mozilla/layers/TextureClient.h" #include "gfxPlatform.h" // for gfxPlatform
#include "ThebesLayerBuffer.h" #include "mozilla/Assertions.h" // for MOZ_CRASH
#include "ipc/AutoOpenSurface.h" #include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "ipc/ShadowLayerChild.h" #include "mozilla/RefPtr.h" // for RefPtr, TemporaryRef
#include "gfxPlatform.h" #include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/layers/CompositableClient.h" // for CompositableClient
#include "mozilla/layers/CompositableForwarder.h"
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo, etc
#include "mozilla/layers/ISurfaceAllocator.h"
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "mozilla/layers/TextureClient.h" // for DeprecatedTextureClient
#include "mozilla/mozalloc.h" // for operator delete
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsTArray.h" // for nsTArray
class gfxContext;
struct gfxMatrix;
namespace mozilla { namespace mozilla {
namespace gfx {
class DrawTarget;
}
namespace layers { namespace layers {
class BasicLayerManager; class BasicLayerManager;
class ThebesLayer;
/** /**
* A compositable client for Thebes layers. These are different to Image/Canvas * A compositable client for Thebes layers. These are different to Image/Canvas

Просмотреть файл

@ -3,16 +3,35 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/TextureClient.h" #include "ImageClient.h"
#include "mozilla/layers/ImageClient.h" #include <stdint.h> // for uint32_t
#include "BasicLayers.h" #include "ImageContainer.h" // for Image, PlanarYCbCrImage, etc
#include "mozilla/layers/ShadowLayers.h" #include "ImageTypes.h" // for ImageFormat::PLANAR_YCBCR, etc
#include "SharedTextureImage.h" #include "SharedTextureImage.h" // for SharedTextureImage::Data, etc
#include "ImageContainer.h" // For PlanarYCbCrImage #include "gfx2DGlue.h" // for ImageFormatToSurfaceFormat
#include "mozilla/layers/SharedRGBImage.h" #include "gfxASurface.h" // for gfxASurface, etc
#include "gfxPlatform.h" // for gfxPlatform
#include "gfxPoint.h" // for gfxIntSize
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/RefPtr.h" // for RefPtr, TemporaryRef
#include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/gfx/Types.h" // for SurfaceFormat, etc
#include "mozilla/layers/CompositableClient.h" // for CompositableClient
#include "mozilla/layers/CompositableForwarder.h"
#include "mozilla/layers/CompositorTypes.h" // for CompositableType, etc
#include "mozilla/layers/ISurfaceAllocator.h"
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor, etc
#include "mozilla/layers/ShadowLayers.h" // for ShadowLayerForwarder
#include "mozilla/layers/SharedPlanarYCbCrImage.h" #include "mozilla/layers/SharedPlanarYCbCrImage.h"
#include "gfxPlatform.h" #include "mozilla/layers/SharedRGBImage.h"
#include "mozilla/layers/TextureClient.h" // for TextureClient, etc
#include "mozilla/mozalloc.h" // for operator delete, etc
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_WARNING, NS_ASSERTION
#include "nsISupportsImpl.h" // for Image::Release, etc
#include "nsRect.h" // for nsIntRect
#ifdef MOZ_WIDGET_GONK #ifdef MOZ_WIDGET_GONK
#include "GrallocImages.h" #include "GrallocImages.h"
#endif #endif

Просмотреть файл

@ -6,17 +6,26 @@
#ifndef MOZILLA_GFX_IMAGECLIENT_H #ifndef MOZILLA_GFX_IMAGECLIENT_H
#define MOZILLA_GFX_IMAGECLIENT_H #define MOZILLA_GFX_IMAGECLIENT_H
#include "mozilla/layers/LayersSurfaces.h" #include <stdint.h> // for uint32_t, uint64_t
#include "mozilla/layers/CompositableClient.h" #include <sys/types.h> // for int32_t
#include "mozilla/layers/TextureClient.h" #include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "gfxPattern.h" #include "mozilla/RefPtr.h" // for RefPtr, TemporaryRef
#include "mozilla/gfx/Types.h" // for SurfaceFormat
#include "mozilla/layers/CompositableClient.h" // for CompositableClient
#include "mozilla/layers/CompositorTypes.h" // for CompositableType, etc
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "mozilla/layers/TextureClient.h" // for DeprecatedTextureClient, etc
#include "mozilla/mozalloc.h" // for operator delete
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsRect.h" // for nsIntRect
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CompositableForwarder;
class Image;
class ImageContainer; class ImageContainer;
class ImageLayer; class ShadowableLayer;
class PlanarYCbCrImage;
/** /**
* Image clients are used by basic image layers on the content thread, they * Image clients are used by basic image layers on the content thread, they

Просмотреть файл

@ -4,32 +4,29 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/TextureClient.h" #include "mozilla/layers/TextureClient.h"
#include "mozilla/layers/TextureClientOGL.h" #include <stdint.h> // for uint8_t, uint32_t, etc
#include "Layers.h" // for Layer, etc
#include "mozilla/layers/ImageClient.h" #include "gfxContext.h" // for gfxContext, etc
#include "mozilla/layers/CanvasClient.h" #include "gfxPlatform.h" // for gfxPlatform
#include "mozilla/layers/ContentClient.h" #include "gfxPoint.h" // for gfxIntSize, gfxSize
#include "mozilla/layers/ShadowLayers.h" #include "gfxReusableSurfaceWrapper.h" // for gfxReusableSurfaceWrapper
#include "mozilla/layers/SharedPlanarYCbCrImage.h" #include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "GLContext.h" #include "mozilla/ipc/SharedMemory.h" // for SharedMemory, etc
#include "BasicLayers.h" // for PaintContext #include "mozilla/layers/CompositableClient.h" // for CompositableClient
#include "mozilla/layers/YCbCrImageDataSerializer.h" #include "mozilla/layers/CompositableForwarder.h"
#include "gfxReusableSurfaceWrapper.h" #include "mozilla/layers/ISurfaceAllocator.h"
#include "gfxPlatform.h"
#include "mozilla/layers/ImageDataSerializer.h" #include "mozilla/layers/ImageDataSerializer.h"
#include "gfx2DGlue.h" #include "mozilla/layers/ShadowLayers.h" // for ShadowLayerForwarder
#include "mozilla/layers/SharedPlanarYCbCrImage.h"
#include <stdint.h> #include "mozilla/layers/YCbCrImageDataSerializer.h"
#include "nsDebug.h" // for NS_ASSERTION, NS_WARNING, etc
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla::gl; using namespace mozilla::gl;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
TextureClient::TextureClient(TextureFlags aFlags) TextureClient::TextureClient(TextureFlags aFlags)
: mID(0) : mID(0)
, mFlags(aFlags) , mFlags(aFlags)

Просмотреть файл

@ -6,25 +6,34 @@
#ifndef MOZILLA_GFX_TEXTURECLIENT_H #ifndef MOZILLA_GFX_TEXTURECLIENT_H
#define MOZILLA_GFX_TEXTURECLIENT_H #define MOZILLA_GFX_TEXTURECLIENT_H
#include "mozilla/layers/LayersSurfaces.h" #include <stddef.h> // for size_t
#include "gfxASurface.h" #include <stdint.h> // for uint32_t, uint8_t, uint64_t
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo #include "GLContext.h" // for GLContext (ptr only), etc
#include "mozilla/RefPtr.h" #include "GLTextureImage.h" // for TextureImage
#include "ImageContainer.h" // for PlanarYCbCrImage::Data #include "ImageContainer.h" // for PlanarYCbCrImage, etc
#include "ImageTypes.h" // for StereoMode
#include "gfxASurface.h" // for gfxASurface, etc
#include "gfxImageSurface.h" // for gfxImageSurface
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr, RefCounted
#include "mozilla/gfx/2D.h" // for DrawTarget
#include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/gfx/Types.h" // for SurfaceFormat
#include "mozilla/ipc/Shmem.h" // for Shmem
#include "mozilla/layers/CompositorTypes.h" // for TextureFlags, etc
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "mozilla/mozalloc.h" // for operator delete
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsISupportsImpl.h" // for TextureImage::AddRef, etc
class gfxReusableSurfaceWrapper; class gfxReusableSurfaceWrapper;
namespace mozilla { namespace mozilla {
namespace gl {
class GLContext;
}
namespace layers { namespace layers {
class ContentClient; class ContentClient;
class PlanarYCbCrImage;
class Image;
class CompositableForwarder; class CompositableForwarder;
class ISurfaceAllocator; class ISurfaceAllocator;
class CompositableClient; class CompositableClient;

Просмотреть файл

@ -4,9 +4,21 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/TiledContentClient.h" #include "mozilla/layers/TiledContentClient.h"
#include "mozilla/gfx/2D.h" #include <math.h> // for ceil, ceilf, floor
#include "mozilla/MathAlgorithms.h" #include "ClientTiledThebesLayer.h" // for ClientTiledThebesLayer
#include "ClientTiledThebesLayer.h" #include "GeckoProfilerImpl.h" // for PROFILER_LABEL
#include "ClientLayerManager.h" // for ClientLayerManager
#include "gfxContext.h" // for gfxContext, etc
#include "gfxPlatform.h" // for gfxPlatform
#include "gfxRect.h" // for gfxRect
#include "mozilla/MathAlgorithms.h" // for Abs
#include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/layers/CompositableForwarder.h"
#include "mozilla/layers/ShadowLayers.h" // for ShadowLayerForwarder
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for gfxContext::AddRef, etc
#include "nsSize.h" // for nsIntSize
#ifdef GFX_TILEDLAYER_DEBUG_OVERLAY #ifdef GFX_TILEDLAYER_DEBUG_OVERLAY
#include "cairo.h" #include "cairo.h"

Просмотреть файл

@ -6,9 +6,29 @@
#ifndef MOZILLA_GFX_TILEDCONTENTCLIENT_H #ifndef MOZILLA_GFX_TILEDCONTENTCLIENT_H
#define MOZILLA_GFX_TILEDCONTENTCLIENT_H #define MOZILLA_GFX_TILEDCONTENTCLIENT_H
#include "mozilla/layers/ContentClient.h" #include <stddef.h> // for size_t
#include "TiledLayerBuffer.h" #include <stdint.h> // for uint16_t
#include "gfxPlatform.h" #include <algorithm> // for swap
#include "Layers.h" // for LayerManager, etc
#include "TiledLayerBuffer.h" // for TiledLayerBuffer
#include "Units.h" // for CSSPoint
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxASurface.h" // for gfxASurface, etc
#include "gfxImageSurface.h" // for gfxImageSurface
#include "gfxPoint.h" // for gfxSize
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/layers/CompositableClient.h" // for CompositableClient
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo, etc
#include "mozilla/layers/TextureClient.h"
#include "mozilla/mozalloc.h" // for operator delete
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsTArray.h" // for nsTArray, nsTArray_Impl, etc
#include "nsTraceRefcnt.h" // for MOZ_COUNT_DTOR
#include "gfxReusableSurfaceWrapper.h"
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -5,8 +5,19 @@
#include "APZCTreeManager.h" #include "APZCTreeManager.h"
#include "AsyncCompositionManager.h" // for ViewTransform #include "AsyncCompositionManager.h" // for ViewTransform
#include "LayerManagerComposite.h" // for AsyncCompositionManager.h #include "Compositor.h" // for Compositor
#include "Compositor.h" #include "CompositorParent.h" // for CompositorParent, etc
#include "InputData.h" // for InputData, etc
#include "Layers.h" // for ContainerLayer, Layer, etc
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "mozilla/dom/Touch.h" // for Touch
#include "mozilla/gfx/Point.h" // for Point
#include "mozilla/layers/AsyncPanZoomController.h"
#include "mozilla/mozalloc.h" // for operator new
#include "nsGUIEvent.h" // for nsMouseEvent, nsTouchEvent, etc
#include "nsPoint.h" // for nsIntPoint
#include "nsTArray.h" // for nsTArray, nsTArray_Impl, etc
#include "nsThreadUtils.h" // for NS_IsMainThread
#define APZC_LOG(...) #define APZC_LOG(...)
// #define APZC_LOG(args...) printf_stderr(args) // #define APZC_LOG(args...) printf_stderr(args)
@ -21,6 +32,10 @@ APZCTreeManager::APZCTreeManager()
AsyncPanZoomController::InitializeGlobalState(); AsyncPanZoomController::InitializeGlobalState();
} }
APZCTreeManager::~APZCTreeManager()
{
}
void void
APZCTreeManager::AssertOnCompositorThread() APZCTreeManager::AssertOnCompositorThread()
{ {

Просмотреть файл

@ -6,13 +6,28 @@
#ifndef mozilla_layers_APZCTreeManager_h #ifndef mozilla_layers_APZCTreeManager_h
#define mozilla_layers_APZCTreeManager_h #define mozilla_layers_APZCTreeManager_h
#include "mozilla/layers/AsyncPanZoomController.h" #include <stdint.h> // for uint64_t, uint32_t
#include "Layers.h" #include "FrameMetrics.h" // for FrameMetrics, etc
#include "CompositorParent.h" #include "Units.h" // for CSSPoint, CSSRect, etc
#include "gfxPoint.h" // for gfxPoint
#include "mozilla/Assertions.h" // for MOZ_ASSERT_HELPER2
#include "mozilla/Monitor.h" // for Monitor
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsEvent.h" // for nsEventStatus
#include "nsISupportsImpl.h"
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
class gfx3DMatrix;
class nsInputEvent;
template <class E> class nsTArray;
namespace mozilla { namespace mozilla {
class InputData;
namespace layers { namespace layers {
class Layer;
class AsyncPanZoomController; class AsyncPanZoomController;
class CompositorParent; class CompositorParent;
@ -101,7 +116,7 @@ class APZCTreeManager {
public: public:
APZCTreeManager(); APZCTreeManager();
virtual ~APZCTreeManager() {} virtual ~APZCTreeManager();
/** /**
* Rebuild the APZC tree based on the layer update that just came up. Preserve * Rebuild the APZC tree based on the layer update that just came up. Preserve

Просмотреть файл

@ -5,21 +5,41 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/AsyncCompositionManager.h" #include "mozilla/layers/AsyncCompositionManager.h"
#include "base/basictypes.h" #include <stdint.h> // for uint32_t
#include "AnimationCommon.h" // for ComputedTimingFunction
#include "CompositorParent.h" // for CompositorParent, etc
#include "FrameMetrics.h" // for FrameMetrics
#include "LayerManagerComposite.h" // for LayerManagerComposite, etc
#include "Layers.h" // for Layer, ContainerLayer, etc
#include "gfxMatrix.h" // for gfxMatrix
#include "gfxPoint.h" // for gfxPoint, gfxSize
#include "gfxPoint3D.h" // for gfxPoint3D
#include "mozilla/WidgetUtils.h" // for ComputeTransformForRotation
#include "mozilla/gfx/BaseRect.h" // for BaseRect
#include "mozilla/gfx/Point.h" // for RoundedToInt, PointTyped
#include "mozilla/gfx/Rect.h" // for RoundedToInt, RectTyped
#include "mozilla/gfx/ScaleFactor.h" // for ScaleFactor
#include "mozilla/layers/AsyncPanZoomController.h"
#include "mozilla/layers/Compositor.h" // for Compositor
#include "nsAnimationManager.h" // for ElementAnimations
#include "nsCSSPropList.h"
#include "nsCoord.h" // for NSAppUnitsToFloatPixels, etc
#include "nsDebug.h" // for NS_ASSERTION, etc
#include "nsDeviceContext.h" // for nsDeviceContext
#include "nsDisplayList.h" // for nsDisplayTransform, etc
#include "nsMathUtils.h" // for NS_round
#include "nsPoint.h" // for nsPoint
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsStyleAnimation.h" // for nsStyleAnimation::Value, etc
#include "nsTArray.h" // for nsTArray, nsTArray_Impl, etc
#include "nsTArrayForwardDeclare.h" // for InfallibleTArray
#if defined(MOZ_WIDGET_ANDROID) #if defined(MOZ_WIDGET_ANDROID)
# include <android/log.h> # include <android/log.h>
# include "AndroidBridge.h" # include "AndroidBridge.h"
#endif #endif
#include "CompositorParent.h" struct nsCSSValueList;
#include "LayerManagerComposite.h"
#include "nsStyleAnimation.h"
#include "nsDisplayList.h"
#include "AnimationCommon.h"
#include "nsAnimationManager.h"
#include "mozilla/layers/AsyncPanZoomController.h"
using namespace mozilla::dom; using namespace mozilla::dom;

Просмотреть файл

@ -6,23 +6,24 @@
#ifndef GFX_ASYNCCOMPOSITIONMANAGER_H #ifndef GFX_ASYNCCOMPOSITIONMANAGER_H
#define GFX_ASYNCCOMPOSITIONMANAGER_H #define GFX_ASYNCCOMPOSITIONMANAGER_H
#include "gfxPoint.h" #include "GeckoProfilerFunc.h" // for TimeStamp
#include "gfx3DMatrix.h" #include "Units.h" // for LayerPoint, etc
#include "nsAutoPtr.h" #include "mozilla/layers/LayerManagerComposite.h" // for LayerManagerComposite
#include "nsRect.h" #include "gfx3DMatrix.h" // for gfx3DMatrix
#include "mozilla/dom/ScreenOrientation.h" #include "mozilla/Attributes.h" // for MOZ_DELETE, MOZ_FINAL, etc
#include "mozilla/gfx/Rect.h" #include "mozilla/RefPtr.h" // for RefCounted
#include "mozilla/Attributes.h" #include "mozilla/TimeStamp.h" // for TimeStamp
#include "mozilla/RefPtr.h" #include "mozilla/dom/ScreenOrientation.h" // for ScreenOrientation
#include "mozilla/TimeStamp.h" #include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/layers/LayerTransaction.h" // for TargetConfig #include "mozilla/layers/LayerTransaction.h" // for TargetConfig
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsISupportsImpl.h" // for LayerManager::AddRef, etc
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class AsyncPanZoomController;
class Layer; class Layer;
class LayerManagerComposite;
class AutoResolveRefLayers; class AutoResolveRefLayers;
// Represents (affine) transforms that are calculated from a content view. // Represents (affine) transforms that are calculated from a content view.

Просмотреть файл

@ -3,16 +3,23 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ipc/AutoOpenSurface.h"
#include "mozilla/layers/PLayerTransaction.h"
#include "mozilla/layers/ShadowLayers.h"
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo
#include "mozilla/layers/Effects.h"
#include "CanvasLayerComposite.h" #include "CanvasLayerComposite.h"
#include "ImageHost.h" #include "composite/CompositableHost.h" // for CompositableHost
#include "gfxUtils.h" #include "gfx2DGlue.h" // for ToFilter, ToMatrix4x4
#include "gfx2DGlue.h" #include "gfxImageSurface.h" // for gfxImageSurface
#include "gfxPattern.h" // for gfxPattern, etc
#include "gfxUtils.h" // for gfxUtils, etc
#include "mozilla/gfx/Matrix.h" // for Matrix4x4
#include "mozilla/gfx/Point.h" // for Point
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/Effects.h" // for EffectChain
#include "mozilla/mozalloc.h" // for operator delete
#include "nsAString.h"
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsPoint.h" // for nsIntPoint
#include "nsString.h" // for nsAutoCString
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla; using namespace mozilla;
using namespace mozilla::layers; using namespace mozilla::layers;

Просмотреть файл

@ -6,16 +6,20 @@
#ifndef GFX_CanvasLayerComposite_H #ifndef GFX_CanvasLayerComposite_H
#define GFX_CanvasLayerComposite_H #define GFX_CanvasLayerComposite_H
#include "Layers.h" // for CanvasLayer, etc
#include "mozilla/layers/LayerManagerComposite.h" #include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "gfxASurface.h" #include "mozilla/RefPtr.h" // for RefPtr
#if defined(MOZ_WIDGET_GTK2) && !defined(MOZ_PLATFORM_MAEMO) #include "mozilla/layers/LayerManagerComposite.h" // for LayerComposite, etc
#include "mozilla/X11Util.h" #include "mozilla/layers/LayersTypes.h" // for LayerRenderState, etc
#endif #include "nsDebug.h" // for NS_RUNTIMEABORT
#include "nsRect.h" // for nsIntRect
#include "nscore.h" // for nsACString
struct nsIntPoint;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CompositableHost;
// Canvas layers use ImageHosts (but CanvasClients) because compositing a // Canvas layers use ImageHosts (but CanvasClients) because compositing a
// canvas is identical to compositing an image. // canvas is identical to compositing an image.
class ImageHost; class ImageHost;

Просмотреть файл

@ -4,8 +4,19 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ColorLayerComposite.h" #include "ColorLayerComposite.h"
#include "mozilla/layers/Effects.h" #include "gfx2DGlue.h" // for ToMatrix4x4
#include "gfx2DGlue.h" #include "gfxColor.h" // for gfxRGBA
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/gfx/Matrix.h" // for Matrix4x4
#include "mozilla/gfx/Point.h" // for Point
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/gfx/Types.h" // for Color
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/CompositorTypes.h" // for DIAGNOSTIC_COLOR
#include "mozilla/layers/Effects.h" // for Effect, EffectChain, etc
#include "mozilla/mozalloc.h" // for operator delete, etc
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -6,14 +6,19 @@
#ifndef GFX_ColorLayerComposite_H #ifndef GFX_ColorLayerComposite_H
#define GFX_ColorLayerComposite_H #define GFX_ColorLayerComposite_H
#include "mozilla/layers/PLayerTransaction.h" #include "Layers.h" // for ColorLayer, etc
#include "mozilla/layers/ShadowLayers.h" #include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/layers/LayerManagerComposite.h" // for LayerComposite, etc
#include "mozilla/layers/LayersTypes.h" // for MOZ_LAYERS_HAVE_LOG
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
#include "mozilla/layers/LayerManagerComposite.h" struct nsIntPoint;
struct nsIntRect;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CompositableHost;
class ColorLayerComposite : public ColorLayer, class ColorLayerComposite : public ColorLayer,
public LayerComposite public LayerComposite

Просмотреть файл

@ -4,16 +4,25 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "CompositableHost.h" #include "CompositableHost.h"
#include "ImageHost.h" #include <map> // for _Rb_tree_iterator, map, etc
#include "ContentHost.h" #include <utility> // for pair
#include "TiledContentHost.h" #include "ContentHost.h" // for ContentHostDoubleBuffered, etc
#include "Effects.h" #include "Effects.h" // for EffectMask, Effect, etc
#include "mozilla/layers/CompositableTransactionParent.h" #include "ImageHost.h" // for DeprecatedImageHostBuffered, etc
#include "mozilla/layers/TextureHost.h" #include "TiledContentHost.h" // for TiledContentHost
#include "gfxImageSurface.h" // for gfxImageSurface
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "mozilla/layers/TextureHost.h" // for TextureHost, etc
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsDebug.h" // for NS_WARNING
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class Matrix4x4;
class Compositor;
CompositableHost::CompositableHost(const TextureInfo& aTextureInfo) CompositableHost::CompositableHost(const TextureInfo& aTextureInfo)
: mTextureInfo(aTextureInfo) : mTextureInfo(aTextureInfo)
, mCompositor(nullptr) , mCompositor(nullptr)

Просмотреть файл

@ -6,14 +6,35 @@
#ifndef MOZILLA_GFX_BUFFERHOST_H #ifndef MOZILLA_GFX_BUFFERHOST_H
#define MOZILLA_GFX_BUFFERHOST_H #define MOZILLA_GFX_BUFFERHOST_H
#include "mozilla/layers/Compositor.h" #include <stdint.h> // for uint64_t
#include <stdio.h> // for FILE
#include "mozilla-config.h" // for MOZ_DUMP_PAINTING
#include "gfxPoint.h" // for gfxSize
#include "gfxRect.h" // for gfxRect
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr, RefCounted, etc
#include "mozilla/gfx/Point.h" // for Point
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/gfx/Types.h" // for Filter
#include "mozilla/ipc/ProtocolUtils.h"
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo, etc
#include "mozilla/layers/LayersTypes.h" // for LayerRenderState, etc
#include "mozilla/layers/PCompositableParent.h" #include "mozilla/layers/PCompositableParent.h"
#include "mozilla/layers/ISurfaceAllocator.h" #include "mozilla/mozalloc.h" // for operator delete
#include "ThebesLayerBuffer.h" #include "nsCOMPtr.h" // for already_AddRefed
#include "ClientTiledThebesLayer.h" // for BasicTiledLayerBuffer #include "nsRegion.h" // for nsIntRegion
#include "mozilla/RefPtr.h" #include "nscore.h" // for nsACString
class gfxImageSurface;
struct nsIntPoint;
struct nsIntRect;
namespace mozilla { namespace mozilla {
namespace gfx {
class Matrix4x4;
}
namespace layers { namespace layers {
// Some properties of a Layer required for tiling // Some properties of a Layer required for tiling
@ -31,6 +52,11 @@ class Layer;
class DeprecatedTextureHost; class DeprecatedTextureHost;
class TextureHost; class TextureHost;
class SurfaceDescriptor; class SurfaceDescriptor;
class Compositor;
class ISurfaceAllocator;
class ThebesBufferData;
class TiledLayerComposer;
struct EffectChain;
/** /**
* The compositor-side counterpart to CompositableClient. Responsible for * The compositor-side counterpart to CompositableClient. Responsible for

Просмотреть файл

@ -4,10 +4,35 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ContainerLayerComposite.h" #include "ContainerLayerComposite.h"
#include "gfxUtils.h" #include <algorithm> // for min
#include "mozilla/layers/Compositor.h" #include "mozilla-config.h" // for MOZ_DUMP_PAINTING
#include "mozilla/layers/LayersTypes.h" #include "FrameMetrics.h" // for FrameMetrics
#include "gfx2DGlue.h" #include "Units.h" // for LayerRect, LayerPixel, etc
#include "gfx2DGlue.h" // for ToMatrix4x4
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxImageSurface.h" // for gfxImageSurface
#include "gfxMatrix.h" // for gfxMatrix
#include "gfxPlatform.h" // for gfxPlatform
#include "gfxUtils.h" // for gfxUtils, etc
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/gfx/BaseRect.h" // for BaseRect
#include "mozilla/gfx/Matrix.h" // for Matrix4x4
#include "mozilla/gfx/Point.h" // for Point, IntPoint
#include "mozilla/gfx/Rect.h" // for IntRect, Rect
#include "mozilla/layers/Compositor.h" // for Compositor, etc
#include "mozilla/layers/CompositorTypes.h" // for DIAGNOSTIC_CONTAINER
#include "mozilla/layers/Effects.h" // for Effect, EffectChain, etc
#include "mozilla/layers/TextureHost.h" // for CompositingRenderTarget
#include "mozilla/mozalloc.h" // for operator delete, etc
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsUtils.h" // for NS_ADDREF, NS_RELEASE
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsTArray.h" // for nsAutoTArray
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -6,19 +6,20 @@
#ifndef GFX_ContainerLayerComposite_H #ifndef GFX_ContainerLayerComposite_H
#define GFX_ContainerLayerComposite_H #define GFX_ContainerLayerComposite_H
#include "mozilla/layers/PLayerTransaction.h" #include "Layers.h" // for Layer (ptr only), etc
#include "mozilla/layers/ShadowLayers.h" #include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "Layers.h"
#include "mozilla/layers/LayerManagerComposite.h" #include "mozilla/layers/LayerManagerComposite.h"
#include "mozilla/layers/Effects.h" #include "mozilla/layers/LayersTypes.h" // for MOZ_LAYERS_HAVE_LOG
#include "gfxUtils.h" class gfx3DMatrix;
#include "gfx2DGlue.h" struct nsIntPoint;
struct nsIntRect;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CompositableHost;
class ContainerLayerComposite : public ContainerLayer, class ContainerLayerComposite : public ContainerLayer,
public LayerComposite public LayerComposite
{ {

Просмотреть файл

@ -4,12 +4,26 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/ContentHost.h" #include "mozilla/layers/ContentHost.h"
#include "mozilla/layers/Effects.h" #include "LayersLogging.h" // for AppendToString
#include "nsPrintfCString.h" #include "gfx2DGlue.h" // for ContentForFormat
#include "gfx2DGlue.h" #include "gfxPoint.h" // for gfxIntSize
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/gfx/BaseRect.h" // for BaseRect
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/Effects.h" // for TexturedEffect, Effect, etc
#include "mozilla/layers/LayerTransaction.h" // for ThebesBufferData
#include "nsAString.h"
#include "nsPrintfCString.h" // for nsPrintfCString
#include "nsString.h" // for nsAutoCString
class gfxImageSurface;
namespace mozilla { namespace mozilla {
namespace gfx {
class Matrix4x4;
}
using namespace gfx; using namespace gfx;
namespace layers { namespace layers {
ContentHostBase::ContentHostBase(const TextureInfo& aTextureInfo) ContentHostBase::ContentHostBase(const TextureInfo& aTextureInfo)

Просмотреть файл

@ -6,14 +6,45 @@
#ifndef GFX_CONTENTHOST_H #ifndef GFX_CONTENTHOST_H
#define GFX_CONTENTHOST_H #define GFX_CONTENTHOST_H
#include "ThebesLayerBuffer.h" #include <stdint.h> // for uint32_t
#include "CompositableHost.h" #include <stdio.h> // for FILE
#include "mozilla-config.h" // for MOZ_DUMP_PAINTING
#include "CompositableHost.h" // for CompositableHost, etc
#include "ThebesLayerBuffer.h" // for ThebesLayerBuffer, etc
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/gfx/Point.h" // for Point
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/gfx/Types.h" // for Filter
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo, etc
#include "mozilla/layers/ISurfaceAllocator.h" // for ISurfaceAllocator
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "mozilla/layers/LayersTypes.h" // for MOZ_LAYERS_HAVE_LOG, etc
#include "mozilla/layers/TextureHost.h" // for DeprecatedTextureHost
#include "mozilla/mozalloc.h" // for operator delete
#include "nsAutoPtr.h" // for nsAutoPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_RUNTIMEABORT
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsTArray.h" // for nsTArray
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
#include "nscore.h" // for nsACString
class gfxImageSurface;
namespace mozilla { namespace mozilla {
namespace gfx {
class Matrix4x4;
}
namespace layers { namespace layers {
class Compositor;
class ThebesBufferData;
class TiledLayerComposer;
struct EffectChain;
class ThebesBuffer;
class OptionalThebesBuffer;
struct TexturedEffect; struct TexturedEffect;
/** /**

Просмотреть файл

@ -3,19 +3,31 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ipc/AutoOpenSurface.h"
#include "ImageHost.h" #include "ImageHost.h"
#include "LayersLogging.h" // for AppendToString
#include "composite/CompositableHost.h" // for CompositableHost, etc
#include "ipc/IPCMessageUtils.h" // for null_t
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/Effects.h" // for TexturedEffect, Effect, etc
#include "nsAString.h"
#include "nsDebug.h" // for NS_WARNING, NS_ASSERTION
#include "nsPrintfCString.h" // for nsPrintfCString
#include "nsString.h" // for nsAutoCString
#include "mozilla/layers/Effects.h" class gfxImageSurface;
#include "LayersLogging.h" class nsIntRegion;
#include "nsPrintfCString.h"
namespace mozilla { namespace mozilla {
namespace gfx {
class Matrix4x4;
}
using namespace gfx; using namespace gfx;
namespace layers { namespace layers {
class ISurfaceAllocator;
ImageHost::ImageHost(const TextureInfo& aTextureInfo) ImageHost::ImageHost(const TextureInfo& aTextureInfo)
: CompositableHost(aTextureInfo) : CompositableHost(aTextureInfo)
, mFrontBuffer(nullptr) , mFrontBuffer(nullptr)

Просмотреть файл

@ -6,13 +6,35 @@
#ifndef MOZILLA_GFX_IMAGEHOST_H #ifndef MOZILLA_GFX_IMAGEHOST_H
#define MOZILLA_GFX_IMAGEHOST_H #define MOZILLA_GFX_IMAGEHOST_H
#include "CompositableHost.h" #include <stdio.h> // for FILE, NULL
#include "mozilla/layers/LayerManagerComposite.h" #include "mozilla-config.h" // for MOZ_DUMP_PAINTING
#include "CompositableHost.h" // for CompositableHost
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/gfx/Point.h" // for Point
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/gfx/Types.h" // for Filter
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo, etc
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "mozilla/layers/LayersTypes.h" // for LayerRenderState, etc
#include "mozilla/layers/TextureHost.h" // for DeprecatedTextureHost, etc
#include "mozilla/mozalloc.h" // for operator delete
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsRect.h" // for nsIntRect
#include "nscore.h" // for nsACString
class gfxImageSurface;
class nsIntRegion;
namespace mozilla { namespace mozilla {
namespace gfx {
class Matrix4x4;
}
namespace layers { namespace layers {
class TextureHost; class Compositor;
class ISurfaceAllocator;
struct EffectChain;
/** /**
* ImageHost. Works with ImageClientSingle and ImageClientBuffered * ImageHost. Works with ImageClientSingle and ImageClientBuffered

Просмотреть файл

@ -3,19 +3,31 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "gfxSharedImageSurface.h"
#include "ipc/AutoOpenSurface.h"
#include "ImageLayerComposite.h" #include "ImageLayerComposite.h"
#include "ImageHost.h" #include "mozilla-config.h" // for MOZ_DUMP_PAINTING
#include "gfxImageSurface.h" #include "CompositableHost.h" // for CompositableHost
#include "gfx2DGlue.h" #include "Layers.h" // for WriteSnapshotToDumpFile, etc
#include "gfxUtils.h" #include "gfx2DGlue.h" // for ToFilter, ToMatrix4x4
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "mozilla/layers/Compositor.h" #include "gfxImageSurface.h" // for gfxImageSurface
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo #include "gfxPoint.h" // for gfxIntSize
#include "mozilla/layers/Effects.h" #include "gfxRect.h" // for gfxRect
#include "CompositableHost.h" #include "gfxUtils.h" // for gfxUtils, etc
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/gfx/Matrix.h" // for Matrix4x4
#include "mozilla/gfx/Point.h" // for IntSize, Point
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/Effects.h" // for EffectChain
#include "mozilla/layers/TextureHost.h" // for DeprecatedTextureHost, etc
#include "mozilla/mozalloc.h" // for operator delete
#include "nsAString.h"
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsDebug.h" // for NS_ASSERTION
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsString.h" // for nsAutoCString
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla::gfx; using namespace mozilla::gfx;

Просмотреть файл

@ -6,17 +6,25 @@
#ifndef GFX_ImageLayerComposite_H #ifndef GFX_ImageLayerComposite_H
#define GFX_ImageLayerComposite_H #define GFX_ImageLayerComposite_H
#include "mozilla/layers/PLayerTransaction.h" #include "GLTextureImage.h" // for TextureImage
#include "mozilla/layers/ShadowLayers.h" #include "ImageLayers.h" // for ImageLayer
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/layers/LayerManagerComposite.h" // for LayerComposite, etc
#include "mozilla/layers/LayersTypes.h" // for LayerRenderState, etc
#include "nsISupportsImpl.h" // for TextureImage::AddRef, etc
#include "nscore.h" // for nsACString
#include "mozilla/layers/LayerManagerComposite.h" class gfx3DMatrix;
#include "ImageLayers.h" struct nsIntPoint;
#include "mozilla/Mutex.h" struct nsIntRect;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class CompositableHost;
class ImageHost; class ImageHost;
class Layer;
class ImageLayerComposite : public ImageLayer, class ImageLayerComposite : public ImageLayer,
public LayerComposite public LayerComposite

Просмотреть файл

@ -3,50 +3,65 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/PLayerTransaction.h" #include "LayerManagerComposite.h"
#include <stddef.h> // for size_t
// This must occur *after* layers/PLayerTransaction.h to avoid #include <stdint.h> // for uint16_t, uint32_t
// typedefs conflicts. #include "CanvasLayerComposite.h" // for CanvasLayerComposite
#include "mozilla/Util.h" #include "ColorLayerComposite.h" // for ColorLayerComposite
#include "Composer2D.h" // for Composer2D
#include "mozilla/layers/LayerManagerComposite.h" #include "CompositableHost.h" // for CompositableHost
#include "ThebesLayerComposite.h" #include "ContainerLayerComposite.h" // for ContainerLayerComposite, etc
#include "ContainerLayerComposite.h" #include "FrameMetrics.h" // for FrameMetrics
#include "ImageLayerComposite.h" #include "GeckoProfilerImpl.h" // for profiler_set_frame_number, etc
#include "ColorLayerComposite.h" #include "ImageLayerComposite.h" // for ImageLayerComposite
#include "CanvasLayerComposite.h" #include "Layers.h" // for Layer, ContainerLayer, etc
#include "CompositableHost.h" #include "ThebesLayerComposite.h" // for ThebesLayerComposite
#include "mozilla/gfx/Matrix.h" #include "TiledLayerBuffer.h" // for TiledLayerComposer
#include "mozilla/TimeStamp.h" #include "Units.h" // for ScreenIntRect
#include "mozilla/Preferences.h" #include "gfx2DGlue.h" // for ToMatrix4x4
#include "mozilla/layers/ImageHost.h" #include "gfx3DMatrix.h" // for gfx3DMatrix
#include "mozilla/layers/ContentHost.h" #include "gfxMatrix.h" // for gfxMatrix
#include "mozilla/layers/Compositor.h" #include "gfxPlatform.h" // for gfxPlatform
#include "gfxContext.h"
#include "gfxUtils.h"
#include "gfx2DGlue.h"
#ifdef XP_MACOSX #ifdef XP_MACOSX
#include "gfxPlatformMac.h" #include "gfxPlatformMac.h"
#else
#include "gfxPlatform.h"
#endif #endif
#include "gfxPoint.h" // for gfxIntSize
#include "nsIWidget.h" #include "gfxRect.h" // for gfxRect
#include "nsIServiceManager.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "nsIConsoleService.h" #include "mozilla/RefPtr.h" // for RefPtr, TemporaryRef
#include "mozilla/gfx/2D.h" // for DrawTarget
#include "gfxCrashReporterUtils.h" #include "mozilla/gfx/Matrix.h" // for Matrix4x4
#include "mozilla/gfx/Point.h" // for IntSize, Point
#include "GeckoProfiler.h" #include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/gfx/Types.h" // for Color, SurfaceFormat
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/CompositorTypes.h"
#include "mozilla/layers/Effects.h" // for Effect, EffectChain, etc
#include "mozilla/layers/LayersTypes.h" // for MOZ_LAYERS_HAVE_LOG, etc
#include "ipc/ShadowLayerUtils.h"
#include "mozilla/mozalloc.h" // for operator new, etc
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_WARNING, NS_RUNTIMEABORT, etc
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "nsIWidget.h" // for nsIWidget
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion, etc
#ifdef MOZ_WIDGET_ANDROID #ifdef MOZ_WIDGET_ANDROID
#include <android/log.h> #include <android/log.h>
#endif #endif
class gfxASurface;
class gfxContext;
struct nsIntSize;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class ImageLayer;
using namespace mozilla::gfx; using namespace mozilla::gfx;
using namespace mozilla::gl; using namespace mozilla::gl;

Просмотреть файл

@ -6,39 +6,63 @@
#ifndef GFX_LayerManagerComposite_H #ifndef GFX_LayerManagerComposite_H
#define GFX_LayerManagerComposite_H #define GFX_LayerManagerComposite_H
#include "mozilla/layers/Compositor.h" #include <stdint.h> // for int32_t, uint32_t
#include "mozilla/layers/ShadowLayers.h" #include "GLDefs.h" // for GLenum
#include "Composer2D.h"
#include "mozilla/TimeStamp.h"
#include "Layers.h" #include "Layers.h"
#include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxMatrix.h" // for gfxMatrix
#include "gfxPoint.h" // for gfxIntSize
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr, TemporaryRef
#include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/gfx/Types.h" // for SurfaceFormat
#include "mozilla/layers/CompositorTypes.h"
#include "mozilla/layers/LayersTypes.h" // for LayersBackend, etc
#include "nsAString.h"
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_ASSERTION
#include "nsISupportsImpl.h" // for Layer::AddRef, etc
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nscore.h" // for nsAString, etc
class gfxASurface;
class gfxContext;
struct nsIntPoint;
struct nsIntSize;
#ifdef XP_WIN #ifdef XP_WIN
#include <windows.h> #include <windows.h>
#endif #endif
#include "gfxContext.h"
#include "gfx3DMatrix.h"
#include "GLDefs.h"
namespace mozilla { namespace mozilla {
namespace gfx {
class DrawTarget;
}
namespace gl { namespace gl {
class GLContext; class GLContext;
class TextureImage; class TextureImage;
} }
}
namespace mozilla {
namespace layers { namespace layers {
class LayerComposite;
class ThebesLayerComposite;
class ContainerLayerComposite;
class ImageLayerComposite;
class CanvasLayerComposite; class CanvasLayerComposite;
class ColorLayerComposite; class ColorLayerComposite;
class RefLayerComposite; class Composer2D;
class CompositableHost; class CompositableHost;
class Compositor;
class ContainerLayerComposite;
class EffectChain; class EffectChain;
class ImageLayer;
class ImageLayerComposite;
class LayerComposite;
class RefLayerComposite;
class SurfaceDescriptor;
class ThebesLayerComposite;
class TiledLayerComposer; class TiledLayerComposer;
class LayerManagerComposite : public LayerManager class LayerManagerComposite : public LayerManager

Просмотреть файл

@ -4,16 +4,21 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/layers/TextureHost.h" #include "mozilla/layers/TextureHost.h"
#include "mozilla/layers/LayersSurfaces.h" #include "LayersLogging.h" // for AppendToString
#include "LayersLogging.h" #include "gfx2DGlue.h" // for ToIntSize
#include "nsPrintfCString.h" #include "gfxImageSurface.h" // for gfxImageSurface
#include "mozilla/ipc/Shmem.h" #include "mozilla/gfx/2D.h" // for DataSourceSurface, Factory
#include "ipc/AutoOpenSurface.h" #include "mozilla/ipc/Shmem.h" // for Shmem
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/ISurfaceAllocator.h" // for ISurfaceAllocator
#include "mozilla/layers/ImageDataSerializer.h" #include "mozilla/layers/ImageDataSerializer.h"
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor, etc
#include "mozilla/layers/YCbCrImageDataSerializer.h" #include "mozilla/layers/YCbCrImageDataSerializer.h"
#include "gfx2DGlue.h" #include "nsAString.h"
#include "mozilla/gfx/2D.h" #include "nsAutoPtr.h" // for nsRefPtr
#include "nsPrintfCString.h" // for nsPrintfCString
struct nsIntPoint;
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Просмотреть файл

@ -6,25 +6,37 @@
#ifndef MOZILLA_GFX_TEXTUREHOST_H #ifndef MOZILLA_GFX_TEXTUREHOST_H
#define MOZILLA_GFX_TEXTUREHOST_H #define MOZILLA_GFX_TEXTUREHOST_H
#include "mozilla/layers/LayersTypes.h" #include <stddef.h> // for size_t
#include "nsRect.h" #include <stdint.h> // for uint64_t, uint32_t, uint8_t
#include "nsRegion.h" #include "./../mozilla-config.h" // for MOZ_DUMP_PAINTING
#include "mozilla/gfx/Rect.h" #include "gfxASurface.h" // for gfxASurface, etc
#include "mozilla/layers/CompositorTypes.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "nsAutoPtr.h" #include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" #include "mozilla/RefPtr.h" // for RefPtr, TemporaryRef, etc
#include "mozilla/layers/ISurfaceAllocator.h" #include "mozilla/gfx/2D.h" // for DataSourceSurface
#include "mozilla/gfx/Point.h" // for IntSize, IntPoint
#include "mozilla/gfx/Types.h" // for SurfaceFormat, etc
#include "mozilla/layers/CompositorTypes.h" // for TextureFlags, etc
#include "mozilla/layers/LayersTypes.h" // for LayerRenderState, etc
#include "mozilla/mozalloc.h" // for operator delete
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsDebug.h" // for NS_RUNTIMEABORT
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
#include "nscore.h" // for nsACString
class gfxReusableSurfaceWrapper;
class gfxImageSurface; class gfxImageSurface;
class gfxReusableSurfaceWrapper;
struct nsIntPoint;
struct nsIntSize;
namespace mozilla { namespace mozilla {
namespace gfx { namespace ipc {
class DataSourceSurface; class Shmem;
}
} }
namespace mozilla {
namespace layers { namespace layers {
class Compositor; class Compositor;

Просмотреть файл

@ -3,28 +3,38 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "ipc/AutoOpenSurface.h"
#include "mozilla/layers/PLayerTransaction.h"
#include "TiledLayerBuffer.h"
// This must occur *after* layers/PLayerTransaction.h to avoid
// typedefs conflicts.
#include "mozilla/Util.h"
#include "mozilla/layers/ShadowLayers.h"
#include "ThebesLayerBuffer.h"
#include "ThebesLayerComposite.h" #include "ThebesLayerComposite.h"
#include "mozilla/layers/ContentHost.h" #include "mozilla-config.h" // for MOZ_DUMP_PAINTING
#include "gfxUtils.h" #include "CompositableHost.h" // for TiledLayerProperties, etc
#include "gfx2DGlue.h" #include "FrameMetrics.h" // for FrameMetrics
#include "Units.h" // for CSSRect, LayerPixel, etc
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo #include "gfx2DGlue.h" // for ToMatrix4x4
#include "mozilla/layers/Effects.h" #include "gfx3DMatrix.h" // for gfx3DMatrix
#include "gfxImageSurface.h" // for gfxImageSurface
#include "gfxUtils.h" // for gfxUtils, etc
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/gfx/Matrix.h" // for Matrix4x4
#include "mozilla/gfx/Point.h" // for Point
#include "mozilla/gfx/Rect.h" // for RoundedToInt, Rect
#include "mozilla/gfx/Types.h" // for Filter::FILTER_LINEAR
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/ContentHost.h" // for ContentHost
#include "mozilla/layers/Effects.h" // for EffectChain
#include "mozilla/mozalloc.h" // for operator delete
#include "nsAString.h"
#include "nsAutoPtr.h" // for nsRefPtr
#include "nsMathUtils.h" // for NS_lround
#include "nsPoint.h" // for nsIntPoint
#include "nsRect.h" // for nsIntRect
#include "nsSize.h" // for nsIntSize
#include "nsString.h" // for nsAutoCString
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {
class TiledLayerComposer;
ThebesLayerComposite::ThebesLayerComposite(LayerManagerComposite *aManager) ThebesLayerComposite::ThebesLayerComposite(LayerManagerComposite *aManager)
: ThebesLayer(aManager, nullptr) : ThebesLayer(aManager, nullptr)
, LayerComposite(aManager) , LayerComposite(aManager)

Просмотреть файл

@ -6,12 +6,19 @@
#ifndef GFX_ThebesLayerComposite_H #ifndef GFX_ThebesLayerComposite_H
#define GFX_ThebesLayerComposite_H #define GFX_ThebesLayerComposite_H
#include "mozilla/layers/PLayerTransaction.h" #include "Layers.h" // for Layer (ptr only), etc
#include "mozilla/layers/ShadowLayers.h" #include "gfxPoint.h" // for gfxSize
#include "gfxRect.h" // for gfxRect
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/layers/LayerManagerComposite.h" // for LayerComposite, etc
#include "mozilla/layers/LayersTypes.h" // for LayerRenderState, etc
#include "nsDebug.h" // for NS_RUNTIMEABORT
#include "nsRegion.h" // for nsIntRegion
#include "nscore.h" // for nsACString
#include "Layers.h" struct nsIntPoint;
#include "mozilla/layers/LayerManagerComposite.h" struct nsIntRect;
#include "base/task.h"
namespace mozilla { namespace mozilla {
@ -23,7 +30,9 @@ namespace layers {
* non-tiled Thebes layers and single or double buffering. * non-tiled Thebes layers and single or double buffering.
*/ */
class CompositableHost;
class ContentHost; class ContentHost;
class TiledLayerComposer;
class ThebesLayerComposite : public ThebesLayer, class ThebesLayerComposite : public ThebesLayer,
public LayerComposite public LayerComposite

Просмотреть файл

@ -4,14 +4,26 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "TiledContentHost.h" #include "TiledContentHost.h"
#include "mozilla/layers/Effects.h" #include "ThebesLayerComposite.h" // for ThebesLayerComposite
#include "nsPrintfCString.h" #include "mozilla/gfx/BaseSize.h" // for BaseSize
#include "ThebesLayerComposite.h" #include "mozilla/gfx/Matrix.h" // for Matrix4x4
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/Effects.h" // for TexturedEffect, Effect, etc
#include "nsAString.h"
#include "nsDebug.h" // for NS_WARNING
#include "nsPoint.h" // for nsIntPoint
#include "nsPrintfCString.h" // for nsPrintfCString
#include "nsRect.h" // for nsIntRect
#include "nsSize.h" // for nsIntSize
class gfxReusableSurfaceWrapper;
namespace mozilla { namespace mozilla {
using namespace gfx; using namespace gfx;
namespace layers { namespace layers {
class Layer;
void void
TiledLayerBufferComposite::Upload(const BasicTiledLayerBuffer* aMainMemoryTiledBuffer, TiledLayerBufferComposite::Upload(const BasicTiledLayerBuffer* aMainMemoryTiledBuffer,
const nsIntRegion& aNewValidRegion, const nsIntRegion& aNewValidRegion,

Просмотреть файл

@ -6,16 +6,46 @@
#ifndef GFX_TILEDCONTENTHOST_H #ifndef GFX_TILEDCONTENTHOST_H
#define GFX_TILEDCONTENTHOST_H #define GFX_TILEDCONTENTHOST_H
#include "ContentHost.h" #include <stdint.h> // for uint16_t
#include "ClientTiledThebesLayer.h" // for BasicTiledLayerBuffer #include <stdio.h> // for FILE
#include "mozilla/layers/TextureHost.h" #include <algorithm> // for swap
#include "ContentHost.h" // for ContentHost
#include "TiledLayerBuffer.h" // for TiledLayerBuffer, etc
#include "CompositableHost.h"
#include "gfxPoint.h" // for gfxSize
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/Attributes.h" // for MOZ_OVERRIDE
#include "mozilla/RefPtr.h" // for RefPtr
#include "mozilla/gfx/Point.h" // for Point
#include "mozilla/gfx/Rect.h" // for Rect
#include "mozilla/gfx/Types.h" // for Filter
#include "mozilla/layers/CompositorTypes.h" // for TextureInfo, etc
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
#include "mozilla/layers/LayersTypes.h" // for LayerRenderState, etc
#include "mozilla/layers/TextureHost.h" // for DeprecatedTextureHost
#include "mozilla/layers/TiledContentClient.h"
#include "mozilla/mozalloc.h" // for operator delete
#include "nsRegion.h" // for nsIntRegion
#include "nscore.h" // for nsACString
class gfxReusableSurfaceWrapper;
struct nsIntPoint;
struct nsIntRect;
struct nsIntSize;
namespace mozilla { namespace mozilla {
namespace gfx {
class Matrix4x4;
}
namespace layers { namespace layers {
class ThebesBuffer; class Compositor;
class OptionalThebesBuffer; class ISurfaceAllocator;
struct TexturedEffect; class Layer;
class ThebesBufferData;
class TiledThebesLayerComposite;
struct EffectChain;
class TiledTexture { class TiledTexture {
public: public:
@ -106,8 +136,6 @@ private:
gfxSize mFrameResolution; gfxSize mFrameResolution;
}; };
class TiledThebesLayerComposite;
/** /**
* ContentHost for tiled Thebes layers. Since tiled layers are special snow * ContentHost for tiled Thebes layers. Since tiled layers are special snow
* flakes, we don't call UpdateThebes or AddTextureHost, etc. We do call Composite * flakes, we don't call UpdateThebes or AddTextureHost, etc. We do call Composite

Просмотреть файл

@ -4,23 +4,54 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include <math.h> // for fabsf, fabs, atan2
#include <stdint.h> // for uint32_t, uint64_t
#include <sys/types.h> // for int32_t
#include <algorithm> // for max, min
#include "AnimationCommon.h" // for ComputedTimingFunction
#include "AsyncPanZoomController.h" // for AsyncPanZoomController, etc
#include "CompositorParent.h" // for CompositorParent
#include "FrameMetrics.h" // for FrameMetrics, etc
#include "GeckoProfilerFunc.h" // for TimeDuration, TimeStamp
#include "GestureEventListener.h" // for GestureEventListener
#include "InputData.h" // for MultiTouchInput, etc
#include "Units.h" // for CSSRect, CSSPoint, etc
#include "base/message_loop.h" // for MessageLoop
#include "base/task.h" // for NewRunnableMethod, etc
#include "base/tracked.h" // for FROM_HERE
#include "gfxTypes.h" // for gfxFloat
#include "mozilla/Assertions.h" // for MOZ_ASSERT, etc
#include "mozilla/ClearOnShutdown.h" // for ClearOnShutdown
#include "mozilla/Preferences.h" // for Preferences
#include "mozilla/ReentrantMonitor.h" // for ReentrantMonitorAutoEnter, etc
#include "mozilla/StaticPtr.h" // for StaticAutoPtr
#include "mozilla/TimeStamp.h" // for TimeDuration, TimeStamp
#include "mozilla/dom/Touch.h" // for Touch
#include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/gfx/BaseRect.h" // for BaseRect
#include "mozilla/gfx/Point.h" // for Point, RoundedToInt, etc
#include "mozilla/gfx/Rect.h" // for RoundedIn
#include "mozilla/gfx/ScaleFactor.h" // for ScaleFactor
#include "mozilla/layers/APZCTreeManager.h" // for ScrollableLayerGuid
#include "mozilla/layers/AsyncCompositionManager.h" // for ViewTransform #include "mozilla/layers/AsyncCompositionManager.h" // for ViewTransform
#include "CompositorParent.h" #include "mozilla/layers/Axis.h" // for AxisX, AxisY, Axis, etc
#include "mozilla/gfx/2D.h" #include "mozilla/layers/GeckoContentController.h"
#include "mozilla/ClearOnShutdown.h" #include "mozilla/layers/TaskThrottler.h" // for TaskThrottler
#include "mozilla/Constants.h" #include "mozilla/mozalloc.h" // for operator new, etc
#include "mozilla/Util.h" #include "nsAlgorithm.h" // for clamped
#include "mozilla/XPCOM.h" #include "nsAutoPtr.h" // for nsRefPtr
#include "mozilla/Monitor.h" #include "nsCOMPtr.h" // for already_AddRefed
#include "mozilla/StaticPtr.h" #include "nsDebug.h" // for NS_WARNING
#include "AsyncPanZoomController.h" #include "nsEvent.h"
#include "GestureEventListener.h" #include "nsGUIEvent.h" // for nsInputEvent, nsTouchEvent, etc
#include "nsIThreadManager.h" #include "nsISupportsImpl.h"
#include "nsThreadUtils.h" #include "nsMathUtils.h" // for NS_hypot
#include "Layers.h" #include "nsPoint.h" // for nsIntPoint
#include "AnimationCommon.h" #include "nsStyleConsts.h"
#include <algorithm> #include "nsStyleStruct.h" // for nsTimingFunction
#include "mozilla/layers/LayerManagerComposite.h" #include "nsTArray.h" // for nsTArray, nsTArray_Impl, etc
#include "nsThreadUtils.h" // for NS_IsMainThread
#include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
using namespace mozilla::css; using namespace mozilla::css;

Просмотреть файл

@ -5,10 +5,18 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "Axis.h" #include "Axis.h"
#include "AsyncPanZoomController.h" #include <math.h> // for fabsf, pow, powf
#include "mozilla/Preferences.h" #include <algorithm> // for max
#include "nsThreadUtils.h" #include "AsyncPanZoomController.h" // for AsyncPanZoomController
#include <algorithm> #include "FrameMetrics.h" // for FrameMetrics
#include "GeckoProfilerFunc.h" // for TimeDuration
#include "mozilla/Attributes.h" // for MOZ_FINAL
#include "mozilla/Preferences.h" // for Preferences
#include "mozilla/gfx/Rect.h" // for RoundedIn
#include "mozilla/mozalloc.h" // for operator new
#include "nsMathUtils.h" // for NS_lround
#include "nsThreadUtils.h" // for NS_DispatchToMainThread, etc
#include "nscore.h" // for NS_IMETHOD
namespace mozilla { namespace mozilla {
namespace layers { namespace layers {

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше