| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Functions were accidentally thought to be in private scope.
Renaming broke BC.
Reviewed-by: Jason Barron
|
|
|
|
|
|
|
|
|
|
| |
Use vgWritePixels, if possible, in case where VGImage
for QPixmap can't be allocated due to low GPU memory
situation. This patch also renames some VG paint engine
internal functions to clarify their purpose.
Task-number: QT-3589
Reviewed-by: Jason Barron
|
|
|
|
|
|
|
|
|
|
| |
Symbian bitmap formats may have different scanline length
when compared to QImage formats. We need to define scanline
length for intermediate QImage when converting from CFbsBitmap
to QPixmap.
Task-number: QTBUG-14218
Reviewed-by: Jason Barron
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the cases where an error occured while converting a QPixmap to a
VGImage this function would return without deleting the RSgImage
pointer that it created. Fix is to use a QScopedPointer instead. Also
don't use q_check_ptr() since this isn't a CBase derived class.
In case you are wondering why I didn't use a custom deleter here so
that Close() was also called, we need to make sure that Close() is
called on the RSgImage instance before calling Close() on the driver.
Reviewed-by: mread
|
|
|
|
|
|
|
|
|
|
|
| |
Calling the various Khronos getError() functions here is inefficient
since it involves a round trip to the GPU and gains nothing since the
null handle can be used to test for error conditions at no cost. Also
no need to open the RSgDriver because we don't actually need to call
any functions on RSgImage, just convert it.
Reviewed-by: Alessandro Portale
Reviewed-by: Jani Hautakangas
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the latest round of API reviews, the Symbian glyph cache has now
been moved from GDI to FBS and this required some changes in Qt's
implementation.
Also incorporate an optimization where we first iterate over the glyph
vector to eliminate glyphs that are already cached in Qt's glyph cache.
This way we only open the glyph iterator on glyphs that we need.
Reviewed-by: Alessandro Portale
|
|
|
|
|
|
|
| |
Recent changes in Qt's EGL layer required some changes in the code used
to convert RSgImage to/from VGImage.
Reviewed-by: Gunnar Sletta
|
|
|
|
|
|
|
| |
If the hardware glyph cache API is not represent and in use, then the
glyphs will not be inverted.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|