view dep/animia/include/animia.h @ 198:bc1ae1810855

dep/animia: switch from using classes to global functions the old idea was ok, but sort of hackish; this method doesn't use classes at all, and this way (especially important!) we can do wayland stuff AND x11 at the same time, which wasn't really possible without stupid workarounds in the other method
author Paper <mrpapersonic@gmail.com>
date Sun, 24 Dec 2023 02:59:42 -0500
parents cdf79282d647
children
line wrap: on
line source

#ifndef __animia__animia_h
#define __animia__animia_h

#include "animia/media.h"
#include "animia/player.h"
#include "animia/types.h"

namespace animia {

enum class ResultType {
	Process,
	Window
};

struct Process {
		internal::pid_t pid = 0;
		std::string name;
};

struct Window {
		unsigned int id = 0;
		std::string class_name;
		std::string text; // title bar text
};

struct Result {
		ResultType type;
		Player player;
		Process process; // unused when using window_title. it's dumb, blame X11
		Window window;   // unused with file descriptors
		std::vector<Media> media;
};

bool GetResults(const std::vector<Player>& players, std::vector<Result>& results);

} // namespace animia

#endif // __animia__animia_h