/* -*- 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 .
 */
#ifndef __com_sun_star_drawing_GraphicObjectShape_idl__
#define __com_sun_star_drawing_GraphicObjectShape_idl__

#include <com/sun/star/drawing/Shape.idl>

#include <com/sun/star/drawing/Text.idl>

#include <com/sun/star/drawing/ShadowProperties.idl>

#include <com/sun/star/drawing/RotationDescriptor.idl>

#include <com/sun/star/awt/XBitmap.idl>
#include <com/sun/star/graphic/XGraphic.idl>

#include <com/sun/star/drawing/ColorMode.idl>
#include <com/sun/star/container/XIndexContainer.idl>
#include <com/sun/star/drawing/QRCode.idl>


 module com {  module sun {  module star {  module drawing {


/** This service is for a graphic shape.
 */
published service GraphicObjectShape
{
    service com::sun::star::drawing::Shape;

    service com::sun::star::drawing::Text;

    service com::sun::star::drawing::ShadowProperties;

    service com::sun::star::drawing::RotationDescriptor;

    /** This is a url to the source bitmap for this graphic shape.

        @deprecated as of LibreOffice 6.1 - use Graphic instead

        Note the new behaviour since it was deprecated:
        This property can only be set and only external URLs are
        supported (no more vnd.sun.star.GraphicObject scheme). When a
        URL is set, then it will load the image and set the Graphic
        property.
    */
    [property] string GraphicURL;

    /** This is a url to the stream ("in document" or linked graphic) for this graphic shape.
    */
    [property] string GraphicStreamURL;

    /** This is the bitmap that represents this graphic shape.

         @deprecated Use graphic property instead!
    */
    [optional, property] com::sun::star::awt::XBitmap GraphicObjectFillBitmap;

    /** If this property is set, the luminance of this graphic shape is adjusted
        by the given signed percent value.
    */
    [property] short AdjustLuminance;

    /** If this property is set, the contrast of this graphic shape is adjusted
        by the given signed percent value.
    */
    [property] short AdjustContrast;

    /** If this property is set, the red channel of this graphic shape is
        adjusted by the given signed percent value.
    */
    [property] short AdjustRed;

    /** If this property is set, the green channel of this graphic shape is
        adjusted by the given signed percent value.
    */
    [property] short AdjustGreen;

    /** If this property is set, the blue channel of this graphic shape is
        adjusted by the given signed percent value.
    */
    [property] short AdjustBlue;

    /** If this property is set, the gamma value of this graphic shape is
        adjusted by the given value.
    */
    [property] double Gamma;

    /** If this property is set, the transparency value of this graphic shape is
        adjusted by the given unsigned percent value.
        100% is fully transparent, 0% is fully opaque.
    */
    [property] short Transparency;

    /** This property selects the color mode that is used for rendering.
    */
    [property] ColorMode GraphicColorMode;

    /** This property contains an image map for this graphic.
        @see com::sun::star::image::ImageMap
    */
    [optional, property] com::sun::star::container::XIndexContainer ImageMap;

    /** This is the graphic that represents this graphic shape
    */
    [optional, property] com::sun::star::graphic::XGraphic Graphic;

    /// Whether this shape is actually a signature line.
    [optional, property] boolean IsSignatureLine;

    /// The ID of the signature line, used to connect to a signature.
    [optional, property] string SignatureLineId;

    /// Suggested Signer, Name of the Signer
    [optional, property] string SignatureLineSuggestedSignerName;

    /// Suggested Signer, Line 2 (Title or additional information)
    [optional, property] string SignatureLineSuggestedSignerTitle;

    /// Suggested Signer Email
    [optional, property] string SignatureLineSuggestedSignerEmail;

    /// Signing instructions, to be shown at signing time
    [optional, property] string SignatureLineSigningInstructions;

    /// Whether the signing date should be shown in the shape
    [optional, property] boolean SignatureLineShowSignDate;

    /// Whether the user can attach a comment at signing time
    [optional, property] boolean SignatureLineCanAddComment;

    /** Image to be displayed when the signature line is unsigned
     *
     *  Images for signed signature lines (valid and invalid)
     *  are to be retrieved via com::sun::star::security::DocumentSignatureInformation
     *  (you can get the matching signature with the SignatureLineId property).
     */
    [optional, property] com::sun::star::graphic::XGraphic SignatureLineUnsignedImage;

    /// Whether the signature line is signed using a digital signature
    [optional, property] boolean SignatureLineIsSigned;

    /// Shape as a QR Code
    /// @since LibreOffice 6.4
    [optional, property] com::sun::star::drawing::QRCode QRCodeProperties;
};


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
