1edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project/* 2edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 3edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * 4edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * you may not use this file except in compliance with the License. 6edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * You may obtain a copy of the License at 7edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * 8edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * 10edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * See the License for the specific language governing permissions and 14edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * limitations under the License. 15edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project */ 16cdf832043afeb74598d64f8689098ae75dad8731Robert Carr#pragma once 17edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 18edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#include <sys/types.h> 19edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 20cdf832043afeb74598d64f8689098ae75dad8731Robert Carr#include <cstdint> 21edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 22cdf832043afeb74598d64f8689098ae75dad8731Robert Carr#include "Layer.h" 23edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 24cbb288bfe89f585bf48371bd31b2d4aafa32f32eMathias Agopiannamespace android { 25cbb288bfe89f585bf48371bd31b2d4aafa32f32eMathias Agopian 260c69cad13dda09f1df1dbf23810b1c5b7f28ba08David Sodmanclass ColorLayer : public Layer { 27382574d116759ccc19463c03db841e3d6e2d4424Jesse Hallpublic: 2841fdfc920e2a479add53a1936c3ae76cdbea41dbDavid Sodman ColorLayer(SurfaceFlinger* flinger, const sp<Client>& client, const String8& name, uint32_t w, 2941fdfc920e2a479add53a1936c3ae76cdbea41dbDavid Sodman uint32_t h, uint32_t flags); 3013fdc49516d17f41e64e62e73c313b0928bf13ccchaviw virtual ~ColorLayer() = default; 31edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 3213fdc49516d17f41e64e62e73c313b0928bf13ccchaviw virtual const char* getTypeId() const { return "ColorLayer"; } 33a76b271f0e14325fa0ebb98e1cac0a15adfea1cbchaviw virtual void onDraw(const RenderArea& renderArea, const Region& clip, 3441fdfc920e2a479add53a1936c3ae76cdbea41dbDavid Sodman bool useIdentityTransform) const; 350c69cad13dda09f1df1dbf23810b1c5b7f28ba08David Sodman bool isVisible() const override; 360c69cad13dda09f1df1dbf23810b1c5b7f28ba08David Sodman 37eb085e0c579f310e2670204b14b742b68c70bc9eDavid Sodman void setPerFrameData(const sp<const DisplayDevice>& displayDevice) override; 38edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project}; 39edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 40cdf832043afeb74598d64f8689098ae75dad8731Robert Carr} // namespace android 41