| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Using a 24-bit visual for 8888 configs is wrong since we loose the
alpha channel. This breaks translucent windows and, among others,
leads to not showing drag pixmaps (that typically have transparent
areas) properly.
Change-Id: I516c84327680b76996b622831e431c29d840471e
Task-number: QTBUG-35126
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
|
|
|
|
| |
Change-Id: Ibae21653040f1d8dff2d2c0b7c1b2812d9e14551
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Use ValueChanged to notify of changes in the ComboBox.
On Linux we need to update name and then send selection-changed for
Orca.
Task-number: QTBUG-36814
Change-Id: Icdd34adddeac532476a6dd910d1e8bd33bcd590b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
com.apple.traditional-mac-plain-text is not in use on iOS
according to Apples UTType reference. So we enable it only
for OS X by moving it into the cocoa port.
The order in which we instanciate convertors matters when
the application is reading data from the pasteboard.
But since QMacPasteboardMimePlainText should come before the
other "text/plain" convertors on OS X, moving it to the cocoa
port is safe as those convertors are instanciated after
those in qmacmime.
Change-Id: I76b9b14e5ce78f34e0f1ecbfee71e48a27a4687b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
|
| |
Application like Safari on iOS posts rtf to the
pasteboard when copying html. With this converter added, you
can then paste rtf as html into Qt
Change-Id: I6b62bcc9cfc0b16a47d44bd8d74062226522526d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Copying a URL from Safari to Qt app does not work. The reason
is that it lies on the pasteboard as public.text, which we
don't support.
This patch will implement support for public.text.
The UTI public.text is documented as text with an unspecified
encoding. On iOS, this turns out to be UTF8 (which also matches
[UIPasteboard generalPasteboard].string).
Task-number: QTBUG-38551
Change-Id: I216dab206d3bff2dde99927ed7e5a3d85309f2a2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When passing invalid data to QRawFont, we need to fail gracefully
and mark the font as invalid, instead of crashing. This crashed
because of different missing sanity checks in the Windows
and FontConfig font databases.
[ChangeLog][Text] Fixed crash when trying to load a font from
invalid data.
Task-number: QTBUG-37190
Change-Id: I62c81217ec7d873350b575c9d4ae8e6f0a939540
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|\
| |
| |
| | |
refs/staging/stable
|
| |\
| | |
| | |
| | | |
Change-Id: I9300572e2b74f0564b2589cbd0fbdf24850f68df
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Otherwise widgets will not be shown on some embedded systems.
Task-number: QTBUG-38866
Change-Id: Id16408dc7eb657c052bbe3bdb86e35ab2f062632
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the alphaMapBoundingBox of a glyph is empty we don't want to create
a CGBitmapContext on it, as that will fail, and any further operations
on the invalid context will result in possibly fatal errors from CG.
This issue can be observed when drawing some glyphs of the Apple Color
Emoji font.
Change-Id: Ia45ba858b5fb6afa91e6d686a9c55e350d4095f3
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After fbaa6d3ca6fc269 QFont family names are non-localized on iOS/OS X,
which means applications that try to initialize QFont with a localized
family name (explicitly, or from user input), will fail, and get the
fallback font instead.
We now add font family aliases for the localized family names, so that
font matching will work even for localized family names. Note that
QFontDatabase::families() still returns a non-localized list.
Task-number: QTBUG-38628
Change-Id: Id351befa69916ce162c939733bbfcc774f075120
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|\|
| |
| |
| |
| |
| |
| | |
Manually fixed up: isES -> isOpenGLES
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
Change-Id: I57d2ef26c3d4a7b40ace09f4e8560b7686650ea5
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-38597
Change-Id: I168c9401863bace711d0d8409bf3da30a34185bd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|\|
| |
| |
| |
| |
| | |
This merge adds the opengl rename.
Change-Id: I84ea0b6abee9780ebb2cf3f64ab9e3fdf2acab3e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
isES() becomes isOpenGLES(). The library type enums are changed
DesktopGL -> LibGL and GLES2 -> LibGLES. This removes the now
unnecessary version number, the confusing "desktop" term and provides
better readability.
The old function/values are kept until the related qtdeclarative
changes are integrated.
Task-number: QTBUG-38564
Change-Id: Ibb0a1209985f1ce4bb9451f9b7b093c2b68a6505
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|/
|
|
|
|
|
|
|
|
| |
After cross-checking with the spec and some embedded devices providing
both 888 and 565 configs, it turns out the behavior and the old legacy
comments are correct. Rephrase and extend the comments a bit to make
it maintainable.
Change-Id: If6043a39ca0129cfd075c997f362891f0c28dc2c
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
| |
Change-Id: I74b71d93e25e4b3b0c1a5766f2fbc4f71aebecbb
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes an issue when a font that was added with
QFontDatabase::addApplicationFont can not be removed any more.
The reason for that is that QFontconfigDatabase::addApplicationFont
adds the font to the FontConfig application set from where it
cannot be removed any more and is picked up every time the font database
is repopulated (e.g. after a call to QFontDatabase::removeApplicationFont).
This also fixes the QFontDatabase autotest which unfortunately does
not fail on linux, because it tries to add "FreeMono" (which in most
cases is already there as a system font). So this patch removes FreeMono
and adds LED_REAL as test font.
Change-Id: I70fc823075923aa426da1eb3e052affcc416e399
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our fallback fonts would contain a minimal list of hardcoded fallback
fonts, which is neither sufficient for displaying all text, nor
portable to different vendors which can supply different font sets.
[ChangeLog][Android] Fixed font merging problem which caused e.g.
missing glyphs for Arabic numerals.
Task-number: QTBUG-37738
Change-Id: Ic971343a1cd5610c79a81f6f6152c637937b5626
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|
|
|
|
|
|
| |
Fix also the statement about buffer size handling.
Change-Id: I94e93fa4df7fee9b789ecca33d8722fbfc86ccc5
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The QEGL_DEBUG defines have been removed some time ago from
eglfs and eglconvenience, except for this one. It is also
inconvenient due to the OpenGL dependency of it. Quick apps
can anyway get the same information with QSG_INFO=1.
Change-Id: Ie25c5286234a10699652d618d6f4174c6d3238e2
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
| |
q_printEglConfig has been left unused. Start using it again,
in case QT_QPA_EGLFS_DEBUG is set. This will, similarly to QSG_INFO,
help debugging, especially on embedded devices.
Change-Id: I1448632ed055dd71e98259f042d3cac64620a4ce
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Currently QtWebKits custom fonts does not follow the system settings
on Linux. This is because they are only handled by the basic
fontdatabase.
This patch adds handling of custom fonts to QFontconfigDatabase.
Change-Id: I676fc97840766b58cd937bb8e2c9f166f30c8a6e
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactors the logic to parse the font configuration from fontconfig, so
that it maybe reused for custom fonts in a later patch.
Also fixes a minor mistake that meant we defaulted to medium hinting,
where we tried to default full hinting.
Change-Id: I1e135b8b1e3faeb213aa370ea59ebde3a671273d
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of requiring that QPlatformFontDatabase::populateFontDatabase()
populates every single font in the system by calling registerFont(), we
now allow the platform database to call registerFontFamily() instead, and
then keep track of which families we've yet to fully populate in the font
database.
Once a property of a family is requested (such as its writing system,
style, etc), the family is lazily populated by calling back to the
platform database through QPlatformFontDatabase::populateFamily(),
which in turn does the final call to registerFont() as before.
This cuts application startup on OS X and iOS (of which the font population
used to be a major limiting factor) from roughly one second to about 350ms.
Task-number: QTBUG-37165
Change-Id: Ic2fc3447beb818ffe23635a5b7816ed7e70c93a7
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When a new QOpenGLContext is requested, the color depth
information is now also taken into account on OS X and WGL.
Task-number: QTBUG-37411
Change-Id: I69d04989a20de3ace041b009fbbdc03fa02cfdf8
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Mac, hb_coretext requires both CTFont and CGFont.
Due to not supporting the 0 tag by CoreText, hb_blob_get_data()
always fails causing the hb_coretext_shaper initialization to fail, too.
Since HarfBuzz-NG is not a part of QtGui module anymore,
there are two possibilities to workaround this: either engineer the
font data by querying tables one-by-one and generating the font
directory table, or pass CTFont and CGFont refs directly to hb_coretext
via the hb_face's user_data. This patch implements the latter.
Change-Id: I7d2e2df00818ea811642cb6a6c3b9c9abd5d7b94
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disable eglfs and similar plugins when opengl is not enabled.
(but egl is present)
GL-dependent parts of eglconvenience need to be skipped too.
Task-number: QTBUG-37457
Change-Id: I44d49495241551bc7b1f565aa0b5ace9f310628e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-35548
Change-Id: I60b633ae44b8b4b353a7328eb0922b9301e1460c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The font database and QFont should have normalized font family names,
so using CTFontDescriptorCopyLocalizedAttribute is not a good idea.
If the feature of reporting the localized name of a font family or
style is needed in for example the font selection dropdown or dialog,
it should be exposed as an explicit property of the font.
Change-Id: Iaa15ad861043f4c78a38080608b6fe4d99efee18
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: If345a4137986a7d5032a2b48d92c08bc58e02144
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Populating the whole database takes a while, and it's very easy to trigger
the fallback family code path through eg. matching or getting the default
font family from QFont.
Instead of relying on populate to resolve family name to a PostScript name
(which was required when using CTFontCreateWithName), we instead use the
CTFontDescriptorCreateWithAttributes() function to create a descriptor
based on the family name, and then use CTFontCreateWithFontDescriptor().
The other way around, we use CTFontDescriptorCreateWithNameAndSize, and
then pull out the family name from the descriptor. The need for creating
a CTFont for private fonts (eg '.Apple Symbols Fallback') does not seem
necessary anymore, as tested on 10.7-10.9.
The disadvantage of creating font descriptors instead of re-using the
data computed by population is that we're doing the same work twice,
but the end result is making the font database more lazy, and the 80%
use-case is assumed to be that you're only interested in the fallback
of a small number of fonts, which means you don't want to populate all
of the fonts in the system (taking about 1100ms on the test system).
Looking up the fallback of a single family or style now takes about
15-25ms.
Task-number: QTBUG-37165
Change-Id: I6b904dbe796a3f236919d778d0168fdef9a20e69
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
|
|
|
|
|
|
|
| |
[ChangeLog] GLES3 and desktop OpenGL are now fully supported with EGL
Task-number: QTBUG-37332
Change-Id: Ic695db573d90b3a204941d105a370f5c63182b63
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Passing OpenGLES and majorVersion 3 in a QSurfaceFormat selects GLES3 in case
it is supported. This works fine already now, but is not safe since the config
choosing logic does not request a GLES3-capable configuration and so it may
end up with a non-GLES3 compatible one.
This is now corrected by passing the EGL_OPENGL_ES3_BIT_KHR bit when
EGL_KHR_create_context is available.
Change-Id: Iacee1e1819b944c0f7c1062666106abddf59272b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The GLX and WGL support code does this already. Do it for EGL too since
requesting OpenGLES with majorVersion 3 results in GLES3 (where supported)
and in this case the expected majorVersion in QOpenGLContext::format() is 3.
Change-Id: I73d61d7569e6ebaa91aef57fb1b0051a77a73355
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
| |
The API is chosen via QSurfaceFormat, the constructor argument is ignored.
Remove this historical artifact.
Change-Id: I4a5c1e12cb297de22f239ad0a6747c1c36168eed
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The UnicodeText converter is a bit special since it can convert
to both utf8 and utf16 for text/plain. But since flavorFor("text/plain")
can only return one UTI, it returns utf16. And this means that
canConvert will return false if given utf8 as argument.
On iOS this is often the only format available on the pasteboard, which
means that pasting text from another app app will fail.
This patch will ensure that it returns true for both utf8 and
utf16.
Change-Id: I31697f1815c19113393a8ef48f2ead4d7f1078ec
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
|
|
|
|
|
|
|
| |
Share qmacmime with iOS
Change-Id: Ied1b6ed74f2d63ef34d818554827a6165651b6a1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
|
|
|
|
|
|
|
|
| |
Size hints will not be implemented. Grabs maybe some day but the
warnings should be silenced for now.
Change-Id: I1f4861454d45e668c4d758c7f82940cd1136d0c8
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The platform font database is populated from QFontDatabase, through the
static initializeDb() function, whenever the font database determines
that the platform database has not been initialized (by checking if the
font database is empty).
There are other clients of QPlatformFontDatabase though, such as QFont,
which uses the platform font database to check for the default family.
The CoreText implementation of determining the default family relies
on data that is computed during font population, and hence does an
internal (self-triggered) populate.
To prevent repeated populates as a result of calling QFont::defaultFamily()
we guard the populate by a similar isEmpty() check as QFontDatabase does,
but to ensure that this check works in the case of an invalidated font
database, we need to propagate the font database invalidation down to
the platform font database.
Change-Id: I8d06c6f6fc5da6353c087335859eaca008c2f6a6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|
|
|
|
| |
Change-Id: I24ece90d6d8f96dad0c41a474a491b4ea96d97c3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
| |
It was only used in QFontCache debug output,
and some engines weren't even report a name.
Change-Id: I6cec4b75f105f5a4e1405f50188bebb3a3f04e33
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the opengl proxy for now. Later it will either be moved into
a separate library or replaced by a QOpenGLFunctions-based approach.
This means that the -opengl dynamic configuration is not usable
for the time being. The rest of the enablers remain in place.
The convenience function QOpenGLFunctions::isES() is now moved to
QOpenGLContext and is changed to check the renderable type. This is
extremely useful since besides supporting dynamic GL it solves also
the problem of GL_ARB_ES2_compatibility (i.e. it triggers the real ES
path when creating an ES-compatible context with a desktop OpenGL
implementation).
Task-number: QTBUG-36483
Task-number: QTBUG-37172
Change-Id: I045be3fc16e9043e1528cf48e6bf0903da4fa7ca
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
| |
Change-Id: I7dbe938bff5ac3ab50a0197f94bdb2f6c22fbd16
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
|
|
|
|
|
|
|
| |
...which uses the recently introduced glyphIndex() method;
get rid of re-implementations that did almost the same.
Change-Id: I6d32d2cee6a31f57de6aee05ed8d120d4a1f4e9c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
| |
...an optimized drop-in replacement for the code like this:
`stringToCMap(&uc, 1, &g, &numGlyphs, QFontEngine::GlyphIndicesOnly)`
(aka "get the glyph index for exactly one Unicode character").
Change-Id: I22babf49f7cf28892d27533a5ac51ad449779f75
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
| |
Ensure the params are valid and make QCoreTextFontEngine::stringToCMap()
handle the unsufficient buffer case exactly like the other engines does.
Change-Id: I078af37da917cf2bac709b12aa827ed4128e5f30
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
| |
Change-Id: Ie90914c2110d32e573108a355a44dd459097a755
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Being a most significant method in the font API,
getSfntTableData() must behave in exactly the same way on all platforms.
Briefly, it must return true if the table exists in the font,
despite the other params, and always stores the table data length
in 'length' param, thus reporting the amount of bytes actually
needed to store the table data in a buffer.
Change-Id: I7a15465020c1ea818ea46a05ea3b9b7e1cd60d14
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|