$Macro_File LGB0203;
  {Л.Г.Бунич -- Multi-Edit 5.00}

{ Макро:

  ASM_CONTENT ..оглавление процедур ассемблерной программы
  SET_IND ......установить левую границу на текущую позицию
  HALF_UP ......сдвиг на пол-экрана вверх
  HALF_DOWN ....сдвиг на пол-экрана вниз
  HALF_RIGHT ...сдвиг на пол-экрана направо
  HALF_LEFT ....сдвиг на пол-экрана налево
}

$MACRO ASM_CONTENT;
  SET_GLOBAL_INT('Condense_Mode',1);
  SET_GLOBAL_STR('Condense_Search','proc');
  RM ('SUPPORT^CONDENSE');
  SET_GLOBAL_INT('Condense_Mode',0);
END_MACRO;

$MACRO SET_IND;
  Indent_Style := 0;  Set_Indent_Level;  Insert_Mode := 0;
  if Inq_Macro('TFM') = TRUE then RM('TFM^TU'); end;
  Macro_To_Key(<ENTER>,'CR',EDIT);
  Macro_To_Key(<GreyENTER>,'CR',EDIT);
  Make_Message('Indent level set at column ' + str(C_Col) + '.');
END_MACRO;

$Macro Half_Up;

  Def_Int(l);

  l := (Win_Y2 - Win_Y1)/2;
  while l > 0 do RM('MESYS^ScrollDn'); --l; end;

End_Macro;

$Macro Half_Down;

  Def_Int(l);

  l := (Win_Y2 - Win_Y1)/2;
  while l > 0 do RM('MESYS^ScrollUp'); --l; end;

End_Macro;

$Macro Half_Right;

  Def_Int(k, l);

  k := C_Col;  l := (Win_X2 - Win_X1)/2;
  GoTo_Col(k - WhereX + Win_X2 - 1 + l);
  GoTo_Col(k - WhereX + Win_X2 - 1 + l);

End_Macro;

$Macro Half_Left;

  Def_Int(k, l);

  k := C_Col;  l := (Win_X2 - Win_X1)/2;
  GoTo_Col(k - WhereX + Win_X1 + 1 - l);
  GoTo_Col(k - WhereX + Win_X1 + 1 - l);

End_Macro;
