#include "core/fxge/skia/fx_skia_device.h"
#include <memory>
#include <set>
#include <utility>
#include "core/fpdfapi/page/cpdf_page.h"
#include "core/fpdfapi/render/cpdf_pagerendercontext.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxge/cfx_defaultrenderdevice.h"
#include "core/fxge/cfx_fillrenderoptions.h"
#include "core/fxge/cfx_font.h"
#include "core/fxge/cfx_graphstatedata.h"
#include "core/fxge/cfx_path.h"
#include "core/fxge/cfx_renderdevice.h"
#include "core/fxge/cfx_textrenderoptions.h"
#include "core/fxge/dib/cfx_dibitmap.h"
#include "core/fxge/text_char_pos.h"
#include "fpdfsdk/cpdfsdk_helpers.h"
#include "fpdfsdk/cpdfsdk_renderpage.h"
#include "public/cpp/fpdf_scopers.h"
#include "public/fpdfview.h"
#include "testing/embedder_test.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkImage.h"
#include "third_party/skia/include/core/SkSize.h"
#include "third_party/skia/include/utils/SkNoDrawCanvas.h"
namespace {
NiceMock;
SizeIs;
WithArg;
struct State { … };
void EmptyTest(CFX_SkiaDeviceDriver* driver, const State&) { … }
void CommonTest(CFX_SkiaDeviceDriver* driver, const State& state) { … }
void OutOfSequenceClipTest(CFX_SkiaDeviceDriver* driver, const State&) { … }
void Harness(void (*Test)(CFX_SkiaDeviceDriver*, const State&),
const State& state) { … }
void RenderPageToSkCanvas(FPDF_PAGE page,
int start_x,
int start_y,
int size_x,
int size_y,
SkCanvas& canvas) { … }
class MockCanvas : public SkNoDrawCanvas { … };
FxgeSkiaEmbedderTest;
}
TEST(fxge, SkiaStateEmpty) { … }
TEST(fxge, SkiaStatePath) { … }
TEST(fxge, SkiaStateText) { … }
TEST(fxge, SkiaStateOOSClip) { … }
TEST_F(FxgeSkiaEmbedderTest, RenderBigImageTwice) { … }