mirror of
https://github.com/polybar/polybar.git
synced 2024-11-18 13:55:11 -05:00
77 lines
1.1 KiB
C++
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
|