summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvflinger/consumer_listener.h
blob: b6d1c3e9a47e9be6cc795c86da839e142bd206d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: GPL-3.0-or-later
// Copyright 2021 yuzu Emulator Project
// Copyright 2014 The Android Open Source Project
// Parts of this implementation were base on:
// https://cs.android.com/android/platform/superproject/+/android-5.1.1_r38:frameworks/native/include/gui/IConsumerListener.h

#pragma once

namespace Service::android {

class BufferItem;

/// ConsumerListener is the interface through which the BufferQueue notifies the consumer of events
/// that the consumer may wish to react to.
class IConsumerListener {
public:
    IConsumerListener() = default;
    virtual ~IConsumerListener() = default;

    virtual void OnFrameAvailable(const BufferItem& item) = 0;
    virtual void OnFrameReplaced(const BufferItem& item) = 0;
    virtual void OnBuffersReleased() = 0;
    virtual void OnSidebandStreamChanged() = 0;
};

}; // namespace Service::android