2020-01-17 09:57:39 +00:00
|
|
|
#ifndef C_SIDE
|
2019-10-24 01:31:18 +00:00
|
|
|
extern "C" {
|
2020-01-17 09:57:39 +00:00
|
|
|
#endif
|
2020-01-20 09:32:54 +00:00
|
|
|
|
2020-01-26 22:59:51 +00:00
|
|
|
#include <stdint.h>
|
|
|
|
|
2020-01-23 05:50:01 +00:00
|
|
|
extern uint32_t currentOutputWidth;
|
|
|
|
extern uint32_t currentOutputHeight;
|
|
|
|
|
2020-01-17 09:57:39 +00:00
|
|
|
unsigned int get_time_in_milliseconds(void);
|
2019-10-24 01:31:18 +00:00
|
|
|
|
|
|
|
int steamcompmgr_main(int argc, char **argv);
|
|
|
|
|
2020-01-17 09:57:39 +00:00
|
|
|
#ifndef C_SIDE
|
2019-10-24 01:31:18 +00:00
|
|
|
}
|
2020-01-23 08:50:06 +00:00
|
|
|
|
2020-02-24 21:19:39 +00:00
|
|
|
#include "rendervulkan.hpp"
|
|
|
|
|
2020-01-26 22:59:51 +00:00
|
|
|
#include <mutex>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include <wlr/render/dmabuf.h>
|
|
|
|
|
2020-02-24 21:19:39 +00:00
|
|
|
#include <X11/extensions/Xfixes.h>
|
|
|
|
|
2020-01-26 22:59:51 +00:00
|
|
|
struct ResListEntry_t {
|
|
|
|
struct wlr_surface *surf;
|
|
|
|
struct wlr_dmabuf_attributes attribs;
|
|
|
|
};
|
|
|
|
|
2020-02-24 21:19:39 +00:00
|
|
|
struct _XDisplay;
|
|
|
|
struct _win;
|
|
|
|
|
|
|
|
class MouseCursor
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
explicit MouseCursor(_XDisplay *display);
|
|
|
|
|
|
|
|
int x() const;
|
|
|
|
int y() const;
|
|
|
|
|
|
|
|
void move(int x, int y);
|
|
|
|
void updatePosition();
|
|
|
|
void constrainPosition();
|
|
|
|
void resetPosition();
|
|
|
|
|
|
|
|
void paint(struct _win *window, struct Composite_t *pComposite,
|
|
|
|
struct VulkanPipeline_t *pPipeline);
|
|
|
|
void setDirty();
|
|
|
|
|
|
|
|
private:
|
|
|
|
void warp(int x, int y);
|
|
|
|
void checkSuspension();
|
|
|
|
|
2020-04-01 20:41:40 +00:00
|
|
|
void queryRelativePosition(int &winX, int &winY);
|
2020-02-24 21:19:39 +00:00
|
|
|
void queryButtonMask(unsigned int &mask);
|
|
|
|
|
|
|
|
bool getTexture();
|
|
|
|
|
|
|
|
int m_x, m_y;
|
|
|
|
int m_hotspotX, m_hotspotY;
|
|
|
|
int m_width, m_height;
|
|
|
|
|
|
|
|
VulkanTexture_t m_texture;
|
|
|
|
bool m_dirty;
|
|
|
|
bool m_imageEmpty;
|
|
|
|
|
|
|
|
unsigned int m_lastMovedTime;
|
|
|
|
bool m_hideForMovement;
|
|
|
|
|
|
|
|
PointerBarrier m_scaledFocusBarriers[4];
|
|
|
|
|
|
|
|
bool m_hasPlane;
|
|
|
|
|
|
|
|
_XDisplay *m_display;
|
|
|
|
};
|
|
|
|
|
2020-01-23 08:50:06 +00:00
|
|
|
extern std::mutex wayland_commit_lock;
|
|
|
|
extern std::vector<ResListEntry_t> wayland_commit_queue;
|
|
|
|
|
2020-01-17 09:57:39 +00:00
|
|
|
#endif
|