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 */
16edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
17edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef ANDROID_LAYER_DIM_H
18edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define ANDROID_LAYER_DIM_H
19edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
20edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#include <stdint.h>
21edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#include <sys/types.h>
22edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
232f73af9212487c81d31d07227fa8a2f4abc77638Mathias Agopian#include "Layer.h"
24edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
25edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project// ---------------------------------------------------------------------------
26edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
27cbb288bfe89f585bf48371bd31b2d4aafa32f32eMathias Agopiannamespace android {
28cbb288bfe89f585bf48371bd31b2d4aafa32f32eMathias Agopian
292f73af9212487c81d31d07227fa8a2f4abc77638Mathias Agopianclass LayerDim : public Layer
30edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project{
31382574d116759ccc19463c03db841e3d6e2d4424Jesse Hallpublic:
324d9b822e2c18142e55fe2611aa6cd7dc7d4a62c6Mathias Agopian                LayerDim(SurfaceFlinger* flinger, const sp<Client>& client,
334d9b822e2c18142e55fe2611aa6cd7dc7d4a62c6Mathias Agopian                        const String8& name, uint32_t w, uint32_t h, uint32_t flags);
34edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project        virtual ~LayerDim();
35edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
361eae0ee49402c39f1b08cc8fec129023f86494b7Mathias Agopian    virtual const char* getTypeId() const { return "LayerDim"; }
37c701401f8cec2e5309f8b57e2b97baced5093274Dan Stoza    virtual void onDraw(const sp<const DisplayDevice>& hw, const Region& clip,
38c701401f8cec2e5309f8b57e2b97baced5093274Dan Stoza            bool useIdentityTransform) const;
39382574d116759ccc19463c03db841e3d6e2d4424Jesse Hall    virtual bool isOpaque(const Layer::State&) const { return false; }
4016f0453fee84c6aad59fe0d1c7d36f061d46cffcGlenn Kasten    virtual bool isSecure() const         { return false; }
412f73af9212487c81d31d07227fa8a2f4abc77638Mathias Agopian    virtual bool isFixedSize() const      { return true; }
422f73af9212487c81d31d07227fa8a2f4abc77638Mathias Agopian    virtual bool isVisible() const;
43edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project};
44edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
45edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project// ---------------------------------------------------------------------------
46edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
47edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project}; // namespace android
48edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
49edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif // ANDROID_LAYER_DIM_H
50