dolphin/Source/Core/VideoCommon/NetPlayChatUI.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
816 B
C
Raw Normal View History

2019-03-16 18:09:06 -06:00
// Copyright 2019 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
2019-03-16 18:09:06 -06:00
#pragma once
#include <array>
#include <deque>
#include <functional>
#include <memory>
#include <string>
#include <utility>
class NetPlayChatUI
{
public:
explicit NetPlayChatUI(std::function<void(const std::string&)> callback);
~NetPlayChatUI();
2019-03-16 18:09:06 -06:00
using Color = std::array<float, 3>;
void Display();
void AppendChat(std::string message, Color color);
2019-03-16 18:09:06 -06:00
void SendMessage();
void Activate();
2019-03-16 18:09:06 -06:00
private:
char m_message_buf[256] = {};
bool m_scroll_to_bottom = false;
bool m_activate = false;
2019-03-16 18:09:06 -06:00
bool m_is_scrolled_to_bottom = true;
std::deque<std::pair<std::string, Color>> m_messages;
std::function<void(const std::string&)> m_message_callback;
};
extern std::unique_ptr<NetPlayChatUI> g_netplay_chat_ui;