acbb6c98ae
The most exciting was to discover that this functionality was actually already implemented prior to 2001, and then accidentally dropped, and nobody noticed, until Noel did his great cleanups, and made an amazing investigation in commited2ae3c3bb
(remove dead SwNoteURL, 2018-03-14). The detailed commit message made my task so much easier: I knew where and what to restore. So this change restores relevant pieces removed over the time in commits *1b666235f6
(loplugin:singlevalfields improve copy constructor check, 2018-01-03), *be8c414567
(loplugin:unusedmethods also check for functions returning bool, 2018-01-19), *73139fe600
(loplugin:unusedmethods, 2018-01-20) *bb7ade140d
(loplugin:unusedmethods, 2018-03-08), *ed2ae3c3bb
(remove dead SwNoteURL, 2018-03-14), *fd1cfd25b4
(PortionType::Url is unused, 2019-01-18). It re-implements the functionality accidentally removed in commitda7671e4f7
(Opt.(FME): The new attribute handler makes a lot of code superfluous, 2001-03-15), moving it into SwAttrHandler, which replaced the ChgFnt in SwTxtAttr. It also fixes the code writing the HTML image map, to output valid HTML. And finally, it adds a unit test, to avoid repeating the story :-) Change-Id: I72ae3cf30f0e9689f50a2c877e1622e4ae46de49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166924 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
65 lines
2.6 KiB
C++
65 lines
2.6 KiB
C++
/* -*- 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 .
|
|
*/
|
|
#pragma once
|
|
|
|
#include <config_options.h>
|
|
#include <vcl/dllapi.h>
|
|
#include <vcl/imapobj.hxx>
|
|
#include <tools/gen.hxx>
|
|
|
|
class Fraction;
|
|
|
|
class VCL_DLLPUBLIC IMapRectangleObject final : public IMapObject
|
|
{
|
|
tools::Rectangle aRect;
|
|
|
|
SAL_DLLPRIVATE void ImpConstruct( const tools::Rectangle& rRect, bool bPixel );
|
|
|
|
// binary import/export
|
|
virtual void WriteIMapObject( SvStream& rOStm ) const override;
|
|
virtual void ReadIMapObject( SvStream& rIStm ) override;
|
|
|
|
public:
|
|
|
|
IMapRectangleObject() {};
|
|
IMapRectangleObject( const tools::Rectangle& rRect,
|
|
const OUString& rURL,
|
|
const OUString& rAltText,
|
|
const OUString& rDesc,
|
|
const OUString& rTarget,
|
|
const OUString& rName,
|
|
bool bActive = true,
|
|
bool bPixelCoords = true );
|
|
|
|
virtual IMapObjectType GetType() const override;
|
|
virtual bool IsHit( const Point& rPoint ) const override;
|
|
|
|
tools::Rectangle GetRectangle( bool bPixelCoords = true ) const;
|
|
|
|
void Scale( const Fraction& rFractX, const Fraction& rFracY );
|
|
|
|
using IMapObject::IsEqual;
|
|
bool IsEqual( const IMapRectangleObject& rEqObj ) const;
|
|
|
|
// import/export
|
|
void WriteCERN( SvStream& rOStm ) const;
|
|
void WriteNCSA( SvStream& rOStm ) const;
|
|
};
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|