change to lists, titles etc

This commit is contained in:
vaxerski 2022-03-18 22:35:51 +01:00
parent 00098aef4f
commit a1a8f3b6d5
8 changed files with 128 additions and 37 deletions

View file

@ -3,6 +3,7 @@
#include "../defines.hpp"
#include <deque>
#include "WLClasses.hpp"
#include <list>
struct SMonitor {
Vector2D vecPosition = Vector2D(0,0);
@ -20,8 +21,16 @@ struct SMonitor {
// WLR stuff
wlr_output* output = nullptr;
std::deque<SLayerSurface> m_dLayerSurfaces;
// Double-linked list because we need to have constant mem addresses for signals
std::list<SLayerSurface> m_lLayerSurfaces;
DYNLISTENER(monitorFrame);
DYNLISTENER(monitorDestroy);
// For the list lookup
bool operator==(const SMonitor& rhs) {
return vecPosition == rhs.vecPosition && vecSize == rhs.vecSize && szName == rhs.szName;
}
};

View file

@ -14,24 +14,24 @@ class Vector2D {
// returns the scale
double normalize();
Vector2D operator+(Vector2D a) {
Vector2D operator+(const Vector2D a) {
return Vector2D(this->x + a.x, this->y + a.y);
}
Vector2D operator-(Vector2D a) {
Vector2D operator-(const Vector2D a) {
return Vector2D(this->x - a.x, this->y - a.y);
}
Vector2D operator*(float a) {
Vector2D operator*(const float a) {
return Vector2D(this->x * a, this->y * a);
}
Vector2D operator/(float a) {
Vector2D operator/(const float a) {
return Vector2D(this->x / a, this->y / a);
}
bool operator==(Vector2D& a) {
bool operator==(const Vector2D& a) {
return a.x == x && a.y == y;
}
bool operator!=(Vector2D& a) {
bool operator!=(const Vector2D& a) {
return a.x != x || a.y != y;
}

View file

@ -15,6 +15,14 @@ struct SLayerSurface {
wlr_box geometry;
zwlr_layer_shell_v1_layer layer;
int monitorID = -1;
// For the list lookup
bool operator==(const SLayerSurface& rhs) {
return layerSurface == rhs.layerSurface && monitorID == rhs.monitorID;
}
};
struct SRenderData {