InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
PathHandleShape.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Jeff Argast
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //
23 // Shared header for spline item and standoff item
24 //
25 //========================================================================================
26 
27 #ifndef __PathHandleShape__
28 #define __PathHandleShape__
29 
30 #include "CHandleShape.h"
31 
32 class GraphicsData;
33 class PMRect;
34 class PMPoint;
35 class IRasterPort;
36 class IGraphicsPort;
37 class IPathGeometry;
38 class IConcreteSelection;
39 
40 
42 {
43 public:
45 
46  virtual void GetControlPointPathOutlineInfo (IOutlineInfo* iOutlineInfo);
47 
48  virtual ITracker* QueryTracker(IControlView *layView, const PBPMPoint& where, int32 selectionMode, const PointSelector& index);
49 
50 protected:
51  virtual void DrawHandlesImmediate(GraphicsData *gd, IConcreteSelection* concreteSelection, int32 flags);
52  virtual void DrawPathImmediate(GraphicsData *gd, int32 flags);
53  virtual PMRect GetBBoxImmediate(const PMMatrix& itoview);
54  virtual bool16 HitTestHandlesImmediate(GraphicsData *gd, const PMRect &r, PointSelector *handleIndex);
55  virtual bool16 HitTestPathImmediate(GraphicsData *gd, const PMRect &r);
56 
57  // Create all the anchor points
58  virtual void CreateAnchorPaths( GraphicsData *gd, IConcreteSelection* concreteSelection ) ;
59 
60  // Create the direction handle paths
61  virtual void CreateDirectionHandlePaths( GraphicsData *gd, IConcreteSelection* concreteSelection ) ;
62 
63  // Create the selected anchor point path
64  virtual void CreateSelectedAnchorPath (GraphicsData *gd, const PointSelector& selectedPoint, const PMReal& size);
65 
66  // Create the selected anchor point path dot
67  virtual void CreateSelectedAnchorPointDot (GraphicsData *gd, const PointSelector& selectedPoint);
68 
69  // Create an anchor point path in the port
70  virtual void CreateAnchorPointPath (GraphicsData *gd, const PMPoint& pt, const PMReal& size);
71 
72  // Create the center anchor point path
73  virtual void CreateCenterAnchorPath( GraphicsData *gd, const PMReal& size ) ;
74 
75  // Create a direction point path in the port
76  virtual void CreateDirectionPointPath (GraphicsData *gd, const PMPoint& pt);
77 
78  virtual void CreateControlPath (IGraphicsPort* gPort);
79 
80  // returns kTrue if the point actually exists
81  virtual bool16 VerifySelectedPoint( const PointSelector& selector ) const ;
82 
83 
84 protected:
85  IPathGeometry* fPathGeometry;
86 };
87 
88 
89 #endif