Wed, 25 May 2022 20:36:34 +0300
Fix pick() picking from weird places on the screen with high DPI scaling
glReadPixels reads data from the frame buffer, which contains data after
high DPI scaling, so any reads to that need to take this scaling into account
15
9e18ec63eec3
split quadrilateral and triangle into their own source files
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
1 | #include "quadrilateral.h" |
9e18ec63eec3
split quadrilateral and triangle into their own source files
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
2 | |
35
98906a94732f
renamed the linetypes namespace to ldraw namespace and added more structures to it
Teemu Piippo <teemu@hecknology.net>
parents:
33
diff
changeset
|
3 | QString ldraw::Quadrilateral::textRepresentation() const |
15
9e18ec63eec3
split quadrilateral and triangle into their own source files
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
4 | { |
9e18ec63eec3
split quadrilateral and triangle into their own source files
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
5 | return utility::format("%1 %2 %3 %4", |
87
93ec4d630346
added PolygonObject and refactored away a lot of boilerplate
Teemu Piippo <teemu@hecknology.net>
parents:
86
diff
changeset
|
6 | utility::vertexToStringParens(this->points[0]), |
93ec4d630346
added PolygonObject and refactored away a lot of boilerplate
Teemu Piippo <teemu@hecknology.net>
parents:
86
diff
changeset
|
7 | utility::vertexToStringParens(this->points[1]), |
93ec4d630346
added PolygonObject and refactored away a lot of boilerplate
Teemu Piippo <teemu@hecknology.net>
parents:
86
diff
changeset
|
8 | utility::vertexToStringParens(this->points[2]), |
93ec4d630346
added PolygonObject and refactored away a lot of boilerplate
Teemu Piippo <teemu@hecknology.net>
parents:
86
diff
changeset
|
9 | utility::vertexToStringParens(this->points[3])); |
15
9e18ec63eec3
split quadrilateral and triangle into their own source files
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
10 | } |
21 | 11 | |
35
98906a94732f
renamed the linetypes namespace to ldraw namespace and added more structures to it
Teemu Piippo <teemu@hecknology.net>
parents:
33
diff
changeset
|
12 | void ldraw::Quadrilateral::getPolygons( |
21 | 13 | std::vector<gl::Polygon>& polygons, |
14 | GetPolygonsContext* context) const | |
15 | { | |
16 | Q_UNUSED(context) | |
17 | polygons.push_back(gl::quadrilateral( | |
18 | this->points[0], | |
19 | this->points[1], | |
20 | this->points[2], | |
21 | this->points[3], | |
22 | this->colorIndex, | |
87
93ec4d630346
added PolygonObject and refactored away a lot of boilerplate
Teemu Piippo <teemu@hecknology.net>
parents:
86
diff
changeset
|
23 | this->id)); |
21 | 24 | } |
26 | 25 | |
183
97b591813c8b
- Add editors for string and bool properties
Teemu Piippo <teemu@hecknology.net>
parents:
177
diff
changeset
|
26 | void ldraw::Quadrilateral::invert(GetPolygonsContext *) |
26 | 27 | { |
28 | // 0 1 2 3 | |
29 | // -> 2 1 0 3 | |
30 | std::swap(this->points[0], this->points[2]); | |
31 | } | |
132
488d0ba6070b
Begin work with serialization
Teemu Piippo <teemu@hecknology.net>
parents:
87
diff
changeset
|
32 | |
488d0ba6070b
Begin work with serialization
Teemu Piippo <teemu@hecknology.net>
parents:
87
diff
changeset
|
33 | ldraw::Object::Type ldraw::Quadrilateral::typeIdentifier() const |
488d0ba6070b
Begin work with serialization
Teemu Piippo <teemu@hecknology.net>
parents:
87
diff
changeset
|
34 | { |
488d0ba6070b
Begin work with serialization
Teemu Piippo <teemu@hecknology.net>
parents:
87
diff
changeset
|
35 | return Type::Quadrilateral; |
488d0ba6070b
Begin work with serialization
Teemu Piippo <teemu@hecknology.net>
parents:
87
diff
changeset
|
36 | } |
141 | 37 | |
38 | QString ldraw::Quadrilateral::toLDrawCode() const | |
39 | { | |
40 | return utility::format( | |
41 | "4 %1 %2 %3 %4 %5", | |
42 | this->colorIndex.index, | |
43 | utility::vertexToString(this->points[0]), | |
44 | utility::vertexToString(this->points[1]), | |
45 | utility::vertexToString(this->points[2]), | |
158
5bd755eaa5a8
Add icons from ionicons
Teemu Piippo <teemu@hecknology.net>
parents:
141
diff
changeset
|
46 | utility::vertexToString(this->points[3])); |
141 | 47 | } |
158
5bd755eaa5a8
Add icons from ionicons
Teemu Piippo <teemu@hecknology.net>
parents:
141
diff
changeset
|
48 | |
5bd755eaa5a8
Add icons from ionicons
Teemu Piippo <teemu@hecknology.net>
parents:
141
diff
changeset
|
49 | QString ldraw::Quadrilateral::iconName() const |
5bd755eaa5a8
Add icons from ionicons
Teemu Piippo <teemu@hecknology.net>
parents:
141
diff
changeset
|
50 | { |
5bd755eaa5a8
Add icons from ionicons
Teemu Piippo <teemu@hecknology.net>
parents:
141
diff
changeset
|
51 | return ":/icons/linetype-quadrilateral.png"; |
5bd755eaa5a8
Add icons from ionicons
Teemu Piippo <teemu@hecknology.net>
parents:
141
diff
changeset
|
52 | } |
177
f69d53c053df
Show type of object in the object editor
Teemu Piippo <teemu@hecknology.net>
parents:
158
diff
changeset
|
53 | |
f69d53c053df
Show type of object in the object editor
Teemu Piippo <teemu@hecknology.net>
parents:
158
diff
changeset
|
54 | QString ldraw::Quadrilateral::typeName() const |
f69d53c053df
Show type of object in the object editor
Teemu Piippo <teemu@hecknology.net>
parents:
158
diff
changeset
|
55 | { |
f69d53c053df
Show type of object in the object editor
Teemu Piippo <teemu@hecknology.net>
parents:
158
diff
changeset
|
56 | return QObject::tr("quadrilateral"); |
f69d53c053df
Show type of object in the object editor
Teemu Piippo <teemu@hecknology.net>
parents:
158
diff
changeset
|
57 | } |