| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Due to the rendering model in XRender ((src IN mask) OP dest) we can't
support the PorterDuff composition modes natively under X11. They
just behave differently than what we've defined them to do in QPainter,
and there is no apparent workaround.
Task-number: QTBUG-4829
Reviewed-by: Gunnar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use ExpandToTransparentBorderPadMode since we can use GL_CLAMP_TO_EDGE
to clamp to the texture.
* Shrink the bounding rects reported by the blur
and drop shadow filters (expanding by 2 * radius isn't needed).
* Use a single-pass blur for radii <= 3 to avoid the overhead of
rendering to an FBO.
* Made the fast blur setting generate filters for only a predefined set
of radii, and then use the actual blur radius to spread the sample
points outwards.
* Optimized the generated program to rely less on temporary variables,
as those seemed to not be handled very well by certain GLSL compilers.
Reviewed-by: Gunnar Sletta
|
|\ |
|
| |
| |
| |
| | |
Reviewed-by: Michael Brasser
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |\ |
|
| |\ \ |
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
QtGui had some debug functions only exported in the debug build.
Now these are exported in release mode as well, but as stubs (i.e. no
debug output is generated).
Reviewed-by: Thiago Macieira
|
|\ \ \ \ \
| | |_|_|/
| |/| | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Trust Me
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Usable for future optimizations.
Reviewed-by: Samuel
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Trust Me
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Thomas Zander
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Alexis Menard
|
| | |/
| |/|
| | |
| | | |
Reviewed-by: trustme
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The projection to 2D needs to be done when the rotation is applied,
not after all transformations have been applied.
Reviewed-by: trustme
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | | |
Improve the documentation for size policy.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
No need to traverse the tree again to access the topLevelItem in case
there is no common ancestor.
Reviewed-by: bnilsen
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This function is moved to graphicsitem private because it is needed by
multi-touch event handling and is not specific to bsptreeindex.
Reviewed-by: bnilsen
|
| |\ \ \ |
|
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On embedded dialog pressing tab stop changing the focus when the focus
was given to QFontComboBox. It's because QFontComboBox embed a
QLineEdit in order to allow editing. But this QLineEdit is a focus proxy
so we need to special case that. The logic is the same in QApplication.
Be careful when changing one of them.
Task-number:QTBUG-4818
Reviewed-by:jan-arve
Reviewed-by:ogoffart
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
This was reported for QGraphicsAnchorLayout, but affects all
QGraphicsLayout subclasses. However, since it is not even handled
properly in QGraphicsItem::setParentItem() it should be fine that we
don't try to deal with this issue. Thus, the layouts are "consistent"
with graphics items when it comes to detection of cycles in the tree.
|
| |/
|/|
| |
| |
| |
| |
| | |
If an effect is applied repeatedly on the same source, just with
varying parameters, we can save a lot by caching the source pixmaps.
Reviewed-by: Bjørn Erik Nilsen
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: alexis
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After this commit, when you modify the spacing of an anchor you are
effectively modifying the preferred size of the anchor, since all
anchors (except internal ones) have their minimumSizeHint to 0 and
maximumSizeHint to QWIDGETSIZE_MAX.
I also changed the sizeHintsFromItem to be more generic so that I could
use it for anchors. (Thus, it was renamed to "internalSizeHints"). It
now only takes care of setting the min/pref/exp/maxSize of AnchorData
based on the anchor/item size hint and their size policies.
As a consequence of all of this, setFixedSize changed behaviour and
became setPreferredSize (since setSpacing is basically setPreferredSize).
The implementation of that now only sets the prefSize.
The patch also has an unrelated fix for IgnoreFlag, where it will
(again) return the minimumSize for sizeHint(Qt::PreferredSize) instead
of the maximumSize. This was to be more consistent with
qgridlayoutengine.cpp. The docs are not very clear on this behaviour
unfortunately.
This API change has been discussed.
Reviewed-by: alexis
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
git://gitorious.org/~fleury/qt/fleury-openbossa-clone into 4.6
Conflicts:
src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
src/gui/graphicsview/qgraphicsanchorlayout_p.h
tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Refactor the simplifyGraphIteration() function. The aim was to make it
more clear without changing too much the way it does stuff.
Before it collected a list of candidates and then filtered that into
sublists of same order, and after that removed the center edges from
the borders. It also reversed the list if the direction wasn't
forward, to pass it in forward order to simplifySequentialChunk()
helper function.
The refactored version
- take in account the order when building the candidates, this avoids
index manipulation;
- try to calculate 'beforeSequence' and 'afterSequence' as it builds the
candidates list;
- make simplifySequentialChunk() aware of directions, now it deals internally
with reversed direction sequences.
This commits also adds explanations to trickier parts of the code.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Create calculateTrunk() and calculateNonTrunk() methods, that
calculate sizes for anchors in different parts of the simplified graph
(using simplex when needed).
Also fixes a minor leak when the nontrunk part is non-feasible. The
old code left the loop leaving the contents of 'sizeHintConstraints'
not allocated.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After calculations, update the size of all anchors in the simplified
graph. Those updates were happening locally after each calculation
(trunk and semifloats), however some anchors that were not involved in
simplex calculation were missing.
One concrete consequence of the previous behaviour is that semifloat
parts that were simplified into just one anchor, didn't have the chance
to set their sizeAt* values. One consequence of the new behaviour is
one more test passing.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change the functions solvePreferred() and solveExpanding() to take a
list of variables, so they don't need to calculate them based on the
list of constraints. That way, the trunk variables are calculated only
once.
This commit also reduce the scope of 'sizeHintConstraints' variable
instead of clearing and reusing it.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is one good way to track whether simplification is doing all its
job or not. However it can only track cases where the graph simplify
to only one anchor. For more complex cases the graph dumps are the way
to go.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The graph dumper function take a name, and added debug code (that need
to be enabled manually) to generate dumps from the graph before and
after calculation. This is useful to debug simplification.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After the addition of expanding SizePolicy, the distribution of sequential
anchors became wrong.
We must now account for three intervals of distribution instead of only two.
This commit also unifies the logic used by the sequential group anchor and
the edge interpolator.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently we do not support negative-sized anchors in the graph,
instead we invert such anchors and make their value positive.
We consider changing this sometime in the future but until then,
spacing must be non-negative at all times.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The problem was that lastCalculationUsedSimplex was only compiled in
debug mode. The autotests run in release, so it did not compile.
Reviewed-by: alexis
|
| |\ \
| | |/ |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
git://gitorious.org/~fleury/qt/fleury-openbossa-clone into openbossa-fleury-fixes
Conflicts:
src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Create calculateTrunk() and calculateNonTrunk() methods, that
calculate sizes for anchors in different parts of the simplified graph
(using simplex when needed).
Also fixes a minor leak when the nontrunk part is non-feasible. The
old code left the loop leaving the contents of 'sizeHintConstraints'
not allocated.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
After calculations, update the size of all anchors in the simplified
graph. Those updates were happening locally after each calculation
(trunk and semifloats), however some anchors that were not involved in
simplex calculation were missing.
One concrete consequence of the previous behaviour is that semifloat
parts that were simplified into just one anchor, didn't have the chance
to set their sizeAt* values. One consequence of the new behaviour is
one more test passing.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change the functions solvePreferred() and solveExpanding() to take a
list of variables, so they don't need to calculate them based on the
list of constraints. That way, the trunk variables are calculated only
once.
This commit also reduce the scope of 'sizeHintConstraints' variable
instead of clearing and reusing it.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is one good way to track whether simplification is doing all its
job or not. However it can only track cases where the graph simplify
to only one anchor. For more complex cases the graph dumps are the way
to go.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|