Switch platformsupport over to be a shared library,
which is well supported by the build system.
This requires exporting classes we use. I've done
this on OS_MAC only for now.
Reverts 4581a9999e
Cliboard and Selection can hold the same QMimeData object.
Don't delete the mimedata in this case before when clearing
only one of them.
Reviewed-by: Samuel
Some cleanup on the data structures.
Properly implement support for timestamps on each
selection.
Transfer selections to the clipboard manager on
exit if it exists.
Properly clear our selection when X11 asks us to
do so.
QtPlatformSupport is a static library. Platform plugins are meant to
link against this library to pull in dependencies such as fontengines
and convenience functions for finding the right GL configs. The linker
will only pull in the symbols used, so the size of the library doesn't
really matter
To enable having a single GL context used for multiple drawables we need
to de-couple the context class a bit more from the window class in the
plugin API. Now contexts are created stand-alone based on a GL format
and a share context, and when calling makeCurrent() a desired surface
is specified. This maps well to GLX, EGL, Cocoa, AGL, and WGL, which all
support this use case.
QWindowContext is renamed to QGuiGLContext, and QWindowFormat is renamed
to QGuiGLFormat. We have the ability to introduce a pbuffer or similar
other offscreen GL drawable abstraction in the future.
There seems to be no easy equivalent in the XCB world and the
fallback we currently have is really incomplete. Hence we will
call XLookupString with a fake XKeyEvent if XCB_USE_XLIB is
enabled.
Reviewed-by: Samuel Rødal
Fonts like "Helvetica Neue UltraLight" or "Skia Regular Black
Condensed" can't be selected in Qt because either they don't
report correct numeric values for weight/stretch/etc. or these
values are not mapped from QFont enums in a linear way. Thus
we provide a shortcut to select these fonts with PostScript
name or full name without resorting to family name matching in
QFontDatabase (these fonts are not registered in font database
anyway). After this, we can simply use:
QFont font("Helvetica Neue");
font.setStyleName("UltraLight");
to select these fonts. QCoreTextFontEngineMulti matched like
this can be created directly from the CTFontRef instance
instead of creating from the font name, making this process
faster.
The commit also cleaned up the font loading process in Mac
font database a bit, moving the code for family matching into
a separate function.
Add QFontInfo::styleName() and QRawFont::styleName() to access
the resolved style name for a font.
Task-number: QTBUG-19366
Change-Id: Iad07768c02ed06cc8d6b7395dec554384f410506
Reviewed-on: http://codereview.qt.nokia.com/333
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
This is done to remove a compile-time dependency on the harfbuzz
source files inside qtbase/src/3rdparty. These are not accessible
now that QT_SOURCE_TREE is not accessible as a qmake variable
anymore.
With the refactor branch we might solve this differently, but for
now this is how we get svg and declarative to compile.
Change-Id: I5dad23f2ea1f650e2621c1c1fcf39632a3a22ae8
Reviewed-on: http://codereview.qt.nokia.com/378
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
homeDirPath requires Qt 3 support, which is not enabled in all
configurations.
Change-Id: I7d51b880574021ef4569a4a2b16f06a7786dbb7d
Reviewed-on: http://codereview.qt.nokia.com/415
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Instead we'll let the platform plugins construct
an QEventDispatcherQPA subclass. This API will be
added later on.
This temporarily breaks cocoa, uikit and opencode.
Not having load(qt_module) first in a .pro file which later
does a load(qt_module_config) will likely overwrite
compiler/linker options in the .pro file.
This can be hard to figure out, and wasn't required before
when we used a global .qmake.cache for all modules, since
it 'preloaded' qmodule.pri file for all .pro files.
Change-Id: I8a9aa3247f938be0b3b13f8c8cc96c18a142ba7b
Reviewed-on: http://codereview.qt.nokia.com/412
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>