File: types.hpp

package info (click to toggle)
polybar 3.7.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,108 kB
  • sloc: cpp: 30,424; python: 3,750; sh: 284; makefile: 83
file content (77 lines) | stat: -rw-r--r-- 1,147 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#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