Age | Commit message (Collapse) | Author |
|
The aim of this patch is to allow for native gradient rendering in
SalGraphics (i.e. let OpenGL do this natively). It is a two step
process:
1. I need to allow gradient draw into SalGraphics, however the current
completely intertwined with the metafile code in OutputDevice. I am
seperating the gradient metafile code from the gradient drawing code.
2. After splitting the metafile stuff from the actual gradient drawing,
I am now able to call on SalGraphics::DrawGradient(). This just
calls on SalGraphics::drawGradient() which returns false if there is
no way of drawing native gradients, and true if there is. If false,
then we use OutputDevice's DrawGradient() functionality.
Change-Id: Ibaaabe13b76a8e7a037d9f751b5f662653a50566
Reviewed-on: https://gerrit.libreoffice.org/12119
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
|
|
To do this, I've made FontCharMap a friend class for ImplFontCharMap,
and have moved the functions directly into FontCharMap. In this patch,
I am attempting to stop the direct use of ImplFontCharMap by anything
other than FontCharMap. However, FontCharMap itself requires a
refcounter, so we will use FontCharMapPtr to access the font character
map.
Change-Id: I509b990a8cbd911c5cc1572c7d24fc5348ca06d9
Reviewed-on: https://gerrit.libreoffice.org/11823
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
|
|
ImplFontCharMap was using it's own reference counting mechanism,
however we can use intrusive_ptr more effectively.
Added a unit test around FontCharMap.
Change-Id: Ifab6ce002fd1df8feb7e017dea3012ff9ea7f18a
Reviewed-on: https://gerrit.libreoffice.org/11804
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
|
|
Put the VCL Region class in the vcl namespace. Avoids clash with the X11
Region typedef.
Change-Id: I6e008111df7cf37121fbc3eaabd44a8306338291
|
|
The data structure is not ImplFontCapabilities but FontCapabilities,
therefore the function name is very misleading.
Change-Id: I90f074902af4b4bee79cd445036dc24797836ac1
Reviewed-on: https://gerrit.libreoffice.org/11454
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
|
|
Change-Id: I851c414aa9e95c4d2c3ddb44deb5835656d16f87
|
|
Put the VCL KeyCode class in the vcl namespace. Avoids clash with the X11
KeyCode typedef.
Change-Id: I624c9d937f7c5f5986d313b6c5f060bd8bb7e028
|
|
We also want to be able to set whether or not the buffers
should be painted to top down, so add that parameter
as necessary (default seems to be false, however e.g. gtk
requires this to be true, i.e. needed for tiled rendering).
Change-Id: Id98882e4c7f62508ae5a976c0d8df743460a4ab2
|
|
Although svp defaults to BGR, we might want to use alternative
formats (e.g. for tiled rendering to bitmap buffers which are
to be used in e.g. gtk), it is probably safest to keep the current
defaults but allow the user to change to whatever format they may
require. (This currently only makes sense for the 32-bit
RGBA/ARGB/etc. formats. However the 23 bit formats could potentially
be expanded to allow a similar RGB/BGR choice.)
Change-Id: I70bd3d6e7d297faef163b910f576655efee4cb3f
|
|
We still need some way of managing the buffers properly rather
than just keeping a static reference to the last buffer
that was rendered.
Change-Id: I17940c758948aa9418f4e0216ecd253d128cd04f
|
|
The resulting dropping of the basebmp code reduces app size by 0.7 MB.
Change-Id: Id263873ed5c4bb2435d929a1319fedeedb6daa14
|
|
Change-Id: I81ce8fd7022bf283db668705efdfb0666f87bde9
|
|
Change-Id: I3e3d215eb6c94fd86481bc1666d94139692bc209
|
|
Change-Id: I25d86e2765aae353fa5586244f33728cd5b55bbc
|
|
One would think there would exist some kind of shim library that would
automatically provide such traces, hmm.
Change-Id: I568d02a2ac70078dee0280d1feb3eab7bbd43030
|
|
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.
Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
|
|
Change-Id: Ideef97c6ddcde9a3c324084a53792c965c7b6707
|
|
No repeatable visible differences in TiledLibreOffice for my test
docs.
Probably we should unify the iOS vcl code even harder with the OS X
code, get rid of the last remains of the pre-tiled-rendering basebmp
bitmap-based stuff.
Change-Id: I2484585d3d0ef5ce758d0a654717d23464464c1a
|
|
Add SAL_OVERRIDE markup to SalInstance and its derived classes for Unix. In
the process, found one pointlessly virtual function (not overridden in any
derived class).
Change-Id: I49e021e77d53b658e664178372b333a13ffdc9aa
|
|
Change-Id: I47c67d3d89ab22b07b3ec6fe7ea6e035d21e85b6
|
|
Change-Id: I063c7abcbce003a8bbfd8aa8d57416a6aad84760
|
|
again, convergence of teh naming with what is normally
used in the underlying native API,
where FontFace ) FontFamily ) FontCollection
Change-Id: Ieb098b782ea828a3365f00d07914b9566278caba
|
|
Change-Id: I6dfdd7d5d211b66019dfbe364101140e28a3584d
|
|
Currently there are a number of classes that have a function called
GetGraphics(). It returns a SalGraphics instance if one is available
for the sole use of the caller. Some variants keep a pool of available
SalGraphics and return one not currently in use by anyone, creating
extra ones on demand, sometimes up to a set limit and returning NULL
on reaching that limit of simultaneously in use SalGraphics.
This is confusing. What is really happening from the perspective of the calling
is that is that we are attempting to *acquire* ownership of a SalGraphics
instance.
Therefore, rename GetGraphics to AcquireGraphics() which returns a handle to a
SalGraphics if we can acquire a free graphics instance, and NULL if we cannot,
which makes it cleared that ReleaseGraphics should be called on the result
of AcquireGraphics.
The classes that were changed to include the new acquire function are:
* SalFrame
* SalVirtualDevice
* SalInfoPrinter
* PspSalInfoPrinter
* X11SalFrame
* X11SalVirtualDevice
* GtkSalFrame
* KDESalFrame
* TDESalFrame
* WinSalFrame
* WinSalInfoPrinter
* WinSalVirtualDevice
* SvpSalFrame
* SvpSalVirtualDevice
* AquaSalFrame
* AquaSalInfoPrinter
* AquaSalVirtualDevice
Change-Id: Ic39c08a4bcaf665ae08ba2808cd03b0e80790c46
Reviewed-on: https://gerrit.libreoffice.org/8070
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I826f7649a1e9ed8aad06848aa1f2ed5a5827f3ab
|
|
Conflicts:
include/vcl/settings.hxx
svtools/source/table/tablecontrol_impl.cxx
sw/source/core/frmedt/fecopy.cxx
vcl/inc/canvasbitmap.hxx
vcl/inc/headless/svpframe.hxx
vcl/inc/unx/salframe.h
vcl/inc/win/salframe.h
vcl/inc/win/salprn.h
vcl/inc/win/salvd.h
vcl/osx/DragSource.cxx
vcl/osx/DragSource.hxx
vcl/osx/DropTarget.cxx
vcl/osx/DropTarget.hxx
vcl/osx/OSXTransferable.cxx
vcl/osx/OSXTransferable.hxx
vcl/osx/clipboard.cxx
vcl/osx/clipboard.hxx
vcl/osx/salprn.cxx
vcl/qa/cppunit/canvasbitmaptest.cxx
vcl/source/components/fontident.cxx
vcl/source/control/edit.cxx
vcl/source/control/spinfld.cxx
vcl/source/gdi/gdimtf.cxx
vcl/source/gdi/virdev.cxx
vcl/source/helper/canvasbitmap.cxx
vcl/source/window/dockwin.cxx
vcl/unx/generic/dtrans/X11_selection.hxx
vcl/unx/kde/UnxFilePicker.cxx
vcl/unx/kde/UnxFilePicker.hxx
vcl/unx/kde4/KDE4FilePicker.cxx
vcl/unx/kde4/KDE4FilePicker.hxx
vcl/unx/kde4/KDESalFrame.hxx
Change-Id: I9866d985da86dea2a56feff23f91c1467a1636b0
Reviewed-on: https://gerrit.libreoffice.org/8219
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I4553ce218fbcf2ac681b284c71e7d558a451511c
|
|
Change-Id: I2a3e3d3e3266ea0f0fafdd91362076a4aa160f0e
|
|
Change-Id: I0019ca081086544142b39aac5e6f00d5f1822ccb
|
|
Change-Id: I88c0ed27a492b57a0258a7ec211109a9e2552b99
|
|
Using the central definition adds consistency and cleans up many ad hoc
declarations. The type sal_GlyphId will become a class in the future so
that its bitfield operations etc. can then be isolated into nice methods.
(cherry picked from commit c0a84ad10964fb7a65b6239cbe1cef8698b5d17b)
Conflicts:
vcl/aqua/source/gdi/salatslayout.cxx
vcl/aqua/source/gdi/salgdi.cxx
vcl/generic/glyphs/gcach_ftyp.cxx
vcl/generic/print/genpspgraphics.cxx
vcl/generic/print/glyphset.cxx
vcl/generic/print/glyphset.hxx
vcl/headless/svptext.cxx
vcl/inc/generic/genpspgraphics.h
vcl/inc/generic/glyphcache.hxx
vcl/inc/os2/salgdi.h
vcl/inc/quartz/salgdi.h
vcl/inc/salgdi.hxx
vcl/inc/sallayout.hxx
vcl/inc/unx/salgdi.h
vcl/inc/vcl/fontmanager.hxx
vcl/inc/win/salgdi.h
vcl/os2/source/gdi/os2layout.cxx
vcl/os2/source/gdi/salgdi3.cxx
vcl/source/gdi/pdfwriter_impl.cxx
vcl/source/gdi/sallayout.cxx
vcl/source/glyphs/gcach_ftyp.hxx
vcl/source/glyphs/gcach_layout.cxx
vcl/source/glyphs/glyphcache.cxx
vcl/source/glyphs/graphite_layout.cxx
vcl/unx/generic/fontmanager/fontmanager.cxx
vcl/unx/generic/gdi/gcach_xpeer.cxx
vcl/unx/generic/gdi/gcach_xpeer.hxx
vcl/unx/generic/gdi/salgdi3.cxx
vcl/unx/generic/gdi/xrender_peer.hxx
vcl/unx/headless/svpgdi.hxx
vcl/unx/headless/svppspgraphics.cxx
vcl/unx/headless/svppspgraphics.hxx
vcl/win/source/gdi/salgdi3.cxx
vcl/win/source/gdi/winlayout.cxx
Change-Id: Ic629131950360e2df4c15db30d6a5362193c6330
|
|
to sal_uInt32
The old mixture of sal_uInt32, ULONG, sal_uLong, sal_uIntPtr gets
consolidated. 4e9 points are more than enough for a SalGraphics.
(cherry picked from commit 03f5dce97331acc1a5e832f956d711a5dc0aac0e)
Conflicts:
vcl/aqua/source/gdi/salgdi.cxx
vcl/generic/print/genpspgraphics.cxx
vcl/inc/os2/salgdi.h
vcl/inc/quartz/salgdi.h
vcl/inc/salgdi.hxx
vcl/os2/source/gdi/salgdi.cxx
vcl/os2/source/gdi/salgdi2.cxx
vcl/source/gdi/salgdilayout.cxx
vcl/unx/generic/gdi/salgdi.cxx
vcl/unx/headless/svpgdi.hxx
vcl/unx/headless/svppspgraphics.cxx
vcl/unx/headless/svppspgraphics.hxx
Change-Id: Iddf806256c7e5403158635e3f5f0049e9382500f
|
|
Thanks to kendy for noticing.
Change-Id: I6b62d5a0c1dc5df374629a8f7c6e7d2f7cd7ffbd
|
|
Possibly quite broken intermediate commit. But anyway, now it is
possible to render the tile diretly to a CGContext. Can be seen in
the MobileLibreOffice app when build in the Debug_tile_tester
configuration. See touch_lo_draw_tile() in viewsh.cxx. Unfortunately
the old plain LibreOffice test app is now broken, though, and
displays nothing at all.
This refactoring and hacking in vcl was done in a quite ugly fashion,
with ifdefs etc. But trust me, I did try, several times, for many
days, to get where I wanted in an elegant and clean fashion. But doing
it cleanly meant not being able to actually build it for days while
trying to figure ut which bits go where and which class should be
split into what base and derived class(es), and it was too much for my
limited brain capacity. I just couldn't juggle all the vcl class
structure in my head, especially as I don't have any good
understanding of the general design of it all.
Change-Id: Ia59d6a9cce15a63e63f94e8d8574bef21993fb1f
|
|
Change-Id: I4cf80fb61fd63b10e241154785ae872c6b75eaf7
|
|
Now with the ATSUI code gone is a good time for some
re-organisation. Get rid of "aqua" in file names and the separate
"coretext" folders. CoreText is all we use now for OS X (and has
always been so for iOS), so no need for a "coretext" folder, we can
keep the CoreText-using code under "quartz". Keep OS X -specific code
in "osx". Ditto for headers.
Keep "Aqua" as part of class names for now, though.
This is also preparation for planned further unification between OS X
and iOS code.
Change-Id: Ic60bd73fea4ab98183e7c8a09c7d3f66b9a34223
|
|
The "2" part was a temporary measure so an older version of the file,
that is long gone, can coexist.
Change-Id: I3a22b287bfb1351bb73e9dabbfa67100fe17bb97
|
|
This was only used for printer built in fonts, which was dropped in the
previous commit.
Change-Id: Iff62786284470ff3873c8d4b0aae0614bf69c7f3
Reviewed-on: https://gerrit.libreoffice.org/6859
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
We have a convention. Use it. Kill copypasta.
Change-Id: I512e1c8e75b5da20b6756ffc88209a27674ad7c7
|
|
Rename the CoreText-specific ImplMacFontData class to CoreTextFontData
and unify it with its sole derived class CTFontData.
Change-Id: Id3540432996ca55b2e4a20fd8798c94cb7bc84b6
|
|
No need to hide stuff from ourselves at multiple levels. Rename the
CoreText-specific ImplMacTextStyle class to CoreTextStyle and unify it
with its sole derived class CTTextStyle. This is all internal to vcl
anyway.
Change-Id: Ib9e632ccba5c273200d4e3fce79a97db305c6662
|
|
Change-Id: I3858c2152267474afab8e5a72b9f5da0ac623012
|
|
I left only the Windows one because it being called (as
GetKernPairs(0, NULL), but may be it does something, who knows).
Change-Id: Iec05d61c8f0cd311a1158bb1cb07e4ee977f32fe
Reviewed-on: https://gerrit.libreoffice.org/6260
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
|
|
Change-Id: Ifd6763617b9aef45c7301085033b6bbaf9d52e02
|
|
This information helps to map a document with an application ID
needed for Windows 7 shell integration.
Change-Id: I1224f566037ab7597a29b16f310f93d9f5441cce
|
|
This internal API has always been problematic because we cannot
support it under the Linux toolkits, where it has in fact always
just returned the size of the screen.
Change-Id: I406bcbca8a4161b4261ef46940823bb07c6ad18b
Reviewed-on: https://gerrit.libreoffice.org/4976
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@suse.com>
Tested-by: Michael Meeks <michael.meeks@suse.com>
|
|
Change-Id: I4067c5039c7b5c74a1c144721dd7260de54dd2bf
|
|
(cherry picked from commit b2cc0de3fc9adee90787ca760e86869f9255b380)
Conflicts:
canvas/source/vcl/spritecanvashelper.cxx
drawinglayer/Library_drawinglayer.mk
drawinglayer/source/processor2d/vclhelperbitmaprender.cxx
drawinglayer/source/processor2d/vclhelperbitmaprender.hxx
drawinglayer/source/processor2d/vclhelperbitmaptransform.cxx
drawinglayer/source/processor2d/vclhelperbitmaptransform.hxx
drawinglayer/source/processor2d/vclprocessor2d.cxx
officecfg/registry/schema/org/openoffice/Office/Draw.xcs
svx/source/svdraw/svdograf.cxx
vcl/aqua/source/gdi/salgdi.cxx
vcl/inc/aqua/salgdi.h
vcl/inc/os2/salgdi.h
vcl/inc/salgdi.hxx
vcl/inc/unx/pspgraphics.h
vcl/inc/vcl/bitmapex.hxx
vcl/inc/vcl/outdev.hxx
vcl/inc/vcl/salbtype.hxx
vcl/os2/source/gdi/salgdi2.cxx
vcl/source/gdi/bitmapex.cxx
vcl/source/gdi/outdev2.cxx
vcl/source/gdi/salgdilayout.cxx
vcl/source/gdi/salmisc.cxx
vcl/unx/generic/gdi/pspgraphics.cxx
vcl/unx/generic/gdi/salgdi2.cxx
vcl/unx/headless/svpgdi.cxx
vcl/unx/headless/svpgdi.hxx
vcl/unx/headless/svppspgraphics.cxx
vcl/unx/headless/svppspgraphics.hxx
vcl/win/source/gdi/salbmp.cxx
vcl/win/source/gdi/salgdi.cxx
vcl/win/source/gdi/salgdi3.cxx
vcl/win/source/gdi/salgdi_gdiplus.cxx
vcl/win/source/gdi/winlayout.cxx
Change-Id: I871d1d107b019758f3913e5eb63bc9bc0ba403fd
Do not name unused arguments to prevent compiler warnings.
(cherry picked from commit f3118889a0cd941f193e9b6557c0792015d77a34)
Change-Id: I482d1f96d695c7bf9912ec464bb39e7fdd14adef
Related: #i121534# fix graphite-enabled windows build
(cherry picked from commit c90a6ca92b1239d01a2892e15488e4a183a88b1a)
Conflicts:
vcl/win/source/gdi/winlayout.cxx
Change-Id: I95fd41ad6f7187f34ba9474674a471fb4fc65314
|
|
Change-Id: I8a12d0ea18a60541d9a11db26cc417a190443ff4
|
|
Some refactoring was needed after the Coretext rework yesterday.
It does crash at run-time, though.
Also, remove the no longer used source files from our older CoreText
attempt.
Change-Id: I54d221ade846866d7a9457acd50219c74c68e8cf
|