8#ifndef FF_SMARTSHAPES_H
9#define FF_SMARTSHAPES_H
11#include "ff_noteframe.h"
15#ifdef PDK_FRAMEWORK_SMARTSHAPES
18#ifndef DOXYGEN_SHOULD_IGNORE_THIS
21#include "pragma_align_begin.h"
22class __EDTSmartShapeMeasMark
33 __EDTSmartShapeMeasMark() : shapeNum(0), centerShapeNum(0),
34 CCCC(0), DDDD(0), EEEE(0), FFFF(0) {}
36#include "pragma_align_end.h"
38#define __ot_SmartShapeMeasMark MAKEEXTAG(edOther,'M','x')
40#include "pragma_align_begin.h"
41struct __EDTSmartShapeEntryMark
49#include "pragma_align_end.h"
51#define __dt_SmartShapeEntryMark MAKEEXTAG(edEntryDetail,'E','x')
53#include "pragma_align_begin.h"
64 __SSENDPT() : inst(0), meas(0)
66 attachment.entryNum = 0;
68 ENTNUM GetEntryNum()
const {
return attachment.entryNum; }
69 TimeEdu32 GetEdu()
const {
return attachment.edu; }
70 void SetEntryNum(ENTNUM entryNum) { attachment.entryNum=entryNum; }
71 void SetEdu(TimeEdu32 edu) { attachment.edu=edu; }
72#if OPERATING_SYSTEM == MAC_OS
75 attachment.entryNum=attachment.entryNum/0x10000+(attachment.entryNum%0x10000)*0x10000;
79#include "pragma_align_end.h"
81#include "pragma_align_begin.h"
87 __SSENDPTADJ() : flag(0), offset(0,0) {}
89#include "pragma_align_end.h"
91#include "pragma_align_begin.h"
95 ETOFFSET controlPoint1;
96 ETOFFSET controlPoint2;
98 __SSCTLPTADJ() : flag(0),controlPoint1(),controlPoint2() { }
100#include "pragma_align_end.h"
102#include "pragma_align_begin.h"
107 __SSENDPTADJ endPtAdj;
108 __SSCTLPTADJ ctlPtAdj;
109 __SSENDPTADJ breakAdj;
110 __SSTERMSEG() : endPt(), endPtAdj(), ctlPtAdj(), breakAdj() {}
112#include "pragma_align_end.h"
114#include "pragma_align_begin.h"
120 __SSTERMSEG termSeg1;
121 __SSTERMSEG termSeg2;
122 __SSCTLPTADJ fullCtlPtAdj;
125 utwobyte ssLineStyleID;
130 __EDTSmartShape() : shapeType(0), flag(0), fullCtlPtAdj(),
131 ssLineStyleID(0), flag2(0), termSeg1(), termSeg2()
141#include "pragma_align_end.h"
143#define __edOther8Inci MAKETAG(edMultiInciOther,8)
145const EXTAG __ot_SmartShape = MAKEEXTAG(__edOther8Inci,
'S',
'x');
147#include "pragma_align_begin.h"
148class __EDTCenterShape
151 __SSENDPTADJ breakAdj1;
152 __SSENDPTADJ breakAdj2;
153 __SSCTLPTADJ ctlPtAdj;
154 __EDTCenterShape() : ctlPtAdj(),breakAdj1(),breakAdj2() {}
156#include "pragma_align_end.h"
158#define __dt_CenterShape MAKEEXTAG(edDetail3Inci,'C','x')
160const FLAG_32 __SS_FLAG_RESERVED = 0x80000000L;
161const FLAG_32 __SS_ENTRYBASED = 0x40000000L;
162const FLAG_32 __SS_ROTATE = 0x20000000L;
163const FLAG_32 __SS_LYRICBASED = 0x10000000L;
164const FLAG_32 __SS_PRESETSHAPE = 0x00008000L;
168const FLAG_32 __SS_MAKEHORZ = 0x00000400L;
171const FLAG_32 __SS_PUSHENDSTART = 0x00000200L;
172const FLAG_32 __SS_MAKEVERT = 0x00000100L;
173const FLAG_32 __SS_ENGRAVER_SLUR_BITS = 0x00000030L;
196#ifndef DOXYGEN_SHOULD_IGNORE_THIS
197 __EDTSmartShapeMeasMark _smartshapemeasmark;
200#ifndef DOXYGEN_SHOULD_IGNORE_THIS
202 EXTAG
Tag()
const override {
return __ot_SmartShapeMeasMark; }
203 int DataSizeLoad()
const override {
return sizeof(__EDTSmartShapeMeasMark); }
204 void*
Allocate()
override {
return (
void*) &_smartshapemeasmark; }
212 memcpy(&_smartshapemeasmark, ((
FCSmartShapeMeasureMark*)pSource)->_GetSmartShapeMeasureMark(),
sizeof(_smartshapemeasmark));
222 const char*
ClassName()
const override {
return "FCSmartShapeMeasureMark"; }
225#ifndef DOXYGEN_SHOULD_IGNORE_THIS
232 void* _GetSmartShapeMeasureMark() {
return Allocate(); }
284#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
286 luabridge::RefCountedPtr<FCSmartShape> CreateSmartShape_GC(
bool load_center_shapes =
true)
290#ifdef PDK_FRAMEWORK_DEBUG
300#ifdef PDK_FRAMEWORK_ENTRIES
312#ifndef DOXYGEN_SHOULD_IGNORE_THIS
313 __EDTSmartShapeEntryMark _smartshapeentrymark;
316#ifndef DOXYGEN_SHOULD_IGNORE_THIS
318 EXTAG
Tag()
const override {
return __dt_SmartShapeEntryMark; }
319 int DataSizeLoad()
const override {
return sizeof(__EDTSmartShapeEntryMark); }
320 void*
Allocate()
override {
return (
void*) &_smartshapeentrymark; }
328 memcpy(&_smartshapeentrymark, ((
FCSmartShapeEntryMark*)pSource)->_GetSmartShapeEntryMark(),
sizeof(_smartshapeentrymark));
338 const char*
ClassName()
const override {
return "FCSmartShapeEntryMark"; }
341#ifndef DOXYGEN_SHOULD_IGNORE_THIS
348 void* _GetSmartShapeEntryMark() {
return Allocate(); }
358 memset(&_smartshapeentrymark, 0,
sizeof(_smartshapeentrymark));
371#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
373 luabridge::RefCountedPtr<FCSmartShape> CreateSmartShape_GC(
bool load_center_shapes)
401#ifndef DOXYGEN_SHOULD_IGNORE_THIS
406 void _SetEntryFlag(
FCNoteEntry* pNoteEntry,
bool state)
override
412#ifdef PDK_FRAMEWORK_DEBUG
427#ifndef DOXYGEN_SHOULD_IGNORE_THIS
428 __EDTCenterShape _centershape;
431#ifndef DOXYGEN_SHOULD_IGNORE_THIS
433 EXTAG
Tag()
const override {
return __dt_CenterShape; }
434 int DataSizeLoad()
const override {
return sizeof(__EDTCenterShape); }
435 void*
Allocate()
override {
return (
void*) &_centershape; }
443 memcpy(&_centershape, ((
FCCenterSmartShape*)pSource)->_GetCenterSmartShape(),
sizeof(_centershape));
453 const char*
ClassName()
const override {
return "FCCenterSmartShape"; }
456#ifndef DOXYGEN_SHOULD_IGNORE_THIS
463 void* _GetCenterSmartShape() {
return Allocate(); }
475#ifdef PDK_FRAMEWORK_DEBUG
497 __SSTERMSEG* _pSegment;
499 bool _isleftsidesegment;
501 const char*
ClassName()
const override {
return "FCSmartShapeSegment"; }
507 _pRealObject = pReference;
508 _isleftsidesegment = leftsidesegment;
516 twobyte
GetStaff()
const {
return _pSegment->endPt.inst; }
607 void SetStaff(twobyte staff) { _pSegment->endPt.inst = staff; }
615 _pSegment->endPt.meas = measureno;
627 void SetMeasurePos(TimeEdu32 edupos) { _pSegment->endPt.attachment.edu = edupos; }
648 _pSegment->endPtAdj.offset.y = value;
694 void SetEntryNumber(ENTNUM value) { _pSegment->endPt.attachment.entryNum = value; }
696#ifdef PDK_FRAMEWORK_ENTRIES
712 _pSegment->endPt.SetEntryNum(0);
729 _pSegment->endPtAdj.flag = rightside ? 0x400c : 0x400d;
742#ifdef PDK_FRAMEWORK_DEBUG
759 __SSCTLPTADJ* _pCtrlPointAdjust;
762 const char*
ClassName()
const override {
return "FCSmartShapeCtrlPointAdjust"; }
767 _pCtrlPointAdjust = pCtrlPointAdj;
768 _pRealObject = pReference;
816 _pCtrlPointAdjust->controlPoint1.x = value;
825 _pCtrlPointAdjust->controlPoint1.y = value;
836 _pCtrlPointAdjust->controlPoint2.x = value;
845 _pCtrlPointAdjust->controlPoint2.y = value;
919 memset(_pCtrlPointAdjust, 0,
sizeof(__SSCTLPTADJ));
922#ifdef PDK_FRAMEWORK_DEBUG
930 DebugOutHex(
"Flag (hex): ", _pCtrlPointAdjust->flag);
960#ifndef DOXYGEN_SHOULD_IGNORE_THIS
961 __EDTSmartShape _smartshape;
967#ifdef PDK_FRAMEWORK_ENTRIES
968 bool _RawRelink()
override;
973#ifndef DOXYGEN_SHOULD_IGNORE_THIS
975 EXTAG
Tag()
const override {
return __ot_SmartShape; }
976 int DataSizeLoad()
const override {
return sizeof(__EDTSmartShape); }
977 void*
Allocate()
override {
return (
void*) &_smartshape; }
985 memcpy(&_smartshape, ((
FCSmartShape*)pSource)->_GetSmartShape(),
sizeof(_smartshape));
1006 SMARTSHAPE_SLURUP = 1,
1157 const char*
ClassName()
const override {
return "FCSmartShape"; }
1160#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1167 void* _GetSmartShape() {
return Allocate(); }
1176 _pTerminateSegmentLeft = NULL;
1177 _pTerminateSegmentRight = NULL;
1178 _pCtrlPointAdjust = NULL;
1181 _smartshape.shapeType = 0;
1182 _smartshape.flag = __SS_PUSHENDSTART;
1183 _smartshape.ssLineStyleID = 0;
1184 _smartshape.flag2 = 0;
1192 delete _pTerminateSegmentLeft;
1193 delete _pTerminateSegmentRight;
1194 delete _pCtrlPointAdjust;
1241#ifdef PDK_FRAMEWORK_ENTRIES
1251#ifdef PDK_FRAMEWORK_ENTRIES
1266#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1293 return GetBitFlag(_smartshape.flag, __SS_PRESETSHAPE);
1305 if (!_pTerminateSegmentLeft)
1307 return _pTerminateSegmentLeft;
1319 if (!_pTerminateSegmentRight)
1321 return _pTerminateSegmentRight;
1330 if (!_pCtrlPointAdjust)
1332 return _pCtrlPointAdjust;
1360 twobyte
GetLineID()
const {
return _smartshape.ssLineStyleID; }
1368#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1389#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1409#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1414 shapevalue) { _smartshape.shapeType = shapevalue; }
1422 Set32BitFlag(&_smartshape.flag, __SS_PRESETSHAPE, value);
1429 void SetLineID(twobyte identifier) { _smartshape.ssLineStyleID = identifier; }
1470 Set32BitFlag(&_smartshape.flag, __SS_PRESETSHAPE,
true);
1471 Set32BitFlag(&_smartshape.flag, __SS_PUSHENDSTART,
true);
1474 Set32BitFlag(&_smartshape.flag, __SS_LYRICBASED,
false);
1501 Set32BitFlag(&_smartshape.flag, __SS_PRESETSHAPE, presetshape);
1502 Set32BitFlag(&_smartshape.flag, __SS_PUSHENDSTART,
true);
1505 Set32BitFlag(&_smartshape.flag, __SS_LYRICBASED,
false);
1552#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1584#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1641 case SMARTSHAPE_SLURUP:
1695 case SMARTSHAPE_SLURUP:
1720 case SMARTSHAPE_SLURUP:
1757#if FXT_VERSION >= FINALEVERSION_25
1813#ifdef PDK_FRAMEWORK_ENTRIES
1836#ifdef PDK_FRAMEWORK_ENTRIES
1850#ifdef PDK_FRAMEWORK_DEBUG
1857 DebugOut(
"= Terminate segment 1 =");
1861 DebugOut(
"= Terminate segment 2 =");
1870 DebugOut(
"= Center Smart Shapes =");
1897 TEXTREF_LEFTSTART = 0,
1898 TEXTREF_LEFTCONTINUATION,
1901 TEXTREF_CENTERABBREVIATED
1904#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1906 EDTCustomLineDefinition _customsmartlinedef;
1907 EDTCustomLineDefinition2012 _customsmartlinedef2012;
1908 bool _use2012version;
1912 EXTAG
Tag()
const override
1914 if (_use2012version)
1915 return ot_CustomLineDefinition2012;
1917 return ot_CustomLineDefinition;
1920 return _use2012version ?
sizeof(_customsmartlinedef2012) : sizeof(_customsmartlinedef);
1922 void*
Allocate()
override {
return _GetCustomSmartLineDef(); }
1923 EVERSION
EnigmaVersion()
const override {
return _use2012version ? FINALEVERSION_2012 : FINALEVERSION_2010; }
1940 void _SetRawStringNumber
1942#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1947 reference, twobyte value)
1949 twobyte* pRawtextnumber = NULL;
1952 case TEXTREF_LEFTSTART:
1953 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.leftStartTextID : &_customsmartlinedef.leftStartTextID;
1955 case TEXTREF_LEFTCONTINUATION:
1956 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.leftContTextID : &_customsmartlinedef.leftContTextID;
1958 case TEXTREF_RIGHTEND:
1959 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.rightEndTextID : &_customsmartlinedef.rightEndTextID;
1961 case TEXTREF_CENTERFULL:
1962 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.centerFullTextID : &_customsmartlinedef.centerFullTextID;
1964 case TEXTREF_CENTERABBREVIATED:
1965 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.centerAbbrTextID : &_customsmartlinedef.centerAbbrTextID;
1968 if (pRawtextnumber) *pRawtextnumber = value;
1975 const char*
ClassName()
const override {
return "FCCustomSmartLineDef"; }
1978#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1985 void* _GetCustomSmartLineDef() {
return _use2012version ? (
void*) &_customsmartlinedef2012 : (void*) &_customsmartlinedef; }
2012#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2019 twobyte rawtextnumber = 0;
2022 case TEXTREF_LEFTSTART:
2023 rawtextnumber = _use2012version ? _customsmartlinedef2012.leftStartTextID : _customsmartlinedef.leftStartTextID;
2025 case TEXTREF_LEFTCONTINUATION:
2026 rawtextnumber = _use2012version ? _customsmartlinedef2012.leftContTextID : _customsmartlinedef.leftContTextID;
2028 case TEXTREF_RIGHTEND:
2029 rawtextnumber = _use2012version ? _customsmartlinedef2012.rightEndTextID : _customsmartlinedef.rightEndTextID;
2031 case TEXTREF_CENTERFULL:
2032 rawtextnumber = _use2012version ? _customsmartlinedef2012.centerFullTextID : _customsmartlinedef.centerFullTextID;
2034 case TEXTREF_CENTERABBREVIATED:
2035 rawtextnumber = _use2012version ? _customsmartlinedef2012.centerAbbrTextID : _customsmartlinedef.centerAbbrTextID;
2038 return rawtextnumber;
2051#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2058 twobyte position = 0;
2061 case TEXTREF_LEFTSTART:
2062 position = _use2012version ? _customsmartlinedef2012.leftStartTextHoriz : _customsmartlinedef.leftStartTextHoriz;
2064 case TEXTREF_LEFTCONTINUATION:
2065 position = _use2012version ? _customsmartlinedef2012.leftContTextHoriz : _customsmartlinedef.leftContTextHoriz;
2067 case TEXTREF_RIGHTEND:
2068 position = _use2012version ? _customsmartlinedef2012.rightEndTextHoriz : _customsmartlinedef.rightEndTextHoriz;
2070 case TEXTREF_CENTERFULL:
2071 position = _use2012version ? _customsmartlinedef2012.centerFullTextHoriz : _customsmartlinedef.centerFullTextHoriz;
2073 case TEXTREF_CENTERABBREVIATED:
2074 position = _use2012version ? _customsmartlinedef2012.centerAbbrTextHoriz : _customsmartlinedef.centerAbbrTextHoriz;
2091#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2098 twobyte position = 0;
2101 case TEXTREF_LEFTSTART:
2102 position = _use2012version ? _customsmartlinedef2012.leftStartTextVert : _customsmartlinedef.leftStartTextVert;
2104 case TEXTREF_LEFTCONTINUATION:
2105 position = _use2012version ? _customsmartlinedef2012.leftContTextVert : _customsmartlinedef.leftContTextVert;
2107 case TEXTREF_RIGHTEND:
2108 position = _use2012version ? _customsmartlinedef2012.rightEndTextVert : _customsmartlinedef.rightEndTextVert;
2110 case TEXTREF_CENTERFULL:
2111 position = _use2012version ? _customsmartlinedef2012.centerFullTextVert : _customsmartlinedef.centerFullTextVert;
2113 case TEXTREF_CENTERABBREVIATED:
2114 position = _use2012version ? _customsmartlinedef2012.centerAbbrTextVert : _customsmartlinedef.centerAbbrTextVert;
2131#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2139 Evpu16* pPosition = NULL;
2142 case TEXTREF_LEFTSTART:
2143 pPosition = _use2012version ? &_customsmartlinedef2012.leftStartTextHoriz : &_customsmartlinedef.leftStartTextHoriz;
2145 case TEXTREF_LEFTCONTINUATION:
2146 pPosition = _use2012version ? &_customsmartlinedef2012.leftContTextHoriz : &_customsmartlinedef.leftContTextHoriz;
2148 case TEXTREF_RIGHTEND:
2149 pPosition = _use2012version ? &_customsmartlinedef2012.rightEndTextHoriz : &_customsmartlinedef.rightEndTextHoriz;
2151 case TEXTREF_CENTERFULL:
2152 pPosition = _use2012version ? &_customsmartlinedef2012.centerFullTextHoriz : &_customsmartlinedef.centerFullTextHoriz;
2154 case TEXTREF_CENTERABBREVIATED:
2155 pPosition = _use2012version ? &_customsmartlinedef2012.centerAbbrTextHoriz : &_customsmartlinedef.centerAbbrTextHoriz;
2158 if (pPosition) *pPosition = position;
2171#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2179 Evpu16* pPosition = NULL;
2182 case TEXTREF_LEFTSTART:
2183 pPosition = _use2012version ? &_customsmartlinedef2012.leftStartTextVert : &_customsmartlinedef.leftStartTextVert;
2185 case TEXTREF_LEFTCONTINUATION:
2186 pPosition = _use2012version ? &_customsmartlinedef2012.leftContTextVert : &_customsmartlinedef.leftContTextVert;
2188 case TEXTREF_RIGHTEND:
2189 pPosition = _use2012version ? &_customsmartlinedef2012.rightEndTextVert : &_customsmartlinedef.rightEndTextVert;
2191 case TEXTREF_CENTERFULL:
2192 pPosition = _use2012version ? &_customsmartlinedef2012.centerFullTextVert : &_customsmartlinedef.centerFullTextVert;
2194 case TEXTREF_CENTERABBREVIATED:
2195 pPosition = _use2012version ? &_customsmartlinedef2012.centerAbbrTextVert : &_customsmartlinedef.centerAbbrTextVert;
2198 if (pPosition) *pPosition = position;
2208 return _use2012version ? _customsmartlinedef2012.linetype : _customsmartlinedef.linetype;
2219 case CUSTOMLINE_SOLID:
2220 return _use2012version ? _customsmartlinedef2012.linedata.solid.lineWidth : _customsmartlinedef.linetypeinfo;
2221 case CUSTOMLINE_DASHED:
2222 return _use2012version ? _customsmartlinedef2012.linedata.dashed.lineWidth : _customsmartlinedef.linetypeinfo;
2236 return _use2012version ? _customsmartlinedef2012.endpointstylestart : _customsmartlinedef.endpointstylestart;
2248 return _use2012version ? _customsmartlinedef2012.endpointstyleend : _customsmartlinedef.endpointstyleend;
2261 return _use2012version ? _customsmartlinedef2012.startPointData : _customsmartlinedef.startarrowdataLo;
2274 return _use2012version ? _customsmartlinedef2012.endPointData : _customsmartlinedef.endarrowdataLo;
2286 return _use2012version ? _customsmartlinedef2012.linedata.character.lineChar : _customsmartlinedef.linetypeinfo;
2299#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2307 if (!rawtextnumber)
return NULL;
2310 if (!rawtext.
Load(rawtextnumber))
return NULL;
2314#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
2316 luabridge::RefCountedPtr<FCString> CreateTextString_GC(
int reference)
2331#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2339 if (!rawtextnumber)
return false;
2343 return rawtext.
SaveAs(rawtextnumber);
2357#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2364 if (!pString)
return false;
2370 _SetRawStringNumber(reference, rawtext.
GetItemNo());
2384 if (_use2012version)
2386 return _customsmartlinedef2012.linedata.character.baselineShiftEMs;
2401 if (_use2012version)
2403 _customsmartlinedef2012.linedata.character.baselineShiftEMs = baseline;
2417 if (!pFontInfo)
return;
2419 if (_use2012version)
2421 pFontInfo->
SetNameByID(_customsmartlinedef2012.linedata.character.font);
2422 pFontInfo->
SetSize(_customsmartlinedef2012.linedata.character.size);
2423 pFontInfo->
SetEnigmaStyles(_customsmartlinedef2012.linedata.character.efx);
2427 pFontInfo->
SetNameByID(_customsmartlinedef.fontID_length);
2428 pFontInfo->
SetSize(_customsmartlinedef.fontsize_space);
2439 if (!pFontInfo)
return;
2441 if (_use2012version)
2443 _customsmartlinedef2012.linedata.character.font = pFontInfo->
GetIDByName();
2444 _customsmartlinedef2012.linedata.character.size = pFontInfo->
GetSize();
2445 _customsmartlinedef2012.linedata.character.efx = pFontInfo->
GetEnigmaStyles();
2449 _customsmartlinedef.fontID_length = pFontInfo->
GetIDByName();
2450 _customsmartlinedef.fontsize_space = pFontInfo->
GetSize();
2461 if (_use2012version)
2462 return GetBitFlag(_customsmartlinedef2012.flag, SL_HORIZONTAL);
2464 return GetBitFlag(_customsmartlinedef.efx, SL_HORIZONTAL);
2473 if (_use2012version)
2474 Set16BitFlag(&_customsmartlinedef2012.flag, SL_HORIZONTAL, state);
2476 Set16BitFlag(&_customsmartlinedef.efx, SL_HORIZONTAL, state);
2485 if (_use2012version)
2486 return GetBitFlag(_customsmartlinedef2012.flag, SL_LINEADJUST_STARTHORIZ);
2488 return GetBitFlag(_customsmartlinedef.efx, SL_LINEADJUST_STARTHORIZ);
2497 if (_use2012version)
2498 Set16BitFlag(&_customsmartlinedef2012.flag, SL_LINEADJUST_STARTHORIZ, state);
2500 Set16BitFlag(&_customsmartlinedef.efx, SL_LINEADJUST_STARTHORIZ, state);
2511 return _use2012version ? _customsmartlinedef2012.lineadjustStartHoriz : _customsmartlinedef.lineadjustStartHoriz;
2523 if (_use2012version)
2524 _customsmartlinedef2012.lineadjustStartHoriz = value;
2526 _customsmartlinedef.lineadjustStartHoriz = value;
2535 if (_use2012version)
2536 return GetBitFlag(_customsmartlinedef2012.flag, SL_LINEADJUST_ENDHORIZ);
2538 return GetBitFlag(_customsmartlinedef.efx, SL_LINEADJUST_ENDHORIZ);
2547 if (_use2012version)
2548 Set16BitFlag(&_customsmartlinedef2012.flag, SL_LINEADJUST_ENDHORIZ, state);
2550 Set16BitFlag(&_customsmartlinedef.efx, SL_LINEADJUST_ENDHORIZ, state);
2561 return _use2012version ? _customsmartlinedef2012.lineadjustEndHoriz : _customsmartlinedef.lineadjustEndHoriz;
2573 if (_use2012version)
2574 _customsmartlinedef2012.lineadjustEndHoriz = value;
2576 _customsmartlinedef.lineadjustEndHoriz = value;
2585 if (_use2012version)
2586 return GetBitFlag(_customsmartlinedef2012.flag, SL_LINEADJUST_CONTHORIZ);
2588 return GetBitFlag(_customsmartlinedef.efx, SL_LINEADJUST_CONTHORIZ);
2597 if (_use2012version)
2598 Set16BitFlag(&_customsmartlinedef2012.flag, SL_LINEADJUST_CONTHORIZ, state);
2600 Set16BitFlag(&_customsmartlinedef.efx, SL_LINEADJUST_CONTHORIZ, state);
2611 return _use2012version ? _customsmartlinedef2012.lineadjustContinueHoriz : _customsmartlinedef.lineadjustContinueHoriz;
2623 if (_use2012version)
2624 _customsmartlinedef2012.lineadjustContinueHoriz = value;
2626 _customsmartlinedef.lineadjustContinueHoriz = value;
2636 return _use2012version ? _customsmartlinedef2012.lineadjustStartVert : _customsmartlinedef.lineadjustStartVert;
2646 if (_use2012version)
2648 _customsmartlinedef2012.lineadjustStartVert = value;
2649 _customsmartlinedef2012.lineadjustEndVert = value;
2653 _customsmartlinedef.lineadjustStartVert = value;
2654 _customsmartlinedef.lineadjustEndVert = value;
2667 case CUSTOMLINE_SOLID:
2668 case CUSTOMLINE_DASHED:
2669 case CUSTOMLINE_CHARACTER:
2674 if (_use2012version)
2675 _customsmartlinedef2012.linetype = value;
2677 _customsmartlinedef.linetype = value;
2689 case CUSTOMLINE_SOLID:
2690 if (_use2012version)
2691 _customsmartlinedef2012.linedata.solid.lineWidth = value;
2693 _customsmartlinedef.linetypeinfo = value;
2695 case CUSTOMLINE_DASHED:
2696 if (_use2012version)
2697 _customsmartlinedef2012.linedata.dashed.lineWidth = value;
2699 _customsmartlinedef.linetypeinfo = value;
2713 if (_use2012version)
2714 return _customsmartlinedef2012.linedata.dashed.dashOn;
2732 if (_use2012version)
2733 _customsmartlinedef2012.linedata.dashed.dashOn = value;
2749 if (_use2012version)
2750 return _customsmartlinedef2012.linedata.dashed.dashOff;
2767 if (_use2012version)
2768 _customsmartlinedef2012.linedata.dashed.dashOff = value;
2785 case CLENDPOINT_NONE:
2786 case CLENDPOINT_PRESET:
2787 case CLENDPOINT_CUSTOM:
2788 case CLENDPOINT_HOOK:
2794 if (_use2012version)
2795 _customsmartlinedef2012.endpointstylestart = value;
2797 _customsmartlinedef.endpointstylestart = value;
2809 if (_use2012version)
2810 _customsmartlinedef2012.startPointData = shapeID;
2812 _customsmartlinedef.startarrowdataLo = shapeID;
2826 case CLENDPOINT_NONE:
2827 case CLENDPOINT_PRESET:
2828 case CLENDPOINT_CUSTOM:
2829 case CLENDPOINT_HOOK:
2834 if (_use2012version)
2835 _customsmartlinedef2012.endpointstyleend = value;
2837 _customsmartlinedef.endpointstyleend = value;
2849 if (_use2012version)
2850 return _customsmartlinedef2012.startPointData;
2867 if (_use2012version)
2868 _customsmartlinedef2012.startPointData = value;
2884 if (_use2012version)
2885 return _customsmartlinedef2012.endPointData;
2901 if (_use2012version)
2902 _customsmartlinedef2012.endPointData = value;
2918 if (_use2012version)
2919 _customsmartlinedef2012.endPointData = shapeID;
2921 _customsmartlinedef.endarrowdataLo = shapeID;
2935 if (_use2012version)
2936 _customsmartlinedef2012.linedata.character.lineChar = character;
2938 _customsmartlinedef.linetypeinfo = character;
2941#ifdef PDK_FRAMEWORK_DEBUG
2966#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2976 const char*
ClassName()
const override {
return "FCSmartShapeMeasureMarks"; }
3005 for (
int i = 0; i <
GetCount() - 1; i++)
3147 for (
int i = 0; i <
GetCount() - 1; i++)
3150 if (pShapeMark->
GetShapeNumber() == cmperSmartShape)
return pShapeMark;
3163#ifdef PDK_FRAMEWORK_ENTRIES
3173#ifndef DOXYGEN_SHOULD_IGNORE_THIS
3177 const char*
ClassName()
const override {
return "FCSmartShapeEntryMarks"; }
3207#ifndef DOXYGEN_SHOULD_IGNORE_THIS
3217 const char*
ClassName()
const override {
return "FCCustomSmartLineDefs"; }
3237#ifndef DOXYGEN_SHOULD_IGNORE_THIS
3241 const char*
ClassName()
const override {
return "FCSmartShapes"; }
3250 for (
int i = 0; i <
GetCount(); i++)
Base class for all data-related classes (that handles Finale data).
Definition ff_base.h:676
virtual twobyte CalcLastInci()
For internal use only!
Definition ff_base.h:755
virtual __FCBaseData * CreateObject()=0
Creates a new instance of the object.
EDataID _dataid
The EdataID for the last loaded/saved object.
Definition ff_base.h:712
void SetCustomTag(EXTAG tag)
Sets the custom Enigma tag, for classes that support multiple Enigma tags.
Definition ff_base.h:882
void * _datablock
Pointer to the object's data block, the meaning is implementation-specific for each derived subclass.
Definition ff_base.h:695
virtual EVERSION EnigmaVersion() const
The Enigma version for save/load/create/delete operations.
Definition ff_base.h:812
virtual int DataSizeLoad() const =0
Returns the data size for the data structure that should be loaded.
virtual EXTAG Tag() const =0
The Enigma tag for the derived class.
virtual void CloneMemoryFrom(__FCBaseData *pSource)
Definition finaleframework.cpp:838
virtual void * Allocate()=0
int _loadedsize
Loaded size of the data block for a loaded object, in bytes. Since the datablock is implementation-sp...
Definition ff_base.h:708
Base class for the Finale Framework classes.
Definition ff_base.h:71
static void DebugOutHex(const char *pszPrefixText, int i)
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in h...
Definition finaleframework.cpp:404
void Set16BitFlag(FLAG_16 *flag, FLAG_16 flagbits, bool state)
Sets a 16 bit flag.
Definition finaleframework.cpp:635
PDKFRAMEWORK_CLASSID
Constants for the GetClassID method.
Definition ff_base.h:84
static void DebugOutInt(const char *pszPrefixText, int i)
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in d...
Definition finaleframework.cpp:335
void Set32BitFlag(FLAG_32 *flag, FLAG_32 flagbits, bool state)
Sets/resets a 32 bit flag, by using a bit mask.
Definition finaleframework.cpp:643
static void DebugOut(const char *pszLine)
Static method to output a line of text for debugging purposes.
Definition finaleframework.cpp:526
bool GetBitFlag(FLAG_32 flag, FLAG_32 flagbits) const
Gets a state from flag bits. Returns true if any bit in the mask is set.
Definition ff_base.h:485
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition finaleframework.cpp:609
Base class specially designed for collections of entry detail classes.
Definition ff_basecollection.h:679
Base class for all collection classes. A collection is a storage that can store multiple objects of s...
Definition ff_basecollection.h:26
bool ClearItemAt(int index)
Deletes the object at the index position and disposes the object. Index is 0-based.
Definition finaleframework.cpp:13791
void ClearAll()
Destroys all the objects in the collection and empties the collection.
Definition ff_basecollection.h:151
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_basecollection.h:334
int GetCount() const
Returns the number of elements of the collection.
Definition ff_basecollection.h:102
__FCBase * GetItemAt(int index) const
Returns the object at the index position. Index is 0-based.
Definition finaleframework.cpp:13767
Base class for "other" data with incis of the __FCInciOther class (where it's common to collect all i...
Definition ff_basecollection.h:754
Base class for "other" data without incis (inci always 0.)
Definition ff_basecollection.h:843
Base class that provides the basic functionality for entry detail data (such as Special Tools modific...
Definition ff_entrydetails.h:27
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_entrydetails.h:186
Base class for "other" (ot_*) data with incis.
Definition ff_other.h:63
Abstract data class that contains a detail record without using the inci.
Definition ff_details.h:30
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_details.h:49
Base class for the "Other" (ot_*) Enigma structures that don't use the inci parameter.
Definition ff_other.h:231
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_other.h:349
Class that contains data that appears in the middle of a long smart shape. This class is normally lin...
Definition ff_smartshapes.h:425
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_smartshapes.h:476
const PDKFRAMEWORK_CLASSID GetClassID() const override
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition ff_smartshapes.h:454
FCCenterSmartShape()
The constructor.
Definition ff_smartshapes.h:467
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:453
The class for a custom smart shape lines.
Definition ff_smartshapes.h:1889
void SetLineCharacterBaselineShift(twobyte baseline)
Sets the vertical adjustment value for characters on a character line. In EMs.
Definition ff_smartshapes.h:2398
bool GetUseAfterStartTextOffset() const
Gets whether the shape line should use the horizontal start "after text" adjustment setting.
Definition ff_smartshapes.h:2483
void SetLineCharacterFontInfo(FCFontInfo *pFontInfo)
Sets the font information for a character line.
Definition ff_smartshapes.h:2437
void SetStartArrowheadShapeID(twobyte shapeID)
Sets the (custom) shape ID for the start arrowhead.
Definition ff_smartshapes.h:2807
Evpu16 GetContinuationLineHorizontalOffset() const
Gets the horizontal continuation line adjustment setting.
Definition ff_smartshapes.h:2609
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:1975
bool DeepDeleteData() override
Overridden version of DeepDeleteData(). It deletes the text strings as well as the data.
Definition finaleframework.cpp:36402
bool SaveNewTextString(TEXT_REFERENCE reference, FCString *pString)
Saves a text string to a new text position block.
Definition ff_smartshapes.h:2356
void SetEndArrowheadStyle(twobyte value)
Returns the style of the end arrowhead.
Definition ff_smartshapes.h:2822
Evpu16 GetStartLineHorizontalOffset() const
Gets the horizontal start line adjustment setting.
Definition ff_smartshapes.h:2509
void SetHorizontalTextPos(TEXT_REFERENCE reference, Evpu16 position)
Sets the horizontal position for one of the attached text blocks.
Definition ff_smartshapes.h:2130
const PDKFRAMEWORK_CLASSID GetClassID() const override
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition ff_smartshapes.h:1976
twobyte GetLineCharacterBaselineShift() const
Returns the vertical adjustment value for characters on a character line. In EMs.
Definition ff_smartshapes.h:2381
Efix16 GetLineDashSpace() const
Returns the line dash length for dashed lines, in EFIXes.
Definition ff_smartshapes.h:2746
void SetEndHookLength(Efix16 value)
Sets the end hook length if the end arrowhead styles has been set to hook. The value is in EFIXes.
Definition ff_smartshapes.h:2898
TEXT_REFERENCE
Constant used to reference the different text positions in this class' methods.
Definition ff_smartshapes.h:1896
void SetLineWidth(Efix16 value)
Sets the line width for solid and dashed lines.
Definition ff_smartshapes.h:2685
twobyte GetLineStyle() const
Returns any of these constants: CUSTOMLINE_SOLID, CUSTOMLINE_DASHED, CUSTOMLINE_CHARACTER.
Definition ff_smartshapes.h:2206
bool GetUseAfterContinuationTextOffset() const
Gets whether the shape line should use the horizontal continuation "after text" adjustment setting.
Definition ff_smartshapes.h:2583
void SetLineDashLength(Efix16 value)
Sets the line dash length for dashed lines, in EFIXes.
Definition ff_smartshapes.h:2729
void SetEndLineHorizontalOffset(Evpu16 value)
Sets the horizontal end line adjustment setting.
Definition ff_smartshapes.h:2571
twobyte GetRawStringNumber(TEXT_REFERENCE reference)
Returns the raw string number for one of the attached text blocks.
Definition ff_smartshapes.h:2011
Evpu16 GetVerticalTextPos(TEXT_REFERENCE reference)
Returns the vertical position for one of the attached text blocks.
Definition ff_smartshapes.h:2090
bool GetHorizontal() const
Returns if the shape should only be allowed to be horizontal or not.
Definition ff_smartshapes.h:2459
twobyte GetEndArrowheadShapeID() const
Returns the (custom) shape ID for the end arrowhead, if a shape is used.
Definition ff_smartshapes.h:2271
twobyte GetStartArrowheadShapeID() const
Returns the (custom) shape ID for the start arrowhead, if a shape is used.
Definition ff_smartshapes.h:2258
void SetLineDashSpace(Efix16 value)
Sets the line dash length for dashed lines, in EFIXes.
Definition ff_smartshapes.h:2764
void SetUseBeforeEndTextOffset(bool state)
Sets if the shape line should use the horizontal end "before text" adjustment setting.
Definition ff_smartshapes.h:2545
Evpu16 GetEndLineHorizontalOffset() const
Gets the horizontal end line adjustment setting.
Definition ff_smartshapes.h:2559
Efix16 GetLineDashLength() const
Returns the line dash length for solid and dashed lines, in EFIXes.
Definition ff_smartshapes.h:2710
bool GetUseBeforeEndTextOffset() const
Gets whether the shape line should use the horizontal end "before text" adjustment setting.
Definition ff_smartshapes.h:2533
void SetHorizontal(bool state)
Sets if the shape should only be allowed to be horizontal or not.
Definition ff_smartshapes.h:2471
void SetLineStyle(twobyte value)
Sets the line style to any of these constants: CUSTOMLINE_SOLID, CUSTOMLINE_DASHED,...
Definition ff_smartshapes.h:2663
FCCustomSmartLineDef()
The constructor. It sets the _use2012version flag.
Definition finaleframework.cpp:36386
void SetStartLineHorizontalOffset(Evpu16 value)
Sets the horizontal start line adjustment setting.
Definition ff_smartshapes.h:2521
void SetStartArrowheadStyle(twobyte value)
Sets the style of the start arrowhead.
Definition ff_smartshapes.h:2781
void SetLineVerticalOffset(Evpu16 value)
Sets the vertical position adjustment for lines.
Definition ff_smartshapes.h:2643
Efix16 GetStartHookLength() const
Returns the start hook length if the end arrowhead styles has been set to hook. The value is in EFIXe...
Definition ff_smartshapes.h:2846
Efix16 GetEndHookLength() const
Sets the end hook length if the end arrowhead styles has been set to hook. The value is in EFIXes.
Definition ff_smartshapes.h:2881
void SetUseAfterStartTextOffset(bool state)
Sets if the shape line should use the horizontal start "after text" adjustment setting.
Definition ff_smartshapes.h:2495
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_smartshapes.h:2942
void SetUseAfterContinuationTextOffset(bool state)
Sets if the shape line should use the horizontal continuation "after text" adjustment setting.
Definition ff_smartshapes.h:2595
Evpu16 GetLineVerticalOffset() const
Gets the vertical position adjustment for lines.
Definition ff_smartshapes.h:2633
twobyte GetEndArrowheadStyle() const
Returns the style of the end arrowhead.
Definition ff_smartshapes.h:2246
void SetStartHookLength(Efix16 value)
Sets the start hook length if the end arrowhead styles has been set to hook. The value is in EFIXes.
Definition ff_smartshapes.h:2864
void GetLineCharacterFontInfo(FCFontInfo *pFontInfo)
Gets the font information for a character line.
Definition ff_smartshapes.h:2415
eUniChar32 GetLineCharacter() const
Returns the character used for character lines.
Definition ff_smartshapes.h:2283
void SetVerticalTextPos(TEXT_REFERENCE reference, Evpu16 position)
Sets the vertical position for one of the attached text blocks.
Definition ff_smartshapes.h:2170
void SetContinuationLineHorizontalOffset(Evpu16 value)
Sets the horizontal continuation line adjustment setting.
Definition ff_smartshapes.h:2621
void SetLineCharacter(eUniChar32 character)
Sets the character used for character lines.
Definition ff_smartshapes.h:2932
void SetEndArrowheadShapeID(twobyte shapeID)
Sets the (custom) shape ID for the end arrowhead.
Definition ff_smartshapes.h:2916
bool SaveTextString(TEXT_REFERENCE reference, FCString *pString)
Resaves a text string to an already existing text position block.
Definition ff_smartshapes.h:2330
FCString * CreateTextString(TEXT_REFERENCE reference)
Creates a text string object of the indicated position text.
Definition ff_smartshapes.h:2298
Efix16 GetLineWidth() const
Returns the line width for solid and dashed lines.
Definition ff_smartshapes.h:2215
twobyte GetStartArrowheadStyle() const
Returns the style of the start arrowhead.
Definition ff_smartshapes.h:2234
Evpu16 GetHorizontalTextPos(TEXT_REFERENCE reference)
Returns the horizontal position for one of the attached text blocks.
Definition ff_smartshapes.h:2050
Collection class for FCCustomSmartLineDef class objects.
Definition ff_smartshapes.h:3205
FCCustomSmartLineDef * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_smartshapes.h:3223
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:3217
FCCustomSmartLineDefs()
The constructor.
Definition ff_smartshapes.h:3215
Class for document-independent font information.
Definition ff_base.h:1138
void SetNameByID(EFONTID id)
Sets the font name by using the document's internal Enigma font ID.
Definition finaleframework.cpp:3650
void SetSize(int fontsize)
Sets the font size as an integer value.
Definition ff_base.h:1546
FLAG_16 GetEnigmaStyles() const
Gets the font style as standard Enigma bit storage.
Definition ff_base.h:1358
int GetSize() const
Returns the font size as an integer number.
Definition ff_base.h:1289
void SetEnigmaStyles(FLAG_16 fontstyles)
Sets the font style as standard Enigma bit storage.
Definition ff_base.h:1469
EFONTID GetIDByName() const
Gets the internal Enigma font ID for the current document by searching for the font name....
Definition finaleframework.cpp:3558
Class that encapsulates EREGION and provides additional functionality to region handling.
Definition ff_region.h:25
Encapsulates a note entry from an owner class (for example FCNoteEntryCell, FCNoteEntryLayer) class.
Definition ff_noteframe.h:940
void SetSmartShapeFlag(bool state)
Sets the flag that marks that a smart shape is attached to the entry.
Definition ff_noteframe.h:1650
ENTNUM GetEntryNumber() const
Returns the internal entry number (ID) for the note entry.
Definition ff_noteframe.h:1319
Simple class for the representation of x, y coordinates.
Definition ff_base.h:4892
The class for raw text objects. All other text classes are based on this class, but it can also be us...
Definition ff_text.h:17
bool Load(twobyte number)
Loads the text with the indicated text number.
Definition finaleframework.cpp:4386
bool SaveNew()
Saves the text at the first empty spot.
Definition finaleframework.cpp:4430
FCString * CreateString() const
Creates a string object with the loaded text. If the string doesn't exist (or if it's empty),...
Definition finaleframework.cpp:4470
bool SaveAs(twobyte number)
Saves the text by a new text number.
Definition finaleframework.cpp:4423
void SetText(const FCString *pString)
Sets the text for the object. (The object needs to be saved to Finale to take effect....
Definition finaleframework.cpp:4437
virtual twobyte GetItemNo() const
Gets the item number for the text.
Definition ff_text.h:216
Helper class for FCSmartShape. This class is only constructed indirectly by the FCSmartShape....
Definition ff_smartshapes.h:758
void SetDefaultHairpinSize()
Helper method to set the hairpin size to it's unmodified gap size.
Definition ff_smartshapes.h:904
FCSmartShapeCtrlPointAdjust(__SSCTLPTADJ *pCtrlPointAdj, FCSmartShape *pReference)
The constructor. Set up by FCSmartShape.
Definition ff_smartshapes.h:765
twobyte GetControlPoint1OffsetY() const
Sets the first vertical control point.
Definition ff_smartshapes.h:784
void SetSlurShapeUnder()
Helper method to mark that the slur shape goes down.
Definition ff_smartshapes.h:878
twobyte GetControlPoint2OffsetX() const
Gets the second horizontal control point.
Definition ff_smartshapes.h:792
void SetCustomShaped(bool flag)
Sets that the shape is custom adjusted, such as if the hairpin should use a custom opening size.
Definition ff_smartshapes.h:853
void SetControlPoint2OffsetX(twobyte value)
Sets the second horizontal control point.
Definition ff_smartshapes.h:834
void SetControlPoint2OffsetY(twobyte value)
Sets the second vertical control point.
Definition ff_smartshapes.h:843
void SetControlPoint1OffsetX(twobyte value)
Sets the first horizontal control point.
Definition ff_smartshapes.h:814
void SetSlurShapeOver()
Helper method to mark that the slur shape goes up.
Definition ff_smartshapes.h:865
void SetDefaultSlurShape()
Helper method to set the slur arc to it's default shape.
Definition ff_smartshapes.h:917
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_smartshapes.h:923
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:762
void SetSlurShapeUndetermined()
Helper method to mark that the slur shape direction is undetermined.
Definition ff_smartshapes.h:891
void SetControlPoint1OffsetY(twobyte value)
Sets the first vertical control point.
Definition ff_smartshapes.h:823
bool GetCustomShaped() const
Returns true if the shape is custom adjusted, for example if a hairpin use a custom opening size.
Definition ff_smartshapes.h:805
twobyte GetControlPoint1OffsetX() const
Gets the first horizontal control point.
Definition ff_smartshapes.h:778
twobyte GetControlPoint2OffsetY() const
Gets the second vertical control point.
Definition ff_smartshapes.h:798
Class for smartshape assignments/connections to an entry.
Definition ff_smartshapes.h:310
void SetShapeNumber(CMPER value)
Sets the connected smart shape number/ID.
Definition ff_smartshapes.h:393
bool CalcRightMark()
Returns true if the mark is the end (right-most) of the smart shape.
Definition finaleframework.cpp:35972
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_smartshapes.h:413
const PDKFRAMEWORK_CLASSID GetClassID() const override
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition ff_smartshapes.h:339
CMPER GetShapeNumber() const
Gets the smart shape number/ID.
Definition ff_smartshapes.h:399
bool CalcLeftMark()
Returns true if the mark is the start (left-most) of the smart shape.
Definition finaleframework.cpp:35962
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:338
FCSmartShapeEntryMark()
The constructor.
Definition ff_smartshapes.h:355
FCSmartShape * CreateSmartShape(bool load_center_shapes)
Creates the full FCSmartShape object based of the smart shape measure mark.
Definition finaleframework.cpp:35944
Collection class for FCSmartShapeEntryMark class objects.
Definition ff_smartshapes.h:3171
FCSmartShapeEntryMark * GetItemAt(int index) const
Overloaded GetItemAt() method.
Definition ff_smartshapes.h:3192
FCSmartShapeEntryMarks(FCNoteEntry *pConnectEntry=NULL)
The constructor.
Definition ff_smartshapes.h:3185
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:3177
A record that represents a smart shape in the score. It is connected to the score through FCSmartShap...
Definition ff_smartshapes.h:958
const PDKFRAMEWORK_CLASSID GetClassID() const override
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition ff_smartshapes.h:1158
bool GetEntryBased() const
Returns true if the smart shape is a note entry-connected shape.
Definition ff_smartshapes.h:1277
bool CalcLyricBased() const
Returns true if the smart shape is a lyric-connected shape. This is dependent on a number of factors....
Definition finaleframework.cpp:36091
bool IsTabSlide()
Returns true if the shape is a tab slide.
Definition ff_smartshapes.h:1776
bool GetPresetShape() const
Returns if the shape is preset or custom.
Definition ff_smartshapes.h:1291
FCSmartShapeCtrlPointAdjust * GetCtrlPointAdjust()
Returns the object that controls the shape of the smart shape.
Definition ff_smartshapes.h:1328
void _ClearCenterShapes()
For internal use.
Definition ff_smartshapes.h:1225
bool GetMakeHorizontal() const
Returns the state of the "make horizontal" flag.
Definition ff_smartshapes.h:1339
SMARTSHAPE_TYPES
The smart shape types.
Definition ff_smartshapes.h:1001
@ SMARTSHAPE_SOLIDLINEDOWNUP
Definition ff_smartshapes.h:1108
@ SMARTSHAPE_SOLIDLINEDOWNLEFT
Definition ff_smartshapes.h:1096
@ SMARTSHAPE_SLURDOWN
Definition ff_smartshapes.h:1003
@ SMARTSHAPE_DASHEDSLURAUTO
Definition ff_smartshapes.h:1129
@ SMARTSHAPE_HYPHEN
Definition ff_smartshapes.h:1117
@ SMARTSHAPE_TWOOCTAVEDOWN
Definition ff_smartshapes.h:1063
@ SMARTSHAPE_SOLIDLINEUPLEFT
Definition ff_smartshapes.h:1093
@ SMARTSHAPE_DASHLINEDOWN
Definition ff_smartshapes.h:1024
@ SMARTSHAPE_TWOOCTAVEUP
Definition ff_smartshapes.h:1066
@ SMARTSHAPE_DASHLINEUPDOWN
Definition ff_smartshapes.h:1111
@ SMARTSHAPE_OCTAVEUP
Definition ff_smartshapes.h:1018
@ SMARTSHAPE_DASHEDSLURDOWN
Definition ff_smartshapes.h:1123
@ SMARTSHAPE_CRESCENDO
Definition ff_smartshapes.h:1012
@ SMARTSHAPE_SLURAUTO
Definition ff_smartshapes.h:1048
@ SMARTSHAPE_DASHCURVEAUTO
Definition ff_smartshapes.h:1051
@ SMARTSHAPE_OCTAVEDOWN
Definition ff_smartshapes.h:1015
@ SMARTSHAPE_WORD_EXT
Definition ff_smartshapes.h:1120
@ SMARTSHAPE_SOLIDLINEUP
Definition ff_smartshapes.h:1042
@ SMARTSHAPE_DASHLINEUPLEFT
Definition ff_smartshapes.h:1099
@ SMARTSHAPE_DASHLINEUP
Definition ff_smartshapes.h:1021
@ SMARTSHAPE_SOLIDLINE
Definition ff_smartshapes.h:1036
@ SMARTSHAPE_CUSTOM
Definition ff_smartshapes.h:1090
@ SMARTSHAPE_DASHLINEDOWNLEFT
Definition ff_smartshapes.h:1102
@ SMARTSHAPE_BEND_CURVE
Definition ff_smartshapes.h:1087
@ SMARTSHAPE_DASHCURVEUP
Definition ff_smartshapes.h:1030
@ SMARTSHAPE_SOLIDLINEUPDOWN
Definition ff_smartshapes.h:1105
@ SMARTSHAPE_DASHLINEDOWN2
Definition ff_smartshapes.h:1069
@ SMARTSHAPE_TABSLIDE
Definition ff_smartshapes.h:1081
@ SMARTSHAPE_DIMINUENDO
Definition ff_smartshapes.h:1009
@ SMARTSHAPE_DASHLINEUP2
Definition ff_smartshapes.h:1072
@ SMARTSHAPE_TRILL
Definition ff_smartshapes.h:1045
@ SMARTSHAPE_DASHEDSLURUP
Definition ff_smartshapes.h:1126
@ SMARTSHAPE_TRILLEXT
Definition ff_smartshapes.h:1054
@ SMARTSHAPE_SOLIDLINEDOWN2
Definition ff_smartshapes.h:1057
@ SMARTSHAPE_SOLIDLINEUP2
Definition ff_smartshapes.h:1060
@ SMARTSHAPE_SOLIDLINEDOWN
Definition ff_smartshapes.h:1039
@ SMARTSHAPE_DASHLINE
Definition ff_smartshapes.h:1033
@ SMARTSHAPE_GLISSANDO
Definition ff_smartshapes.h:1075
@ SMARTSHAPE_BEND_HAT
Definition ff_smartshapes.h:1084
@ SMARTSHAPE_DASHLINEDOWNUP
Definition ff_smartshapes.h:1114
@ SMARTSHAPE_DASHCURVEDOWN
Definition ff_smartshapes.h:1027
bool IsOverSlur()
Returns true if the smart shape is an "over" slur (solid or dashed).
Definition ff_smartshapes.h:1637
bool CalcLeftCellMetricPos(FCPoint *pPoint)
Calculates the left-side metrics position for measure-attached smart shape.
Definition finaleframework.cpp:36122
bool SaveNewEverything(FCNoteEntry *pFirstEntry=NULL, FCNoteEntry *pLastEntry=NULL)
Saves all structures required for smart shapes.
Definition finaleframework.cpp:36285
bool IsSolidSlur()
Returns true if the smart shape is a solid (non-dashed) slur.
Definition ff_smartshapes.h:1715
void SetMakeHorizontal(bool state)
Sets the state of the "make horizontal" flag.
Definition ff_smartshapes.h:1435
bool IsWithinRegion(FCMusicRegion *pRegion)
Returns true if the full smart shape is within the region (both vertically and horizontally....
Definition finaleframework.cpp:36200
void SetSlurFlags(bool entrybased)
Configures the basic smart shape flags required for a slur.
Definition ff_smartshapes.h:1466
void SetMaintainAngle(bool state)
Sets the flag that determines how the how the y value is interpreted on SmartShape system breaks.
Definition ff_smartshapes.h:1444
bool IsAutoSlur()
Returns true if the smart shape is an "auto" slur (solid or dashed).
Definition ff_smartshapes.h:1620
bool CalcRightCellMetricPos(FCPoint *pPoint)
Calculates the right-side metrics position for measure-attached smart shape.
Definition finaleframework.cpp:36135
void SetEntryAttachedFlags(bool presetshape)
Configures the smart shape as an entry-attached shape.
Definition ff_smartshapes.h:1497
void SetMeasureAttachedFlags(bool presetshape, bool makehorizontal)
Configures the smart shape flags as a measure-attached shape.
Definition finaleframework.cpp:36075
SMARTSHAPE_3STATE
An enum used for the methods that need a 3-state auto/on/off. Currently used by the GetAvoidAccidenta...
Definition ff_smartshapes.h:1146
@ SS_AUTOSTATE
Definition ff_smartshapes.h:1154
@ SS_OFFSTATE
Definition ff_smartshapes.h:1148
@ SS_ONSTATE
Definition ff_smartshapes.h:1151
void SetBeatAttached(bool state)
On Finale 2014 and above, it will define if the end points should be beat-attached....
Definition finaleframework.cpp:36104
void SetLineID(twobyte identifier)
Returns the line style ID for custom smart shape lines.
Definition ff_smartshapes.h:1429
bool SaveNew() override
Overridden version of the creation of smart shapes, since the smart shape data has special requiremen...
Definition finaleframework.cpp:36276
FCSmartShapeSegment * GetTerminateSegmentLeft()
Returns the object pointer for the terminating left-side end segment.
Definition ff_smartshapes.h:1303
FCSmartShape()
The constructor.
Definition ff_smartshapes.h:1174
void SetEngraverSlur(SMARTSHAPE_3STATE state)
Sets the engraver slur setting to any of the auto/on/off states.
Definition ff_smartshapes.h:1551
void SetVisible(bool visible)
Sets the visibility state of the smart shape.
Definition ff_smartshapes.h:1450
bool GetBeatAttached() const
On Finale 2014 and above, returns if the end points are beat-attached or not.
Definition finaleframework.cpp:36113
void SetHairpinFlags()
Configures the basic smart shape flags required for a hairpin.
Definition ff_smartshapes.h:1486
void SetShapeType(SMARTSHAPE_TYPES shapevalue)
Sets the smart shape style.
Definition ff_smartshapes.h:1408
bool GetVisible() const
Returns the visibility state of the smart shape.
Definition ff_smartshapes.h:1354
twobyte _GetRightSideNoteID() const
Definition ff_smartshapes.h:1207
void _SetRightSideNoteID(twobyte noteID)
Definition ff_smartshapes.h:1219
bool IsUnderSlur()
Returns true if the smart shape is an "under" slur (solid or dashed).
Definition ff_smartshapes.h:1654
twobyte _GetLeftSideNoteID() const
Definition ff_smartshapes.h:1201
bool CalcRightEntryMetricPos(FCNoteEntry *pEntry, FCPoint *pPoint)
Calculates the right-side metrics position for a note-attached smart shape.
Definition finaleframework.cpp:36164
bool GetMaintainAngle() const
Returns the flag that determines how the how the y value is interpreted on SmartShape system breaks.
Definition ff_smartshapes.h:1348
bool IsCustomLine()
Returns true if the shape is a smartshape created with the Custom Line Tool.
Definition ff_smartshapes.h:1795
SMARTSHAPE_TYPES GetShapeType() const
Returns the smart shape style (any of the SMARTSHAPE_TYPES constants).
Definition ff_smartshapes.h:1271
void SetEntryBased(bool value)
Sets if the smart shape is a note entry-connected shape or not.
Definition ff_smartshapes.h:1456
void DeleteEverything()
Deletes the internal smartshape data, the center shapes and the smartshape marks.
Definition finaleframework.cpp:36212
bool IsEntryBased()
Returns true if the smart shape is entry-based.
Definition ff_smartshapes.h:1804
SMARTSHAPE_3STATE GetAvoidAccidentals() const
Gets the 'avoid accidentals' setting to any of the auto/on/off states.
Definition ff_smartshapes.h:1394
void AssignToStaff(int newstaff)
Assigns the end points of a smart shape to a staff.
Definition finaleframework.cpp:36270
void _LoadCenterShapes()
For internal use. Called by FCSmartShapeMeasureMark::CreateSmartShape.
Definition finaleframework.cpp:36178
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:1157
void SetAvoidAccidentals(SMARTSHAPE_3STATE state)
Sets the 'avoid accidentals' setting to any of the auto/on/off states.
Definition ff_smartshapes.h:1583
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_smartshapes.h:1851
SMARTSHAPE_3STATE GetEngraverSlur() const
Returns the engraver slur state for the slur.
Definition ff_smartshapes.h:1373
bool IsTwoHooks()
Returns true if the smart shape is an predefined line with hooks on both left and right sides (solid ...
Definition ff_smartshapes.h:1672
void SetPresetShape(bool value)
Returns if the shape is preset or custom.
Definition ff_smartshapes.h:1420
bool IsSlur()
Returns true if the smart shape is a slur (solid or dashed).
Definition ff_smartshapes.h:1690
bool IsDashedSlur()
Returns true if the smart shape is a dashed slur (introduced in Finale 25).
Definition ff_smartshapes.h:1755
bool IsDashedCurve()
Returns true if the smart shape is a dashed curve. (This does not include the new dashed slur type in...
Definition ff_smartshapes.h:1735
bool IsHairpin()
Returns true if the smart shape is a hairpin.
Definition ff_smartshapes.h:1613
bool IsGlissando()
Returns true if the shape is a glissando.
Definition ff_smartshapes.h:1785
FCSmartShapeSegment * GetTerminateSegmentRight()
Returns the object pointer for the terminating right-side end segment.
Definition ff_smartshapes.h:1317
bool CalcLeftEntryMetricPos(FCNoteEntry *pEntry, FCPoint *pPoint)
Calculates the left-side metrics position for a note-attached smart shape.
Definition finaleframework.cpp:36149
void _SetLeftSideNoteID(twobyte noteID)
Definition ff_smartshapes.h:1213
twobyte GetLineID() const
Returns the line style ID for custom smart shapes.
Definition ff_smartshapes.h:1360
Class for smartshape assignments to a measure.
Definition ff_smartshapes.h:194
CMPER _GetCenterShapeNumber()
Returns the CMPER for the middle measures of a smart shape. This method is normally not used directly...
Definition ff_smartshapes.h:263
const PDKFRAMEWORK_CLASSID GetClassID() const override
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition ff_smartshapes.h:223
CMPER GetShapeNumber() const
Gets the smart shape number.
Definition ff_smartshapes.h:259
void _SetCenterShapeNumber(CMPER value)
This method is normally not used directly.
Definition ff_smartshapes.h:253
twobyte GetMeasure() const override
Returns the attached measure.
Definition ff_smartshapes.h:269
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:222
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_smartshapes.h:291
FCSmartShapeMeasureMark()
The constructor.
Definition ff_smartshapes.h:239
void SetShapeNumber(CMPER value)
Sets the shape number.
Definition ff_smartshapes.h:250
FCSmartShape * CreateSmartShape(bool load_center_shapes=true)
Creates a full smart shape object, including the middle sections.
Definition finaleframework.cpp:36012
Collection class for FCSmartShapeMeasureMark class objects.
Definition ff_smartshapes.h:2964
void KeepSlursOnly()
Keeps only the slurs in the collection.
Definition ff_smartshapes.h:3029
void KeepHairpinsOnly()
Keeps only the hairpins in the collection.
Definition ff_smartshapes.h:3053
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:2976
void KeepSystemStavesOnly(FCSystemStaves *pSystemStaves)
Keeps only the smartshapes within the supplied system staves.
Definition ff_smartshapes.h:3094
FCSmartShapeMeasureMarks()
The constructor.
Definition ff_smartshapes.h:2974
void RemoveDuplicateReferences()
Removes any duplicate measure marks that reference the same smartshape.
Definition ff_smartshapes.h:3003
void KeepStaffOnly(twobyte staffno)
Keeps only the smartshapes that are referenced within one specific staff.
Definition ff_smartshapes.h:3120
int LoadAllForRegion(FCMusicRegion *pRegion, bool removeduplicates=true)
Load all smart shape measure marks that are within the region (both start and end points).
Definition finaleframework.cpp:36046
int LoadAll() override
Overloaded method that loads the smart shapes measure marks for the whole document.
Definition finaleframework.cpp:36032
FCSmartShapeMeasureMark * FindSmartShapeMarkByID(CMPER cmperSmartShape)
Returns the smart shape mark that references the smart shape ID.
Definition ff_smartshapes.h:3145
void KeepCustomLinesOnly()
Keeps only the custom lines in the collection.
Definition ff_smartshapes.h:3074
FCSmartShapeMeasureMark * GetItemAt(int index) const
Overloaded GetItemAt() method.
Definition ff_smartshapes.h:3159
Helper class for FCSmartShape, controlling the end points of a smart shape. This class is only constr...
Definition ff_smartshapes.h:496
twobyte GetEndpointOffsetX() const
Returns the horizontal offset compared to the measure attachment position.
Definition ff_smartshapes.h:558
void SetBreakOffsetY(twobyte value)
Sets the vertical break offset.
Definition ff_smartshapes.h:685
TimeEdu32 CalcMeasurePos() const
Calculates the measure position of the endpoint. Works with both measure- and entry-attached smart sh...
Definition finaleframework.cpp:35896
twobyte GetControlPoint1OffsetY() const
Returns the vertical offset for the first control point (for slurs).
Definition ff_smartshapes.h:577
twobyte GetNoteID() const
Returns the note ID for the smart shape segment.
Definition finaleframework.cpp:35877
TimeEdu32 GetMeasurePos() const
Returns the measure position for measure-attached shapes.
Definition ff_smartshapes.h:540
twobyte GetBreakOffsetX() const
Returns the horizontal break offset.
Definition ff_smartshapes.h:595
void SetNoteID(twobyte noteID)
Sets the note ID for the segment.
Definition finaleframework.cpp:35886
twobyte GetControlPoint2OffsetX() const
Returns the horizontal offset for the second control point (for slurs).
Definition ff_smartshapes.h:583
void SetControlPoint1OffsetY(twobyte value)
Sets the vertical offset for the first control point (for slurs).
Definition ff_smartshapes.h:661
twobyte GetControlPoint2OffsetY() const
Returns the vertical offset for the second control point (for slurs).
Definition ff_smartshapes.h:589
twobyte GetStaff() const
Returns the staff of the end point segment.
Definition ff_smartshapes.h:516
void SetMeasurePos(TimeEdu32 edupos)
Sets the measure position for measure-attached shapes.
Definition ff_smartshapes.h:627
twobyte GetBreakOffsetY() const
Returns the vertical break offset.
Definition ff_smartshapes.h:601
void SetEndpointOffsetY(twobyte value)
Sets the vertical offset, compared to the measure attachment position.
Definition ff_smartshapes.h:646
void SetMeasure(twobyte measureno)
Sets the measure number for the smart shape end point.
Definition ff_smartshapes.h:613
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:501
twobyte GetControlPoint1OffsetX() const
Returns the horizontal offset for the first control point (for slurs).
Definition ff_smartshapes.h:571
void SetEntry(FCNoteEntry *pEntry)
Connects the entry number to the smart shape end point and sets the smart shape flag for the entry.
Definition ff_smartshapes.h:708
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition finaleframework.cpp:35913
void SetEndpointOffsetX(twobyte value)
Sets the horizontal offset, compared to the measure attachment position.
Definition ff_smartshapes.h:638
twobyte GetEndpointOffsetY() const
Returns the vertical offset compared to the measure attachment position.
Definition ff_smartshapes.h:565
void SetBreakOffsetX(twobyte value)
Sets the horizontal break offset.
Definition ff_smartshapes.h:679
void SetControlPoint2OffsetX(twobyte value)
Sets the horizontal offset for the second control point (for slurs).
Definition ff_smartshapes.h:667
void SetControlPoint1OffsetX(twobyte value)
Sets the horizontal offset for the first control point (for slurs).
Definition ff_smartshapes.h:655
void SetStaff(twobyte staff)
Sets the staff of the end point segment.
Definition ff_smartshapes.h:607
twobyte GetMeasure() const
Returns the measure of the end point segment.
Definition ff_smartshapes.h:522
FCSmartShapeSegment(__SSTERMSEG *pSeg, FCSmartShape *pReference, bool leftsidesegment)
The constructor. Called by the FCSmartShape class.
Definition ff_smartshapes.h:504
void SetCustomOffset(bool rightside)
Sets the required flags for a custom positioned end segment position.
Definition ff_smartshapes.h:727
void SetControlPoint2OffsetY(twobyte value)
Sets the vertical offset for the second control point (for slurs).
Definition ff_smartshapes.h:673
void SetEntryNumber(ENTNUM value)
Sets the note entry reference number for the end connection point.
Definition ff_smartshapes.h:694
ENTNUM GetEntryNumber() const
Returns the note entry number for entry-attached shapes.
Definition ff_smartshapes.h:549
Collection class for FCSmartShape class objects.
Definition ff_smartshapes.h:3235
FCSmartShape * FindLeftEntryNumber(ENTNUM entnum)
Tries to find a smart shape that is attached to the indicated entry number.
Definition ff_smartshapes.h:3248
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_smartshapes.h:3241
Class that provides storage for text. This is to achieve platform-transparent text handling,...
Definition ff_base.h:1877
Collection class for FCSystemStaff class objects, which contains the list of staves available within ...
Definition ff_othercollection.h:544
FCSystemStaff * FindStaff(twobyte staffno)
Finds a specific staff in the collection and returns the pointer to it.
Definition ff_othercollection.h:571