1
0
Fork 0
mirror of https://github.com/polybar/polybar.git synced 2024-10-27 05:23:39 -04:00
polybar/include/cairo/types.hpp
2021-03-29 20:17:48 +02:00

77 lines
1.1 KiB
C++

#pragma once
#include <cairo/cairo.h>
#include "common.hpp"
#include "components/types.hpp"
POLYBAR_NS
enum class alignment;
namespace cairo {
struct point {
double x;
double y;
};
struct abspos {
double x;
double y;
bool clear{true};
};
struct relpos {
double x;
double y;
};
struct rect {
double x;
double y;
double w;
double h;
};
struct line {
double x1;
double y1;
double x2;
double y2;
double w;
};
struct translate {
double x;
double y;
};
struct linear_gradient {
double x1;
double y1;
double x2;
double y2;
vector<rgba> steps;
};
struct rounded_corners {
double x;
double y;
double w;
double h;
struct radius radius;
};
struct circle_segment {
double x;
double y;
double w;
double angle_from;
double angle_to;
double radius;
};
struct textblock {
alignment align;
string contents;
int font;
rgba bg{};
cairo_operator_t bg_operator;
rect bg_rect;
double* x_advance;
double* y_advance;
};
} // namespace cairo
POLYBAR_NS_END