parent
e5384774a8
commit
d5689bb539
30 changed files with 116 additions and 118 deletions
|
|
@ -182,7 +182,7 @@ wl_client* CWLSurfaceResource::client() {
|
|||
return pClient;
|
||||
}
|
||||
|
||||
void CWLSurfaceResource::enter(SP<CMonitor> monitor) {
|
||||
void CWLSurfaceResource::enter(PHLMONITOR monitor) {
|
||||
if (std::find(enteredOutputs.begin(), enteredOutputs.end(), monitor) != enteredOutputs.end())
|
||||
return;
|
||||
|
||||
|
|
@ -209,7 +209,7 @@ void CWLSurfaceResource::enter(SP<CMonitor> monitor) {
|
|||
resource->sendEnter(output->getResource().get());
|
||||
}
|
||||
|
||||
void CWLSurfaceResource::leave(SP<CMonitor> monitor) {
|
||||
void CWLSurfaceResource::leave(PHLMONITOR monitor) {
|
||||
if (std::find(enteredOutputs.begin(), enteredOutputs.end(), monitor) == enteredOutputs.end())
|
||||
return;
|
||||
|
||||
|
|
@ -509,7 +509,7 @@ void CWLSurfaceResource::updateCursorShm() {
|
|||
memcpy(shmData.data(), pixelData, bufLen);
|
||||
}
|
||||
|
||||
void CWLSurfaceResource::presentFeedback(timespec* when, SP<CMonitor> pMonitor) {
|
||||
void CWLSurfaceResource::presentFeedback(timespec* when, PHLMONITOR pMonitor) {
|
||||
frame(when);
|
||||
auto FEEDBACK = makeShared<CQueuedPresentationData>(self.lock());
|
||||
FEEDBACK->attachMonitor(pMonitor);
|
||||
|
|
|
|||
|
|
@ -60,8 +60,8 @@ class CWLSurfaceResource {
|
|||
|
||||
bool good();
|
||||
wl_client* client();
|
||||
void enter(SP<CMonitor> monitor);
|
||||
void leave(SP<CMonitor> monitor);
|
||||
void enter(PHLMONITOR monitor);
|
||||
void leave(PHLMONITOR monitor);
|
||||
void sendPreferredTransform(wl_output_transform t);
|
||||
void sendPreferredScale(int32_t scale);
|
||||
void frame(timespec* now);
|
||||
|
|
@ -115,7 +115,7 @@ class CWLSurfaceResource {
|
|||
std::vector<SP<CWLCallbackResource>> callbacks;
|
||||
WP<CWLSurfaceResource> self;
|
||||
WP<CWLSurface> hlSurface;
|
||||
std::vector<WP<CMonitor>> enteredOutputs;
|
||||
std::vector<PHLMONITORREF> enteredOutputs;
|
||||
bool mapped = false;
|
||||
std::vector<WP<CWLSubsurfaceResource>> subsurfaces;
|
||||
SP<ISurfaceRole> role;
|
||||
|
|
@ -124,7 +124,7 @@ class CWLSurfaceResource {
|
|||
|
||||
void breadthfirst(std::function<void(SP<CWLSurfaceResource>, const Vector2D&, void*)> fn, void* data);
|
||||
CRegion accumulateCurrentBufferDamage();
|
||||
void presentFeedback(timespec* when, SP<CMonitor> pMonitor);
|
||||
void presentFeedback(timespec* when, PHLMONITOR pMonitor);
|
||||
void lockPendingState();
|
||||
void unlockPendingState();
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include "../../Compositor.hpp"
|
||||
#include "../../helpers/Monitor.hpp"
|
||||
|
||||
CWLOutputResource::CWLOutputResource(SP<CWlOutput> resource_, SP<CMonitor> pMonitor) : monitor(pMonitor), resource(resource_) {
|
||||
CWLOutputResource::CWLOutputResource(SP<CWlOutput> resource_, PHLMONITOR pMonitor) : monitor(pMonitor), resource(resource_) {
|
||||
if (!good())
|
||||
return;
|
||||
|
||||
|
|
@ -83,7 +83,7 @@ void CWLOutputResource::updateState() {
|
|||
resource->sendDone();
|
||||
}
|
||||
|
||||
CWLOutputProtocol::CWLOutputProtocol(const wl_interface* iface, const int& ver, const std::string& name, SP<CMonitor> pMonitor) :
|
||||
CWLOutputProtocol::CWLOutputProtocol(const wl_interface* iface, const int& ver, const std::string& name, PHLMONITOR pMonitor) :
|
||||
IWaylandProtocol(iface, ver, name), monitor(pMonitor), szName(pMonitor->szName) {
|
||||
|
||||
listeners.modeChanged = monitor->events.modeChanged.registerListener([this](std::any d) {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class CWLOutputProtocol;
|
|||
|
||||
class CWLOutputResource {
|
||||
public:
|
||||
CWLOutputResource(SP<CWlOutput> resource_, SP<CMonitor> pMonitor);
|
||||
CWLOutputResource(SP<CWlOutput> resource_, PHLMONITOR pMonitor);
|
||||
static SP<CWLOutputResource> fromResource(wl_resource*);
|
||||
|
||||
bool good();
|
||||
|
|
@ -20,7 +20,7 @@ class CWLOutputResource {
|
|||
SP<CWlOutput> getResource();
|
||||
void updateState();
|
||||
|
||||
WP<CMonitor> monitor;
|
||||
PHLMONITORREF monitor;
|
||||
WP<CWLOutputProtocol> owner;
|
||||
WP<CWLOutputResource> self;
|
||||
|
||||
|
|
@ -33,14 +33,14 @@ class CWLOutputResource {
|
|||
|
||||
class CWLOutputProtocol : public IWaylandProtocol {
|
||||
public:
|
||||
CWLOutputProtocol(const wl_interface* iface, const int& ver, const std::string& name, SP<CMonitor> pMonitor);
|
||||
CWLOutputProtocol(const wl_interface* iface, const int& ver, const std::string& name, PHLMONITOR pMonitor);
|
||||
|
||||
virtual void bindManager(wl_client* client, void* data, uint32_t ver, uint32_t id);
|
||||
|
||||
SP<CWLOutputResource> outputResourceFrom(wl_client* client);
|
||||
void sendDone();
|
||||
|
||||
WP<CMonitor> monitor;
|
||||
PHLMONITORREF monitor;
|
||||
WP<CWLOutputProtocol> self;
|
||||
|
||||
// will mark the protocol for removal, will be removed when no. of bound outputs is 0 (or when overwritten by a new global)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue