diff options
Diffstat (limited to 'libs/hwui/GlopBuilder.cpp')
-rw-r--r-- | libs/hwui/GlopBuilder.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/hwui/GlopBuilder.cpp b/libs/hwui/GlopBuilder.cpp index 7d4f4100313f..fdbe76a5e459 100644 --- a/libs/hwui/GlopBuilder.cpp +++ b/libs/hwui/GlopBuilder.cpp @@ -471,6 +471,21 @@ GlopBuilder& GlopBuilder::setFillTextureLayer(Layer& layer, float alpha) { return *this; } +GlopBuilder& GlopBuilder::setFillExternalTexture(Texture& texture) { + TRIGGER_STAGE(kFillStage); + REQUIRE_STAGES(kMeshStage | kRoundRectClipStage); + + mOutGlop->fill.texture = { &texture, + GL_TEXTURE_EXTERNAL_OES, GL_LINEAR, GL_CLAMP_TO_EDGE, + nullptr }; + + setFill(SK_ColorWHITE, 1.0f, SkXfermode::kSrc_Mode, Blend::ModeOrderSwap::NoSwap, + nullptr, nullptr); + + mDescription.modulate = mOutGlop->fill.color.a < 1.0f; + return *this; +} + //////////////////////////////////////////////////////////////////////////////// // Transform //////////////////////////////////////////////////////////////////////////////// |