Age | Commit message (Collapse) | Author |
|
This is the same as in 80f3211a7aeff221718703c445be4c753e0a1067.
Change-Id: Ibb981da064b4fc97fd865be2decabd8798de7380
Reviewed-on: https://gerrit.libreoffice.org/10186
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Previously the clip region would end up being 1 pixel smaller in both
directions than the requested area -- B2IBox considers the bottom-right
point to NOT be included in its area, whereas Rectangle considers the
bottom-right point to be the last point WITHIN its area.
(This is equivalent to the Rectangle's getWidth/GetWidth differentiation.)
This is noticeable e.g. with tiled rendering, where images spanning
a tile boundary are clipped to paint only the region within a given
tile -- however previously they would be clipped by an additional pixel
in each direciton, resulting in an empty border along the bottom-right
edge.
Change-Id: I0ef3098959defc5c82719155c130aa904c04b6b1
|
|
Otherwise the alpha channel for bitmaps created directly is empty,
indicating a transparent bitmap (although we don't actually handle
transparency). This complements hardcoding of the alpha channel
in basebmp. VCL bitmaps can be copied bit-for-bit directly into
a basebmp bitmap, hence it's important to make sure we fill the
alpha channel in vcl too.
Conflicts:
include/vcl/salbtype.hxx
Change-Id: Icb2fa417db6625a6ffa6bd82eb5773ff75be5a3c
|
|
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
|
|
The resulting dropping of the basebmp code reduces app size by 0.7 MB.
Change-Id: Id263873ed5c4bb2435d929a1319fedeedb6daa14
|
|
The whole of svpbmp.cxx and svpvd.cxx are nowadays ifdeffed out for iOS.
Change-Id: Iac1f66457dc315ea86f86d12e1f6eb5bf4bcbb8c
|
|
Change-Id: I382289c7188dfdc9839ff9e6362b6e039ffc5f9e
|
|
Change-Id: I81ce8fd7022bf283db668705efdfb0666f87bde9
|
|
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.
Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
|
|
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
|
|
Change-Id: I47c67d3d89ab22b07b3ec6fe7ea6e035d21e85b6
|
|
We don't need the headless SvpSalBitmap code after all on iOS, so
bypass all of svpbmp.cxx for iOS.
I accidentally had left duplicates for some AquaSalGraphics methods in
headless/svpgdi.cxx in addition to the ones in
quartz/salgdicommon.cxx. This is obviously bogus, the linker just
picks the ones that come first in the archive.
(Remember the ugly "#define SvpSalGraphics AquaSalGraphics" trick, so
for instance SvpSalGraphics::setClipRegion actuall is
AquaSalGraphics::setClipRegion.)
It's the Quartz ones we want, as since the switch to tiled rendering
the iOS vcl code is supposed to work much more like the OS X
one. (There is still some significant refactoring to do
there. Possibly no "headless" code needs to be used at all for iOS.)
A couple of functions moved from salgdiutils.cxx (which isn't compiled
for iOS) to salgdicommon.cxx.
The SetState() function now gets used also on iOS, and to properly
undo its CG context stacking I pop it in SetVirDevGraphics() when the
virtual device is being destroyed.
This fixed the rendering of some simple shapes that use overlapping
and transparency, but not that of the "monster" SmartArts.
Change-Id: I2bfaa4129e3641dbdd1dd240c1d07f9bdcfea1b8
|
|
Change-Id: Iae8eb15413c0c069c14edd92c94ecb0113d9d371
|
|
oudev,2,3,4,5,6 are a dumping ground for a lot of things
chipping at it one class at the time...
organize the #include of the impacted source while at it.
Change-Id: I57bbb1f9e3c6b2ac6b3ca127e5976bf16f3e3cf8
|
|
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
|
|
Attempt to make some more complex documents render OK.
Stop using SvpSalVirtualDevice on iOS. Use AquaSalVirtualDevice in all
cases. Do use a CGLayer (the AquaSalVirtualDevice::mxLayer field)
after all, like on OS X.
Change-Id: I7f7dc00c526453786cc871fd88dfb73517b15c39
|
|
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>
|
|
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>
|
|
Conflicts:
vcl/headless/svpgdi.cxx
vcl/source/app/dbggui.cxx
vcl/source/app/help.cxx
vcl/source/app/idlemgr.cxx
vcl/source/app/settings.cxx
vcl/source/app/stdtext.cxx
vcl/source/app/svdata.cxx
vcl/source/app/svmain.cxx
vcl/source/control/fixed.cxx
vcl/source/control/ilstbox.cxx
vcl/source/control/spinbtn.cxx
vcl/source/filter/sgfbram.cxx
vcl/source/filter/sgvmain.cxx
vcl/source/filter/sgvtext.cxx
vcl/source/filter/wmf/emfwr.hxx
vcl/source/filter/wmf/winmtf.hxx
vcl/source/filter/wmf/wmfwr.hxx
vcl/source/fontsubset/cff.cxx
vcl/source/fontsubset/fontsubset.cxx
vcl/source/fontsubset/xlat.cxx
Change-Id: Ifc4fa21e552a8b031645eb883bdc23563eebb602
Reviewed-on: https://gerrit.libreoffice.org/8357
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Conflicts:
vcl/source/app/settings.cxx
vcl/source/window/dockmgr.cxx
vcl/source/window/dockwin.cxx
vcl/source/window/floatwin.cxx
vcl/source/window/toolbox2.cxx
Change-Id: Ie67681549a76e77064b09d4b5bf80fe4c6010341
Reviewed-on: https://gerrit.libreoffice.org/8339
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I939160ae72fecbe3d4a60ce755730bd4c38497fb
Reviewed-on: https://gerrit.libreoffice.org/8182
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I4553ce218fbcf2ac681b284c71e7d558a451511c
|
|
Change-Id: I2a3e3d3e3266ea0f0fafdd91362076a4aa160f0e
|
|
|
|
Change-Id: Iede12ed1e35581cf48d64b898f22949d0c1aa6de
|
|
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
|
|
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
|
|
Less parsing of AFM files at startup.
Change-Id: I62d4c81d6e892f2356df22b53bb35c0f9f7bc344
Reviewed-on: https://gerrit.libreoffice.org/6860
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
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>
|
|
|
|
|
|
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>
|
|
Kerning is just another font feature and is already handled by the
layout engine, there is nothing special about it.
Non of this seems to be used anywhere, anyway.
Change-Id: Ia40c66ec186d11ab46d5d5256b09307a319318c0
Reviewed-on: https://gerrit.libreoffice.org/6259
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
|
|
Change-Id: Ifd6763617b9aef45c7301085033b6bbaf9d52e02
|
|
Compiler plugin to replace with matching number(), boolean() or OUString ctor,
ran it, few manual tweaks, mark as really deprecated.
Change-Id: I4a79bdbcf4c460d21e73b635d2bd3725c22876b2
|
|
Change-Id: Ie5c6874298641dc6fc1b6b4e2206a704acd7cc10
|
|
Change-Id: I8a95a98e5cc92e5bedb4813411afc86cc438fdad
|
|
...with d8dbf1b5dbfa0db2d765063a1d848d031835398a "Turn basebmp::Format into a
proper enum" demonstrating that nDeviceFmt should only take on values enumerated
at basebmp::Format.
Change-Id: I9f5fe2b3d403a8fc50a286b40b9e1bc74079e2cb
|
|
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>
|
|
...the original code was riddled with errors. It leaked memory, which if it
didn't it would have deleted multiple times.
Change-Id: Ic70b425fac02ef894e35b3dc15039d217f8870f5
|
|
Change-Id: I4067c5039c7b5c74a1c144721dd7260de54dd2bf
|
|
Change-Id: I917c4136614664a1816769300707f170312c885d
|
|
(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: Ie8ce0ebb9ec979575657a89ebbfe4d01142b04e5
|
|
Change-Id: I8a12d0ea18a60541d9a11db26cc417a190443ff4
|