| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Look for information inside the anchor instead of on the
vertices. This will give us flexibility of simplifying vertices before
the anchor simplification phase.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
| |
We used to look for this information in the anchor's from and to
vertices, but to enable simplification of vertices, we have to store
this information in the anchor.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The calculate graphs now can return early due to unfeasible anchor
setups found out during simplification. This allows finding out
problems in parallel anchors, when one anchor has maximum size smaller
than the minimum size of the other anchor.
The order for simplification and refreshing size hints also has been swaped:
- First, refresh size hints for all anchors in the graph. If the graph is
simplified, the refreshSizeHints() call will reach the children anchors.
- Then, if the simplificated graph is invalid, rebuild it. During this
rebuild, refreshSizeHints_helper() will be called for all levels.
So in both situations we can identify an unfeasible setup. Note that
this test alone is not enough to classify the graph as feasible, depending
on the graph, it will still need to go through the Simplex.
A test case was added and the function that traverse the graph
refreshing now is called refreshAllSizeHints(). The old name was not
so clear since the function will not fill only the anchors that have
items associated.
Last but not least, the lastCalculationUsedSimplex variable is cleared
when starting calculateGraphs(), since we now can leave the function
earlier, without reaching calculateTrunk(), which is the function that
sets it.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
| |
Extract the creation of parallel anchors from the creation of
sequential anchor. This will be useful to keep track whether a
parallel anchor is feasible or not.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
| |
Now the refreshSizeHints() returns a boolean, and the parallel anchor
will return false in unfeasible cases, e.g. one anchor has maximum
size smaller than other minimum size.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| | |
Previous code was creating a full 3D rotation matrix and then
projecting back to 2D. This change combines the two steps into
one to avoid calculating matrix components that will be dropped.
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Attribute locations must be bound before a shader program is linked
according to the GLSL specification. Issue a warning to the user if
they do it in the wrong order, which should help to isolate hard
to find bugs much quicker.
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change 100afe8d fixed a bug in QGraphicsRotation related to when
the "distance to plane" projection needed to be performed. As a
side effect it made the toTransform() API not do the expected
thing when the function is called with no argument.
This change makes the default no-argument version of toTransform()
do the simple "drop row 3 and column 3" orthographic transformation
that normal users of the class expect, and adds a new overload for
the "distance to plane" projection case for the special case.
Reviewed-by: trustme
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem occurred on Windows due to a call to repaint() on a top-level
window from setDisabledStyle() in qwidget.cpp. This function is called
whenever a window is blocking. In this particular case the children of
the repainted window are opaque, and should therefore not be repainted,
which also means that the top-level have to subtract the region of the
opaque children when filling the background. This region is cached,
and the problem was that the cached region was wrong. It was wrong
because it was not invalidated properly.
Task: QTBUG-4245
Reviewed-by: Paul
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The background color of PE_Frame was palette().light() and has been
changed to use palette().background() now. This fixes the autotest
tst_QStyleSheetStyle::task188195_baseBackground for Windows mobile.
Reviewed-by: thartman
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The original approach of modifying the font for QAbstractButtons in
QWindowsMobileStyle::polish broke the autotest
tst_qstylesheetstyle::fontPropagation.
Reviewed-by: thartman
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After 04d18b38c38c5ff623b30366ea08d56128b9b7d0 Qt didn't compile for
QWS. Will email original committer to verify that original intent is
maintained.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We have historically silently disabled pkg-config when cross compiling in
order to avoid host pkg-config contamination of the target build.
pkg-config files are present on many embedded targets, and make the correct
detection/configuration of dependencies far more convenient for the
developer. It is therefor valuable to advertise that pkg-config
functionality is available but disabled barring direct involvement on their
parts, rather than silently disabling it.
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| | |
| | |
| | |
| | | |
Reviewed-by: Denis Dzyubenko
|
| | |
| | |
| | |
| | | |
Reviewed-by: TrustMe
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QTextEdit (via QTextLayout) and QPlainTextEdit in Qt used to ignore
any font leading but added one extra pixel in QFontMetrics. With many
freetype fonts, this resulted in a "spacy" text layout.
The necessary fixes on X11 and Windows were to take (positive) leading
into account, to make the font database convert point sizes to pixel
sizes without rounding to plain integer values, and to subtract the
extra pixel from QFontMetrics from the font engines' descent value.
The change also fixes several places in styles and widgets, where
QFontMetrics::lineSpacing() was wrongly used instead of
QFontMetrics::height().
Ideally we should also handle negative leading, which would require
additional and bigger code changes in QTextLayout and QPlainTextEdit.
In addition, all other editors we have tested seem to ignore leading on
X11. If we choose to believe the values provided by freetype, our text
layout would be one pixel smaller than everybody else's.
On the Mac, this change does nothing. There our layout is still too spacy,
and for smaller fonts quite ugly compared to native Mac applications.
Done with mae.
Reviewed-by: mae
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | | |
They works just like the \qmlsignal and \qmlmethod commands.
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | | |
Amending the previous merge request
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
shouldShowFileName() can be called with an empty filename, but must not
create and use a QFileInfo("") since that has known undefined behavior.
So just return NO right away for empty filenames.
Merge-request: 1765
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Makes QScriptValue::toNumber() ~50% faster.
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Calls to engine() are mostly done for checking that the "source"
and "target" engines are the same, but we don't want those checks
to slow us down. Use an inline getEngine() function instead.
This makes e.g. QScriptValue::call() ~10% faster for a function
like "function(a, b) { return a + b; }".
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For non-object values, just return the value immediately; there is no way
that the later check (result.isObject()) will be true anyway.
This makes qScriptValueFromValue() ~50% faster.
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Makes creation+destruction of the QScriptValue a lot faster
because it uses the engine's pool of QScriptValuePrivates
instead of qMalloc()/qFree().
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also avoid looking up the object's own properties twice
(before we called getOwnPropertySlot() and then getPropertySlot()
on the same object).
Makes QScriptValue::property() ~20% faster when calling it on an "empty" object.
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | | |
Makes QScriptValue::property() ~10% faster.
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | | |
Makes QScriptValue::data() 15% faster.
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | | |
Makes QScriptValue::scriptClass() 20% faster.
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | | |
Makes QScriptContext::engine() 80% faster.
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | | |
Makes QScriptContext::parentContext() 50% faster.
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | | |
Makes QScriptEngine::currentContext() 25% faster.
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QGraphicsObject::parent is actually about the QGraphicsItem
hierarchy, not the QObject hierarchy. This is similar to
QGraphicsWidget, where 'QObject::parent() should always return 0'.
Maybe the explanation in QGraphicsWidget class documentation on this topic
should be merged into QGraphicsObject, too?
Reviewed-by: Andreas Aardal Hanssen
|
| | |
| | |
| | |
| | |
| | |
| | | |
These macros are available since GCC 2.95.
Reviewed-by: Olivier Goffart
|
| | | |
|
| |\ \ |
|
| | | | |
|