2024-04-21 14:17:50 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "./texture_cache_defs.hpp"
|
|
|
|
|
|
|
|
#include "./theme.hpp"
|
|
|
|
|
|
|
|
#include <solanaceae/contact/contact_model3.hpp>
|
|
|
|
|
|
|
|
enum class ThemeCol_Contact {
|
|
|
|
request_incoming,
|
|
|
|
request_outgoing,
|
|
|
|
|
|
|
|
avatar_online_direct,
|
|
|
|
avatar_online_cloud,
|
|
|
|
avatar_offline,
|
2024-04-22 22:31:17 +02:00
|
|
|
|
|
|
|
icon_backdrop,
|
2024-04-21 14:17:50 +02:00
|
|
|
};
|
|
|
|
|
2024-04-23 10:52:57 +02:00
|
|
|
void renderAvatar(
|
|
|
|
const Theme& th,
|
|
|
|
ContactTextureCache& contact_tc,
|
|
|
|
const Contact3Handle c,
|
|
|
|
ImVec2 box
|
|
|
|
);
|
|
|
|
|
2024-04-21 14:17:50 +02:00
|
|
|
// returns true if clicked, if selectable, will highlight on hover and respect selected
|
|
|
|
// TODO: refine
|
|
|
|
// +------+
|
|
|
|
// | | *Name (Alias?)
|
|
|
|
// |Avatar| Satus Message <-- richpresence interface?
|
|
|
|
// | | user status (online/away/busy)-direct/relayed / offline <-- last text?
|
|
|
|
// +------+
|
|
|
|
bool renderContactBig(
|
|
|
|
const Theme& th,
|
|
|
|
ContactTextureCache& contact_tc,
|
|
|
|
const Contact3Handle c,
|
2024-04-21 20:24:01 +02:00
|
|
|
int line_height = 3,
|
2024-04-21 14:17:50 +02:00
|
|
|
const bool unread = false,
|
|
|
|
const bool selectable = false,
|
|
|
|
const bool selected = false
|
|
|
|
);
|
|
|
|
|