office-gobmx/sc/sdi/drawsh.sdi
Balazs Varga 3eac847927 tdf#161826 - Add uniform Glow effect for texts in shapes
- Add new text Glow effect properties for shapes

- Using TextGlowPrimitive for rendering uniform text glow in shapes

- Add/allow new UI Glow Effect for texts in shapes on sidebar
  (Only for Impress/Draw and Calc)

- Import/Export ooxml files with Glow effect on texts in shapes
  (Only PPTX/XLSX)

- Import/Export odf files with Glow effect on texts in shapes

- Add unit test for glow text attributes in ODF

- Add uni tests for OOXML import/export

Note: Also this patch effects on
tdf#144061 - Effects: Allow GLOW to apply to Text (as we have for shapes)

Change-Id: I16586c01654f197f532129e4e06aa2ef9f214395
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172216
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2024-08-29 19:59:24 +02:00

239 lines
16 KiB
Text

/*
* 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 .
*/
interface TableDraw
{
// support assign macro for shape objects
SID_ASSIGNMACRO [ ExecMethod = ExecDrawAttr; StateMethod = NoState; ]
FID_DEFINE_NAME [ StateMethod = StateDisableItems; ]
FID_ADD_NAME [ StateMethod = StateDisableItems; ]
SID_DEFINE_COLROWNAMERANGES [ StateMethod = StateDisableItems; ]
SID_OPENDLG_SOLVE [ StateMethod = StateDisableItems; ]
SID_OPENDLG_OPTSOLVER [ StateMethod = StateDisableItems; ]
SID_OPENDLG_PIVOTTABLE [ StateMethod = StateDisableItems; ]
SID_OPENDLG_TABOP [ StateMethod = StateDisableItems; ]
SID_FILTER [ StateMethod = StateDisableItems; ]
SID_SPECIAL_FILTER [ StateMethod = StateDisableItems; ]
SID_DEFINE_DBNAME [ StateMethod = StateDisableItems; ]
SID_OPENDLG_CONSOLIDATE [ StateMethod = StateDisableItems; ]
SID_OPENDLG_EDIT_PRINTAREA [ StateMethod = StateDisableItems; ]
// others:
SID_DRAW_CHART [ StateMethod = StateDisableItems; ]
SID_TEXT_STANDARD [ ExecMethod = ExecDrawAttr; StateMethod = NoState; ]
SID_CELL_FORMAT_RESET [ ExecMethod = ExecDrawAttr; StateMethod = NoState; ]
SID_DRAWTEXT_ATTR_DLG [ ExecMethod = ExecDrawAttr; StateMethod = NoState; ]
// ---- Slot-IDs for Objectbar:
SID_COLOR_TABLE [ StateMethod = GetDrawAttrState; ]
SID_GRADIENT_LIST [ StateMethod = GetDrawAttrState; ]
SID_HATCH_LIST [ StateMethod = GetDrawAttrState; ]
SID_BITMAP_LIST [ StateMethod = GetDrawAttrState; ]
SID_PATTERN_LIST [ StateMethod = GetDrawAttrState; ]
SID_DASH_LIST [ StateMethod = GetDrawAttrState; ]
SID_LINEEND_LIST [ StateMethod = GetDrawAttrState; ]
// area attributes
SID_ATTR_FILL_STYLE [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
// #i25616#
SID_ATTR_FILL_SHADOW
[
ExecMethod = ExecDrawAttr;
StateMethod = GetDrawAttrState;
]
SID_ATTR_SHADOW_COLOR
[ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_SHADOW_TRANSPARENCE
[ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_SHADOW_BLUR
[ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_SHADOW_XDISTANCE
[ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_SHADOW_YDISTANCE
[ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_FILL_COLOR [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_FILL_GRADIENT [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_FILL_HATCH [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_FILL_BITMAP [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_FILL_TRANSPARENCE [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_FILL_FLOATTRANSPARENCE [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
// lines attributes:
SID_ATTR_LINE_STYLE [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_LINEEND_STYLE [ ExecMethod = ExecDrawAttr; StateMethod = GetAttrFuncState; ]
SID_ATTR_LINE_START [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_LINE_END [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_LINE_DASH [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_LINE_WIDTH [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_LINE_COLOR [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_LINE_TRANSPARENCE [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_LINE_JOINT [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_LINE_CAP [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTRIBUTES_AREA [ ExecMethod = ExecDrawAttr; StateMethod = GetAttrFuncState; ]
SID_ATTRIBUTES_LINE [ ExecMethod = ExecDrawAttr; StateMethod = GetAttrFuncState; ]
SID_MEASURE_DLG [ ExecMethod = ExecDrawAttr; StateMethod = GetAttrFuncState; ]
SID_ATTR_TRANSFORM [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawFuncState; ]
// For the sidebar
SID_ATTR_TRANSFORM_WIDTH [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_HEIGHT [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_POS_X [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_POS_Y [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_ANGLE [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_ROT_X [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_ROT_Y [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_PROTECT_POS [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_PROTECT_SIZE [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_AUTOWIDTH [ StateMethod = GetDrawAttrStateForIFBX; ]
SID_ATTR_TRANSFORM_AUTOHEIGHT [ StateMethod = GetDrawAttrStateForIFBX; ]
// alignment functions:
SID_OBJECT_ALIGN [ StateMethod = GetDrawFuncState; ]
SID_OBJECT_ALIGN_LEFT [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_OBJECT_ALIGN_CENTER [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_OBJECT_ALIGN_RIGHT [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_OBJECT_ALIGN_UP [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_OBJECT_ALIGN_MIDDLE [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_OBJECT_ALIGN_DOWN [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
// pseudo slots from Format menu
SID_ALIGN_ANY_LEFT [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_ALIGN_ANY_HCENTER [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_ALIGN_ANY_RIGHT [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_ALIGN_ANY_TOP [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_ALIGN_ANY_VCENTER [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_ALIGN_ANY_BOTTOM [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
// other functions:
SID_OBJECT_HEAVEN [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_OBJECT_HELL [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_FRAME_TO_TOP [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_FRAME_TO_BOTTOM [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_FRAME_UP [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_FRAME_DOWN [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_GROUP [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_UNGROUP [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_ENTER_GROUP [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_LEAVE_GROUP [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_REGENERATE_DIAGRAM [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState ]
SID_EDIT_DIAGRAM [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState ]
// !!! special
SID_DELETE [ExecMethod = ExecDrawFunc ;StateMethod = GetDrawFuncState; ]
SID_DELETE_CONTENTS [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_CUT [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_COPY [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_PASTE [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_SELECTALL [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_OBJECT_ROTATE [ ExecMethod = ExecDrawFunc; StateMethod = GetState; ]
SID_OBJECT_MIRROR [ ExecMethod = ExecDrawFunc; StateMethod = GetState; ]
SID_BEZIER_EDIT [ ExecMethod = ExecDrawFunc; StateMethod = GetState; ]
SID_MIRROR_HORIZONTAL[ ExecMethod = ExecDrawFunc;StateMethod = GetDrawFuncState; ]
SID_MIRROR_VERTICAL [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_FLIP_HORIZONTAL [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_FLIP_VERTICAL [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_ANCHOR_MENU [ StateMethod = GetDrawFuncState; ]
SID_ANCHOR_PAGE [ ExecMethod = ExecDrawFunc; StateMethod = GetState; ]
SID_ANCHOR_TOGGLE [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_ANCHOR_CELL [ ExecMethod = ExecDrawFunc; StateMethod = GetState; ]
SID_ANCHOR_CELL_RESIZE [ ExecMethod = ExecDrawFunc; StateMethod = GetState; ]
// FontWork:
SID_FONTWORK [ ExecMethod = ExecDrawFunc; StateMethod = GetState; ]
SID_FORMTEXT_STYLE [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_ADJUST [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_DISTANCE [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_START [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_MIRROR [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_HIDEFORM [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_OUTLINE [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_SHADOW [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_SHDWCOLOR [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_SHDWXVAL [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_FORMTEXT_SHDWYVAL [ ExecMethod = ExecFormText; StateMethod = GetFormTextState; ]
SID_ATTR_POSITION [ StateMethod = GetDrawAttrState; ]
SID_ATTR_SIZE [ StateMethod = GetDrawAttrState; ]
SID_TABLE_CELL [ StateMethod = GetDrawAttrState; ]
SID_ORIGINALSIZE [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_FITCELLSIZE [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_HYPERLINK_SETLINK [ ExecMethod = ExecuteHLink; ]
SID_HYPERLINK_GETLINK [ StateMethod = GetHLinkState; ]
SID_ENABLE_HYPHENATION [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
// #i68101#
SID_TITLE_DESCRIPTION_OBJECT [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_RENAME_OBJECT [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; ]
SID_FORMATPAINTBRUSH [ ExecMethod = ExecFormatPaintbrush; StateMethod = StateFormatPaintbrush; ]
SID_OPEN_XML_FILTERSETTINGS [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_TOGGLE [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_TILT_DOWN [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_TILT_UP [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_TILT_LEFT [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_TILT_RIGHT [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_DEPTH_FLOATER [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_DEPTH_DIALOG [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_DIRECTION_FLOATER [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_LIGHTING_FLOATER [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_SURFACE_FLOATER [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_3D_COLOR [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_DEPTH [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_DIRECTION [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_PROJECTION [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_LIGHTING_DIRECTION[ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_LIGHTING_INTENSITY[ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EXTRUSION_SURFACE [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_FONTWORK_SHAPE [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_FONTWORK_SHAPE_TYPE [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_FONTWORK_ALIGNMENT_FLOATER [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_FONTWORK_CHARACTER_SPACING_FLOATER [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_FONTWORK_ALIGNMENT [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_FONTWORK_SAME_LETTER_HEIGHTS [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_FONTWORK_CHARACTER_SPACING [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_FONTWORK_KERN_CHARACTER_PAIRS [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_FONTWORK_CHARACTER_SPACING_DIALOG [ ExecMethod = ExecDrawFunc ; StateMethod = GetDrawFuncState ; ]
SID_EDIT_HYPERLINK [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawFuncState; ]
SID_REMOVE_HYPERLINK [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawFuncState; ]
SID_OPEN_HYPERLINK [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawFuncState; ]
SID_COPY_HYPERLINK_LOCATION [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawFuncState; ]
SID_ATTR_GLOW_COLOR [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_GLOW_RADIUS [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_GLOW_TRANSPARENCY [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_GLOW_TEXT_COLOR [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_GLOW_TEXT_RADIUS [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_GLOW_TEXT_TRANSPARENCY [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_SOFTEDGE_RADIUS [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_MOVE_SHAPE_HANDLE [ ExecMethod = ExecDrawAttr; ]
SID_ATTR_TEXTCOLUMNS_NUMBER [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
SID_ATTR_TEXTCOLUMNS_SPACING [ ExecMethod = ExecDrawAttr; StateMethod = GetDrawAttrState; ]
}
shell ScDrawShell
{
import TableDraw;
}