mirror of
https://github.com/kunkundi/crossdesk.git
synced 2026-06-30 11:01:50 +08:00
41 lines
729 B
C++
41 lines
729 B
C++
/*
|
|
* @Author: DI JUNKUN
|
|
* @Date: 2026-06-23
|
|
* Copyright (c) 2026 by DI JUNKUN, All Rights Reserved.
|
|
*/
|
|
|
|
#ifndef _LINUX_TRAY_H_
|
|
#define _LINUX_TRAY_H_
|
|
|
|
#if defined(__linux__) && !defined(__APPLE__)
|
|
|
|
#include <cstdint>
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
struct SDL_Window;
|
|
|
|
namespace crossdesk {
|
|
|
|
struct LinuxTrayImpl;
|
|
|
|
class LinuxTray {
|
|
public:
|
|
LinuxTray(::SDL_Window* app_window, const std::string& tooltip,
|
|
int language_index, uint32_t exit_event_type);
|
|
~LinuxTray();
|
|
|
|
bool MinimizeToTray();
|
|
void RemoveTrayIcon();
|
|
void ProcessEvents();
|
|
|
|
private:
|
|
std::unique_ptr<LinuxTrayImpl> impl_;
|
|
};
|
|
|
|
} // namespace crossdesk
|
|
|
|
#endif // defined(__linux__) && !defined(__APPLE__)
|
|
|
|
#endif // _LINUX_TRAY_H_
|