polybar-dwm/include/cairo/types.hpp

77 lines
1.1 KiB
C++
Raw Normal View History

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