1
0
Fork 0
mirror of https://github.com/polybar/polybar.git synced 2024-11-03 04:33:30 -05:00
polybar/include/cairo/types.hpp

70 lines
1,011 B
C++
Raw Normal View History

2017-01-18 23:38:42 -05:00
#pragma once
2017-01-25 17:30:41 -05:00
#include <cairo/cairo.h>
2017-01-18 23:38:42 -05:00
#include "common.hpp"
#include "components/types.hpp"
2017-01-18 23:38:42 -05:00
POLYBAR_NS
2017-01-19 09:05:26 -05:00
enum class alignment;
2017-01-18 23:38:42 -05:00
namespace cairo {
2017-01-24 00:59:58 -05:00
struct point {
double x;
double y;
};
2017-01-18 23:38:42 -05:00
struct abspos {
double x;
double y;
2017-01-19 09:05:26 -05:00
bool clear{true};
2017-01-18 23:38:42 -05:00
};
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;
};
2017-01-18 23:38:42 -05:00
struct linear_gradient {
double x1;
double y1;
2017-01-24 00:59:58 -05:00
double x2;
double y2;
vector<rgba> steps;
2017-01-18 23:38:42 -05:00
};
2017-01-19 09:05:26 -05:00
struct rounded_corners {
double x;
double y;
double w;
double h;
struct radius radius;
2017-01-19 09:05:26 -05:00
};
2017-01-18 23:38:42 -05:00
struct textblock {
2017-01-19 09:05:26 -05:00
alignment align;
2017-01-18 23:38:42 -05:00
string contents;
int font;
rgba bg{};
2017-01-25 17:30:41 -05:00
cairo_operator_t bg_operator;
2017-01-24 00:59:58 -05:00
rect bg_rect;
double* x_advance;
double* y_advance;
2017-01-18 23:38:42 -05:00
};
} // namespace cairo
2017-01-18 23:38:42 -05:00
POLYBAR_NS_END