/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #include #include #include @implementation AquaPrintView -(id)initWithController: (vcl::PrinterController*)pController withInfoPrinter: (AquaSalInfoPrinter*)pInfoPrinter { NSRect aRect = { NSZeroPoint, [pInfoPrinter->getPrintInfo() paperSize] }; if( (self = [super initWithFrame: aRect]) != nil ) { mpController = pController; mpInfoPrinter = pInfoPrinter; } return self; } -(BOOL)knowsPageRange: (NSRangePointer)range { range->location = 1; range->length = mpInfoPrinter->getCurPageRangeCount(); return YES; } -(NSRect)rectForPage: (int)page { NSSize aPaperSize = [mpInfoPrinter->getPrintInfo() paperSize]; int nWidth = static_cast(aPaperSize.width); // #i101108# sanity check if( nWidth < 1 ) nWidth = 1; NSRect aRect = { { static_cast(page % nWidth), static_cast(page / nWidth) }, aPaperSize }; return aRect; } -(NSPoint)locationOfPrintRect: (NSRect)aRect { (void)aRect; return NSZeroPoint; } -(void)drawRect: (NSRect)rect { mpInfoPrinter->setStartPageOffset( static_cast(rect.origin.x), static_cast(rect.origin.y) ); NSSize aPaperSize = [mpInfoPrinter->getPrintInfo() paperSize]; int nPage = static_cast(aPaperSize.width * rect.origin.y + rect.origin.x); // page count is 1 based if( nPage - 1 < (mpInfoPrinter->getCurPageRangeStart() + mpInfoPrinter->getCurPageRangeCount() ) ) mpController->printFilteredPage( nPage-1 ); } @end /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ >distro/collabora/co-22.05 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-04loplugin:unnecessaryparen include c++ castsNoel Grandin
Change-Id: I132d3c66f0562e2c37a02eaf4c168d06c2b473eb Reviewed-on: https://gerrit.libreoffice.org/41874 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-02loplugin:casttovoid: toolkitStephan Bergmann
Change-Id: I1e1c28eac866eba90a9039aab6e1d56b3f886b9e
2017-06-30loplugin:unusedfields in toolkit..xmloffNoel Grandin
Change-Id: I4964ff97e0a1735dc08c6ad204cae0b08e9ffc2c Reviewed-on: https://gerrit.libreoffice.org/39406 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-26Remove dynamic exception specificationsStephan Bergmann
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-10-05convert MapUnit to scoped enumNoel Grandin
I left a prefix on the names "Map" so that I would not have to re-arrange each name too much, since I can't start identifiers with digits like "100thMM" And remove RSC_EXTRAMAPUNIT, which doesn't seem to be doing anything anymore. Change-Id: I5187824aa87e30caf5357b51b5384b5ab919d224 Reviewed-on: https://gerrit.libreoffice.org/29096 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2015-11-25loplugin:unusedfields in include/toolkit,include/toolsNoel Grandin
Change-Id: I22966b66b1b8e4dff2e565de456f21a668f33f28
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: Ied9204441c07f1f6a6026c8c1a2fa21b93b98e1a
2015-11-09com::sun::star->css in toolkit/Noel Grandin
Change-Id: Ia8feca46fa64a300235730e1248fa5fda0783ba2 Reviewed-on: https://gerrit.libreoffice.org/19853 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-06-17Some missing SolarMutexGuard around VclPtr acquire/releaseStephan Bergmann
At least OutputDevice::acquire/release use a plain unguarded int and ++, --, so apparently rely on the SolarMutex being locked whenever they are called. Fixed those places that caused "make check" to fail for me when temporarily adding DBG_TESTSOLARMUTEX() to OutputDevice::acquire/release. (A recurring pattern is that a class fails to ensure the SolarMutex is locked around the destruction of non-null VclPtr members.) Change-Id: I77cba6f3908f2de1b516ce28f1c3c43b3f57a9c5
2015-04-16UnoControls, toolkit, uuoi, xmlsecurity: convert new to ::Create.Michael Meeks
Change-Id: I7b8c7ece656589c50fb066e9fa1565fd59f930da
2015-04-10toolkit: first cut at switching to VclPtr.Michael Meeks
Toolkit has traditionally had a very odd lifecycle relationship with VCL - start to fix that; first partial cut. Change-Id: I77e5e62ebde101d32746d12d83dae92c49970001
2014-11-18cppuhelper: clean up public headers with include-what-you-useMichael Stahl
Change-Id: I41ba46831f24b2960a1fe982b74a2b623e682e0b
2014-09-29loplugin: cstylecastNoel Grandin
Change-Id: I20358c271e32b4af11d3258c950bde836596933a
2014-09-23fdo#82577: Handle WindowNoel Grandin
Put the VCL Window class in the vcl namespace. Avoids clash with the X11 Window typedef. Change-Id: Ib1beb7ab4ad75562a42aeb252732a073d25eff1a
2014-05-15Prefer cppu::UnoType<T>::get() to ::getCppuType((T*)0) part13Julien Nabet
Change-Id: Ieecfd7ccb10c75ac639d0ba8e7cb588607097c2a
2014-03-10coverity#708531 Uninitialized pointer fieldCaolán McNamara
Change-Id: I4519cf5b3ecf53c678621a4b8f6267dd4a41fcad
2014-02-26cppuhelper: retrofit std::exception into overriding exception specsStephan Bergmann
Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3
2014-02-26Remove visual noise from toolkitAlexander Wilms
Change-Id: I1704d6ac497f2e47a813813640ead14c5fa480d9 Reviewed-on: https://gerrit.libreoffice.org/8326 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-24toolkit: sal_Bool -> boolStephan Bergmann
Change-Id: I5153c4413004d1b50cc503b3e70657bc831a5793
2014-02-23Remove unneccessary commentsAlexander Wilms
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>