It rescales the graphic layer axes to show all dataplot points that may be outside the current axis ranges.
BOOL Rescale( DWORD dwCntrl = 0, int * lpnOutcome = NULL )
enum { ANL_FIT = 0x00000010, // fit data to layer ANL_NO_ROUNDING = 0x00000020, // do not round From/To to major ticks ANL_OVERIDE_FIX = 0x00000040, ANL_AFTER_ZOOM = 0x00000080, ANL_NO_EXPAND= 0x00000100,// no X expand ANL_NO_YMIN_EXPAND = 0x00000200, // no Y min expand ANL_NO_YMAX_EXPAND = 0x00000400, // no Y max expand ANL_NO_Y_EXPAND = ANL_NO_YMIN_EXPAND | ANL_NO_YMAX_EXPAND, ANL_NO_INIT_LIMITS = 0x00000800, ANL_FROM_NEW_PLOT = 0x00001000, ANL_CHK_EXPAND_SCALE = 0x00002000, // expand according to parent layer's scale ANL_CHECK_TYPE = 0x00004000, ANL_XY_FIT_NO_EXPAND = 0x00008000, // fit X and Y scale to data ANL_FIT_TO_MAJOR_TICK = 0x00010000, ANL_NO_UPDATE = 0x00020000, ANL_REAL_TIME = 0x00040000, ANL_NO_XINC_CHANGE = 0x00080000, // keep X increment value ANL_USE_DATA_IN_XRANGE= 0x00100000, // only rescale for data in X range ANL_NEW_1ST_PLOT = 0x00200000, ANL_NO_YINC_CHANGE = 0x00400000, // keep Y increment value ANL_INDIVIDUAL_SCALE = 0x00800000, ANL_UNDO = 0x01000000, ANL_NO_INC_CHANGE = 0x02000000, // keep Y increment value ANL_KEEP_MISSING = 0x04000000, ANL_ASK_OVERRIDE_FIXED_SCALE = 0x08000000, ANL_RUN_LT_SIZEMOVE = 0x10000000, // execute GRCT_MOVE script after rescale ANL_CHK_DATA_OUTSIDE = 0x20000000, //rescale if data outside ANL_ALL_LINKED_LAYERS_IN_FAMILY = 0x40000000, // rescale all linked layers ANL_AXIS_REVERSED = 0x80000000 };
TRUE if OK, otherwise FALSE.
EX1
// rescale the active graph layer by controlling to rescale X or Y only, or rescale both void GraphLayer_Rescale_ex1(int nDirection) //0 = both XY, 1 = X only, 2 = Y only { GraphLayer gl = Project.ActiveLayer(); DWORD dwCntrl = ANL_NO_ROUNDING; //do not round From/To to major ticks if(1 == nDirection) dwCntrl |= OKAXISTYPE_Y;//prevent Y to be modified else if(2 == nDirection) dwCntrl |= OKAXISTYPE_X;//prevent X to be modified gl.Rescale(dwCntrl); }
origin.h