Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e48df37 authored by John Reck's avatar John Reck
Browse files

Remove DisplayList.h dependency from Canvas.h

Canvas is included in a lot of places, reduce include
dependencies

Test: make
Change-Id: Iab513de8d4bc3eb18220307acc124859dbf44030
parent 2c38bd53
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -53,9 +53,8 @@ public:
        LOG_ALWAYS_FATAL("SkiaCanvas cannot be reset as a recording canvas");
    }

    virtual uirenderer::DisplayList finishRecording() override {
    virtual void finishRecording(uirenderer::RenderNode*) override {
        LOG_ALWAYS_FATAL("SkiaCanvas does not produce a DisplayList");
        return uirenderer::DisplayList();
    }
    virtual void enableZ(bool enableZ) override {
        LOG_ALWAYS_FATAL("SkiaCanvas does not support enableZ");
+1 −2
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@
#include <SaveFlags.h>

#include <androidfw/ResourceTypes.h>
#include "DisplayList.h"
#include "Properties.h"
#include "utils/Macros.h"

@@ -118,7 +117,7 @@ public:

    virtual void resetRecording(int width, int height,
                                uirenderer::RenderNode* renderNode = nullptr) = 0;
    [[nodiscard]] virtual uirenderer::DisplayList finishRecording() = 0;
    virtual void finishRecording(uirenderer::RenderNode* destination) = 0;
    virtual void enableZ(bool enableZ) = 0;

    bool isHighContrastText() const { return uirenderer::Properties::enableHighContrastText; }
+1 −1
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ static void android_view_DisplayListCanvas_finishRecording(
        CRITICAL_JNI_PARAMS_COMMA jlong canvasPtr, jlong renderNodePtr) {
    Canvas* canvas = reinterpret_cast<Canvas*>(canvasPtr);
    RenderNode* renderNode = reinterpret_cast<RenderNode*>(renderNodePtr);
    renderNode->setStagingDisplayList(canvas->finishRecording());
    canvas->finishRecording(renderNode);
}

static void android_view_DisplayListCanvas_drawRenderNode(CRITICAL_JNI_PARAMS_COMMA jlong canvasPtr, jlong renderNodePtr) {
+6 −2
Original line number Diff line number Diff line
@@ -55,11 +55,15 @@ void SkiaRecordingCanvas::initDisplayList(uirenderer::RenderNode* renderNode, in
    SkiaCanvas::reset(&mRecorder);
}

uirenderer::DisplayList SkiaRecordingCanvas::finishRecording() {
std::unique_ptr<SkiaDisplayList> SkiaRecordingCanvas::finishRecording() {
    // close any existing chunks if necessary
    enableZ(false);
    mRecorder.restoreToCount(1);
    return uirenderer::DisplayList(std::move(mDisplayList));
    return std::move(mDisplayList);
}

void SkiaRecordingCanvas::finishRecording(uirenderer::RenderNode* destination) {
    destination->setStagingDisplayList(uirenderer::DisplayList(finishRecording()));
}

// ----------------------------------------------------------------------------
+3 −2
Original line number Diff line number Diff line
@@ -39,11 +39,12 @@ public:
    }

    virtual void resetRecording(int width, int height,
                                uirenderer::RenderNode* renderNode) override {
                                uirenderer::RenderNode* renderNode = nullptr) override {
        initDisplayList(renderNode, width, height);
    }

    virtual uirenderer::DisplayList finishRecording() override;
    virtual void finishRecording(uirenderer::RenderNode* destination) override;
    std::unique_ptr<SkiaDisplayList> finishRecording();

    virtual void drawBitmap(Bitmap& bitmap, float left, float top, const Paint* paint) override;
    virtual void drawBitmap(Bitmap& bitmap, const SkMatrix& matrix, const Paint* paint) override;
Loading