1 /************************************************************************/
2 /* */
3 /* Shapes.. Administration. */
4 /* */
5 /************************************************************************/
6
7 # include "docBaseConfig.h"
8
9 # include <stdlib.h>
10 # include <stdio.h>
11
12 # include "docPropVal.h"
13 # include "docShapeProp.h"
14 # include "docShapeDrawing.h"
15
16 # include <appDebugon.h>
17
18 /************************************************************************/
19 /* */
20 /* Initialize/Clean a shape arrow. */
21 /* */
22 /************************************************************************/
23
docInitShapeArrow(ShapeArrow * sa)24 void docInitShapeArrow( ShapeArrow * sa )
25 {
26 sa->saArrowHead= 0;
27 sa->saArrowWidth= 1;
28 sa->saArrowLength= 1;
29 }
30
31 /************************************************************************/
32 /* */
33 /* Initialize/Clean a shape. */
34 /* */
35 /************************************************************************/
36
docCleanShapeDrawing(ShapeDrawing * sd)37 void docCleanShapeDrawing( ShapeDrawing * sd )
38 {
39 if ( sd->sdVertices )
40 { free( sd->sdVertices ); }
41 if ( sd->sdWrapPolygonVertices )
42 { free( sd->sdWrapPolygonVertices ); }
43 if ( sd->sdSegmentInfos )
44 { free( sd->sdSegmentInfos ); }
45
46 return;
47 }
48
docInitShapeDrawingAllocated(ShapeDrawing * sd)49 void docInitShapeDrawingAllocated( ShapeDrawing * sd )
50 {
51 sd->sdVertexCount= 0;
52 sd->sdVertices= (Point2DI *)0;
53
54 sd->sdWrapPolygonVertexCount= 0;
55 sd->sdWrapPolygonVertices= (Point2DI *)0;
56
57 sd->sdSegmentInfoCount= 0;
58 sd->sdSegmentInfos= (int *)0;
59
60 return;
61 }
62
docInitShapeDrawing(ShapeDrawing * sd)63 void docInitShapeDrawing( ShapeDrawing * sd )
64 {
65 sd->sdXPosition= 0;
66 sd->sdXReference= FXrefCOLUMN;
67 sd->sdYPosition= 0;
68 sd->sdYReference= FYrefPARA;
69
70 sd->sd_fUseShapeAnchor= 1;
71 sd->sd_fLayoutInCell= 0;
72 sd->sd_fAllowOverlap= 1;
73 sd->sd_fChangePage= 0;
74
75 /************************************************/
76 /* Object Type. */
77 /************************************************/
78 sd->sdShapeType= SHPtyFREE;
79 sd->sdRotation= 0;
80
81 sd->sdWrapDistLeftEmu= 114305;
82 sd->sdWrapDistTopEmu= 0;
83 sd->sdWrapDistRightEmu= 114305;
84 sd->sdWrapDistBottomEmu= 0;
85
86 sd->sdMasterShape= 0;
87 sd->sdNextShape= 0;
88
89 sd->sdXLimo= 0;
90 sd->sdYLimo= 0;
91
92 sd->sd_fIsBullet= 0;
93 sd->sd_fFlipH= 0;
94 sd->sd_fFlipV= 0;
95 sd->sd_fBehindDocument= 0;
96 sd->sd_fIsButton= 0;
97 sd->sd_fHidden= 0;
98 sd->sd_fReallyHidden= 0;
99 sd->sd_fArrowheadsOK= 0;
100 sd->sd_fBackground= 0;
101 sd->sd_fDeleteAttachedObject= 0;
102 sd->sd_fEditedWrap= 0;
103 sd->sd_fHitTestFill= 1;
104 sd->sd_fHitTestLine= 1;
105 sd->sd_fInitiator= 0;
106 sd->sd_fNoFillHitTest= 0;
107 sd->sd_fNoHitTestPicture= 0;
108 sd->sd_fNoLineDrawDash= 0;
109 sd->sd_fOleIcon= 0;
110 sd->sd_fOnDblClickNotify= 0;
111 sd->sd_fOneD= 0;
112 sd->sd_fPreferRelativeSize= 0;
113 sd->sd_fPrint= 1;
114
115 sd->sd_fPseudoInline= 0;
116
117 /****************************************/
118 /* Text box. */
119 /****************************************/
120 sd->sd_dxTextLeft= 91440;
121 sd->sd_dyTextTop= 45720;
122 sd->sd_dxTextRight= 91440;
123 sd->sd_dyTextBottom= 45720;
124
125 sd->sd_scaleText= 0;
126 sd->sd_lTxid= 0;
127
128 sd->sd_WrapText= SHAPEtextWRAP_SQUARE;
129 sd->sd_anchorText= 0;
130 sd->sd_txflTextFlow= 0;
131 sd->sd_cdirFont= 0;
132
133 sd->sd_fAutoTextMargin= 0;
134 sd->sd_fRotateText= 0;
135 sd->sd_fSelectText= 1;
136 sd->sd_fFitShapeToText= 0;
137 sd->sd_fFitTextToShape= 0;
138
139 /************************************************/
140 /* Lock. */
141 /************************************************/
142 sd->sd_fLockRotation= 0;
143 sd->sd_fLockAspectRatio= 0;
144 sd->sd_fLockAgainstSelect= 0;
145 sd->sd_fLockCropping= 0;
146 sd->sd_fLockVerticies= 0;
147 sd->sd_fLockText= 0;
148 sd->sd_fLockAdjustHandles= 0;
149 sd->sd_fLockAgainstGrouping= 0;
150 sd->sd_fLockShapeType= 0;
151
152 sd->sd_fLockPosition= 0;
153
154 /************************************************/
155 /* Fill. */
156 /************************************************/
157 sd->sdFillType= 0;
158 sd->sdFillblipflags= 0;
159 sd->sdFillFocus= 0;
160 sd->sdFillDztype= 0;
161 sd->sdFillShadeType= 0;
162
163 sd->sdFillOpacity= 65536;
164 sd->sdFillBackOpacity= 65536;
165
166 sd->sdFillWidthEmu= 0;
167 sd->sdFillHeightEmu= 0;
168 sd->sdFillAngle= 0;
169
170 sd->sdFillToLeft= 0;
171 sd->sdFillToTop= 0;
172 sd->sdFillToRight= 0;
173 sd->sdFillToBottom= 0;
174
175 sd->sdFillOriginX= 0;
176 sd->sdFillOriginY= 0;
177 sd->sdFillShapeOriginX= 0;
178 sd->sdFillShapeOriginY= 0;
179
180 sd->sdFillRectLeftEmu= 0;
181 sd->sdFillRectTopEmu= 0;
182 sd->sdFillRectRightEmu= 0;
183 sd->sdFillRectBottomEmu= 0;
184
185 sd->sdFillShadePreset= 0;
186
187 utilInitRGB8Color( &(sd->sdFillColor) );
188 utilInitRGB8Color( &(sd->sdFillBackColor) );
189 utilInitRGB8Color( &(sd->sdFillCrModColor) );
190
191 sd->sdFillColor.rgb8Red= 255;
192 sd->sdFillColor.rgb8Green= 255;
193 sd->sdFillColor.rgb8Blue= 255;
194
195 sd->sdFillBackColor.rgb8Red= 255;
196 sd->sdFillBackColor.rgb8Green= 255;
197 sd->sdFillBackColor.rgb8Blue= 255;
198
199 sd->sd_fFilled= 1;
200 sd->sd_fillShape= 1;
201 sd->sd_fillUseRect= 0;
202 sd->sd_fFillOK= 1;
203 sd->sd_fFillShadeShapeOK= 0;
204
205 /********************************************/
206 /* Number/Flag: Line. */
207 /********************************************/
208 sd->sdLineType= 0;
209
210 sd->sdLineFillBlipFlags= 0;
211
212 sd->sdLineFillWidthEmu= 0;
213 sd->sdLineFillHeightEmu= 0;
214 sd->sdLineWidthEmu= 9525;
215
216 sd->sdLineStyle= 0;
217 sd->sdLineDashing= 0;
218 docInitShapeArrow( &(sd->sdLineHeadArrow) );
219 docInitShapeArrow( &(sd->sdLineTailArrow) );
220 sd->sdLineEndCapStyle= 2;
221 sd->sdLineFillDztype= 0;
222 sd->sdLineJoinStyle= 2;
223
224 sd->sdLineMiterLimit= 524288;
225
226 utilInitRGB8Color( &(sd->sdLineColor) );
227 utilInitRGB8Color( &(sd->sdLineBackColor) );
228 utilInitRGB8Color( &(sd->sdLineCrModColor) );
229
230 sd->sd_fLine= 1;
231 sd->sd_fLineOK= 1;
232
233 sd->sd_fLineUseShapeAnchor= 0;
234 sd->sd_fColumnLineOK= 0;
235 sd->sd_fColumnLine= 0;
236 sd->sd_fLeftLine= 0;
237 sd->sd_fTopLine= 0;
238 sd->sd_fRightLine= 0;
239 sd->sd_fBottomLine= 0;
240
241 sd->sd_fColumnHitTestLine= 0;
242 sd->sd_fLeftHitTestLine= 0;
243 sd->sd_fTopHitTestLine= 0;
244 sd->sd_fRightHitTestLine= 0;
245 sd->sd_fBottomHitTestLine= 0;
246
247 sd->sd_lineFillShape= 0;
248 sd->sd_lineColumnFillShape= 0;
249 sd->sd_lineLeftFillShape= 0;
250 sd->sd_lineTopFillShape= 0;
251 sd->sd_lineRightFillShape= 0;
252 sd->sd_lineBottomFillShape= 0;
253
254 sd->sd_fInsetPen= 0;
255 sd->sd_fLeftInsetPen= 0;
256 sd->sd_fTopInsetPen= 0;
257 sd->sd_fRightInsetPen= 0;
258 sd->sd_fBottomInsetPen= 0;
259
260 /****************************************/
261 /* Text box. */
262 /****************************************/
263 sd->sdGeoRect.drX0= 0;
264 sd->sdGeoRect.drY0= 0;
265 sd->sdGeoRect.drX1= 21600;
266 sd->sdGeoRect.drY1= 21600;
267 sd->sdAdjustValue= 0;
268 sd->sdAdjust2Value= 0;
269 sd->sdAdjust3Value= 0;
270 sd->sdAdjust4Value= 0;
271 sd->sdAdjust5Value= 0;
272 sd->sdAdjust6Value= 0;
273 sd->sdAdjust7Value= 0;
274 sd->sdAdjust8Value= 0;
275 sd->sdAdjust9Value= 0;
276 sd->sdAdjust10Value= 0;
277
278 /****************************************/
279 /* Grouped Shapes */
280 /****************************************/
281 sd->sdRelRect.drX0= 0;
282 sd->sdRelRect.drY0= 0;
283 sd->sdRelRect.drX1= 1;
284 sd->sdRelRect.drY1= 1;
285
286 sd->sdRelRotation= 0;
287 sd->sdRegroupID= 0;
288
289 sd->sdGroupRect.drX0= 0;
290 sd->sdGroupRect.drY0= 0;
291 sd->sdGroupRect.drX1= 20000;
292 sd->sdGroupRect.drY1= 20000;
293
294 sd->sd_fRelChangePage= 0;
295 sd->sd_fRelFlipH= 0;
296 sd->sd_fRelFlipV= 0;
297
298 /************************************************/
299 /* Shadow. */
300 /************************************************/
301 sd->sdShadowType= 0;
302
303 sd->sdShadowOpacity= 65536;
304 sd->sdShadowOffsetXEmu= 0;
305 sd->sdShadowOffsetYEmu= 0;
306 sd->sdShadowOffset2XEmu= 25400;
307 sd->sdShadowOffset2YEmu= 25400;
308 sd->sdShadowScaleXToX= 65536;
309 sd->sdShadowScaleYToX= 0;
310 sd->sdShadowScaleXToY= 0;
311 sd->sdShadowScaleYToY= 65536;
312 sd->sdShadowPerspectiveX= 0;
313 sd->sdShadowPerspectiveY= 0;
314 sd->sdShadowWeight= 32768;
315 sd->sdShadowOriginX= 0;
316 sd->sdShadowOriginY= 0;
317
318 sd->sd_fShadow= 0;
319 sd->sd_fshadowObscured= 0;
320 sd->sd_fshadowOK= 1;
321
322 utilInitRGB8Color( &(sd->sdShadowColor) );
323 utilInitRGB8Color( &(sd->sdShadowHighlightColor) );
324 utilInitRGB8Color( &(sd->sdShadowCrModColor) );
325 utilInitRGB8Color( &(sd->sdShadowc3DExtrusionColor) );
326 utilInitRGB8Color( &(sd->sdShadowc3DCrModColor) );
327
328 sd->sdShadowColor.rgb8Red= 128;
329 sd->sdShadowColor.rgb8Green= 128;
330 sd->sdShadowColor.rgb8Blue= 128;
331
332 sd->sdShadowHighlightColor.rgb8Red= 203;
333 sd->sdShadowHighlightColor.rgb8Green= 203;
334 sd->sdShadowHighlightColor.rgb8Blue= 203;
335
336 /************************************************/
337 /* Connectors. */
338 /************************************************/
339 sd->sdConnectionSite= 1;
340 sd->sdConnectionStyle= 3;
341
342 /************************************************/
343
344 sd->sd_cropFromLeft= 0;
345 sd->sd_cropFromRight= 0;
346 sd->sd_cropFromTop= 0;
347 sd->sd_cropFromBottom= 0;
348
349 return;
350 }
351
352 /************************************************************************/
353 /* */
354 /* Copy a shape. */
355 /* */
356 /* 2) Vertices. */
357 /* 2) Wrap polygon. */
358 /* 4) Segment information */
359 /* 5) Text box content. */
360 /* */
361 /************************************************************************/
362
docCopyShapeDrawing(ShapeDrawing * to,const ShapeDrawing * from)363 int docCopyShapeDrawing( ShapeDrawing * to,
364 const ShapeDrawing * from )
365 {
366 int rval= 0;
367
368 *to= *from;
369 docInitShapeDrawingAllocated( to );
370
371 /* 2 */
372 to->sdVertices= (Point2DI *)malloc( from->sdVertexCount* sizeof(Point2DI) );
373 if ( ! to->sdVertices )
374 {
375 LXDEB(from->sdVertexCount,to->sdVertices);
376 rval= -1; goto ready;
377 }
378
379 /* 3 */
380 to->sdWrapPolygonVertices= (Point2DI *)malloc(
381 from->sdWrapPolygonVertexCount* sizeof(Point2DI) );
382 if ( ! to->sdWrapPolygonVertices )
383 {
384 LXDEB(from->sdWrapPolygonVertexCount,to->sdWrapPolygonVertices);
385 rval= -1; goto ready;
386 }
387
388 /* 4 */
389 to->sdSegmentInfos= (int *)malloc( from->sdSegmentInfoCount* sizeof(int) );
390 if ( ! to->sdSegmentInfos )
391 {
392 LXDEB(from->sdSegmentInfoCount,to->sdSegmentInfos);
393 rval= -1; goto ready;
394 }
395
396 /* 2 */
397 while( to->sdVertexCount < from->sdVertexCount )
398 {
399 to->sdVertices[to->sdVertexCount]= from->sdVertices[to->sdVertexCount];
400 to->sdVertexCount++;
401 }
402
403 /* 3 */
404 while( to->sdWrapPolygonVertexCount < from->sdWrapPolygonVertexCount )
405 {
406 to->sdWrapPolygonVertices[to->sdWrapPolygonVertexCount]=
407 from->sdWrapPolygonVertices[to->sdWrapPolygonVertexCount];
408 to->sdWrapPolygonVertexCount++;
409 }
410
411 /* 4 */
412 while( to->sdSegmentInfoCount < from->sdSegmentInfoCount )
413 {
414 to->sdSegmentInfos[to->sdSegmentInfoCount]=
415 from->sdSegmentInfos[to->sdSegmentInfoCount];
416 to->sdSegmentInfoCount++;
417 }
418
419 ready:
420
421 if ( rval )
422 {
423 docCleanShapeDrawing( to );
424 docInitShapeDrawingAllocated( to );
425 }
426
427 return rval;
428 }
429
430 /************************************************************************/
431 /* */
432 /* Translate shape type to string. */
433 /* */
434 /************************************************************************/
435
docShapeTypeString(int shapeType)436 const char * docShapeTypeString( int shapeType )
437 {
438 static char scratch[12];
439
440 switch( shapeType )
441 {
442 case SHPtyFREEFORM_OR_NON_AUTOSHAPE: return "FREEFORM_OR_NON_AUTOSHAPE";
443 case SHPtyRECTANGLE: return "RECTANGLE";
444 case SHPtyROUND_RECTANGLE: return "ROUND_RECTANGLE";
445 case SHPtyELLIPSE: return "ELLIPSE";
446 case SHPtyDIAMOND: return "DIAMOND";
447 case SHPtyISOSCELES_TRIANGLE: return "ISOSCELES_TRIANGLE";
448 case SHPtyRIGHT_TRIANGLE: return "RIGHT_TRIANGLE";
449 case SHPtyPARALLELOGRAM: return "PARALLELOGRAM";
450 case SHPtyTRAPEZOID: return "TRAPEZOID";
451 case SHPtyHEXAGON: return "HEXAGON";
452 case SHPtyOCTAGON: return "OCTAGON";
453 case SHPtyPLUS_SIGN: return "PLUS_SIGN";
454 case SHPtySTAR: return "STAR";
455 case SHPtyARROW: return "ARROW";
456 case SHPtyTHICK_ARROW: return "THICK_ARROW";
457 case SHPtyHOME_PLATE: return "HOME_PLATE";
458 case SHPtyCUBE: return "CUBE";
459 case SHPtyBALLOON: return "BALLOON";
460 case SHPtySEAL: return "SEAL";
461 case SHPtyARC: return "ARC";
462 case SHPtyLINE: return "LINE";
463 case SHPtyPLAQUE: return "PLAQUE";
464 case SHPtyCAN: return "CAN";
465 case SHPtyDONUT: return "DONUT";
466 case SHPtyTEXT_SIMPLE: return "TEXT_SIMPLE";
467 case SHPtyTEXT_OCTAGON: return "TEXT_OCTAGON";
468 case SHPtyTEXT_HEXAGON: return "TEXT_HEXAGON";
469 case SHPtyTEXT_CURVE: return "TEXT_CURVE";
470 case SHPtyTEXT_WAVE: return "TEXT_WAVE";
471 case SHPtyTEXT_RING: return "TEXT_RING";
472 case SHPtyTEXT_ON_CURVE: return "TEXT_ON_CURVE";
473 case SHPtyTEXT_ON_RING: return "TEXT_ON_RING";
474 case SHPtyCALLOUT_1: return "CALLOUT_1";
475 case SHPtyCALLOUT_2: return "CALLOUT_2";
476 case SHPtyCALLOUT_3: return "CALLOUT_3";
477 case SHPtyACCENT_CALLOUT_1: return "ACCENT_CALLOUT_1";
478 case SHPtyACCENT_CALLOUT_2: return "ACCENT_CALLOUT_2";
479 case SHPtyACCENT_CALLOUT_3: return "ACCENT_CALLOUT_3";
480 case SHPtyBORDER_CALLOUT_1: return "BORDER_CALLOUT_1";
481 case SHPtyBORDER_CALLOUT_2: return "BORDER_CALLOUT_2";
482 case SHPtyBORDER_CALLOUT_3: return "BORDER_CALLOUT_3";
483 case SHPtyACCENT_BORDER_CALLOUT_1: return "ACCENT_BORDER_CALLOUT_1";
484 case SHPtyACCENT_BORDER_CALLOUT_2: return "ACCENT_BORDER_CALLOUT_2";
485 case SHPtyACCENT_BORDER_CALLOUT_3: return "ACCENT_BORDER_CALLOUT_3";
486 case SHPtyRIBBON: return "RIBBON";
487 case SHPtyRIBBON2: return "RIBBON2";
488 case SHPtyCHEVRON: return "CHEVRON";
489 case SHPtyPENTAGON: return "PENTAGON";
490 case SHPtyNO_SMOKING: return "NO_SMOKING";
491 case SHPtySEAL8: return "SEAL8";
492 case SHPtySEAL16: return "SEAL16";
493 case SHPtySEAL32: return "SEAL32";
494 case SHPtyWEDGE_RECT_CALLOUT: return "WEDGE_RECT_CALLOUT";
495 case SHPtyWEDGE_RRECT_CALLOUT: return "WEDGE_RRECT_CALLOUT";
496 case SHPtyWEDGE_ELLIPSE_CALLOUT: return "WEDGE_ELLIPSE_CALLOUT";
497 case SHPtyWAVE: return "WAVE";
498 case SHPtyFOLDED_CORNER: return "FOLDED_CORNER";
499 case SHPtyLEFT_ARROW: return "LEFT_ARROW";
500 case SHPtyDOWN_ARROW: return "DOWN_ARROW";
501 case SHPtyUP_ARROW: return "UP_ARROW";
502 case SHPtyLEFT_RIGHT_ARROW: return "LEFT_RIGHT_ARROW";
503 case SHPtyUP_DOWN_ARROW: return "UP_DOWN_ARROW";
504 case SHPtyIRREGULARSEAL1: return "IRREGULARSEAL1";
505 case SHPtyIRREGULARSEAL2: return "IRREGULARSEAL2";
506 case SHPtyLIGHTNING_BOLT: return "LIGHTNING_BOLT";
507 case SHPtyHEART: return "HEART";
508 case SHPtyPICTURE_FRAME: return "PICTURE_FRAME";
509 case SHPtyQUAD_ARROW: return "QUAD_ARROW";
510 case SHPtyLEFT_ARROW_CALLOUT: return "LEFT_ARROW_CALLOUT";
511 case SHPtyRIGHT_ARROW_CALLOUT: return "RIGHT_ARROW_CALLOUT";
512 case SHPtyUP_ARROW_CALLOUT: return "UP_ARROW_CALLOUT";
513 case SHPtyDOWN_ARROW_CALLOUT: return "DOWN_ARROW_CALLOUT";
514 case SHPtyLEFT_RIGHT_ARROW_CALLOUT: return "LEFT_RIGHT_ARROW_CALLOUT";
515 case SHPtyUP_DOWN_ARROW_CALLOUT: return "UP_DOWN_ARROW_CALLOUT";
516 case SHPtyQUAD_ARROW_CALLOUT: return "QUAD_ARROW_CALLOUT";
517 case SHPtyBEVEL: return "BEVEL";
518 case SHPtyLEFT_BRACKET: return "LEFT_BRACKET";
519 case SHPtyRIGHT_BRACKET: return "RIGHT_BRACKET";
520 case SHPtyLEFT_BRACE: return "LEFT_BRACE";
521 case SHPtyRIGHT_BRACE: return "RIGHT_BRACE";
522 case SHPtyLEFT_UP_ARROW: return "LEFT_UP_ARROW";
523 case SHPtyBENT_UP_ARROW: return "BENT_UP_ARROW";
524 case SHPtyBENT_ARROW: return "BENT_ARROW";
525 case SHPtySEAL24: return "SEAL24";
526 case SHPtySTRIPED_RIGHT_ARROW: return "STRIPED_RIGHT_ARROW";
527 case SHPtyNOTCHED_RIGHT_ARROW: return "NOTCHED_RIGHT_ARROW";
528 case SHPtyBLOCK_ARC: return "BLOCK_ARC";
529 case SHPtySMILEY_FACE: return "SMILEY_FACE";
530 case SHPtyVERTICAL_SCROLL: return "VERTICAL_SCROLL";
531 case SHPtyHORIZONTAL_SCROLL: return "HORIZONTAL_SCROLL";
532 case SHPtyCIRCULAR_ARROW: return "CIRCULAR_ARROW";
533 case SHPtyNOTCHED_CIRCULAR_ARROW: return "NOTCHED_CIRCULAR_ARROW";
534 case SHPtyUTURN_ARROW: return "UTURN_ARROW";
535 case SHPtyCURVED_RIGHT_ARROW: return "CURVED_RIGHT_ARROW";
536 case SHPtyCURVED_LEFT_ARROW: return "CURVED_LEFT_ARROW";
537 case SHPtyCURVED_UP_ARROW: return "CURVED_UP_ARROW";
538 case SHPtyCURVED_DOWN_ARROW: return "CURVED_DOWN_ARROW";
539 case SHPtyCLOUD_CALLOUT: return "CLOUD_CALLOUT";
540 case SHPtyELLIPSE_RIBBON: return "ELLIPSE_RIBBON";
541 case SHPtyELLIPSE_RIBBON_2: return "ELLIPSE_RIBBON_2";
542 case SHPtyFLOW_CHART_PROCESS: return "FLOW_CHART_PROCESS";
543 case SHPtyFLOW_CHART_DECISION: return "FLOW_CHART_DECISION";
544 case SHPtyFLOW_CHART_INPUT_OUTPUT: return "FLOW_CHART_INPUT_OUTPUT";
545 case SHPtyFLOW_CHART_PREDEFINED_PROCESS:
546 return "FLOW_CHART_PREDEFINED_PROCESS";
547 case SHPtyFLOW_CHART_INTERNAL_STORAGE:
548 return "FLOW_CHART_INTERNAL_STORAGE";
549 case SHPtyFLOW_CHART_DOCUMENT: return "FLOW_CHART_DOCUMENT";
550 case SHPtyFLOW_CHART_MULTIDOCUMENT: return "FLOW_CHART_MULTIDOCUMENT";
551 case SHPtyFLOW_CHART_TERMINATOR: return "FLOW_CHART_TERMINATOR";
552 case SHPtyFLOW_CHART_PREPARATION: return "FLOW_CHART_PREPARATION";
553 case SHPtyFLOW_CHART_MANUAL_INPUT: return "FLOW_CHART_MANUAL_INPUT";
554 case SHPtyFLOW_CHART_MANUAL_OPERATION:
555 return "FLOW_CHART_MANUAL_OPERATION";
556 case SHPtyFLOW_CHART_CONNECTOR: return "FLOW_CHART_CONNECTOR";
557 case SHPtyFLOW_CHART_PUNCHED_CARD: return "FLOW_CHART_PUNCHED_CARD";
558 case SHPtyFLOW_CHART_PUNCHED_TAPE: return "FLOW_CHART_PUNCHED_TAPE";
559 case SHPtyFLOW_CHART_SUMMING_JUNCTION:
560 return "FLOW_CHART_SUMMING_JUNCTION";
561 case SHPtyFLOW_CHART_OR: return "FLOW_CHART_OR";
562 case SHPtyFLOW_CHART_COLLATE: return "FLOW_CHART_COLLATE";
563 case SHPtyFLOW_CHART_SORT: return "FLOW_CHART_SORT";
564 case SHPtyFLOW_CHART_EXTRACT: return "FLOW_CHART_EXTRACT";
565 case SHPtyFLOW_CHART_MERGE: return "FLOW_CHART_MERGE";
566 case SHPtyFLOW_CHART_OFFLINE_STORAGE:
567 return "FLOW_CHART_OFFLINE_STORAGE";
568 case SHPtyFLOW_CHART_ONLINE_STORAGE: return "FLOW_CHART_ONLINE_STORAGE";
569 case SHPtyFLOW_CHART_MAGNETIC_TAPE: return "FLOW_CHART_MAGNETIC_TAPE";
570 case SHPtyFLOW_CHART_MAGNETIC_DISK: return "FLOW_CHART_MAGNETIC_DISK";
571 case SHPtyFLOW_CHART_MAGNETIC_DRUM: return "FLOW_CHART_MAGNETIC_DRUM";
572 case SHPtyFLOW_CHART_DISPLAY: return "FLOW_CHART_DISPLAY";
573 case SHPtyFLOW_CHART_DELAY: return "FLOW_CHART_DELAY";
574 case SHPtyTEXT_PLAIN_TEXT: return "TEXT_PLAIN_TEXT";
575 case SHPtyTEXT_STOP: return "TEXT_STOP";
576 case SHPtyTEXT_TRIANGLE: return "TEXT_TRIANGLE";
577 case SHPtyTEXT_TRIANGLE_INVERTED: return "TEXT_TRIANGLE_INVERTED";
578 case SHPtyTEXT_CHEVRON: return "TEXT_CHEVRON";
579 case SHPtyTEXT_CHEVRON_INVERTED: return "TEXT_CHEVRON_INVERTED";
580 case SHPtyTEXT_RING_INSIDE: return "TEXT_RING_INSIDE";
581 case SHPtyTEXT_RING_OUTSIDE: return "TEXT_RING_OUTSIDE";
582 case SHPtyTEXT_ARCH_UP_CURVE: return "TEXT_ARCH_UP_CURVE";
583 case SHPtyTEXT_ARCH_DOWN_CURVE: return "TEXT_ARCH_DOWN_CURVE";
584 case SHPtyTEXT_CIRCLE_CURVE: return "TEXT_CIRCLE_CURVE";
585 case SHPtyTEXT_BUTTON_CURVE: return "TEXT_BUTTON_CURVE";
586 case SHPtyTEXT_ARCH_UP_POUR: return "TEXT_ARCH_UP_POUR";
587 case SHPtyTEXT_ARCH_DOWN_POUR: return "TEXT_ARCH_DOWN_POUR";
588 case SHPtyTEXT_CIRCLE_POUR: return "TEXT_CIRCLE_POUR";
589 case SHPtyTEXT_BUTTON_POUR: return "TEXT_BUTTON_POUR";
590 case SHPtyTEXT_CURVE_UP: return "TEXT_CURVE_UP";
591 case SHPtyTEXT_CURVE_DOWN: return "TEXT_CURVE_DOWN";
592 case SHPtyTEXT_CASCADE_UP: return "TEXT_CASCADE_UP";
593 case SHPtyTEXT_CASCADE_DOWN: return "TEXT_CASCADE_DOWN";
594 case SHPtyTEXT_WAVE1: return "TEXT_WAVE1";
595 case SHPtyTEXT_WAVE2: return "TEXT_WAVE2";
596 case SHPtyTEXT_WAVE3: return "TEXT_WAVE3";
597 case SHPtyTEXT_WAVE4: return "TEXT_WAVE4";
598 case SHPtyTEXT_INFLATE: return "TEXT_INFLATE";
599 case SHPtyTEXT_DEFLATE: return "TEXT_DEFLATE";
600 case SHPtyTEXT_INFLATE_BOTTOM: return "TEXT_INFLATE_BOTTOM";
601 case SHPtyTEXT_DEFLATE_BOTTOM: return "TEXT_DEFLATE_BOTTOM";
602 case SHPtyTEXT_INFLATE_TOP: return "TEXT_INFLATE_TOP";
603 case SHPtyTEXT_DEFLATE_TOP: return "TEXT_DEFLATE_TOP";
604 case SHPtyTEXT_DEFLATE_INFLATE: return "TEXT_DEFLATE_INFLATE";
605 case SHPtyTEXT_DEFLATE_INFLATE_DEFLATE:
606 return "TEXT_DEFLATE_INFLATE_DEFLATE";
607 case SHPtyTEXT_FADE_RIGHT: return "TEXT_FADE_RIGHT";
608 case SHPtyTEXT_FADE_LEFT: return "TEXT_FADE_LEFT";
609 case SHPtyTEXT_FADE_UP: return "TEXT_FADE_UP";
610 case SHPtyTEXT_FADE_DOWN: return "TEXT_FADE_DOWN";
611 case SHPtyTEXT_SLANT_UP: return "TEXT_SLANT_UP";
612 case SHPtyTEXT_SLANT_DOWN: return "TEXT_SLANT_DOWN";
613 case SHPtyTEXT_CAN_UP: return "TEXT_CAN_UP";
614 case SHPtyTEXT_CAN_DOWN: return "TEXT_CAN_DOWN";
615 case SHPtyFLOW_CHART_ALTERNATE_PROCESS:
616 return "FLOW_CHART_ALTERNATE_PROCESS";
617 case SHPtyFLOW_CHART_OFF_PAGE_CONNECTOR:
618 return "FLOW_CHART_OFF_PAGE_CONNECTOR";
619 case SHPtyCALLOUT_90: return "CALLOUT_90";
620 case SHPtyACCENT_CALLOUT_90: return "ACCENT_CALLOUT_90";
621 case SHPtyBORDER_CALLOUT_90: return "BORDER_CALLOUT_90";
622 case SHPtyACCENT_BORDER_CALLOUT_90: return "ACCENT_BORDER_CALLOUT_90";
623 case SHPtyLEFT_RIGHT_UP_ARROW: return "LEFT_RIGHT_UP_ARROW";
624 case SHPtySUN: return "SUN";
625 case SHPtyMOON: return "MOON";
626 case SHPtyBRACKET_PAIR: return "BRACKET_PAIR";
627 case SHPtyBRACE_PAIR: return "BRACE_PAIR";
628 case SHPtySEAL4: return "SEAL4";
629 case SHPtyDOUBLE_WAVE: return "DOUBLE_WAVE";
630 case SHPtyHOST_CONTROL: return "HOST_CONTROL";
631 case SHPtyTEXT_BOX: return "TEXT_BOX";
632
633 case SHPtyUNKNOWN: return "UNKNOWN";
634 case SHPtyGROUP: return "GROUP";
635 case SHPtyPICPROP: return "PICPROP";
636
637 default:
638 sprintf( scratch, "SHPty%d", shapeType );
639 return scratch;
640 }
641 }
642
docSetShapeDrawingProperty(ShapeDrawing * sd,int prop,long val)643 int docSetShapeDrawingProperty( ShapeDrawing * sd,
644 int prop,
645 long val )
646 {
647 switch( prop )
648 {
649 case DSHPprop_posh:
650 sd->sdXPosition= val;
651 break;
652 case DSHPprop_posrelh:
653 sd->sdXReference= val;
654 break;
655 case DSHPprop_posv:
656 sd->sdYPosition= val;
657 break;
658 case DSHPprop_posrelv:
659 sd->sdYReference= val;
660 break;
661
662 case DSHPprop_fUseShapeAnchor:
663 sd->sd_fUseShapeAnchor= val != 0;
664 break;
665 case DSHPprop_fLayoutInCell:
666 sd->sd_fLayoutInCell= val != 0;
667 break;
668 case DSHPprop_fAllowOverlap:
669 sd->sd_fAllowOverlap= val != 0;
670 break;
671 case DSHPprop_fChangePage:
672 sd->sd_fChangePage= val != 0;
673 break;
674
675 case DSHPprop_shapeType:
676 sd->sdShapeType= val;
677 break;
678
679 case DSHPprop_rotation:
680 sd->sdRotation= val;
681 break;
682
683 case DSHPprop_dxWrapDistLeft:
684 sd->sdWrapDistLeftEmu= val;
685 break;
686 case DSHPprop_dyWrapDistTop:
687 sd->sdWrapDistTopEmu= val;
688 break;
689 case DSHPprop_dxWrapDistRight:
690 sd->sdWrapDistRightEmu= val;
691 break;
692 case DSHPprop_dyWrapDistBottom:
693 sd->sdWrapDistBottomEmu= val;
694 break;
695
696 case DSHPprop_hspMaster:
697 sd->sdMasterShape= val;
698 break;
699 case DSHPprop_hspNext:
700 sd->sdNextShape= val;
701 break;
702
703 case DSHPprop_xLimo:
704 sd->sdXLimo= val;
705 break;
706 case DSHPprop_yLimo:
707 sd->sdXLimo= val;
708 break;
709
710 case DSHPprop_fIsBullet:
711 sd->sd_fIsBullet= val != 0;
712 break;
713 case DSHPprop_fFlipV:
714 sd->sd_fFlipV= val != 0;
715 break;
716 case DSHPprop_fFlipH:
717 sd->sd_fFlipH= val != 0;
718 break;
719 case DSHPprop_fBehindDocument:
720 sd->sd_fBehindDocument= val != 0;
721 break;
722 case DSHPprop_fIsButton:
723 sd->sd_fIsButton= val != 0;
724 break;
725 case DSHPprop_fHidden:
726 sd->sd_fHidden= val != 0;
727 break;
728 case DSHPprop_fReallyHidden:
729 sd->sd_fReallyHidden= val != 0;
730 break;
731 case DSHPprop_fArrowheadsOK:
732 sd->sd_fArrowheadsOK= val != 0;
733 break;
734 case DSHPprop_fBackground:
735 sd->sd_fBackground= val != 0;
736 break;
737 case DSHPprop_fDeleteAttachedObject:
738 sd->sd_fDeleteAttachedObject= val != 0;
739 break;
740 case DSHPprop_fEditedWrap:
741 sd->sd_fEditedWrap= val != 0;
742 break;
743 case DSHPprop_fHitTestFill:
744 sd->sd_fHitTestFill= val != 0;
745 break;
746 case DSHPprop_fHitTestLine:
747 sd->sd_fHitTestLine= val != 0;
748 break;
749 case DSHPprop_fInitiator:
750 sd->sd_fInitiator= val != 0;
751 break;
752 case DSHPprop_fNoFillHitTest:
753 sd->sd_fNoFillHitTest= val != 0;
754 break;
755 case DSHPprop_fNoHitTestPicture:
756 sd->sd_fNoHitTestPicture= val != 0;
757 break;
758 case DSHPprop_fNoLineDrawDash:
759 sd->sd_fNoLineDrawDash= val != 0;
760 break;
761 case DSHPprop_fOleIcon:
762 sd->sd_fOleIcon= val != 0;
763 break;
764 case DSHPprop_fOnDblClickNotify:
765 sd->sd_fOnDblClickNotify= val != 0;
766 break;
767 case DSHPprop_fOneD:
768 sd->sd_fOneD= val != 0;
769 break;
770 case DSHPprop_fPreferRelativeSize:
771 sd->sd_fPreferRelativeSize= val != 0;
772 break;
773 case DSHPprop_fPrint:
774 sd->sd_fPrint= val != 0;
775 break;
776
777 case DSHPprop_fPseudoInline:
778 sd->sd_fPseudoInline= val != 0;
779 break;
780
781 case DSHPprop_fLockRotation:
782 sd->sd_fLockRotation= val != 0;
783 break;
784 case DSHPprop_fLockAspectRatio:
785 sd->sd_fLockAspectRatio= val != 0;
786 break;
787 case DSHPprop_fLockAgainstSelect:
788 sd->sd_fLockAgainstSelect= val != 0;
789 break;
790 case DSHPprop_fLockCropping:
791 sd->sd_fLockCropping= val != 0;
792 break;
793 case DSHPprop_fLockVerticies:
794 sd->sd_fLockVerticies= val != 0;
795 break;
796 case DSHPprop_fLockText:
797 sd->sd_fLockText= val != 0;
798 break;
799 case DSHPprop_fLockAdjustHandles:
800 sd->sd_fLockAdjustHandles= val != 0;
801 break;
802 case DSHPprop_fLockAgainstGrouping:
803 sd->sd_fLockAgainstGrouping= val != 0;
804 break;
805 case DSHPprop_fLockShapeType:
806 sd->sd_fLockShapeType= val != 0;
807 break;
808
809 case DSHPprop_fLockPosition:
810 sd->sd_fLockPosition= val != 0;
811 break;
812
813 case DSHPprop_fillType:
814 sd->sdFillType= val;
815 break;
816 case DSHPprop_fillOpacity:
817 sd->sdFillOpacity= val;
818 break;
819 case DSHPprop_fillBackOpacity:
820 sd->sdFillBackOpacity= val;
821 break;
822
823 case DSHPprop_fillblipflags:
824 sd->sdFillblipflags= val;
825 break;
826
827 case DSHPprop_fillWidth:
828 sd->sdFillWidthEmu= val;
829 break;
830 case DSHPprop_fillHeight:
831 sd->sdFillHeightEmu= val;
832 break;
833 case DSHPprop_fillAngle:
834 sd->sdFillAngle= val;
835 break;
836 case DSHPprop_fillFocus:
837 sd->sdFillFocus= val;
838 break;
839
840 case DSHPprop_fillToLeft:
841 sd->sdFillToLeft= val;
842 break;
843 case DSHPprop_fillToTop:
844 sd->sdFillToTop= val;
845 break;
846 case DSHPprop_fillToRight:
847 sd->sdFillToRight= val;
848 break;
849 case DSHPprop_fillToBottom:
850 sd->sdFillToBottom= val;
851 break;
852
853 case DSHPprop_fillOriginX:
854 sd->sdFillOriginX= val;
855 break;
856 case DSHPprop_fillOriginY:
857 sd->sdFillOriginY= val;
858 break;
859 case DSHPprop_fillShapeOriginX:
860 sd->sdFillShapeOriginX= val;
861 break;
862 case DSHPprop_fillShapeOriginY:
863 sd->sdFillShapeOriginY= val;
864 break;
865
866 case DSHPprop_fillDztype:
867 sd->sdFillDztype= val;
868 break;
869
870 case DSHPprop_fillRectLeft:
871 sd->sdFillRectLeftEmu= val;
872 break;
873 case DSHPprop_fillRectTop:
874 sd->sdFillRectTopEmu= val;
875 break;
876 case DSHPprop_fillRectRight:
877 sd->sdFillRectRightEmu= val;
878 break;
879 case DSHPprop_fillRectBottom:
880 sd->sdFillRectBottomEmu= val;
881 break;
882
883 case DSHPprop_fillShadePreset:
884 sd->sdFillShadePreset= val;
885 break;
886 case DSHPprop_fillShadeType:
887 sd->sdFillShadeType= val;
888 break;
889
890 case DSHPprop_fFilled:
891 sd->sd_fFilled= val != 0;
892 break;
893 case DSHPprop_fillShape:
894 sd->sd_fillShape= val != 0;
895 break;
896 case DSHPprop_fillUseRect:
897 sd->sd_fillUseRect= val != 0;
898 break;
899 case DSHPprop_fFillOK:
900 sd->sd_fFillOK= val != 0;
901 break;
902 case DSHPprop_fFillShadeShapeOK:
903 sd->sd_fFillShadeShapeOK= val != 0;
904 break;
905
906 case DSHPprop_lineType:
907 sd->sdLineType= val;
908 break;
909
910 case DSHPprop_lineFillBlipFlags:
911 sd->sdLineFillBlipFlags= val;
912 break;
913
914 case DSHPprop_lineFillWidth:
915 sd->sdLineFillWidthEmu= val;
916 break;
917 case DSHPprop_lineFillHeight:
918 sd->sdLineFillHeightEmu= val;
919 break;
920 case DSHPprop_lineWidth:
921 sd->sdLineWidthEmu= val;
922 break;
923
924 case DSHPprop_lineStyle:
925 sd->sdLineStyle= val;
926 break;
927 case DSHPprop_lineDashing:
928 sd->sdLineDashing= val;
929 break;
930 case DSHPprop_lineStartArrowhead:
931 sd->sdLineHeadArrow.saArrowHead= val;
932 break;
933 case DSHPprop_lineEndArrowhead:
934 sd->sdLineTailArrow.saArrowHead= val;
935 break;
936 case DSHPprop_lineStartArrowWidth:
937 sd->sdLineHeadArrow.saArrowWidth= val;
938 break;
939 case DSHPprop_lineStartArrowLength:
940 sd->sdLineHeadArrow.saArrowLength= val;
941 break;
942 case DSHPprop_lineEndArrowWidth:
943 sd->sdLineTailArrow.saArrowWidth= val;
944 break;
945 case DSHPprop_lineEndArrowLength:
946 sd->sdLineTailArrow.saArrowLength= val;
947 break;
948 case DSHPprop_lineEndCapStyle:
949 sd->sdLineEndCapStyle= val;
950 break;
951 case DSHPprop_lineFillDztype:
952 sd->sdLineFillDztype= val;
953 break;
954 case DSHPprop_lineJoinStyle:
955 sd->sdLineJoinStyle= val;
956 break;
957
958 case DSHPprop_lineMiterLimit:
959 sd->sdLineMiterLimit= val;
960 break;
961
962 case DSHPprop_fLine:
963 sd->sd_fLine= val != 0;
964 break;
965 case DSHPprop_fLineOK:
966 sd->sd_fLineOK= val != 0;
967 break;
968
969 case DSHPprop_fLineUseShapeAnchor:
970 sd->sd_fLineUseShapeAnchor= val != 0;
971 break;
972 case DSHPprop_fColumnLineOK:
973 sd->sd_fColumnLineOK= val != 0;
974 break;
975 case DSHPprop_fColumnLine:
976 sd->sd_fColumnLine= val != 0;
977 break;
978 case DSHPprop_fLeftLine:
979 sd->sd_fLeftLine= val != 0;
980 break;
981 case DSHPprop_fTopLine:
982 sd->sd_fTopLine= val != 0;
983 break;
984 case DSHPprop_fRightLine:
985 sd->sd_fRightLine= val != 0;
986 break;
987 case DSHPprop_fBottomLine:
988 sd->sd_fBottomLine= val != 0;
989 break;
990
991 case DSHPprop_fColumnHitTestLine:
992 sd->sd_fColumnHitTestLine= val != 0;
993 break;
994 case DSHPprop_fLeftHitTestLine:
995 sd->sd_fLeftHitTestLine= val != 0;
996 break;
997 case DSHPprop_fTopHitTestLine:
998 sd->sd_fTopHitTestLine= val != 0;
999 break;
1000 case DSHPprop_fRightHitTestLine:
1001 sd->sd_fRightHitTestLine= val != 0;
1002 break;
1003 case DSHPprop_fBottomHitTestLine:
1004 sd->sd_fBottomHitTestLine= val != 0;
1005 break;
1006
1007 case DSHPprop_lineFillShape:
1008 sd->sd_lineFillShape= val != 0;
1009 break;
1010 case DSHPprop_lineColumnFillShape:
1011 sd->sd_lineColumnFillShape= val != 0;
1012 break;
1013 case DSHPprop_lineLeftFillShape:
1014 sd->sd_lineLeftFillShape= val != 0;
1015 break;
1016 case DSHPprop_lineTopFillShape:
1017 sd->sd_lineTopFillShape= val != 0;
1018 break;
1019 case DSHPprop_lineRightFillShape:
1020 sd->sd_lineRightFillShape= val != 0;
1021 break;
1022 case DSHPprop_lineBottomFillShape:
1023 sd->sd_lineBottomFillShape= val != 0;
1024 break;
1025
1026 case DSHPprop_fInsetPen:
1027 sd->sd_fInsetPen= val != 0;
1028 break;
1029 case DSHPprop_fLeftInsetPen:
1030 sd->sd_fLeftInsetPen= val != 0;
1031 break;
1032 case DSHPprop_fTopInsetPen:
1033 sd->sd_fTopInsetPen= val != 0;
1034 break;
1035 case DSHPprop_fRightInsetPen:
1036 sd->sd_fRightInsetPen= val != 0;
1037 break;
1038 case DSHPprop_fBottomInsetPen:
1039 sd->sd_fBottomInsetPen= val != 0;
1040 break;
1041
1042 case DSHPprop_relLeft:
1043 sd->sdRelRect.drX0= val;
1044 break;
1045 case DSHPprop_relTop:
1046 sd->sdRelRect.drY0= val;
1047 break;
1048 case DSHPprop_relRight:
1049 sd->sdRelRect.drX1= val;
1050 break;
1051 case DSHPprop_relBottom:
1052 sd->sdRelRect.drY1= val;
1053 break;
1054
1055 case DSHPprop_relRotation:
1056 sd->sdRelRotation= val;
1057 break;
1058 case DSHPprop_lidRegroup:
1059 sd->sdRegroupID= val;
1060 break;
1061
1062 case DSHPprop_groupLeft:
1063 sd->sdGroupRect.drX0= val;
1064 break;
1065 case DSHPprop_groupTop:
1066 sd->sdGroupRect.drY0= val;
1067 break;
1068 case DSHPprop_groupRight:
1069 sd->sdGroupRect.drX1= val;
1070 break;
1071 case DSHPprop_groupBottom:
1072 sd->sdGroupRect.drY1= val;
1073 break;
1074
1075 case DSHPprop_fRelChangePage:
1076 sd->sd_fRelChangePage= val != 0;
1077 break;
1078 case DSHPprop_fRelFlipH:
1079 sd->sd_fRelFlipH= val != 0;
1080 break;
1081 case DSHPprop_fRelFlipV:
1082 sd->sd_fRelFlipV= val != 0;
1083 break;
1084
1085 case DSHPprop_shadowType:
1086 sd->sdShadowType= val;
1087 break;
1088 case DSHPprop_shadowOpacity:
1089 sd->sdShadowOpacity= val;
1090 break;
1091
1092 case DSHPprop_shadowOffsetX:
1093 sd->sdShadowOffsetXEmu= val;
1094 break;
1095 case DSHPprop_shadowOffsetY:
1096 sd->sdShadowOffsetYEmu= val;
1097 break;
1098
1099 case DSHPprop_shadowSecondOffsetX:
1100 sd->sdShadowOffset2XEmu= val;
1101 break;
1102 case DSHPprop_shadowSecondOffsetY:
1103 sd->sdShadowOffset2YEmu= val;
1104 break;
1105
1106 case DSHPprop_shadowScaleXToX:
1107 sd->sdShadowScaleXToX= val;
1108 break;
1109 case DSHPprop_shadowScaleYToX:
1110 sd->sdShadowScaleYToX= val;
1111 break;
1112 case DSHPprop_shadowScaleXToY:
1113 sd->sdShadowScaleXToY= val;
1114 break;
1115 case DSHPprop_shadowScaleYToY:
1116 sd->sdShadowScaleYToY= val;
1117 break;
1118
1119 case DSHPprop_shadowPerspectiveX:
1120 sd->sdShadowPerspectiveX= val;
1121 break;
1122 case DSHPprop_shadowPerspectiveY:
1123 sd->sdShadowPerspectiveY= val;
1124 break;
1125
1126 case DSHPprop_shadowWeight:
1127 sd->sdShadowWeight= val;
1128 break;
1129
1130 case DSHPprop_shadowOriginX:
1131 sd->sdShadowOriginX= val;
1132 break;
1133 case DSHPprop_shadowOriginY:
1134 sd->sdShadowOriginY= val;
1135 break;
1136
1137 case DSHPprop_fShadow:
1138 sd->sd_fShadow= val != 0;
1139 break;
1140 case DSHPprop_fshadowObscured:
1141 sd->sd_fshadowObscured= val != 0;
1142 break;
1143 case DSHPprop_fShadowOK:
1144 sd->sd_fshadowOK= val != 0;
1145 break;
1146
1147 case DSHPprop_cxk:
1148 sd->sdConnectionSite= val;
1149 break;
1150 case DSHPprop_cxstyle:
1151 sd->sdConnectionStyle= val;
1152 break;
1153
1154 case DSHPprop_geoLeft:
1155 sd->sdGeoRect.drX0= val;
1156 break;
1157 case DSHPprop_geoTop:
1158 sd->sdGeoRect.drY0= val;
1159 break;
1160 case DSHPprop_geoRight:
1161 sd->sdGeoRect.drX1= val;
1162 break;
1163 case DSHPprop_geoBottom:
1164 sd->sdGeoRect.drY1= val;
1165 break;
1166
1167 case DSHPprop_adjustValue:
1168 sd->sdAdjustValue= val;
1169 break;
1170 case DSHPprop_adjust2Value:
1171 sd->sdAdjust2Value= val;
1172 break;
1173 case DSHPprop_adjust3Value:
1174 sd->sdAdjust3Value= val;
1175 break;
1176 case DSHPprop_adjust4Value:
1177 sd->sdAdjust4Value= val;
1178 break;
1179 case DSHPprop_adjust5Value:
1180 sd->sdAdjust5Value= val;
1181 break;
1182 case DSHPprop_adjust6Value:
1183 sd->sdAdjust6Value= val;
1184 break;
1185 case DSHPprop_adjust7Value:
1186 sd->sdAdjust7Value= val;
1187 break;
1188 case DSHPprop_adjust8Value:
1189 sd->sdAdjust8Value= val;
1190 break;
1191 case DSHPprop_adjust9Value:
1192 sd->sdAdjust9Value= val;
1193 break;
1194 case DSHPprop_adjust10Value:
1195 sd->sdAdjust10Value= val;
1196 break;
1197
1198 case DSHPprop_dxTextLeft:
1199 sd->sd_dxTextLeft= val;
1200 break;
1201 case DSHPprop_dyTextTop:
1202 sd->sd_dyTextTop= val;
1203 break;
1204 case DSHPprop_dxTextRight:
1205 sd->sd_dxTextRight= val;
1206 break;
1207 case DSHPprop_dyTextBottom:
1208 sd->sd_dyTextBottom= val;
1209 break;
1210
1211 case DSHPprop_scaleText:
1212 sd->sd_scaleText= val;
1213 break;
1214 case DSHPprop_lTxid:
1215 sd->sd_lTxid= val;
1216 break;
1217
1218 case DSHPprop_WrapText:
1219 sd->sd_WrapText= val;
1220 break;
1221 case DSHPprop_anchorText:
1222 sd->sd_anchorText= val;
1223 break;
1224 case DSHPprop_txflTextFlow:
1225 sd->sd_txflTextFlow= val;
1226 break;
1227 case DSHPprop_cdirFont:
1228 sd->sd_cdirFont= val;
1229 break;
1230
1231 case DSHPprop_fAutoTextMargin:
1232 sd->sd_fAutoTextMargin= val != 0;
1233 break;
1234 case DSHPprop_fRotateText:
1235 sd->sd_fRotateText= val != 0;
1236 break;
1237 case DSHPprop_fSelectText:
1238 sd->sd_fSelectText= val != 0;
1239 break;
1240 case DSHPprop_fFitShapeToText:
1241 sd->sd_fFitShapeToText= val != 0;
1242 break;
1243 case DSHPprop_fFitTextToShape:
1244 sd->sd_fFitTextToShape= val != 0;
1245 break;
1246
1247 case DSHPprop_shapePath:
1248 sd->sd_shapePath= val;
1249 break;
1250
1251 case DSHPprop_pictureActive:
1252 case DSHPprop_pictureId:
1253 case DSHPprop_pictureContrast:
1254 case DSHPprop_pictureBrightness:
1255 case DSHPprop_pictureDblCrMod:
1256 case DSHPprop_pictureFillCrMod:
1257 case DSHPprop_pictureLineCrMod:
1258 break;
1259
1260 case DSHPprop_f3D:
1261 case DSHPprop_pibFlags:
1262 case DSHPprop_dhgt:
1263 case DSHPprop_sizerelh:
1264 case DSHPprop_sizerelv:
1265 case DSHPprop_pctHoriz:
1266 case DSHPprop_pictureGray:
1267 case DSHPprop_pictureBiLevel:
1268 case DSHPprop_fPreferRelativeResize:
1269 case DSHPprop_fScriptAnchor:
1270 case DSHPprop_fFakeMaster:
1271 case DSHPprop_fCameFromImgDummy:
1272 break;
1273
1274 case DSHPprop_fRecolorFillAsPicture:
1275 break;
1276
1277 case DSHPprop_cropFromLeft:
1278 sd->sd_cropFromLeft= val;
1279 break;
1280 case DSHPprop_cropFromRight:
1281 sd->sd_cropFromRight= val;
1282 break;
1283 case DSHPprop_cropFromTop:
1284 sd->sd_cropFromTop= val;
1285 break;
1286 case DSHPprop_cropFromBottom:
1287 sd->sd_cropFromBottom= val;
1288 break;
1289
1290 default:
1291 LDEB(prop); return -1;
1292 }
1293
1294 return 0;
1295 }
1296