mirror of
https://github.com/pocoproject/poco.git
synced 2025-01-15 23:27:21 +01:00
104 lines
3.1 KiB
C++
104 lines
3.1 KiB
C++
//
|
||
// LinkAnnotation.h
|
||
//
|
||
// $Id: //poco/Main/PDF/include/Poco/PDF/LinkAnnotation.h#4 $
|
||
//
|
||
// Library: PDF
|
||
// Package: PDFCore
|
||
// Module: LinkAnnotation
|
||
//
|
||
// Definition of the LinkAnnotation class.
|
||
//
|
||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||
// and Contributors.
|
||
//
|
||
// Permission is hereby granted, free of charge, to any person or organization
|
||
// obtaining a copy of the software and accompanying documentation covered by
|
||
// this license (the "Software") to use, reproduce, display, distribute,
|
||
// execute, and transmit the Software, and to prepare derivative works of the
|
||
// Software, and to permit third-parties to whom the Software is furnished to
|
||
// do so, all subject to the following:
|
||
//
|
||
// The copyright notices in the Software and this entire statement, including
|
||
// the above license grant, this restriction and the following disclaimer,
|
||
// must be included in all copies of the Software, in whole or in part, and
|
||
// all derivative works of the Software, unless such copies or derivative
|
||
// works are solely in the form of machine-executable object code generated by
|
||
// a source language processor.
|
||
//
|
||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||
// DEALINGS IN THE SOFTWARE.
|
||
//
|
||
|
||
|
||
#ifndef PDF_LinkAnnotation_INCLUDED
|
||
#define PDF_LinkAnnotation_INCLUDED
|
||
|
||
|
||
#include "Poco/PDF/PDF.h"
|
||
#include "Poco/PDF/Resource.h"
|
||
#include "Poco/PDF/Destination.h"
|
||
|
||
|
||
namespace Poco {
|
||
namespace PDF {
|
||
|
||
|
||
class PDF_API LinkAnnotation: public Resource<HPDF_Annotation>
|
||
/// A LinkAnnotation represents a PDF annotation resource.
|
||
{
|
||
public:
|
||
enum Highlight
|
||
{
|
||
HIGHTLIGHT_NONE = HPDF_ANNOT_NO_HIGHTLIGHT,
|
||
/// No highlighting.
|
||
HIGHTLIGHT_INVERT_BOX = HPDF_ANNOT_INVERT_BOX,
|
||
/// Invert the contents of the area of annotation.
|
||
HIGHTLIGHT_INVERT_BORDER = HPDF_ANNOT_INVERT_BORDER,
|
||
/// Invert the annotation<6F>s border.
|
||
HIGHTLIGHT_DOWN_APPEARANCE = HPDF_ANNOT_DOWN_APPEARANCE
|
||
/// Dent the annotation.
|
||
};
|
||
|
||
LinkAnnotation(HPDF_Doc* pPDF,
|
||
const HPDF_Annotation& annotation,
|
||
const std::string& name = "");
|
||
/// Creates the annotation.
|
||
|
||
virtual ~LinkAnnotation();
|
||
/// Destroys the annotation.
|
||
|
||
void setHighlight(Highlight mode);
|
||
/// Sets highlighting of the link.
|
||
|
||
void setBorderStyle(float width, Poco::UInt32 dashOn, Poco::UInt32 dashOff);
|
||
/// Sets the link border style.
|
||
};
|
||
|
||
|
||
//
|
||
// inlines
|
||
//
|
||
|
||
inline void LinkAnnotation::setHighlight(Highlight mode)
|
||
{
|
||
HPDF_LinkAnnot_SetHighlightMode(handle(),
|
||
static_cast<HPDF_AnnotHighlightMode>(mode));
|
||
}
|
||
|
||
inline void LinkAnnotation::setBorderStyle(float width, Poco::UInt32 dashOn, Poco::UInt32 dashOff)
|
||
{
|
||
HPDF_LinkAnnot_SetBorderStyle(handle(), width, dashOn, dashOff);
|
||
}
|
||
|
||
|
||
} } // namespace Poco::PDF
|
||
|
||
|
||
#endif // PDF_LinkAnnotation_INCLUDED
|