MCPcopy Create free account
hub / github.com/OpenShot/libopenshot / Open

Method Open

src/QtTextReader.cpp:50–144  ·  view source on GitHub ↗

Open reader

Source from the content-addressed store, hash-verified

48
49// Open reader
50void QtTextReader::Open()
51{
52 // Open reader if not already open
53 if (!is_open)
54 {
55 // create image
56 image = std::make_shared<QImage>(width, height, QImage::Format_RGBA8888_Premultiplied);
57 image->fill(QColor(background_color.c_str()));
58
59 QPainter painter;
60 if (!painter.begin(image.get())) {
61 return;
62 }
63
64 // set background
65 if (!text_background_color.empty()) {
66 painter.setBackgroundMode(Qt::OpaqueMode);
67 painter.setBackground(QBrush(text_background_color.c_str()));
68 }
69
70 // set font color
71 painter.setPen(QPen(text_color.c_str()));
72
73 // set font
74 painter.setFont(font);
75
76 // Set gravity (map between OpenShot and Qt)
77 int align_flag = 0;
78 switch (gravity)
79 {
80 case GRAVITY_TOP_LEFT:
81 align_flag = Qt::AlignLeft | Qt::AlignTop;
82 break;
83 case GRAVITY_TOP:
84 align_flag = Qt::AlignHCenter | Qt::AlignTop;
85 break;
86 case GRAVITY_TOP_RIGHT:
87 align_flag = Qt::AlignRight | Qt::AlignTop;
88 break;
89 case GRAVITY_LEFT:
90 align_flag = Qt::AlignVCenter | Qt::AlignLeft;
91 break;
92 case GRAVITY_CENTER:
93 align_flag = Qt::AlignCenter;
94 break;
95 case GRAVITY_RIGHT:
96 align_flag = Qt::AlignVCenter | Qt::AlignRight;
97 break;
98 case GRAVITY_BOTTOM_LEFT:
99 align_flag = Qt::AlignLeft | Qt::AlignBottom;
100 break;
101 case GRAVITY_BOTTOM:
102 align_flag = Qt::AlignHCenter | Qt::AlignBottom;
103 break;
104 case GRAVITY_BOTTOM_RIGHT:
105 align_flag = Qt::AlignRight | Qt::AlignBottom;
106 break;
107 }

Callers

nothing calls this directly

Calls 3

ToDoubleMethod · 0.80
ReduceMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected