Layer.cpp revision d15ebf25c595b855f6978d0600218e3ea5f31e92
1d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase/* 2d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * Copyright (C) 2012 The Android Open Source Project 3d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * 4d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * Licensed under the Apache License, Version 2.0 (the "License"); 5d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * you may not use this file except in compliance with the License. 6d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * You may obtain a copy of the License at 7d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * 8d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * http://www.apache.org/licenses/LICENSE-2.0 9d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * 10d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * Unless required by applicable law or agreed to in writing, software 11d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * distributed under the License is distributed on an "AS IS" BASIS, 12d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * See the License for the specific language governing permissions and 14d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase * limitations under the License. 15d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase */ 16d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 17d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase#define LOG_TAG "OpenGLRenderer" 18d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 19d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase#include <utils/Log.h> 20d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 21d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase#include "Layer.h" 22d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase#include "OpenGLRenderer.h" 23d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase#include "Caches.h" 24d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 25d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haasenamespace android { 26d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haasenamespace uirenderer { 27d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 28d15ebf25c595b855f6978d0600218e3ea5f31e92Chet HaaseLayer::~Layer() { 29d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase if (mesh) delete mesh; 30d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase if (meshIndices) delete meshIndices; 31d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase if (colorFilter) Caches::getInstance().resourceCache.decrementRefcount(colorFilter); 32d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase} 33d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 34d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haasevoid Layer::setPaint(SkPaint* paint) { 35d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase OpenGLRenderer::getAlphaAndModeDirect(paint, &alpha, &mode); 36d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase} 37d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 38d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haasevoid Layer::setColorFilter(SkiaColorFilter* filter) { 39d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase if (colorFilter) { 40d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase Caches::getInstance().resourceCache.decrementRefcount(colorFilter); 41d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase } 42d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase colorFilter = filter; 43d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase if (colorFilter) { 44d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase Caches::getInstance().resourceCache.incrementRefcount(colorFilter); 45d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase } 46d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase} 47d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 48d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 49d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase 50d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase}; // namespace uirenderer 51d15ebf25c595b855f6978d0600218e3ea5f31e92Chet Haase}; // namespace android 52