1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2/* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19#ifndef __com_sun_star_text_BaseFrameProperties_idl__ 20#define __com_sun_star_text_BaseFrameProperties_idl__ 21 22#include <com/sun/star/style/GraphicLocation.idl> 23#include <com/sun/star/table/BorderLine.idl> 24#include <com/sun/star/table/ShadowFormat.idl> 25#include <com/sun/star/text/XTextFrame.idl> 26#include <com/sun/star/text/WrapTextMode.idl> 27#include <com/sun/star/awt/Size.idl> 28#include <com/sun/star/util/Color.idl> 29#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> 30#include <com/sun/star/drawing/FillStyle.idl> 31#include <com/sun/star/awt/Gradient.idl> 32#include <com/sun/star/drawing/TextVerticalAdjust.hpp> 33#include <com/sun/star/graphic/XGraphic.idl> 34 35module com { module sun { module star { module text { 36 37/** specifies the properties that are provided by all text frames, graphic objects, embedded objects 38 and frame styles. 39 */ 40published service BaseFrameProperties 41{ 42 /** gives access to the UserDefinedAttributes property. 43 @since OOo 2.1 44 */ 45 [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; 46 47 /** contains the number of the page where the objects are anchored. 48 <p> The value is valid only if the 49 AnchorType is 50 TextContentAnchorType::AT_PAGE.</p> 51 */ 52 [property] short AnchorPageNo; 53 /** contains the text frame the current frame is anchored to. 54 <p> The value is valid only if the 55 AnchorType is TextContentAnchorType::AT_FRAME.</p> 56 */ 57 [property] com::sun::star::text::XTextFrame AnchorFrame; 58 59 /** contains the color of the background of the object. 60 */ 61 [property] com::sun::star::util::Color BackColor; 62 63 /** contains the URL for the background graphic. 64 65 @deprecated as of LibreOffice 6.1 - use BackGraphic instead 66 67 Note the new behaviour since it this was deprecated: 68 This property can only be set and only external URLs are 69 supported (no more vnd.sun.star.GraphicObject scheme). When an 70 URL is set, then it will load the graphic and set the BackGraphic 71 property. 72 */ 73 [property] string BackGraphicURL; 74 75 /** contains the name of the file filter for the background graphic. 76 */ 77 [property] string BackGraphicFilter; 78 79 /** determines the position of the background graphic. 80 */ 81 [property] com::sun::star::style::GraphicLocation BackGraphicLocation; 82 83 /** contains the left border of the object. 84 85 @see BaseFrame::com::sun::star::table::BorderLine 86 */ 87 [property] com::sun::star::table::BorderLine LeftBorder; 88 89 /** contains the right border of the object. 90 91 @see BaseFrame::com::sun::star::table::BorderLine 92 */ 93 [property] com::sun::star::table::BorderLine RightBorder; 94 95 /** contains the top border of the object. 96 97 @see BaseFrame::com::sun::star::table::BorderLine 98 */ 99 [property] com::sun::star::table::BorderLine TopBorder; 100 101 /** contains the bottom border of the object. 102 103 @see BaseFrame::com::sun::star::table::BorderLine 104 */ 105 [property] com::sun::star::table::BorderLine BottomBorder; 106 107 /** contains the distance from the border to the object. 108 */ 109 [property] long BorderDistance; 110 111 /** contains the distance from the left border to the object. 112 */ 113 [property] long LeftBorderDistance; 114 115 /** contains the distance from the right border to the object. 116 */ 117 [property] long RightBorderDistance; 118 119 /** contains the distance from the top border to the object. 120 */ 121 [property] long TopBorderDistance; 122 123 /** contains the distance from the bottom border to the object. 124 */ 125 [property] long BottomBorderDistance; 126 127 /** If TRUE, the "BackColor" is ignored. 128 */ 129 [property] boolean BackTransparent; 130 131 132 /** determines if the content is protected. 133 */ 134 [property] boolean ContentProtected; 135 /** contains the left margin of the object. 136 */ 137 [property] long LeftMargin; 138 139 /** contains the right margin of the object. 140 */ 141 [property] long RightMargin; 142 143 144 /** contains the top margin of the object. 145 */ 146 [property] long TopMargin; 147 148 /** contains the bottom margin of the object. 149 */ 150 [property] long BottomMargin; 151 152 /** contains the height of the object (1/100 mm). 153 <p>It is only valid if TextEmbeddedObject::RelativeHeight is zero.</p> 154 */ 155 [property] long Height; 156 157 /** contains the width of the object (1/100 mm). 158 <p>It is only valid if TextEmbeddedObject::RelativeWidth is zero.</p> 159 */ 160 [property] long Width; 161 /** contains the relative height of the object. 162 <p> It is only valid if it is greater than zero.</p> 163 */ 164 [property] short RelativeHeight; 165 166 /** contains the relative width of the object. 167 <p> It is only valid if it is greater than zero. </p> 168 */ 169 [property] short RelativeWidth; 170 /** determines whether the width follows the height. 171 */ 172 [property] boolean IsSyncWidthToHeight; 173 /** determines whether the height follows the width. 174 */ 175 [property] boolean IsSyncHeightToWidth; 176 /** determines the horizontal orientation of the object. 177 178 @see BaseFrame::HoriOrientation 179 */ 180 [property] short HoriOrient; 181 /** contains the horizontal position of the object (1/100 mm). 182 <p> It is only valid if "HoriOrient" is HoriOrientation_NONE.</p> 183 */ 184 [property] long HoriOrientPosition; 185 186 /** determines the environment of the object to which the orientation 187 is related. 188 189 @see BaseFrame::RelOrientation 190 */ 191 [property] short HoriOrientRelation; 192 193 /** determines the vertical orientation of the object. 194 195 @see BaseFrame::VertOrientation 196 */ 197 [property] short VertOrient; 198 199 /** contains the vertical position of the object (1/100 mm). 200 201 It is only valid if TextEmbeddedObject::VertOrient is 202 VertOrientation::NONE. 203 */ 204 [property] long VertOrientPosition; 205 206 207 /** determines the environment of the object to which the orientation is related. 208 209 @see BaseFrame::RelOrientation 210 */ 211 [property] short VertOrientRelation; 212 213 /** contains the URL of a hyperlink that is set at the object. 214 */ 215 [property] string HyperLinkURL; 216 217 /** contains the name of the target for a hyperlink that is set at the object. 218 */ 219 [property] string HyperLinkTarget; 220 221 /** contains the name of the hyperlink that is set at the object. 222 */ 223 [property] string HyperLinkName; 224 225 /** determines if the object is opaque or transparent for text. 226 */ 227 [property] boolean Opaque; 228 229 /** determines if the object is mirrored on even pages. 230 */ 231 [property] boolean PageToggle; 232 233 /** determines if the position is protected. 234 */ 235 [property] boolean PositionProtected; 236 237 /** determines if the object is included in printing. 238 */ 239 [property] boolean Print; 240 241 /** contains the type of the shadow of the object. 242 */ 243 [property] com::sun::star::table::ShadowFormat ShadowFormat; 244 245 /** determines if the object gets an image map from a server. 246 */ 247 [property] boolean ServerMap; 248 249 /** contains the size of the object. 250 251 @see BaseFrame::Height 252 @see BaseFrame::Width 253 */ 254 [property] com::sun::star::awt::Size Size; 255 256 /** determines if the size is protected. 257 */ 258 [property] boolean SizeProtected; 259 /** determines the type of the surrounding text. 260 261 @deprecated 262 */ 263 [property] com::sun::star::text::WrapTextMode Surround; 264 265 /** determines if the text of the paragraph in which the object 266 is anchored, wraps around the object. 267 */ 268 [property] boolean SurroundAnchorOnly; 269 270 /** determines the influence of the text wrap on the positioning of the 271 shape 272 273 <p>The value of this property is only evaluated for the positioning 274 of the shape, if the text document setting ConsiderTextWrapOnObjPos 275 is `TRUE`. Valid values are given by #WrapInfluenceOnPosition</p> 276 277 @since OOo 2.0 278 */ 279 [optional, property] short WrapInfluenceOnPosition; 280 281 /** returns the actual size of the object. 282 283 <p>Since to obtain the correct actual size of the object not only 284 the layouting for the frame needs to be finished but the whole 285 document needs to be formatted as well. Thus if that was not done 286 previously it may take some while to retrieve this value.</p> 287 288 @since OOo 2.0.4 289 */ 290 [optional, property, maybevoid] com::sun::star::awt::Size LayoutSize; 291 292 /** contains short title for the object 293 294 <p>This short title is visible as an alternative tag in HTML format. 295 Accessibility tools can read this text.</p> 296 297 @since OOo 3.2 298 */ 299 [optional, property] string Title; 300 301 /** contains description for the object 302 303 <p>The long description text can be entered to describe an object in 304 more detail to users with screen reader software. The description is 305 visible as an alternative tag for accessibility tools.</p> 306 307 @since OOo 3.2 308 */ 309 [optional, property] string Description; 310 /** This enumeration selects the style the area will be filled with. 311 312 <p>Currently only set for gradients.</p> 313 314 @since LibreOffice 4.1 315 */ 316 [optional, property] com::sun::star::drawing::FillStyle FillStyle; 317 /** If the property #FillStyle is set to 318 FillStyle::GRADIENT, this describes the gradient used. 319 320 @since LibreOffice 4.1 321 */ 322 [optional, property] com::sun::star::awt::Gradient FillGradient; 323 /** If the property #FillStyle is set to 324 FillStyle::GRADIENT, this is the name of the gradient used. 325 326 @since LibreOffice 4.1 327 */ 328 [optional, property] string FillGradientName; 329 330 /** This defines the degree of transparence of the shadow in percent. 331 332 <p>This is the same as setting the Color member of the 333 #ShadowFormat property to an ARGB color.</p> 334 335 @since LibreOffice 4.2 336 */ 337 [optional, property] short ShadowTransparence; 338 339 /** Grab bag of frame properties, used as a string-any map for interim interop purposes. 340 341 @since LibreOffice 4.2 342 343 <p>This property is intentionally not handled by the ODF filter. Any 344 member that should be handled there should be first moved out from this grab 345 bag to a separate property.</p> 346 */ 347 [optional, property] sequence<com::sun::star::beans::PropertyValue> FrameInteropGrabBag; 348 349 /** contains the relation of the relative height of the object. 350 <p> It is only valid if RelativeHeight is greater than zero.</p> 351 352 @see com::sun::star::text::RelOrientation 353 @since LibreOffice 4.3 354 */ 355 [optional, property] short RelativeHeightRelation; 356 357 /** contains the relation of the relative width of the object. 358 <p> It is only valid if RelativeWidth is greater than zero.</p> 359 360 @see com::sun::star::text::RelOrientation 361 @since LibreOffice 4.3 362 */ 363 [optional, property] short RelativeWidthRelation; 364 365 /** contains the graphic for the background. 366 367 @since LibreOffice 6.1 368 */ 369 [optional, property] com::sun::star::graphic::XGraphic BackGraphic; 370 371 /** This defines if the frame is allowed to overlap with other anchored objects. 372 @since LibreOffice 6.4 373 */ 374 [optional, property] boolean AllowOverlap; 375}; 376 377 378}; }; }; }; 379 380#endif 381 382/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 383