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

Commit 0acf0dad authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Remove DisplayList.h dependency from Canvas.h"

parents 3f8337ff 2e48df37
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -53,9 +53,8 @@ public:
        LOG_ALWAYS_FATAL("SkiaCanvas cannot be reset as a recording canvas");
        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");
        LOG_ALWAYS_FATAL("SkiaCanvas does not produce a DisplayList");
        return uirenderer::DisplayList();
    }
    }
    virtual void enableZ(bool enableZ) override {
    virtual void enableZ(bool enableZ) override {
        LOG_ALWAYS_FATAL("SkiaCanvas does not support enableZ");
        LOG_ALWAYS_FATAL("SkiaCanvas does not support enableZ");
+1 −2
Original line number Original line Diff line number Diff line
@@ -21,7 +21,6 @@
#include <SaveFlags.h>
#include <SaveFlags.h>


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


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


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


    bool isHighContrastText() const { return uirenderer::Properties::enableHighContrastText; }
    bool isHighContrastText() const { return uirenderer::Properties::enableHighContrastText; }
+1 −1
Original line number Original line Diff line number Diff line
@@ -102,7 +102,7 @@ static void android_view_DisplayListCanvas_finishRecording(
        CRITICAL_JNI_PARAMS_COMMA jlong canvasPtr, jlong renderNodePtr) {
        CRITICAL_JNI_PARAMS_COMMA jlong canvasPtr, jlong renderNodePtr) {
    Canvas* canvas = reinterpret_cast<Canvas*>(canvasPtr);
    Canvas* canvas = reinterpret_cast<Canvas*>(canvasPtr);
    RenderNode* renderNode = reinterpret_cast<RenderNode*>(renderNodePtr);
    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) {
static void android_view_DisplayListCanvas_drawRenderNode(CRITICAL_JNI_PARAMS_COMMA jlong canvasPtr, jlong renderNodePtr) {
+6 −2
Original line number Original line Diff line number Diff line
@@ -55,11 +55,15 @@ void SkiaRecordingCanvas::initDisplayList(uirenderer::RenderNode* renderNode, in
    SkiaCanvas::reset(&mRecorder);
    SkiaCanvas::reset(&mRecorder);
}
}


uirenderer::DisplayList SkiaRecordingCanvas::finishRecording() {
std::unique_ptr<SkiaDisplayList> SkiaRecordingCanvas::finishRecording() {
    // close any existing chunks if necessary
    // close any existing chunks if necessary
    enableZ(false);
    enableZ(false);
    mRecorder.restoreToCount(1);
    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 Original line Diff line number Diff line
@@ -39,11 +39,12 @@ public:
    }
    }


    virtual void resetRecording(int width, int height,
    virtual void resetRecording(int width, int height,
                                uirenderer::RenderNode* renderNode) override {
                                uirenderer::RenderNode* renderNode = nullptr) override {
        initDisplayList(renderNode, width, height);
        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, float left, float top, const Paint* paint) override;
    virtual void drawBitmap(Bitmap& bitmap, const SkMatrix& matrix, const Paint* paint) override;
    virtual void drawBitmap(Bitmap& bitmap, const SkMatrix& matrix, const Paint* paint) override;
Loading