summaryrefslogtreecommitdiff
path: root/vcl/quartz
AgeCommit message (Collapse)Author
2016-10-18Rewrite AquaSalGraphics::DrawSalLayout()Khaled Hosny
Slightly cleaner code and now handles glyph rotation for vertical text. Change-Id: I98cc8fd7df5e73068294e4d7dd6b38a71dcbdcc7
2016-10-18Support font fallback on macOS for CommonSalLayoutKhaled Hosny
Change-Id: Ifd26b7f14ed77a3aa2a38e5961cac5f9bbb6d796
2016-10-18Check SAL_USE_COMMON_LAYOUT envar in one placeKhaled Hosny
Makes it easier to flip the switch in the future (or even do something more fancy other than checking envvar). Change-Id: Ie42ca012c167b2108f0fca1ce9ff7beee95f1be7
2016-10-18Cache HarfBuzz fontKhaled Hosny
We now create it only once per physical font, saves us few percents from the all over time spent on layout. Change-Id: I8de582cb20a168c93d72921e539c2477fa97fb54
2016-10-18GSoC: Speed up CommonSalLayout by caching hb_faceAkash Jain
Cache hb_face so it is not created again and again. Switch from GDI to DirectWrite on Windows to obtain SFNT table data. Change-Id: I9c532cd72e1f6b57313f3b7d42a6b9b0633eb0ef
2016-10-18GSoC: Integrate new CommonSalLayout in quartz/ codeAkash Jain
Change-Id: I07a9c956f09be5d43ee58ff0784ba0f81f52cd9a
2016-10-18GSoC: Modify DrawServerFontLayout and add DrawSalLayoutAkash Jain
Modify the definiton of the DrawServerFontLayout method. Add new DrawSalLayout method which will be used for drawing text independent of the platform. Change-Id: Ie3eefb172b1781c685def1ef549db2538f672a62
2016-10-18GSoC: Add new CommonSalLayout classAkash Jain
Change-Id: Ic11e573da2f5fd6ef931f53ab674f8894815c3b4
2016-10-10tdf#89307: Removed SvRef::operator T*()Jacek Fraczek
Conditional statements are using SvRef::Is() method. Changed static_cast<T*>(svRef<T>) occurances to svRef.get(). Added operator == and != to SvRef. SbxObject::Execute is using SbxVariableRef internally. SbxObject::FindQualified is using SbxVariableRef internally. Change-Id: I45b553e35d8fca9bf71163e6eefc60802a066395 Reviewed-on: https://gerrit.libreoffice.org/29621 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-09-23tdf#100994: use CGContextStrokePath insteadJulien Nabet
This is a blind fix attempt to fix "Freeze when first action after launch with OSX Sierra with iMac 5K" I started from bt: frame #9: 0x00007fffbe094cf6 CoreGraphics`CGContextDrawPath + 183 frame #10: 0x0000000102b16cda libvcllo.dylib`AquaSalGraphics::drawPolyLine(unsigned int, SalPoint const*) + 330 frame #11: 0x0000000102929039 libvcllo.dylib`OutputDevice::drawPolyLine(tools::Polygon const&, LineInfo const&) + 361 frame #12: 0x0000000102928d30 libvcllo.dylib`OutputDevice::DrawPolyLine(basegfx::B2DPolygon const&, double, basegfx::B2DLineJoin, com::sun::star::drawing::LineCap, double) + 768 (see https://bug-attachments.documentfoundation.org/attachment.cgi?id=127502) then: http://stackoverflow.com/questions/32871234/how-to-make-kcgpathstroke-work-in-swift-2 which advises to replace: CGContextDrawPath(ctx, kCGPathStroke) by CGContextDrawPath(ctx, .Stroke) and finally this: http://stackoverflow.com/questions/37838578/how-to-stroke-a-cgpath which advises to directly use this: CGContextStrokePath(context) Change-Id: I99f9800c39f18d16488f7ef4114a71722f9b8123 Reviewed-on: https://gerrit.libreoffice.org/29194 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-09-14loplugin:overrideStephan Bergmann
Change-Id: Ica137897f02c5caa4c4891f75531ada3957025d9
2016-09-05convert OutDevSupportType to scoped enumNoel Grandin
Change-Id: I7a1e4448dfff0ea6909149533d228829d980796c
2016-09-02boost::intrusive_ptr->tools::SvRefCaolán McNamara
Change-Id: I4c913dc62efe3f3747e78670f4efb0216d95c4ad Reviewed-on: https://gerrit.libreoffice.org/28585 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-08-17Massage ifdefs etc for iOS to avoid undefinedsTor Lillqvist
I think it's best to not use cairo on iOS, even if we do use it on Android. We probably want to use native APIs for the functionality that cairo would provide. Just like we do on OS X. No idea whether the resulting TiledLibreOffice will still work like it used to in May last year, when I last tried. Change-Id: Ie15cad6918d7a66e2aff7faabfcade7f3246b060
2016-08-14loplugin:overrideparamStephan Bergmann
Change-Id: I78513a531f93f6578290107b1d71977820dac965
2016-08-08loplugin:overrideparamStephan Bergmann
Change-Id: I34fc490407f2bdac036dced5360b438ffb1cb4e2
2016-06-21vcl: remove some commented-out codeThorsten Behrens
Change-Id: Iac827fd102404ae615dfd1685886010e949ff653
2016-06-17convert DBG_ASSERT in vclNoel Grandin
Change-Id: I732fb1a789f90ca7a7f393cc41a6afe84fecf3d3 Reviewed-on: https://gerrit.libreoffice.org/26200 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-10tdf#96099 Remove various smart pointer typedefs in vclMark Page
Change-Id: I4ac1bb25d3d63f150b42d9e1708efc344bbdb6a7 Reviewed-on: https://gerrit.libreoffice.org/26113 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-09tdf#96971 SetXORMode - remove un-needed parametermelikeyurtoglu
Change-Id: I901e5de3e4e25f0cae5c71d6e83fd94459fe7b7e Signed-off-by: melikeyurtoglu <aysemelikeyurtoglu@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/21951 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-05-26vcl: replace boost::shared_array with std::shared_ptrMichael Stahl
This was already using get() everywhere. Change-Id: I6d1eee4fe9b0494a1c49ac44917d9fc7c22b43a4 Reviewed-on: https://gerrit.libreoffice.org/25470 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-05-25vcl: replace boost::dynamic_bitset with boost::optional<std::bitset>Michael Stahl
The getTTCoverage either leaves the bitset empty or inits it with 128 bits, so it's not particularly dynamic. Change-Id: Iac0aa6a023acc54da86d681e75ca550faf91ef26 Reviewed-on: https://gerrit.libreoffice.org/25456 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-05-25Convert BMP_FORMAT to scoped enumNoel Grandin
Change-Id: I751ab762b6e6f961e9e73a8a2ca92a3f5a5eb1c8 Reviewed-on: https://gerrit.libreoffice.org/25189 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-22Convert BitmapAccessMode to scoped enumNoel Grandin
Change-Id: I0f2b86f0a34e257d00856ce4f1dbbb1869ec967a Reviewed-on: https://gerrit.libreoffice.org/25208 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-14cppcheck: uninitialised members in vclJochen Nitschke
and remove clear() on std::vector types in ctors Change-Id: I8e239676d46e30049d4d5886a5b8de99cadd3f45 Reviewed-on: https://gerrit.libreoffice.org/24983 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-12Missing SAL_FALLTHROUGH (see comment above)Stephan Bergmann
Change-Id: I25d7c76462699e0f206e622841744fef9527108b
2016-05-12simplify SalGraphics::copyArea flags argumentNoel Grandin
Change-Id: Iaaef4d90d7fe817a32cd51652d41c2e49c8909a4 Reviewed-on: https://gerrit.libreoffice.org/24832 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-11remove unused return type from SalGraphics::SetFontNoel Grandin
Change-Id: I0ca41130f5e1028a70f1242f7af3366b7c57c572 Reviewed-on: https://gerrit.libreoffice.org/24833 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-10Convert SAL_INVERT to scoped enumNoel Grandin
Change-Id: If9f725c791f9d01efba098caed8387f21862fa04 Reviewed-on: https://gerrit.libreoffice.org/24825 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-10convert SAL_ROP to scoped enumNoel Grandin
Change-Id: I2c49ec843c0f95e8246cdf9d3185c11e81a3bde3 Reviewed-on: https://gerrit.libreoffice.org/24824 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-01fix copy&paste errorJochen Nitschke
since commit 4cab94239be70bd5800a8808652514f14501d303 Change-Id: I8fbd55977bdf8531a66123948c0c4d23657713d4 Reviewed-on: https://gerrit.libreoffice.org/24558 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2016-04-26tdf#48066 render stroke-miterlimit correctly in SVG importRegina Henschel
The property stroke-miterlimit is transported to the renderers via a new member mfMiterMinimumAngle in class LineAttribute Several drawPolyLine methods are adapted. This patch does not include changes in MetaAction. Presentation mode, printing, and PDF-export is still wrong. Corrected LineJoinMiter to LineJoinBevel in canvas, that s closer to NONE. Removed DrawPolyLine method without MiterMinimumAngle and adapted calls accordingly. Change-Id: I6bcd24add5d85c4d9a39e3788e0682091c5fc9c4 Reviewed-on: https://gerrit.libreoffice.org/23946 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2016-02-26loplugin:commaoperatorStephan Bergmann
Change-Id: I481fe73256bf0d974c54a6419874fa76ea4beaa6
2016-02-13vcl: include vcl headers via triangular brackets instead of quotesChris Sherlock
Change-Id: I311f7db622ce341527fe12a92b516f800b602f92
2016-02-05mysterious OutDevSupport_B2DClip is unusedCaolán McNamara
since maybe... commit ead04f8f0b7f51bf281ce41d8d590df0ca14af38 Author: Philipp Lohmann [pl] <Philipp.Lohmann@Sun.COM> Date: Fri Dec 3 16:21:36 2010 +0100 vcl118: #i115905# improved clip region interface on SAL layer (part 1, windows implementation) Change-Id: Iaeb49b60f70a9f595b67c7eb307a2e90b58d7150
2016-02-02remove B2DLineJoin::MiddleCaolán McNamara
and consistently map css::drawing::LineJoint_MIDDLE to the same thing that css::drawing::LineJoint_MITRE points to everywhere else Change-Id: I77b7586ea13f3fe84c0529172758256666488d36
2016-02-02windows impl doesn't care if drawPolyLine LineWidth y != xCaolán McNamara
so I don't see that it makes much of a difference then if the quartz or cairo one's don't either Change-Id: Iabd65d617437aa747b910fcd2e84421413ed7db6
2016-01-22vcl: replace boost::ptr_vector with std::vector<std::unique_ptr>Michael Stahl
Change-Id: Ia5e5349e879d46d6a57b7b83b31346766c11c58b Reviewed-on: https://gerrit.libreoffice.org/21662 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-01-19vcl: FontAttributes::GetSlantType() -> FontAttributes::GetItalic()Chris Sherlock
This brings FontAttributes into line with ImplFont and Font, which is important to the refactoring work I am doing. Change-Id: I08160992834f3732738b40aae9264df00443795a Reviewed-on: https://gerrit.libreoffice.org/21576 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-18basebmp now only used from vcl/headless codeCaolán McNamara
Change-Id: I068d404431d3565f6ad5741edbd3693225824a4d
2016-01-14vcl: change ImplFontMetricData to be reference counted via intrusive_ptrChris Sherlock
Change-Id: Ie9f5fbd21a6223520cbea3af6436beb407d7a88c Reviewed-on: https://gerrit.libreoffice.org/21477 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-12vcl: resplit FontAttributes from ImplFontMetricDataChris Sherlock
The change I made in commit 7b974e056df3 ("vcl: merge ImplFontMetricData with ImplFontAttributes") was... ill-advised. For starters, there really needs to be this split as FontSelectPattern needs it, and PhysicalFontFace only requires the font attributes, not the metric data. So the merge was unfortunately, in my mind, a failure and I'm manually backing it out now. Change-Id: Iac38f0815f984541e2f55099c965376dd88eeb43 Reviewed-on: https://gerrit.libreoffice.org/21380 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-12vcl: put FontConfigFontOptions into Unix headerChris Sherlock
Change-Id: I7b326d8fc8d2b6ecd9642ba958015285d0929a44 Reviewed-on: https://gerrit.libreoffice.org/21341 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-12vcl: split off ImplFontCharMap into it's own header fileChris Sherlock
Change-Id: I6173cd191cd771b1f030fa737617b1067278ee10 Reviewed-on: https://gerrit.libreoffice.org/21338 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-10Fix typosAndrea Gelmini
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86 Reviewed-on: https://gerrit.libreoffice.org/21209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-10Cleanup FontCharMapPtr variable prefixesChris Sherlock
Change-Id: Ib106b91ab71ee45d5ad469d0beaf4ebaef8b57e1 Reviewed-on: https://gerrit.libreoffice.org/21306 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-10vcl: promote ImplFontAttributes to FontAttributesChris Sherlock
ImplFontAttributes is no longer merely a pImpl (or "compilation firewall", take your pick) but is a fully fledged class in its own right that is used by a number of classes, including FontSelectPattern, LogicalFontInstance and PhysicalFontFace. Thus I'm "promoting" the use of this class in the codebase. Change-Id: I26866080a64796978d1c25efbcd16e3e6f94aaa5 Reviewed-on: https://gerrit.libreoffice.org/21305 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-10vcl: (OS X only) Change CoreTextFontData to CoreTextFontFaceChris Sherlock
The base class is called PhysicalFontFace (I believe it was called something like ImplFontData or somesuch before it was changed), and it is really primarily used to provide a factory function to create the logical font instance that LibreOffice can use (i.e. we distinguish between "physical" and "logical" fonts - as physical font is the actual font installed on the system, and the logical font is the one we ask for and have mapped to the physical font face). I also want to provide naming consistency in the class heirachy to enhance code readability, so that's another reason I've changed this class name. Change-Id: Ib7f23da1e3a1db59f4d04f5bb096f490e2958a4b Reviewed-on: https://gerrit.libreoffice.org/21299 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-08vcl: change ImplFontEntry to LogicalFontInstanceChris Sherlock
There is a TODO in the code that suggests to do this, when I looked at the collaboration diagram on Doxygen things made a LOT more sense. Change-Id: If335498bb70872ffa5738cc5c17660faec84c35e Reviewed-on: https://gerrit.libreoffice.org/21257 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-07vcl: rename outfont.hxx to fontentry.hxxChris Sherlock
Change-Id: I174a7a87d68958d0a5dd7c3e0f35294f0d020eb1 Reviewed-on: https://gerrit.libreoffice.org/21189 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>