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

Commit 67862524 authored by Chris Craik's avatar Chris Craik
Browse files

Fix use of Skia deprecated methods

Change-Id: Ib89c20fc94bcce29b7490d6f55c73492735befda
parent 9f6a372c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ LOCAL_C_INCLUDES += \
	$(TOP)/frameworks/av/include \
	$(TOP)/system/media/camera/include \
	external/skia/src/core \
	external/skia/src/effects \
	external/skia/src/images \
	external/sqlite/dist \
	external/sqlite/android \
+7 −6
Original line number Diff line number Diff line
#include "GraphicsJNI.h"
#include "SkMaskFilter.h"
#include "SkBlurMask.h"
#include "SkBlurMaskFilter.h"
#include "SkTableMaskFilter.h"

@@ -19,7 +20,8 @@ public:
    }

    static jlong createBlur(JNIEnv* env, jobject, jfloat radius, jint blurStyle) {
        SkMaskFilter* filter = SkBlurMaskFilter::Create(SkFloatToScalar(radius),
        SkScalar sigma = SkBlurMask::ConvertRadiusToSigma(SkFloatToScalar(radius));
        SkMaskFilter* filter = SkBlurMaskFilter::Create(sigma,
                (SkBlurMaskFilter::BlurStyle)blurStyle);
        ThrowIAE_IfNull(env, filter);
        return reinterpret_cast<jlong>(filter);
@@ -34,10 +36,9 @@ public:
            direction[i] = SkFloatToScalar(values[i]);
        }

        SkMaskFilter* filter =  SkBlurMaskFilter::CreateEmboss(direction,
                                                      SkFloatToScalar(ambient),
                                                      SkFloatToScalar(specular),
                                                      SkFloatToScalar(radius));
        SkScalar sigma = SkBlurMask::ConvertRadiusToSigma(SkFloatToScalar(radius));
        SkMaskFilter* filter =  SkBlurMaskFilter::CreateEmboss(sigma,
                direction, SkFloatToScalar(ambient), SkFloatToScalar(specular));
        ThrowIAE_IfNull(env, filter);
        return reinterpret_cast<jlong>(filter);
    }
+1 −1
Original line number Diff line number Diff line
@@ -520,7 +520,7 @@ static jlong ComposeShader_postCreate1(JNIEnv* env, jobject o, jlong shaderHandl
    SkiaShader* shaderB = reinterpret_cast<SkiaShader *>(shaderBHandle);
    SkXfermode* mode = reinterpret_cast<SkXfermode *>(modeHandle);
    SkXfermode::Mode skiaMode;
    if (!SkXfermode::IsMode(mode, &skiaMode)) {
    if (!SkXfermode::AsMode(mode, &skiaMode)) {
        // TODO: Support other modes
        skiaMode = SkXfermode::kSrcOver_Mode;
    }
+1 −1
Original line number Diff line number Diff line
@@ -788,7 +788,7 @@ public:
        deferInfo.mergeable = state.mMatrix.isSimple() && state.mMatrix.positiveScale() &&
                !state.mClipSideFlags &&
                OpenGLRenderer::getXfermodeDirect(mPaint) == SkXfermode::kSrcOver_Mode &&
                (mBitmap->getConfig() != SkBitmap::kA8_Config);
                (mBitmap->config() != SkBitmap::kA8_Config);
    }

    const SkBitmap* bitmap() { return mBitmap; }
+12 −7
Original line number Diff line number Diff line
@@ -52,7 +52,12 @@ namespace uirenderer {

#define ALPHA_THRESHOLD 0

#define FILTER(paint) (!paint || paint->isFilterBitmap() ? GL_LINEAR : GL_NEAREST)
static GLenum getFilter(const SkPaint* paint) {
    if (!paint || paint->getFilterLevel() != SkPaint::kNone_FilterLevel) {
        return GL_LINEAR;
    }
    return GL_NEAREST;
}

///////////////////////////////////////////////////////////////////////////////
// Globals
@@ -1973,7 +1978,7 @@ void OpenGLRenderer::drawAlphaBitmap(Texture* texture, float left, float top, co

        texture->setFilter(GL_NEAREST, true);
    } else {
        texture->setFilter(FILTER(paint), true);
        texture->setFilter(getFilter(paint), true);
    }

    // No need to check for a UV mapper on the texture object, only ARGB_8888
@@ -1998,7 +2003,7 @@ status_t OpenGLRenderer::drawBitmaps(const SkBitmap* bitmap, AssetAtlas::Entry*
    const AutoTexture autoCleanup(texture);

    texture->setWrap(GL_CLAMP_TO_EDGE, true);
    texture->setFilter(pureTranslate ? GL_NEAREST : FILTER(paint), true);
    texture->setFilter(pureTranslate ? GL_NEAREST : getFilter(paint), true);

    const float x = (int) floorf(bounds.left + 0.5f);
    const float y = (int) floorf(bounds.top + 0.5f);
@@ -2174,7 +2179,7 @@ status_t OpenGLRenderer::drawBitmapMesh(const SkBitmap* bitmap, int meshWidth, i
    const AutoTexture autoCleanup(texture);

    texture->setWrap(GL_CLAMP_TO_EDGE, true);
    texture->setFilter(FILTER(paint), true);
    texture->setFilter(getFilter(paint), true);

    int alpha;
    SkXfermode::Mode mode;
@@ -2259,10 +2264,10 @@ status_t OpenGLRenderer::drawBitmap(const SkBitmap* bitmap,
        dstLeft = x;
        dstTop = y;

        texture->setFilter(scaled ? FILTER(paint) : GL_NEAREST, true);
        texture->setFilter(scaled ? getFilter(paint) : GL_NEAREST, true);
        ignoreTransform = true;
    } else {
        texture->setFilter(FILTER(paint), true);
        texture->setFilter(getFilter(paint), true);
    }

    if (CC_UNLIKELY(useScaleTransform)) {
@@ -3382,7 +3387,7 @@ void OpenGLRenderer::drawTextureRect(float left, float top, float right, float b
                paint, texture->blend, vertices, texCoords,
                GL_TRIANGLE_STRIP, gMeshCount, false, true);
    } else {
        texture->setFilter(FILTER(paint), true);
        texture->setFilter(getFilter(paint), true);
        drawTextureMesh(left, top, right, bottom, texture->id, paint,
                texture->blend, vertices, texCoords, GL_TRIANGLE_STRIP, gMeshCount);
    }