summaryrefslogblamecommitdiffstats
path: root/src/input_common/drivers/camera.h
blob: b8a7c75e55bbee432abb9ba62e0cb605a6e01d81 (plain) (tree)




























                                                                                                   
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "input_common/input_engine.h"

namespace InputCommon {

/**
 * A button device factory representing a keyboard. It receives keyboard events and forward them
 * to all button devices it created.
 */
class Camera final : public InputEngine {
public:
    explicit Camera(std::string input_engine_);

    void SetCameraData(std::size_t width, std::size_t height, std::vector<u32> data);

    std::size_t getImageWidth() const;
    std::size_t getImageHeight() const;

    Common::Input::CameraError SetCameraFormat(const PadIdentifier& identifier_,
                                               Common::Input::CameraFormat camera_format) override;

    Common::Input::CameraStatus status{};
};

} // namespace InputCommon