| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Needed in order to subclass and override in the Symbian specific
implementation.
Reviewed-by: Rhys Weatherley
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The OpenVG paint engine traditionally takes glyph images from the
alphaMapForGlyph() function which returns the glyph image in the
upright projection. When it constructs a VGImage from this image, it
passes a positive data stride which will read the top scanline of the
source image into the bottom scanline of the VGImage due to the VG
coordinate system. It then uses the path transform where the 'sy' value
of the matrix is set to -1 and this re-inverts everything when drawing.
With the Symbian based glyph cache, the VGImage is constructed from a
RSgImage which is a hardware resource and compensates for the
coordinate system used by VG and GL at the time it is created. In
the case of the hardware glyph cache, the glyph image is read into the
RSgImage using a negative data stride so it does not need to be
inverted when drawn. To allow for this, introduce a flag which
indicates that the 'sy' entry of the matrix should be flipped such that
the glyph is drawn normally.
Also in this patch is a change to the glyph origin which now uses the
bottom of the glyph metric bounding rect instead of the top due to
orientation of the glyph inside the VGImage.
Reviewed-by: Alessandro Portale
|
|
|
|
|
|
|
|
|
|
|
| |
This introduces a specialized OpenVG font cache for the Symbian
platform. By using RGlyphDataIterator we can create a VGImage to store
inside a VGFont without having to upload our own glyph image. This
works by utilizing RSgImage which can be used to share handles to
graphics memory across processes thus allowing glyph images to be
shared by multiple processes and reducing graphics memory usage.
Reviewed-by: Alessandro Portale
|
|
|
|
|
|
|
|
|
|
| |
This code will now be used by both the fromNativeType() function and
the upcoming glyph cache implementation. We also change the #ifdef's
location here slightly because even if we do not have support for
RSgImage, we still want to be able to support the CFbsBitmap conversion
functions for the OpenVG graphics system.
Reviewed-by: Alessandro Portale
|
|
|
|
|
|
|
|
|
| |
Factor out the Symbian specific bits of QVGPixmapData into a separate
file and introduce our subclassed implementation of the VG font cache.
Also make our font cache a friend of the S60 font engine because the
cache needs to access the CFont member to create the glyph image.
Reviewed-by: Alessandro Portale
|
|
|
|
|
|
|
| |
Needed in order to subclass and override in the Symbian specific
implementation.
Reviewed-by: Rhys Weatherley
|
|
|
|
|
|
|
|
| |
This class will be implemented differently on Symbian due to the
presence of a class that allows cross process sharing of glyph images
so make this function virtual.
Reviewed-by: Rhys Weatherley
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty/webkit/VERSION
src/3rdparty/webkit/WebCore/ChangeLog
src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
src/3rdparty/webkit/WebKit/qt/ChangeLog
src/gui/painting/qpainter.cpp
src/gui/painting/qtextureglyphcache.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtCoreu.def
src/s60installs/eabi/QtGuiu.def
src/s60installs/eabi/QtNetworku.def
src/s60installs/eabi/QtOpenVGu.def
tests/auto/qfontmetrics/tst_qfontmetrics.cpp
tools/linguist/lupdate/main.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
WebKit draws rounded rectangles by setting a rounded rect path as a
clip and then filling the clip. This had problems when QVG_SCISSOR_CLIP
was enabled because the scissor would only clip to the bounding box
of complex paths. Thus, rounded rectangle clips were turned into
normal rectangle clips.
This change will make the scissor clipping code subdivide complex paths
into rectangles and use a tighter clip if the number of rectangles is
less than or equal to VG_MAX_SCISSOR_RECTS. If it is greater, then it
will fall back to the bounding box of the path.
Task-number: QT-3372
Reviewed-by: Jason Barron
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/demos.pro
mkspecs/features/resources.prf
mkspecs/features/uic.prf
src/corelib/io/qurl.cpp
src/corelib/tools/qlocale_symbian.cpp
src/gui/graphicsview/qgraphicsscene.cpp
src/gui/graphicsview/qgraphicswidget_p.cpp
src/gui/graphicsview/qgraphicswidget_p.h
src/gui/util/qsystemtrayicon_win.cpp
src/multimedia/audio/qaudioinput.cpp
tests/auto/qhostinfo/qhostinfo.pro
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change introduces the extra blending modes that are
defined in the VG_KHR_advanced_blending extension. Patch
originally provided by contributor:
http://qt.gitorious.org/qt/qt/merge_requests/505
Reviewed-by: Julian de Bhal
|
| | |
|
| | |
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/openvg/qpaintengine_vg.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Correctly use the positions calculated by getGlyphPositions
to draw the glyphs.
Simplify the logic a bit so that we don't need the
glyphTransform anymore, but can instead just use the
pathTransform for text drawing as well.
Tested with latin, arabic, hebrew and Hindi text
Task-number: QT-3300
Reviewed-by: Jason Barron
|
| |
| |
| |
| |
| |
| | |
qpaintengine_vg.cpp"
This reverts commit 27688a5e317f6602752eaea257ba46abbc9acf44.
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/openvg/qpaintengine_vg.cpp
src/script/bridge/qscriptqobject_p.h
tests/auto/bic/tst_bic.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QVGPaintEngine calls vgDrawGlyphs() to draw the glyphs of a
QTextItem. vgDrawGlyphs(), which is an official OpenVG function, and
not implemented in Qt itself, expects glyphs coordinates differently
than Qt's glyph painting loops of other paint engines expect.
Therefore, we need to handle RTL text separately in
QVGPaintEngine::drawTextItem(). Rhys Weatherley provided this patch.
This issue is not Symbian specific, but rather QVGPaintEngine
specific.
Task-number: QT-3140
Reviewed-by: Rhys Weatherley
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Some QWindowSurface implementations might implement flush as a buffer
Set EGL_SWAP_BEHAVIOR to EGL_BUFFER_PRESERVED for regular QWidgets
Cleanup & remove unused function overloads from QEgl* APIs
QScrollArea: Excessive scrolling in focusNextPrevChild()
|
| | |
| | |
| | |
| | |
| | |
| | | |
This should make stubbing out these APIs slightly easier.
Reviewed-By: TrustMe
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty/webkit/VERSION
src/3rdparty/webkit/WebCore/ChangeLog
src/3rdparty/webkit/WebCore/page/FrameView.cpp
src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp
src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def
src/s60installs/bwins/QtCoreu.def
src/s60installs/bwins/QtGuiu.def
src/s60installs/bwins/QtNetworku.def
src/s60installs/eabi/QtGuiu.def
tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RVCT 4 is far more strict with regards to symbol visiblity that RVCT
2.2, and will hide symbols unless all references have default visibility
in the object files. Update the various places in Qt code where the
symbol visibility was set incorrectly for DLL-based platforms (those that
use __declspec(dllimport) and (dllexport).
Note: QtWebkit and QtScript are fixed in different commits.
Task-number: QTBUG-9903
Reviewed-by: Jason Barron
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for accelerated scrolling in the "direct" window surface
implementation. Using vgCopyPixels(), the already rasterized content on
the surface can be shifted to a new location such that only a portion
of the suqsequent frame needs to be repainted instead of the entire
frame.
This only works when the "preserved" EGL swap behavior is enabled and
the impact on performance is highly dependant on the specific hardware
platform in use.
Task-number: QT-2972
Reviewed-by: Rhys Weatherley
|
| |
| |
| |
| |
| |
| |
| | |
QtGui exporting a symbol called eglCreateImageKHR seems a pretty
silly idea. Much better to have them in the QEgl namespace.
Reviewed-By: Iain
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-9809
Reviewed-by: Sarah Smith
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
qmake/generators/symbian/symmake.cpp
src/gui/image/qimage.cpp
src/openvg/qwindowsurface_vgegl.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the QVG_RECREATE_ON_SIZE_CHANGE macro is defined the EGL surface
is recreated. However, after creating the surface, we were neglecting
to set the surface attribute that enabled the preserved swapping
behavior of EGL. This lead to flicker because every second frame was
swapping with an empty buffer and only the dirty areas were being
painted leaving the rest empty.
Reviewed-by: Lars Knoll
Reviewed-by: Aleksandar Sasha Babic
Task-number: QT-3198
Task-number: QT-3184
Task-number: QT-3201
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Conflicts:
doc/src/modules.qdoc
src/gui/graphicsview/qgraphicswidget.h
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
configure
doc/src/modules.qdoc
src/gui/graphicsview/qgraphicsitem_p.h
src/gui/graphicsview/qgraphicswidget.h
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Summary so far: paths and images do not need the 0.5 adjustment
to the transform, but glyphs do. Not sure why glyphs do, but the
fonts definitely look wrong without the adjustment.
Task-number: QT-3192
Reviewed-by: trustme
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Conflicts:
mkspecs/common/symbian/symbian.conf
qmake/generators/symbian/symmake.cpp
src/3rdparty/webkit/WebCore/WebCore.pro
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
doc/src/modules.qdoc
mkspecs/common/symbian/symbian.conf
src/gui/graphicsview/qgraphicswidget.h
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (47 commits)
QScript: More missing APIShim
QScriptEngine: Fix reentrency involving creation and desctructions of QScriptEngines
Work-around Symbian 10.1's broken egl.h
Add some #warnings to debug Symbian EGL build failure
Don't detect EGLImage presence by testing function pointers
Implement proper QStaticText support in QPaintBuffer
Make QStaticText layout lazy
Change QStaticText::setMaximumSize() to setTextWidth()
Respect QPainter::pen() in QPainter::drawStaticText()
QVarLenghtArray: add some API to be consistant to QVector
Don't try to resolve EGLImage function pointers if they are defined
Change ORs to ANDs when checking EGLImage extension defines
Protect EGLImage function definitions in #ifdef
Fix a bug in greek shaping causing infinite loops
Define QT_NO_EGL in configure.exe
improve mingw 64 bit support
Fix build on Windows
Round instead of ceil font metrics when ForceIntegerMetrics is enabled
cetest: remove source file duplicates from cetest.pro
Remove EGLImage create/destroy resolving from VG pixmap data
...
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Might fix the Symbian build failures... who knows with Symbian.
Reviewed-By: TrustMe
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
eglCreateImageKHR and eglDestroyImageKHR are now defined in qegl.cpp
and resolved when the display is opened with QEgl::display().
Reviewed-By: Jason Barron
|
| |\ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
Conflicts:
mkspecs/common/symbian/symbian.conf
qmake/generators/symbian/symmake.cpp
src/3rdparty/webkit/WebCore/WebCore.pro
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
configure.exe
mkspecs/common/symbian/symbian.conf
src/gui/graphicsview/qgraphicswidget.h
src/gui/kernel/qapplication.cpp
src/gui/text/qtextlayout.cpp
src/openvg/qpixmapdata_vg.cpp
src/s60installs/s60installs.pro
tools/runonphone/main.cpp
tools/runonphone/serenum_unix.cpp
qtextlayout.cpp fixed up together with Eskil.
Kept the configure.exe from 4.7 without recompile.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As simple as QEglContext::display -> QEgl::display.
Reviewed-by: Tom Cooksey
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
qmake/generators/symbian/symmake_abld.cpp
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
src/gui/styles/qs60style_s60.cpp
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: QTBUG-9006
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Reviewed-by: Kim
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Conflicts:
configure.exe
examples/multimedia/audioinput/audioinput.cpp
src/corelib/io/qfsfileengine.cpp
src/gui/egl/qegl_wince.cpp
src/gui/egl/qeglproperties.cpp
src/gui/egl/qeglproperties_p.h
src/gui/embedded/directfb.pri
src/gui/kernel/qapplication_win.cpp
src/gui/painting/qdrawutil.cpp
src/opengl/qgl_p.h
src/sql/drivers/odbc/qsql_odbc.cpp
src/sql/drivers/odbc/qsql_odbc.h
tests/auto/auto.pro
tests/auto/qgl/tst_qgl.cpp
translations/assistant_adp_ru.ts
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This puts the QEgl namespace in a single file which can be used by
both qeglcontext and qeglproperties. Files which need QEglContext
should now include qeglcontext_p.h.
Reviewed-By: Aleksandar Sasha Babic
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Conflicts:
qmake/generators/symbian/initprojectdeploy_symbian.cpp
qmake/generators/symbian/symmake_abld.h
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
After 58533cbc7322c4f821f2
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
QPainter has now gotten a drawPixmapFragments() function together
with a Fragment class that describes how each pixmap fragment is
supposed to be drawn.
Reviewed-by: Gunnar
Reviewed-by: Samuel
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Conflicts:
configure.exe
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/qgl.cpp
|
| | |\ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
tests/auto/qlineedit/tst_qlineedit.cpp
Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
tests/auto/qlineedit/tst_qlineedit.cpp
Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
tests/auto/qlineedit/tst_qlineedit.cpp
|