fix: blobs now allow to be drawn in device pixels to stay sharp
C++ / fmt (pull_request) Failing after 5s
C++ / build (pull_request) Failing after 10s
C++ / clang-tidy (pull_request) Failing after 10s
JS/TS / fmt (pull_request) Successful in 9s
JS/TS / lint (pull_request) Successful in 25s
Python / static (pull_request) Successful in 34s
Rust / build (pull_request) Successful in 51s
Python / verify (pull_request) Failing after 1m25s
Rust / fmt (pull_request) Successful in 39s
Rust / clippy (pull_request) Successful in 59s
C++ / fmt (pull_request) Failing after 5s
C++ / build (pull_request) Failing after 10s
C++ / clang-tidy (pull_request) Failing after 10s
JS/TS / fmt (pull_request) Successful in 9s
JS/TS / lint (pull_request) Successful in 25s
Python / static (pull_request) Successful in 34s
Rust / build (pull_request) Successful in 51s
Python / verify (pull_request) Failing after 1m25s
Rust / fmt (pull_request) Successful in 39s
Rust / clippy (pull_request) Successful in 59s
This commit is contained in:
@@ -7,12 +7,6 @@
|
||||
|
||||
class BlobGroup2;
|
||||
|
||||
// Data-only shape.
|
||||
//
|
||||
// The group draws a single node for the whole group, so a shape here contributes
|
||||
// only what the shader needs: position, radii, exclusion, physics. A shape does
|
||||
// not create a render node, so no pixel can be evaluated by one shape and missed
|
||||
// by another.
|
||||
class BlobShape2 : public QQuickItem {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(BlobGroup2* group READ group WRITE setGroup NOTIFY groupChanged)
|
||||
@@ -56,8 +50,6 @@ class BlobShape2 : public QQuickItem {
|
||||
|
||||
virtual bool isExcluded(const BlobShape2*) const { return false; }
|
||||
|
||||
// Whether this shape is part of the group's data. Only a pushing shape is, so a shape
|
||||
// at rest has no part in the draw. BlobRect2 also honours the QML atRestOverride.
|
||||
virtual bool isMoving() const { return false; }
|
||||
|
||||
virtual bool isCornerExcluded(const BlobShape2* /*other*/) const {
|
||||
@@ -66,13 +58,23 @@ class BlobShape2 : public QQuickItem {
|
||||
|
||||
virtual void cornerRadii(float out[4]) const;
|
||||
|
||||
// Called by the group when it rebuilds the shared data, once per frame.
|
||||
virtual void outerCornerRadii(float out[4]) const {
|
||||
out[0] = 0;
|
||||
out[1] = 0;
|
||||
out[2] = 0;
|
||||
out[3] = 0;
|
||||
}
|
||||
|
||||
virtual void updatePhysics() {}
|
||||
|
||||
virtual bool needsFrame() const { return false; }
|
||||
|
||||
virtual void registerWithGroup();
|
||||
virtual void unregisterFromGroup();
|
||||
void updateCenteredDeformMatrix();
|
||||
|
||||
virtual void resetDeformMatrix();
|
||||
|
||||
BlobGroup2* m_group = nullptr;
|
||||
qreal m_radius = 0;
|
||||
QMatrix4x4 m_deformMatrix; // identity by default
|
||||
|
||||
Reference in New Issue
Block a user