Dactyloidae/gfx/tests/gtest/TestLayers.h
Moonchild 2f117eecaa Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from embedding, extensions, gfx, hal, ipc, layout, mailnews,
media and memory. More to come.
2023-05-05 22:57:19 +08:00

51 lines
1.2 KiB
C++

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
#ifndef GFX_TEST_LAYERS_H
#define GFX_TEST_LAYERS_H
#include "Layers.h"
#include "nsTArray.h"
#include "mozilla/layers/ISurfaceAllocator.h"
namespace mozilla {
namespace layers {
class TestSurfaceAllocator final : public ISurfaceAllocator
{
public:
TestSurfaceAllocator() {}
~TestSurfaceAllocator() override {}
bool IsSameProcess() const override { return true; }
};
} // layers
} // mozilla
/* Create layer tree from a simple layer tree description syntax.
* Each index is either the first letter of the layer type or
* a '(',')' to indicate the start/end of the child layers.
* The aim of this function is to remove hard to read
* layer tree creation code.
*
* Example "c(c(c(tt)t))" would yield:
* c
* |
* c
* / \
* c t
* / \
* t t
*/
already_AddRefed<mozilla::layers::Layer> CreateLayerTree(
const char* aLayerTreeDescription,
nsIntRegion* aVisibleRegions,
const mozilla::gfx::Matrix4x4* aTransforms,
RefPtr<mozilla::layers::LayerManager>& aLayerManager,
nsTArray<RefPtr<mozilla::layers::Layer> >& aLayersOut);
#endif