Classes | Defines

icurvctl.h File Reference

#include <Wtypes.h>
#include <CommCtrl.h>
#include "maxheap.h"
#include "ref.h"

Go to the source code of this file.

Classes

class   ICurveCtl
class   CurvePoint
class   ICurve
class   ResourceMakerCallback

Defines

#define  CURVE_CONTROL_CLASS_ID   Class_ID(0x14585773, 0x483a7dcf)
#define  I_RESMAKER_INTERFACE   0x2474334a
#define  WM_CC_SEL_CURVEPT   WM_USER+0x2b70
#define  WM_CC_CHANGE_CURVEPT   WM_USER+0x2b71
#define  WM_CC_CHANGE_CURVETANGENT   WM_USER+0x2b72
#define  WM_CC_DEL_CURVEPT   WM_USER+0x2b73
#define  WM_CC_INSERT_CURVEPT   WM_USER+0x2b74
#define  WM_CC_LBUTTONDOWN   WM_USER+0x2b75
#define  WM_CC_RBUTTONDOWN   WM_USER+0x2b76
#define  WM_CC_LBUTTONUP   WM_USER+0x2b77
#define  IN_CURVETANGENT_CHANGED   (1<<0)
#define  OUT_CURVETANGENT_CHANGED   (1<<1)
#define  IN_CURVETANGENT_CHANGED   (1<<0)
#define  OUT_CURVETANGENT_CHANGED   (1<<1)
#define  CC_DRAWBG   (1<<0)
  Draw the white background in the graph window.
#define  CC_DRAWGRID   (1<<1)
  Draw the grid lines and coordinates in the graph window.
#define  CC_DRAWUTOOLBAR   (1<<2)
  Draw the upper toolbar above the control.
#define  CC_SHOWRESET   (1<<3)
  Display the Reset button in the upper toolbar.
#define  CC_DRAWLTOOLBAR   (1<<4)
  Draw the lower toolbar beneath the control.
#define  CC_DRAWSCROLLBARS   (1<<5)
  Draw the horizontal and vertical scroll bars for the control.
#define  CC_AUTOSCROLL   (1<<6)
  Auto scroll happens when you drag a CurvePoint out of the currently visible range.
#define  CC_DRAWRULER   (1<<7)
  Draw a small moveable ruler window that measures horizontal coordinates.
#define  CC_ASPOPUP   (1<<8)
  Show the window as popup window.
#define  CC_CONSTRAIN_Y   (1<<9)
  No points (or handles) can be moved out of the value that is set by SetYRange().
#define  CC_HIDE_DISABLED_CURVES   (1<<10)
  If this is not set, the disabled curves will be drawn by the color set by SetDisabledPenProperty().
#define  CC_RCMENU_MOVE_XY   (1<<11)
  Right-click menu item.
#define  CC_RCMENU_MOVE_X   (1<<12)
  Right-click menu item.
#define  CC_RCMENU_MOVE_Y   (1<<13)
  Right-click menu item.
#define  CC_RCMENU_SCALE   (1<<14)
  Right-click menu item.
#define  CC_RCMENU_INSERT_CORNER   (1<<15)
  Right-click menu item.
#define  CC_RCMENU_INSERT_BEZIER   (1<<16)
  Right-click menu item.
#define  CC_RCMENU_DELETE   (1<<17)
  Right-click menu item.
#define  CC_SHOW_CURRENTXVAL   (1<<18)
  You loose the automatic switch from insert to move mode when right-clicking, if a RightClick menu is active.
#define  CC_SINGLESELECT   (1<<19)
  Normally, if several points are stacked in area, clicking on the area you get all of them.
#define  CC_NOFILTERBUTTONS   (1<<20)
  This is useful when there are many curves and you want to manage the display yourself.
#define  CC_ALL_RCMENU   (CC_RCMENU_MOVE_XY|CC_RCMENU_MOVE_X|CC_RCMENU_MOVE_Y|CC_RCMENU_SCALE|CC_RCMENU_INSERT_CORNER|CC_RCMENU_INSERT_BEZIER|CC_RCMENU_DELETE)
  Entire right click menu.
#define  CC_ALL   (CC_DRAWBG|CC_DRAWGRID|CC_DRAWUTOOLBAR|CC_SHOWRESET|CC_DRAWLTOOLBAR|CC_DRAWSCROLLBARS|CC_AUTOSCROLL|CC_DRAWRULER|CC_ASPOPUP|CC_CONSTRAIN_Y|CC_HIDE_DISABLED_CURVES| CC_ALL_RCMENU )
#define  CC_NONE   0
#define  CID_CC_MOVE_XY   0
#define  CID_CC_MOVE_X   1
#define  CID_CC_MOVE_Y   2
#define  CID_CC_SCALE   3
#define  CID_CC_INSERT_CORNER   4
#define  CID_CC_INSERT_BEZIER   5
#define  CURVE_EXTRAPOLATE_LINEAR   0
#define  CURVE_EXTRAPOLATE_CONSTANT   1
#define  CURVEP_BEZIER   (1<<0)
#define  CURVEP_CORNER   (1<<1)
#define  CURVEP_LOCKED_Y   (1<<2)
#define  CURVEP_LOCKED_X   (1<<3)
#define  CURVEP_SELECTED   (1<<4)
#define  CURVEP_ENDPOINT   (1<<8)
#define  CURVEP_NO_X_CONSTRAINT   (1<<9)
#define  SELPTS_SELECT   (1<<0)
#define  SELPTS_DESELECT   (1<<1)
#define  SELPTS_CLEARPTS   (1<<2)
#define  IS_CORNER(flags)   ( ( (flags) & CURVEP_CORNER) && !((flags) & CURVEP_BEZIER) )
#define  IS_BEZIERSMOOTH(flags)   ( ( (flags) & CURVEP_BEZIER) && !((flags) & CURVEP_CORNER) )
#define  IS_BEZIERCORNER(flags)   ( (flags) & (CURVEP_BEZIER | CURVEP_CORNER) )

Define Documentation

#define CURVE_CONTROL_CLASS_ID   Class_ID(0x14585773, 0x483a7dcf)

Definition at line 19 of file icurvctl.h.

#define I_RESMAKER_INTERFACE   0x2474334a

Definition at line 21 of file icurvctl.h.

#define WM_CC_SEL_CURVEPT   WM_USER+0x2b70

Definition at line 23 of file icurvctl.h.

#define WM_CC_CHANGE_CURVEPT   WM_USER+0x2b71

Definition at line 24 of file icurvctl.h.

#define WM_CC_CHANGE_CURVETANGENT   WM_USER+0x2b72

Definition at line 25 of file icurvctl.h.

#define WM_CC_DEL_CURVEPT   WM_USER+0x2b73

Definition at line 26 of file icurvctl.h.

#define WM_CC_INSERT_CURVEPT   WM_USER+0x2b74

Definition at line 27 of file icurvctl.h.

#define WM_CC_LBUTTONDOWN   WM_USER+0x2b75

Definition at line 28 of file icurvctl.h.

#define WM_CC_RBUTTONDOWN   WM_USER+0x2b76

Definition at line 29 of file icurvctl.h.

#define WM_CC_LBUTTONUP   WM_USER+0x2b77

Definition at line 30 of file icurvctl.h.

#define IN_CURVETANGENT_CHANGED   (1<<0)

Definition at line 35 of file icurvctl.h.

#define OUT_CURVETANGENT_CHANGED   (1<<1)

Definition at line 36 of file icurvctl.h.

#define IN_CURVETANGENT_CHANGED   (1<<0)

Definition at line 35 of file icurvctl.h.

#define OUT_CURVETANGENT_CHANGED   (1<<1)

Definition at line 36 of file icurvctl.h.

#define CID_CC_MOVE_XY   0

Definition at line 85 of file icurvctl.h.

#define CID_CC_MOVE_X   1

Definition at line 86 of file icurvctl.h.

#define CID_CC_MOVE_Y   2

Definition at line 87 of file icurvctl.h.

#define CID_CC_SCALE   3

Definition at line 88 of file icurvctl.h.

#define CID_CC_INSERT_CORNER   4

Definition at line 89 of file icurvctl.h.

#define CID_CC_INSERT_BEZIER   5

Definition at line 90 of file icurvctl.h.

#define CURVE_EXTRAPOLATE_LINEAR   0

Definition at line 93 of file icurvctl.h.

#define CURVE_EXTRAPOLATE_CONSTANT   1

Definition at line 94 of file icurvctl.h.

#define CURVEP_BEZIER   (1<<0)

Definition at line 97 of file icurvctl.h.

#define CURVEP_CORNER   (1<<1)

Definition at line 98 of file icurvctl.h.

#define CURVEP_LOCKED_Y   (1<<2)

Definition at line 99 of file icurvctl.h.

#define CURVEP_LOCKED_X   (1<<3)

Definition at line 100 of file icurvctl.h.

#define CURVEP_SELECTED   (1<<4)

Definition at line 101 of file icurvctl.h.

#define CURVEP_ENDPOINT   (1<<8)

Definition at line 102 of file icurvctl.h.

#define CURVEP_NO_X_CONSTRAINT   (1<<9)

Definition at line 103 of file icurvctl.h.

#define SELPTS_SELECT   (1<<0)

Definition at line 106 of file icurvctl.h.

#define SELPTS_DESELECT   (1<<1)

Definition at line 107 of file icurvctl.h.

#define SELPTS_CLEARPTS   (1<<2)

Definition at line 108 of file icurvctl.h.

#define IS_CORNER (   flags )    ( ( (flags) & CURVEP_CORNER) && !((flags) & CURVEP_BEZIER) )

Definition at line 110 of file icurvctl.h.

#define IS_BEZIERSMOOTH (   flags )    ( ( (flags) & CURVEP_BEZIER) && !((flags) & CURVEP_CORNER) )

Definition at line 111 of file icurvctl.h.

#define IS_BEZIERCORNER (   flags )    ( (flags) & (CURVEP_BEZIER | CURVEP_CORNER) )

Definition at line 112 of file icurvctl.h.